Difference between revisions of "RetroComputers"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 24: | Line 24: | ||
[[File:EP2C5-DB_RevX6_720px-rot.png]] | [[File:EP2C5-DB_RevX6_720px-rot.png]] | ||
+ | == Grant Searle's FPGA MultiComputer Project(s) == | ||
+ | |||
+ | === Retro-Computer Map EP2 to EP4 card === | ||
+ | |||
+ | * Map EP2 to EP4 card | ||
+ | |||
+ | === My Build of the Z80 Version === | ||
+ | |||
+ | * CP/M on FPGA - by Grant Searle | ||
+ | * [https://web.archive.org/web/20180221182529/searle.hostei.com/grant/ Archive.org copy of Grant's site from 2012] | ||
+ | * [http://web.archive.org/web/20190526035522/https://web.archive.org/web/20180221064620/http://searle.hostei.com:80/grant/Multicomp/index.html Archive.org copy of Grant's Multicomp from 2012] | ||
+ | * Fit results | ||
+ | ** Two UART Serial interface | ||
+ | ** No Video Display | ||
+ | ** External RAM | ||
+ | |||
+ | [[File:CPM-2UARTs-NoVideo.PNG]] | ||
+ | |||
+ | === Retrobrew Computer Builds of the Multicomp Project(s) === | ||
+ | |||
+ | * [https://www.retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:mc-2g-1024 MultiComputerZ80 build] - Lots of extras | ||
+ | * [https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-c:start Some folks made a MultiComputer PCB, too] - Retrobrewing | ||
+ | * [https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-b:start Another board] | ||
+ | * [https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:papilio-duo:start Yet another board] | ||
+ | * [http://jeelabs.org/book/1550b/ Jeelabs Building a MultiComp-based Z80] | ||
+ | * [http://jefftranter.blogspot.com/2014/03/wordstar-30-on-briel-altair-8800.html?_sm_au_=iVV6N35rsLV27ts2 Patch WordStar 3.0 to use ANSI screen commands] | ||
+ | * [https://www.youtube.com/watch?v=98uVpNQ9Gb8 Homebrew Z80] | ||
+ | * [https://hackaday.io/project/163683-the-thing-fpga-stm32 "The Thing": FPGA + STM32] | ||
+ | * [https://insom.github.io/project/fpga1/ Z80 BASIC on a Cyclone IV FPGA] | ||
+ | |||
+ | === Neil Crook Builds of the Multicomp Project - 6809 Version === | ||
+ | |||
+ | Neil started from Grant Searle's work and fixed a number of issue with the VHDL code. | ||
+ | |||
+ | * [https://github.com/nealcrook/multicomp6809/wiki Neil Crook's Wiki Page] | ||
+ | * [https://github.com/nealcrook/multicomp6809 Neil Crook's Multicomp GitHub (with docs)] | ||
+ | * Neil did [https://github.com/nealcrook/multicomp6809/wiki/CPU-and-clocking-modifications work on the 6809 core] that Grant Searle was using | ||
+ | ** Changed reset to active-low, consistently asynchronous | ||
+ | ** Changed clock to rising-edge | ||
+ | ** Clocked the processor on the input (50MHz) clock rather than a divided clock | ||
+ | *** Used the HOLD input to control the clock rate. | ||
+ | ** Added MMU to control extended RAM | ||
+ | * Neil did some [https://github.com/nealcrook/multicomp6809/wiki/VDU-Modifications Video Display Unit (VDU) Modifications] | ||
+ | * Neil's [https://github.com/nealcrook/multicomp6809/wiki/mk2-memory-mapping-unit Memory Mapper] | ||
+ | * Neil got [https://github.com/nealcrook/multicomp6809/wiki/SD-Controller-modifications SDHC working] - the original was SD only | ||
+ | * [https://github.com/nealcrook/multicomp6809 Neil Crook's 6809 Multicomp FPGA builds] - very helpful | ||
+ | * [https://github.com/nealcrook/multicomp6809/wiki Neil Crook's 6809 Wiki of Multicomp FPGA builds] - very helpful | ||
+ | * [https://www.forth.com/starting-forth/ Starting FORTH] - First book of learning FORTH | ||
+ | |||
+ | === CP/M Resources on the Net === | ||
+ | |||
+ | * [http://www.digitalresearch.biz/CPM.HTM Digital Research CP/M Site] | ||
+ | * [http://landley.net/history/mirror/cpm/history.html A Short History of CP/M] | ||
+ | * [http://www.bbcbasic.co.uk/bbcbasic/z80basic.html BBC BASIC (Z80)] | ||
+ | ** [http://www.bbcbasic.co.uk/bbcbasic/mancpm/index.html BBC BASIC (Z80) Manual] | ||
+ | * [http://primrosebank.net/computers/cpm/cpm_commands.htm CP/M Console Command Processor Instructions] | ||
+ | * [http://oak.oakland.edu/oak/cpm/index-cpm-pre.html OAK Repository - CP/M Archive - On the Wayback machine] | ||
+ | * [http://www.smbaker.com/intro-to-z80-retrocomputing Intro to Z80 Retrocomputing - Scott Baker's series on the RC2014] | ||
+ | * [http://www.cpm.z80.de/source.html Digital Research Source Code] | ||
+ | * [ CP/M Programming Languages and Tools retroarchive page] | ||
+ | ** [http://www.classiccmp.org/cpmarchives/cpm/mirrors/www.retroarchive.org/cpm/lang/lang.htm retroarchive page - mirror] | ||
+ | * [http://obsolescence.wixsite.com/obsolescence/multicomp-fpga-cpm-demo-disk Multicomp FPGA - CP/M Demo Disk] | ||
+ | |||
+ | === CP/M Notes === | ||
+ | |||
+ | * CP/M is not case sensitive | ||
+ | * REN NEWNAME.EXT=OLDNAME.EXT - Rename a file from the old to the new name | ||
+ | * ERA FILE2ERA.EXT - Erase a file | ||
+ | * Asterisk is wildcard | ||
+ | * .COM are command files | ||
+ | * PIP - copy command | ||
+ | * PIP NEWCOPY.EXT=COPYFROM.EXT - Copy from COPYFROM.EXT to NEWCOPY.EXT | ||
+ | * Drive references A: | ||
+ | ** Drives go from A-??? | ||
+ | * LS is a better direction program | ||
+ | |||
+ | === Microsoft BASIC Notes === | ||
+ | |||
+ | * SAVE "MYPROG.BAS" | ||
+ | * LOAD "MYPROG.BAS" | ||
+ | * SYSTEM -- Return to CP/M | ||
+ | * NAME "OLDFILE.BAS" AS "NEWFILE.BAS" | ||
+ | * NEW - Delete program | ||
+ | * OUT 132,1 -- Output to I/O port 132 | ||
+ | * PRINT MEM - Free memory (6809 Extended BASIC) | ||
+ | |||
+ | === Notes === | ||
+ | |||
+ | * Grant noted about the SD card interface: | ||
+ | <pre> | ||
+ | ... the SD controller is easy to control - in BASIC POKE the sector number, POKE the write command, | ||
+ | POKE 512 bytes to the same location to write a sector, | ||
+ | or POKE the sector number, POKE the read command, and PEEK 512 bytes to read a sector. | ||
+ | </pre> | ||
== Z80 == | == Z80 == |
Revision as of 19:08, 19 January 2020
Contents
- 1 Multicomp FPGA Retrocomputer Builds
- 2 Grant Searle's FPGA MultiComputer Project(s)
- 3 Z80
- 4 Our Retro-Computer Projects
- 5 Our Retro-Computer Video Series
- 6 S120 Bus Computer
- 7 Ohio Scientific SuperBoard II - My first commercial personal computer
- 8 6502 Computer Projects
- 9 DEC (Digital Equipment Corp) Computers
- 10 External Sites
Multicomp FPGA Retrocomputer Builds
- Multicomp Github repo
- Grant Searle's Multicomp page
- Neal Crook's 6809 Multicomp Github
- Retrobrewing Multicomp
- mc-2g-1024 multi-boot capability
RETRO-EP4 FPGA
- RETRO-EP4 - FPGA card
RETRO-EP4CE15 FPGA
- RETRO-EP4CE15 - FPGA card
EP2C5-DB FPGA
- EP2C5-DB - FPGA card
Grant Searle's FPGA MultiComputer Project(s)
Retro-Computer Map EP2 to EP4 card
- Map EP2 to EP4 card
My Build of the Z80 Version
- CP/M on FPGA - by Grant Searle
- Archive.org copy of Grant's site from 2012
- Archive.org copy of Grant's Multicomp from 2012
- Fit results
- Two UART Serial interface
- No Video Display
- External RAM
Retrobrew Computer Builds of the Multicomp Project(s)
- MultiComputerZ80 build - Lots of extras
- Some folks made a MultiComputer PCB, too - Retrobrewing
- Another board
- Yet another board
- Jeelabs Building a MultiComp-based Z80
- Patch WordStar 3.0 to use ANSI screen commands
- Homebrew Z80
- "The Thing": FPGA + STM32
- Z80 BASIC on a Cyclone IV FPGA
Neil Crook Builds of the Multicomp Project - 6809 Version
Neil started from Grant Searle's work and fixed a number of issue with the VHDL code.
- Neil Crook's Wiki Page
- Neil Crook's Multicomp GitHub (with docs)
- Neil did work on the 6809 core that Grant Searle was using
- Changed reset to active-low, consistently asynchronous
- Changed clock to rising-edge
- Clocked the processor on the input (50MHz) clock rather than a divided clock
- Used the HOLD input to control the clock rate.
- Added MMU to control extended RAM
- Neil did some Video Display Unit (VDU) Modifications
- Neil's Memory Mapper
- Neil got SDHC working - the original was SD only
- Neil Crook's 6809 Multicomp FPGA builds - very helpful
- Neil Crook's 6809 Wiki of Multicomp FPGA builds - very helpful
- Starting FORTH - First book of learning FORTH
CP/M Resources on the Net
- Digital Research CP/M Site
- A Short History of CP/M
- BBC BASIC (Z80)
- CP/M Console Command Processor Instructions
- OAK Repository - CP/M Archive - On the Wayback machine
- Intro to Z80 Retrocomputing - Scott Baker's series on the RC2014
- Digital Research Source Code
- [ CP/M Programming Languages and Tools retroarchive page]
- Multicomp FPGA - CP/M Demo Disk
CP/M Notes
- CP/M is not case sensitive
- REN NEWNAME.EXT=OLDNAME.EXT - Rename a file from the old to the new name
- ERA FILE2ERA.EXT - Erase a file
- Asterisk is wildcard
- .COM are command files
- PIP - copy command
- PIP NEWCOPY.EXT=COPYFROM.EXT - Copy from COPYFROM.EXT to NEWCOPY.EXT
- Drive references A:
- Drives go from A-???
- LS is a better direction program
Microsoft BASIC Notes
- SAVE "MYPROG.BAS"
- LOAD "MYPROG.BAS"
- SYSTEM -- Return to CP/M
- NAME "OLDFILE.BAS" AS "NEWFILE.BAS"
- NEW - Delete program
- OUT 132,1 -- Output to I/O port 132
- PRINT MEM - Free memory (6809 Extended BASIC)
Notes
- Grant noted about the SD card interface:
... the SD controller is easy to control - in BASIC POKE the sector number, POKE the write command, POKE 512 bytes to the same location to write a sector, or POKE the sector number, POKE the read command, and PEEK 512 bytes to read a sector.
Z80
Our Retro-Computer Projects
- Land Boards EP2C5-DB FPGA Retro-Computer card
- Duplicates Grant Searle's design down to the pin maps
- Land Boards BASE-EP4CE6 card is a breakout board that connects via cables to the Land Boards EP2C5-DB card
- The Land Boards EP2C5-DB card adds extra logic and RAM resources beyond the EP2C5 FPGA
- Provides 16K of Internal SRAM
- Wiring is here
- The Land Boards EP2C5-DB card adds extra logic and RAM resources beyond the EP2C5 FPGA
- Purchased EP4 FPGA card
- Includes VGA, PS/2 and USB-Serial converter
- Other I/O is serious limitation but a 16K retro machine without SD Card storage can easily be built
- Land Boards RETRO-EP4
Our Retro-Computer Video Series
EP2 Video Series
EP4 Video Series
S120 Bus Computer
Back in 1977 (before my Ohio Scientific SuperBoard II I had my own homebrew computer. I never took any pictures of it and the hardware is long gone now. These are the pieces of it I remember.
- Ran on Elco? 120 pin edge connector cards
- 6800 Processor board running at 1 MHz
- 2K of Static RAM board
- 2716 EEPROM board (may have had 4 sockets total, don't recall for sure)
- Front panel switches and LEDs to enter the address/data (Step/Insert) and blink lights
I remember getting it to run and I do remember blinking a light back and forth on it. Once I got the SuperBoard II, I stopped working on my own board.
It might be fun to reproduce that board!
Pieces to Reproduce my original S120 Bus Computer
- Michael Holley's SWTPC 6800/6809 documentation collection
- N8VEM RetroComputing Wikipedia page
- Retrobrew Computers
- Kim-1 board - Similar concept
Hardware
- M6800 VHDL code from OpenCores
Software
- AS68 Cross Assembler
- ASM68C Cross Assembler
- Collection of Assembly Language tools for the M6800
- 6800 Basics
- 6800 Assembly Language Programming (pdf) by Lance Leventhal
- 6800 Instruction Set Cheat Sheet
Ohio Scientific SuperBoard II - My first commercial personal computer
- Manufacturer: Ohio Scientific
- Model 600 Rev B Board Manual
- Model: Superboard II ( Model 600 )
- Available: 1978
- Price: US $279 assembled
- CPU: 6502
- RAM: 4K static RAM, 8K max
- CEGMON - Monitor in 4K of EPROM
- Display: composite video, 30 X 30 text
- Built-in keyboard
- Single board design
- I eventually got a RAM expansion card with Floppy Disk Controller
- Ports: composite video, cassette
- Storage: cassette
- Microsoft BASIC
- 2K Monitor ROM (CEGMON)
- Compkit 101 - British clone of the SuperBoard II
Superboard II Documents
- Dave's OSI Repository - Lots of scanned documents up there - large file sizes
- Compukit UK101 Docs on Sourceforge]
- CEGMON – a blast from the past
- Code for the 6502 microprocessor, mostly for the Replica 1 computer
- Nice page on the C1P/Superboard II
- 6502 Instruction Set
CC65 - C Compiler for the 6502 and OSI C1P
- Ohio Scientific-specific information for cc65
- cl65 Users Guide
- CC65 - C Compiler for the 6502
- CC65 Wiki
SuperBoard II Emulator
- OSI Challenger 1P (8Kb) with Debugger - JAVA web based emulator
- OSI Challenger 1P (32Kb) with Disk Support - JAVA web based emulator
- pill_6502: 8-bit 6502 CPU and 6850 ACIA emulation on the STM32 blue pill to run Microsoft BASIC from 1977
BASIC Programs
10 I=1 20 PRINT "HELLO DAVEY" 30 I=I+1 40 IF I < 5 GOTO 20
SuperBoard II/ Retro-Tech Refresh
I was looking around for a way to recreate my OSI Superboard and found Grant Searle's design.
- EP2C5-DB - Our creation of a daughtercard which implements Grant Searle's Multi-Computer
- CompuKit UK101
- Based on Cyclone II EP2C5 Mini Dev Board
- Someone built one of the CompuKit clones as a CPM box
- Compukit 101 video
6502 Computer Projects
- Enhanced 6502 BASIC
- Experience porting Enhanced Basic to a 6502 Computer
- "EhBASIC is about 11 KB"
- Experience porting Enhanced Basic to a 6502 Computer
- 6502.org - the place for retro 6502 projects
- System68
- L-Star: Software-Defined 6502 Computer - Uses a Propeller chip
- Pick-and-mix to create your own custom computer on a low-cost FPGA board
- Daryl's Computer Page
- Daryl has designed multiple single board computers
DEC (Digital Equipment Corp) Computers
- PDP-8 in VHDL
- A FGPA Implementation of the PDP-8
- PDP-8 Processor Core and System :: Overview
- The Digital Equipment Corporation PDP-8 - Memory Reference Instructions
- PDP-11 in VHDL
- Computer Simulation and History
External Sites
Grant Searle Terminal Design
- Uses two Arduino'ish processors to implement an entire terminal
- NTSC output
- PS/2 Keyboard input
- Grant Searle's Monitor Keyboard Design
Older AtMEGA32 version of Monitor Keyboard Design My implementation of Grant's small serial terminal design.