Difference between revisions of "RetroComputers"
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
(215 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Grant Searle's FPGA MultiComp Project == | == Grant Searle's FPGA MultiComp Project == | ||
− | FPGA Recreations of 6502, 6809 | + | FPGA Recreations of 6502, 6809, and Z80 Vintage Computers |
* [[Multicomp_Hardware|Multicomp on Land Boards Cards]] - Hardware | * [[Multicomp_Hardware|Multicomp on Land Boards Cards]] - Hardware | ||
Line 10: | Line 10: | ||
* [https://github.com/douggilliland/MultiComp/wiki MultiComp Wiki Page on GitHub] | * [https://github.com/douggilliland/MultiComp/wiki MultiComp Wiki Page on GitHub] | ||
* [https://github.com/douggilliland/MultiComp Multicomp Github repo] | * [https://github.com/douggilliland/MultiComp Multicomp Github repo] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Our MultiComp Retro-Computer Video Series === | === Our MultiComp Retro-Computer Video Series === | ||
Line 29: | Line 20: | ||
==== Cyclone IV Video Series ==== | ==== Cyclone IV Video Series ==== | ||
+ | |||
+ | <video type="youtube">hwnvghxc5nU</video> | ||
[https://www.youtube.com/playlist?list=PLn__0BqzWEWPk0-VW3kEpMNA81sIbhj6n Video Series] | [https://www.youtube.com/playlist?list=PLn__0BqzWEWPk0-VW3kEpMNA81sIbhj6n Video Series] | ||
Line 34: | Line 27: | ||
== 6800 CPU == | == 6800 CPU == | ||
− | === | + | === My First Computer Build === |
− | My first attempt to build a computer was | + | My first attempt to build a computer was way back in 1977 (before my Ohio Scientific SuperBoard II). The homebrewed computer based on an MC6800 CPU so the CPU has a soft spot in my heart. I never took any pictures of it and the hardware is long gone now. These are the pieces of it I remember. |
− | * | + | * Elco? 120 pin edge connector wire wrapped cards with homebrew backplane |
* 6800 Processor board running at 1 MHz | * 6800 Processor board running at 1 MHz | ||
* 2K of Static RAM board | * 2K of Static RAM board | ||
* 2716 EEPROM board (may have had 4 sockets total, don't recall for sure) | * 2716 EEPROM board (may have had 4 sockets total, don't recall for sure) | ||
− | * Front panel switches and LEDs to enter the address/data | + | * Front panel switches and LEDs to enter the address/data 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. | + | 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. I didn't have an assembler so I have assembled code to machine code. |
It might be fun to reproduce that board! | It might be fun to reproduce that board! | ||
− | === | + | === 6800 SmithBug Builds === |
− | + | [https://github.com/douggilliland/MultiComp/wiki/6800-MIKBUG-Builds This MultiComp build] fills a hole in Grant Searle's Multicomp (he hadn't finished a 6800 version). | |
− | |||
− | |||
− | |||
− | + | It also completes the project I started back in 1977 with a lot of built-in features I could never have imagined back in the day. | |
− | * | + | * MC6800 CPU |
− | + | * [https://github.com/douggilliland/MultiComp/blob/master/MultiComp%20(VHDL%20Template)/Components/ROMs/MIKBUG_6800/DGG_MIKBUG_60KB.LST SmithBug ROM supports up to 60KB of SRAM] | |
− | + | * 25 MHz | |
− | + | * SRAM size options to match FPGA capacities | |
− | * | + | ** 4KB SRAM (for small FPGAs) |
− | * | + | ** 32KB (Internal) SRAM version (requires EP4CE15 minimum) |
− | * | + | ** 60K (external) RAM version |
− | * | + | ** 60K RAM version (requires Cyclone V FPGA) |
− | * | + | * MC6850 ACIA UART |
− | * | + | * Video Display Unit (VDU) |
− | + | ** Color attributes | |
− | + | ** XGA 80x25 [https://web.archive.org/web/20180221064620/http://searle.hostei.com/grant/Multicomp/index.html#ANSICodes ANSI character display] | |
+ | ** Extended (256) character set | ||
+ | * PS/2 keyboard | ||
+ | * Runs [http://www.ittybittycomputers.com/IttyBitty/TinyBasic/ Tom Pittman's Tiny BASIC] | ||
+ | ** [http://www.ittybittycomputers.com/IttyBitty/TinyBasic/TBuserMan.htm User Manual] | ||
<video type="youtube">LxMTCq9kLoc</video> | <video type="youtube">LxMTCq9kLoc</video> | ||
− | |||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_MIKBUG Build on EP4CE15 card] | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_MIKBUG Build on EP4CE15 card] | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/M6800_MIKBUG Build on EP2C5 card] | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/M6800_MIKBUG Build on EP2C5 card] | ||
Line 84: | Line 77: | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_MIKBUG_FrontPanel01 Build on EP4CE15 card] Front Panel control | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_MIKBUG_FrontPanel01 Build on EP4CE15 card] Front Panel control | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/M6800_MIKBUG_60KB_Banked-1MB Build on Cyclone V card] 60KB SRAM, 1MB Banked SRAM | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/M6800_MIKBUG_60KB_Banked-1MB Build on Cyclone V card] 60KB SRAM, 1MB Banked SRAM | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==== Memory Map ==== | + | ==== Memory Map (60KB SRAM version) ==== |
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/blob/master/6800/Mikbug/README.mediawiki SmithBug/MIKBUG Wiki page] | ||
− | * $0000-$EFFF - 60KB external | + | * $0000-$EFFF - Up to 60KB external SRAM |
** $0000-$EEFF - User RAM area | ** $0000-$EEFF - User RAM area | ||
− | ** $EF00-$EFFF - | + | *** $EF00-$EFFF - Scratchpad RAM used by MIKBUG |
* I/O Map | * I/O Map | ||
− | ** $FC18-$FC19 - VDU | + | ** $FC18-$FC19 - VDU |
− | ** $FC28-$FC29 - ACIA | + | ** $FC28-$FC29 - ACIA |
− | *** | + | *** J3 right side position - PIN_B22 (EP4CE15) of the FPGA swaps addresses of VDU and ACIA port |
− | + | *** Installed (PIN_B22 to Ground) uses ACIA Serial port | |
− | + | *** Removed uses VDU | |
− | * $F000-$FFFF - | + | * $F000-$FFFF - SmithBUG ROM |
** I/O "hole" opened up at 0xFC00-0xFCFF | ** I/O "hole" opened up at 0xFC00-0xFCFF | ||
− | === | + | ==== 6800 with Front Panel Running SmithBug ==== |
+ | |||
+ | * Adding a modern version of a Front Panel completes the build of my 1977 6800 Computer | ||
+ | * [https://hackaday.io/project/180199-8-bit-computer-front-panel Hackaday Front Panel page] | ||
+ | |||
+ | <video type="youtube">Xlj1xnrxZls</video> | ||
+ | |||
+ | [[file:FrontPanel-01-Front-3D-controls.png]] | ||
+ | |||
+ | * [http://land-boards.com/blwiki/index.php?title=Front_Panel_for_8_Bit_Computers_V2#6800_with_Front_Panel_Operation Front Panel Operation] | ||
+ | |||
+ | === 6800 FIG-Forth Builds === | ||
+ | |||
+ | * Build on [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_figForth RETRO-EP4CE15 FPGA] - Runs out of ROM with Front Panel and boots directly to FigForth | ||
+ | * Build on [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_MIKBUG_FrontPanel01 RETRO-EP4CE15 FPGA] - Runs under SmithBUG with Front Panel build - Run via J 0100 | ||
+ | * [https://github.com/douggilliland/MultiComp/wiki/6800-FigForth-Builds 6800 FIG-Forth Builds] - Wiki page | ||
+ | |||
+ | ==== 6800 FIG-Forth Reference ==== | ||
+ | |||
+ | * [http://forum.6502.org/viewforum.php?f=9 6502.org Forth Forum] | ||
+ | * [http://www.forth.org/ Forth Interest Group] | ||
+ | * [http://www.forth.org/svfig/ Silicon Valley Forth Interest Group] | ||
+ | * [http://www.forth.org/KimHarris/KimHarris.html Kim Harris' Forth Course] | ||
+ | * [https://hackaday.io/project/170126-mikbug-on-multicomp MIKBUG on MultiComp] - Hackaday page | ||
+ | * [https://github.com/douggilliland/Retro-Computers/blob/master/6800/fig-FORTH/figFORTH_InROM/README.mediawiki FigForth Wiki page] | ||
+ | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6800_figForth FigForth FPGA files] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6800/fig-FORTH/figFORTH_InROM FigForth Software Build] | ||
+ | * [https://www.forth.com/starting-forth/ Starting Forth book] - Brodie | ||
+ | * [https://sourceforge.net/projects/thinking-forth/files/reprint/rel-1.0/ Thinking Forth] by Leo Brodie | ||
+ | * [https://www.forth.com/resources/forth-programming-language/ The Evolution of Forth] - History and internals of Forth | ||
+ | * [https://www.forth.com/forth-books/jfar-archives/ Journal of Forth Application and Research] | ||
+ | * [http://www.jimbrooks.org/archive/programming/forth/FIG-FORTH_internals.php FIG-FORTH internals] | ||
+ | |||
+ | === SWTPC === | ||
− | * | + | * Memory map (Hexadecimal Addresses): |
− | * | + | ** 0000-7FFF: RAM |
− | * | + | ** 8004-8007: MC6850 ACIA (UART) |
− | * | + | ** A000-DFFF: RAM |
− | * | + | ** E000-FFFF: SWTBUG Monitor ROM (visible on every 1 k memory location) |
− | * | + | * Emulated components: |
− | * | + | ** Motorola MC6800 CPU (SWTPC mp-a) |
+ | ** Motorola MC6850 UART (SWTPC mp-s) | ||
+ | ** 48k RAM | ||
− | === Software === | + | === 6800 Software Development Tools === |
− | * [https://github.com/douggilliland/ | + | * [https://github.com/douggilliland/Retro-Computers/wiki/6800-Software-Development 6800 Software Development Tools] - GitHub Wiki page |
− | + | * [http://www.mjbauer.biz/DREAM6800.htm?fbclid=IwAR0UbXTxYVBXFRRuJjYjaiX3cbK4RHgTF5RW24NZ8KK0rWMJLEQpNkkqlIQ DREAM 6800 Archive Site] - CHIP-8 Software | |
− | |||
− | |||
− | |||
− | * [http://www. | ||
− | |||
− | |||
− | |||
== 6502 CPU == | == 6502 CPU == | ||
− | === Ohio Scientific SuperBoard II | + | * Several builds |
+ | ** My original Ohio Scientific SuperBoard II | ||
+ | ** MultiComp build of Ohio Scientific SuperBoard II | ||
+ | ** OSI 6502 Build | ||
+ | |||
+ | === Ohio Scientific SuperBoard II === | ||
+ | |||
+ | This was my first commercial personal computer. | ||
[[File:Osi-600.jpg]] | [[File:Osi-600.jpg]] | ||
− | |||
− | |||
* Manufacturer: Ohio Scientific | * Manufacturer: Ohio Scientific | ||
− | + | * Model 600 Rev B Board Manual | |
− | * Model: | + | * Model: [http://oldcomputers.net/osi-600.html SuperBoard II] ( Model 600 ) |
* Available: 1978 | * Available: 1978 | ||
* Price: US $279 assembled | * Price: US $279 assembled | ||
Line 151: | Line 168: | ||
* Built-in keyboard | * Built-in keyboard | ||
* Single board design | * Single board design | ||
− | + | * I eventually got a [http://osi.marks-lab.com/boards/boards.html Model 610 24KB RAM expansion card with Floppy Disk Controller] | |
* Ports: composite video, cassette | * Ports: composite video, cassette | ||
* Storage: cassette | * Storage: cassette | ||
Line 158: | Line 175: | ||
* [https://en.wikipedia.org/wiki/Compukit_UK101 Compkit 101] - British clone of the SuperBoard II | * [https://en.wikipedia.org/wiki/Compukit_UK101 Compkit 101] - British clone of the SuperBoard II | ||
− | ==== | + | ==== SuperBoard II Emulator ==== |
− | * [https:// | + | * [https://www.pcjs.org/docs/c1pjs/ OSI Challenger 1P (8Kb) with Debugger - JAVA web based emulator] |
− | * [ | + | * [https://www.pcjs.org/devices/c1p/machine/32kb/ OSI Challenger 1P (32Kb) with Disk Support - JAVA web based emulator] |
− | + | * [https://satoshinm.github.io/blog/180113_stm32_6502_pill_6502_8_bit_6502_cpu_and_6850_acia_emulation_on_the_stm32_blue_pill_to_run_microsoft_basic_from_1977.html pill_6502: 8-bit 6502 CPU and 6850 ACIA emulation on the STM32 blue pill to run Microsoft BASIC from 1977] | |
− | |||
− | |||
− | |||
− | |||
− | |||
==== Keyboard Layout ==== | ==== Keyboard Layout ==== | ||
+ | |||
+ | [[File:OSI_C1P_cropped.jpg]] | ||
[[File:opkbd.jpg]] | [[File:opkbd.jpg]] | ||
− | + | * [https://www.vetra.com/scancodes.html PS/2 Keycodes] | |
− | + | * Keyboard matrix | |
− | * [https:// | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | + | [[file:UK101_KBD_ARRAY.PNG]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==== SuperBoard II/ Retro-Tech Refresh ==== | ==== SuperBoard II/ Retro-Tech Refresh ==== | ||
Line 203: | Line 200: | ||
** Based on Cyclone II EP2C5 Mini Dev Board | ** Based on Cyclone II EP2C5 Mini Dev Board | ||
** Someone built one of the CompuKit clones as a CPM box | ** Someone built one of the CompuKit clones as a CPM box | ||
+ | |||
+ | ==== Superboard II Documents ==== | ||
+ | |||
+ | * [https://en.wikipedia.org/wiki/Compukit_UK101 Dave's OSI Repository] - Lots of scanned documents up there - large file sizes | ||
+ | * [http://web.archive.org/web/20190526035522/http://uk101.sourceforge.net/docs/ Compukit UK101] Docs on Sourceforge] | ||
+ | ** [http://uk101.sourceforge.net/docs/pdf/cegmon.pdf CEGMON Users Guide] | ||
+ | ** [http://uk101.sourceforge.net/docs/samples.html Sample Programs and Tapes] | ||
+ | * [http://weblog.tetradian.com/2014/03/16/cegmon-a-blast-from-the-past/ CEGMON – a blast from the past] | ||
+ | * [https://github.com/jefftranter/6502 Code for the 6502 microprocessor, mostly for the Replica 1 computer] | ||
+ | * [http://www.technology.niagarac.on.ca/people/mcsele/hobby/ohio-scientific-computers-series-600-challenger-1p-superboard/ Nice page on the C1P/Superboard II] | ||
+ | * [https://www.masswerk.at/6502/6502_instruction_set.html 6502 Instruction Set] | ||
* [https://www.youtube.com/watch?v=aD844aXw9z8 Compukit 101 video] | * [https://www.youtube.com/watch?v=aD844aXw9z8 Compukit 101 video] | ||
* [https://archive.org/search.php?query=ohio+scientific Ohio Scientific publications] | * [https://archive.org/search.php?query=ohio+scientific Ohio Scientific publications] | ||
Line 216: | Line 224: | ||
* [https://archive.org/search.php?query=6502%20assembly%20language 6502 Assembly Language books] - archive.org | * [https://archive.org/search.php?query=6502%20assembly%20language 6502 Assembly Language books] - archive.org | ||
* [https://archive.org/details/6502-micro-journal Micro 6502 Journal] | * [https://archive.org/details/6502-micro-journal Micro 6502 Journal] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6502/OSI/ROMs/DABUG DABUG Monitor ROM] | ||
=== MultiComp 6502 Builds === | === MultiComp 6502 Builds === | ||
Line 254: | Line 263: | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/M6502_VGA Build on Cyclone V card] | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/M6502_VGA Build on Cyclone V card] | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/M6502_VGA Build on Cyclone V card] - in box | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/M6502_VGA Build on Cyclone V card] - in box | ||
+ | |||
+ | === 6502 Software Development Tools === | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/wiki/6502-Software-Development 6502 Software Development] | ||
+ | * [https://github.com/davidgiven/cpm65?fbclid=IwAR1Z74SCun5ABVf-w6i2j080AGwHhp31E6z37vL1aZ4XpRe24abU-3oHr7g CP/M-65] - native port of Digital Research's seminal 1977 operating system CP/M to the 6502 | ||
== 6809 CPU == | == 6809 CPU == | ||
Line 290: | Line 304: | ||
* [https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-c:start Using the SD Card] | * [https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-c:start Using the SD Card] | ||
− | ==== | + | === 6809 Software Development Tools === |
+ | |||
+ | ==== 6809 Assembler ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/M6809_Assembler Motorola 6809 Cross-Assembler] | ||
+ | * [https://www.6809.org.uk/asm6809/ asm6809 Assembler] | ||
+ | * [https://www.6809.org.uk/asm6809/doc/asm6809.shtml Assembler User's Manual] | ||
+ | * [http://www.crossware.com/m6809 6809 Assembler for Windows] - Crossware | ||
+ | * [https://home.hccnet.nl/a.w.m.van.der.horst/m6809.html ASSEMBLER as9 SALVAGED] | ||
+ | * [http://6809.uk/ Motorola 6809 Emulator] | ||
+ | * [https://github.com/Arakula/A09 AS09 - 6800/6801/6809/6301/6309/68HC11 Assembler] | ||
+ | |||
+ | ==== 6809 BASIC ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/exbasrom Microsoft Extended BASIC - Radio Shack Color Computer 2] | ||
+ | * [http://www.flexusergroup.com/flexusergroup/pdfs/basic_um.pdf 6800/09 BASIC User's Manual 1979] - Technical Systems Consultants, Inc. | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/M6809_BASIC MICRO BASIC PLUS SOURCE] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/M6809_BASIC/ExBASIC ExBASIC for the Radio Shack Color Computer] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/tinybasic https://github.com/douggilliland/Retro-Computers/tree/master/6809/tinybasic] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/tscbasic TSC Micro BASIC PLUS] | ||
+ | |||
+ | ==== 6809 C Compiler ==== | ||
− | * [https:// | + | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/CMOC%20C%20Compiler CMOC Compiler] |
− | * [http:// | + | ** [http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html CMOC Compiler Homsepage] |
− | * [http:// | + | * [http://www.flexusergroup.com/flexusergroup/pdfs/INTROL-C.pdf Introl C Compiler] |
− | * [https:// | + | |
− | * [https:// | + | ==== 6809 FORTH ==== |
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/M6809_Forth ciforth] | ||
+ | ** [https://home.hccnet.nl/a.w.m.van.der.horst/m6809forth.html ci6809 : a 6809 Forth docs] | ||
− | ==== | + | ==== 6809 FLEX Operating System ==== |
* [http://www.flexusergroup.com/flexusergroup/fug4.htm FLEX User Group] | * [http://www.flexusergroup.com/flexusergroup/fug4.htm FLEX User Group] | ||
* [http://www.flexusergroup.com/flexusergroup/pdfs/swflexum.pdf Flex User's Guide] | * [http://www.flexusergroup.com/flexusergroup/pdfs/swflexum.pdf Flex User's Guide] | ||
− | * [http://www.flexusergroup.com/flexusergroup/pdfs/ | + | * [http://www.flexusergroup.com/flexusergroup/pdfs/linkload.pdf Flex Link Loader] |
− | * [http://www. | + | * [http://www.datapipe-blackbeltsystems.com/windows/flex/asm09.html FLEX Assembler User's Guide] |
− | |||
* [https://www.simonwynn.com/flex FLEX Software Archive] | * [https://www.simonwynn.com/flex FLEX Software Archive] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/blob/master/6809/Flex%20Explained.pdf Flex Explained] | ||
− | ==== | + | ==== 6809 FUZIX Operating System ==== |
* [https://github.com/EtchedPixels/FUZIX FUZIX] | * [https://github.com/EtchedPixels/FUZIX FUZIX] | ||
+ | |||
+ | ==== 6809 Monitors ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/assist09 assist09] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/mondeb https://github.com/douggilliland/Retro-Computers/tree/master/6809/exbasrom exbasrom] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/6809/wozmon WOZMON ported to 6809 | ||
+ | |||
+ | ==== Other 6809 Docs ==== | ||
+ | |||
+ | * [https://www.maddes.net/m6809pm/sections.htm MC6809-MC6809E 8-Bit Microprocessor Programming Manual (M6809PM/AD) © Motorola Inc., 1981] | ||
+ | * [https://www.forth.com/starting-forth/ Starting FORTH] - First book of learning FORTH | ||
+ | * [https://archive.org/details/6809_Assembly_Language_Programming_by_Lance_Leventhal 6809 Assembly Language Programming by Lance Leventhal] archive.org | ||
+ | * [http://ccgi.dougrice.plus.com/cgi-bin/wiki.pl?My_Notes_On_6809 Upload ROMs without rebuilding] | ||
+ | * [http://atjs.mbnet.fi/mc6809/index.html 6809 Emulation Page] | ||
+ | * [https://obsolescence.wixsite.com/obsolescence/the-6x0x-boards N8VEM 6809 Board] | ||
+ | * [http://www.msarnoff.org/6809/ ultim809: homebrew 8-bit computer] | ||
== Z80 CPU == | == Z80 CPU == | ||
Line 517: | Line 571: | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/Multicomp-MPM Build on Cyclone V card] (MPM) | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/Multicomp-MPM Build on Cyclone V card] (MPM) | ||
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/Multicomp-MPM Build on Cyclone V card] (MPM) in a box | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/Multicomp-MPM Build on Cyclone V card] (MPM) in a box | ||
+ | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_FPGA-ITX-01/Multicomp-MPM Build on Cyclone 10 card in ITX Enclosure] | ||
==== Retrobrew Multi-boot Multicomp Computer Builds ==== | ==== Retrobrew Multi-boot Multicomp Computer Builds ==== | ||
Line 602: | Line 657: | ||
== 68000 CPU == | == 68000 CPU == | ||
− | + | * Builds of two platforms | |
+ | ** [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TG68_AMR AMR] - CPU with VGA frame buffer from SDRAM and other peripherals | ||
+ | ** [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TS2_FPGA TS2] - Basic 68K CPU with VGA character display | ||
=== TG68_AMR Design === | === TG68_AMR Design === | ||
Line 608: | Line 665: | ||
<video type="youtube">D9y7V0j5GsQ</video> | <video type="youtube">D9y7V0j5GsQ</video> | ||
− | [[TG68 AMR Build]] | + | * [[TG68 AMR Build]] |
− | |||
− | |||
** 68000 Core | ** 68000 Core | ||
** SDRAM support | ** SDRAM support | ||
** VGA Framebuffer | ** VGA Framebuffer | ||
− | |||
*** Various resolutions | *** Various resolutions | ||
*** Stored in SDRAM | *** Stored in SDRAM | ||
** PS/2 Keyboard and Mouse support | ** PS/2 Keyboard and Mouse support | ||
** SD Card support | ** SD Card support | ||
− | * Runs on [[RETRO-EP4CE15]] | + | ** *Loads S Records file |
+ | |||
+ | ==== TG68_AMR QMTECH Cyclone IV Starter Kit Build==== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TG68_AMR/TG68_AMR_FPGA/Board/QMTECH_SK_Board Build on QMTECH CycloneIV Starter Kit card in MultiComp Box] | ||
+ | |||
+ | ==== TG68_AMR QMTECH Cyclone IV Build ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TG68_AMR/TG68_AMR_FPGA/SOC/fpga/QMTECH_CycloneIV Build on QMTECH Cyclone IV card] | ||
+ | |||
+ | * Runs on [[RETRO-EP4CE15]] base card | ||
** VGA connector | ** VGA connector | ||
*** 6 bit video (2:2:2) | *** 6 bit video (2:2:2) | ||
+ | *** Pixel dithering maps 24-bit video to six bits | ||
** PS/2 connector | ** PS/2 connector | ||
** FTDI USB to serial converter | ** FTDI USB to serial converter | ||
Line 629: | Line 694: | ||
** SD or SDHC Card | ** SD or SDHC Card | ||
*** Can do micro SDHC card using SD card adapter | *** Can do micro SDHC card using SD card adapter | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==== TG68_AMR Links ==== | ==== TG68_AMR Links ==== | ||
Line 642: | Line 701: | ||
* [https://hackaday.io/project/174679-68k-cpu-with-frame-buffer-on-fpga Hackaday page] | * [https://hackaday.io/project/174679-68k-cpu-with-frame-buffer-on-fpga Hackaday page] | ||
− | === | + | === TeeSide 2 design with Multicomp parts === |
+ | |||
+ | * [https://hackaday.io/project/173678-retro-68000-cpu-in-an-fpga Hackaday Project page] | ||
+ | * Built-on Video Display Unit (VDU) | ||
+ | ** Color attributes | ||
+ | ** XGA 80x25 [https://web.archive.org/web/20180221064620/http://searle.hostei.com/grant/Multicomp/index.html#ANSICodes ANSI character display] | ||
+ | ** Extended (256) character set | ||
+ | * ROM | ||
+ | * PS/2 keyboard | ||
+ | * 32KB SRAM | ||
+ | * 16KB ROM | ||
+ | |||
+ | ==== TeeSide 2 Memory Map ==== | ||
+ | |||
+ | * 0x000000 - 0x000007 = ROM Vectors (16-bits) | ||
+ | * 0x000008 - 0x007FFF = SRAM (16-bits) | ||
+ | * 0x008000 - 0x00BFFF = ROM (16-bits) | ||
+ | * 0x01004x - VDU base (A0 = 0) (8-bits) | ||
+ | * 0x01004x - ACIA base (A0 = 1) (8-bits) | ||
+ | |||
+ | ==== TeeSide 2 Monitor ROMs ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/ReferenceDesigns/TS2_JeffTranter/monitor/TSBUG2 TSBUG2 Monitor] | ||
+ | ** [https://github.com/douggilliland/Retro-Computers/blob/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/ReferenceDesigns/TS2_JeffTranter/monitor/TSBUG2/commands.txt TS2BUG Commands List] | ||
+ | ** 2KB organized as 1Kx16 | ||
+ | ** Zero Wait-states | ||
+ | * [https://github.com/douggilliland/Linux-68k/tree/master/TS2/tutor TUTOR Monitor] | ||
+ | ** 16KB organized as 8Kx16 | ||
+ | ** Zero Wait-states | ||
+ | ** [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TS2/tutor TUTOR Monitor] | ||
+ | |||
+ | ==== TeeSide 2 Build on RETRO-EP4CE15 Running TS2 Monitor ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/TS2_68000 68000 CPU in VHDL running on FPGA card] | ||
+ | * Running on [[RETRO-EP4CE15]] card | ||
+ | * [[QMTECH EP4CE15 FPGA Card]] | ||
+ | |||
+ | ==== TeeSide 2 Build on RETRO-EP4CE15 Running TUTOR Monitor ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/TS2_68000_Tutor 68000 CPU running on RETRO-EP4CE15 card] | ||
+ | * Running on [[RETRO-EP4CE15]] card | ||
+ | * [[QMTECH EP4CE15 FPGA Card]] | ||
+ | |||
+ | ==== TeeSide 2 Build on Cyclone V Running TS2 Monitor ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/TS2_68000 68000 running on Cyclone V card] | ||
+ | * Running on [[RETRO-EP4CE15]] card | ||
+ | * [[QM Tech Cyclone V FPGA Board]] | ||
+ | |||
+ | ==== TeeSide 2 Build on Cyclone V in Box Running TS2 Monitor ==== | ||
+ | |||
+ | * [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/TS2_68000 68000 running on Cyclone V card] in box | ||
+ | * Running on [[RETRO-EP4CE15]] card | ||
+ | * [[QM Tech Cyclone V FPGA Board]] | ||
− | * [https://github.com/douggilliland/ | + | ==== TeeSide 2 Software ==== |
− | + | ||
− | * | + | ===== TeeSide 2 BASIC ===== |
− | + | ||
− | + | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/TS2_FPGA/ehbasic Lee Davidson's Enhanced BASIC] | |
− | + | * [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TS2_FPGA/TinyBASIC68 TinyBASIC68] - Gordon Brandly's Tiny BASIC v1.0 | |
− | ** | + | ** Copy/paste S1/S9 records from [https://github.com/douggilliland/Retro-Computers/blob/master/68000/MECB/tbi68k12/TBI68K.HEX TBI68K.HEX] into ACIA port |
− | + | ** JUMP 0900 to run | |
− | + | ** [https://github.com/douggilliland/Retro-Computers/tree/master/68000/MECB/tbi68k12 Tiny Basic] from MECB | |
− | ** | + | ** Includes LOAD and SAVE from/to the Serial port |
− | |||
*** Type LOAD on VDU port | *** Type LOAD on VDU port | ||
− | *** | + | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/BASIC MANDLEBRT.BAS] |
− | *** | + | |
+ | ===== TeeSide 2 C Compiler ===== | ||
+ | |||
+ | <video type="youtube">Fyjiv5ZqpRY</video> | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/GCC_m68k-elf-toolchain GCC_m68k-elf-toolchain] | ||
+ | ** [https://github.com/douggilliland/Retro-Computers/blob/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/toolchain.txt GCC Toolchain] | ||
+ | ** [https://gnutoolchains.com/m68k-elf/ GCC m68k-elf page] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/SIERRA_Compiler SIERRA Compiler] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/TS2_FPGA/c_example c_example] | ||
+ | * [https://github.com/douggilliland/Linux-68k/tree/master/TS2/SDCard SDCard] - Test SD Card reads | ||
+ | * [https://github.com/douggilliland/Linux-68k/tree/master/TS2/ExtRAMTest ExtRAMTest] - Test the 1MB External SRAM on the RETRO-EP4CE15 card | ||
+ | * [https://github.com/douggilliland/Linux-68k/tree/master/TS2/c_example c_example] - Code example | ||
+ | * [https://sourceware.org/binutils/docs/binutils/objcopy.html objcopy docs] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/blob/master/PC%20Tools/srecord/srecord-1.64.pdf srecord docs] | ||
+ | ** p 26 is the docs for srec_cat | ||
+ | |||
+ | ===== TeeSide 2 Assembly ===== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/vasm vasm] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/as68k as68k] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/Easy68K Easy68K] | ||
+ | * [http://tigcc.ticalc.org/doc/gnuasm.html The GNU Assembler] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/TS2_FPGA/testser testser] | ||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/68000_Assembly_Code/FizzBuzz FizzBuzz assembly code] | ||
+ | |||
+ | ===== TeeSide 2 Operating Systems ===== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/CPM-68k CPM-68k] | ||
+ | ** [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Docs/CPM-68K CPM-68k docs] | ||
+ | ** [https://github.com/dwildie/cpm-68k cpm-68k] | ||
+ | |||
+ | ===== TeeSide 2 FORTH ===== | ||
+ | |||
+ | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/Dev%20Tools/FORTH Portable FORTH] | ||
+ | * [https://github.com/CCurl/minForth MinForth] - Alternate Forth | ||
− | ==== | + | ==== TeeSide 2 Links ==== |
* [https://jefftranter.blogspot.com/2016/12/building-68000-single-board-computer.html Jeff Tranter's build] (BLOG) - TS2 build | * [https://jefftranter.blogspot.com/2016/12/building-68000-single-board-computer.html Jeff Tranter's build] (BLOG) - TS2 build | ||
Line 665: | Line 811: | ||
** [https://github.com/jefftranter/68000/tree/master/monitor Monitor code] | ** [https://github.com/jefftranter/68000/tree/master/monitor Monitor code] | ||
* [http://easy68k.com/paulrsm/mecb/mecbbyte.htm Educational Computer Board (MEX68KECB)] | * [http://easy68k.com/paulrsm/mecb/mecbbyte.htm Educational Computer Board (MEX68KECB)] | ||
+ | ** TS2 compatible memory map | ||
** [http://www.easy68k.com/paulrsm/mecb/mecb.htm Motorola MC68000 Software] | ** [http://www.easy68k.com/paulrsm/mecb/mecb.htm Motorola MC68000 Software] | ||
** [http://www.easy68k.com/paulrsm/index.html Motorola 680x0 Resources] | ** [http://www.easy68k.com/paulrsm/index.html Motorola 680x0 Resources] | ||
Line 670: | Line 817: | ||
=== 68000 Software === | === 68000 Software === | ||
− | * [https:// | + | ==== C Compilers ==== |
− | + | ||
− | ** [https:// | + | * [https://darkdust.net/writings/megadrive/crosscompiler Installing binutils and GCC as cross-compiler for the Motorolla 68000] |
+ | * [https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/M68k The LLVM Compiler Infrastructure] - 68K backend | ||
+ | ** [https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target LLVM Project] | ||
+ | ** [https://llvm.org/docs/GettingStarted.html#getting-started-with-llvm Getting Started with LLVM] | ||
+ | |||
+ | ==== Operating Systems ==== | ||
+ | |||
* [https://www.bigmessowires.com/2014/11/06/building-uclinux-for-a-68000-target/ Building uClinux for a 68000 Target] | * [https://www.bigmessowires.com/2014/11/06/building-uclinux-for-a-68000-target/ Building uClinux for a 68000 Target] | ||
** [https://sourceforge.net/projects/uclinux/ uClinux Sourceforge] | ** [https://sourceforge.net/projects/uclinux/ uClinux Sourceforge] | ||
** [https://www.youtube.com/watch?v=hgWZDSXkC58&feature=emb_logo 68000 booting uClinux 2.4.x (with 4Gb sdhc card)] - YouTube video | ** [https://www.youtube.com/watch?v=hgWZDSXkC58&feature=emb_logo 68000 booting uClinux 2.4.x (with 4Gb sdhc card)] - YouTube video | ||
** [https://www.embeddedrelated.com/showthread/comp.arch.embedded/34824-1.php Minimal hardware requirement for uClinux] | ** [https://www.embeddedrelated.com/showthread/comp.arch.embedded/34824-1.php Minimal hardware requirement for uClinux] | ||
− | * [https:// | + | ** [https://code.google.com/archive/p/m68k/downloads Linux toolchain for the MC68000 CPU - gcc] (Linux - uClinux/MC68000) |
− | + | * [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/EmuTOS EmuTOS] | |
− | * [https://github.com/ | + | ** [https://sourceforge.net/projects/emutos/ EmuTOS] - Free operating system for Atari computers, and more |
− | ** [https:// | ||
− | |||
=== Other People's 68000 Builds === | === Other People's 68000 Builds === | ||
Line 690: | Line 841: | ||
* [http://mc68k.blogspot.com 68000 brought to life!] | * [http://mc68k.blogspot.com 68000 brought to life!] | ||
* [https://www.ist-schlau.de/?fbclid=IwAR1xQPF5I2gyCa5wyHaQa5nvaLJUyHItMSXMrir3SDk0QjLkibl7ibNxssA Kiwi - a 68k Homebrew Computer] | * [https://www.ist-schlau.de/?fbclid=IwAR1xQPF5I2gyCa5wyHaQa5nvaLJUyHItMSXMrir3SDk0QjLkibl7ibNxssA Kiwi - a 68k Homebrew Computer] | ||
− | + | * [https://www.bigmessowires.com/68-katy/ 68 Katy] | |
− | + | * [https://retrobrewcomputers.org/doku.php?id=boards:sbc:tiny68k Tiny68K] - Reference Tiny68K card | |
− | + | ** [https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:sbc:tiny68k:t68kbug.zip t68kbug Debugger] | |
− | * [https:// | ||
− | * [https:// | ||
== DEC (Digital Equipment Corp) Computers == | == DEC (Digital Equipment Corp) Computers == | ||
Line 709: | Line 858: | ||
=== PDP-8 === | === PDP-8 === | ||
+ | * Two PDP-8 builds | ||
+ | ** Tom Almy's build | ||
+ | ** OpenCores build | ||
* [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8 My PDP-8 Hardware GitHub repository] | * [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8 My PDP-8 Hardware GitHub repository] | ||
− | * [ | + | |
− | * [ | + | ==== PDP-8 FPGA Hardware used ==== |
+ | |||
+ | * [[RETRO-EP4CE15]] | ||
+ | * [[QMTECH EP4CE15 FPGA Card]] | ||
+ | * [[PDP-8 Front Panel|PDP-8 Front Panel]] | ||
==== Build of Tom Almy's PDP-8 FPGA (Working 2021-May) ==== | ==== Build of Tom Almy's PDP-8 FPGA (Working 2021-May) ==== | ||
Line 717: | Line 873: | ||
<video type="youtube">1-lU59broa4</video> | <video type="youtube">1-lU59broa4</video> | ||
− | + | This build is based on [https://almy.us/ Tom Almy]'s book [https://www.amazon.com/PDP-8-Class-Project-Resoling-Machine/dp/1790487978/ref=sr_1_1?dchild=1&keywords=tom+almy+pdp-8&qid=1619874138&sr=8-1 The PDP-8 Class Project: Resoling An Old Machine]. | |
* [https://hackaday.io/project/179357-pdp-8-fpga PDP-8 FPGA] - Hackaday page with progress logs | * [https://hackaday.io/project/179357-pdp-8-fpga PDP-8 FPGA] - Hackaday page with progress logs | ||
− | + | * [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_Book(Almy) PDP-8 Almy book on GitHub] | |
− | + | ** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_Book(Almy)/PDP8_VDU_FrPnl FPGA Code] - Uses VDU and Front Panel | |
− | |||
− | |||
− | |||
− | ** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_Book(Almy) | ||
* [https://github.com/douggilliland/Linux-68k/tree/master/pdp8 My PDP-8 Software GitHub repository] | * [https://github.com/douggilliland/Linux-68k/tree/master/pdp8 My PDP-8 Software GitHub repository] | ||
Line 736: | Line 888: | ||
*** Built in ANSI Terminal with cpu_001 (IOP16B built-in) - Latest build | *** Built in ANSI Terminal with cpu_001 (IOP16B built-in) - Latest build | ||
*** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_IV_VDU/ANSITerm/Assy_Code VDU IOP assembly code] | *** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_IV_VDU/ANSITerm/Assy_Code VDU IOP assembly code] | ||
− | **** [https://hackaday.io/project/180415-ansi-terminal-in-an-fpga Hackaday project page for ANSI Terminal | + | **** [https://hackaday.io/project/180415-ansi-terminal-in-an-fpga Hackaday project page for ANSI Terminal] |
** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_IV RETRO-EP4CE15_CYCLONE_IV] | ** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_IV RETRO-EP4CE15_CYCLONE_IV] | ||
*** Serial only (no VDU) | *** Serial only (no VDU) | ||
** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_V RETRO-EP4CE15_CYCLONE_V ] | ** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_V RETRO-EP4CE15_CYCLONE_V ] | ||
*** WIP - missing pin assignment | *** WIP - missing pin assignment | ||
− | |||
− | |||
− | |||
− | |||
* [http://opencores.org/project,pdp8 opencores PDP-8 Processor Core and System Overview] | * [http://opencores.org/project,pdp8 opencores PDP-8 Processor Core and System Overview] | ||
** [https://opencores.org/projects/pdp8/quick%20start Quickstart page] | ** [https://opencores.org/projects/pdp8/quick%20start Quickstart page] | ||
Line 750: | Line 898: | ||
==== Others PDP-8 FPGA ==== | ==== Others PDP-8 FPGA ==== | ||
+ | * [http://highgate.comm.sfu.ca/pdp8/ Highgate's PDP-8 Page] | ||
* [https://github.com/ucfjimg/pdp8fpga Another Almy based design] - In Verilog | * [https://github.com/ucfjimg/pdp8fpga Another Almy based design] - In Verilog | ||
* [https://github.com/penguin359/pdp8 Yet another Almy based design] | * [https://github.com/penguin359/pdp8 Yet another Almy based design] | ||
Line 762: | Line 911: | ||
==== PDP-8 Documents and Programming ==== | ==== PDP-8 Documents and Programming ==== | ||
+ | * [https://www.computerhistory.org/revolution/minicomputers/11/331 History of the PDP-8] | ||
* [http://dustyoldcomputers.com/pdp-common/reference/drawings/cpus/docs/DEC-8E-HR1C-D_8eMaint_Feb73.pdf Maintenance Manual] - excellent document (pdf) | * [http://dustyoldcomputers.com/pdp-common/reference/drawings/cpus/docs/DEC-8E-HR1C-D_8eMaint_Feb73.pdf Maintenance Manual] - excellent document (pdf) | ||
* [https://homepage.divms.uiowa.edu/~jones/pdp8/man/index.html PDP-8 - A Programmer's Reference Manual] | * [https://homepage.divms.uiowa.edu/~jones/pdp8/man/index.html PDP-8 - A Programmer's Reference Manual] | ||
** [http://homepage.divms.uiowa.edu/~jones/pdp8/man/mri.html The Digital Equipment Corporation PDP-8 - Memory Reference Instructions] | ** [http://homepage.divms.uiowa.edu/~jones/pdp8/man/mri.html The Digital Equipment Corporation PDP-8 - Memory Reference Instructions] | ||
− | |||
* [http://www.fpgaretrocomputing.org/pdp8x/man.pdf PDP-8/X System Reference Manual] (pdf) | * [http://www.fpgaretrocomputing.org/pdp8x/man.pdf PDP-8/X System Reference Manual] (pdf) | ||
* [http://www.fpgaretrocomputing.org/pdp8x/panel05.txt Front Panel software] | * [http://www.fpgaretrocomputing.org/pdp8x/panel05.txt Front Panel software] | ||
Line 775: | Line 924: | ||
* [https://obsolescence.wixsite.com/obsolescencepidp-8-overview PiDP-8/I: RECREATING THE PDP-8/I] - Obsolescence Guaranteed | * [https://obsolescence.wixsite.com/obsolescencepidp-8-overview PiDP-8/I: RECREATING THE PDP-8/I] - Obsolescence Guaranteed | ||
+ | * [https://drive.google.com/file/d/0B_jM3_1AFMbMaUZSZ1RRUjJmS0k/view PiPDP-8 Front Panel] | ||
* [https://tangentsoft.com/pidp8i/wiki?name=Home PiDP-8/I software development nexus] | * [https://tangentsoft.com/pidp8i/wiki?name=Home PiDP-8/I software development nexus] | ||
Line 783: | Line 933: | ||
=== PDP-11 === | === PDP-11 === | ||
+ | |||
+ | [[file:PDP-11_FrontPanel_P512-cropped-720px.jpg]] | ||
==== My PDP-11 (pdp2011) FPGA builds ==== | ==== My PDP-11 (pdp2011) FPGA builds ==== | ||
Line 805: | Line 957: | ||
* [http://mdfs.net/Software/PDP11/Assembler/ PDP11 Assembler] | * [http://mdfs.net/Software/PDP11/Assembler/ PDP11 Assembler] | ||
* [https://arstechnica.com/gadgets/2022/03/a-brief-tour-of-the-pdp-11-the-most-influential-minicomputer-of-all-time/?fbclid=IwAR2BssxYaYmrpMAKDnpPlSxHbrYKyZECT_qL4UM6eWiHfJThhph0beWSCRw A brief tour of the PDP-11] | * [https://arstechnica.com/gadgets/2022/03/a-brief-tour-of-the-pdp-11-the-most-influential-minicomputer-of-all-time/?fbclid=IwAR2BssxYaYmrpMAKDnpPlSxHbrYKyZECT_qL4UM6eWiHfJThhph0beWSCRw A brief tour of the PDP-11] | ||
+ | |||
+ | == RISC V CPU == | ||
+ | |||
+ | * [https://github.com/ultraembedded/riscv RISC-V Core] | ||
+ | * [https://github.com/ultraembedded/biriscv biRISC-V] - 32-bit dual issue RISC-V CPU | ||
== Terminal == | == Terminal == | ||
Line 825: | Line 982: | ||
== External Sites == | == External Sites == | ||
− | == BASIC == | + | * [http://searle.x10host.com/Multicomp/index.html Grant Searle's Multicomp page] |
+ | * [https://github.com/nealcrook/multicomp6809 Neal Crook's 6809 Multicomp Github] | ||
+ | * [https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:start Retrobrewing Multicomp] | ||
+ | * [https://www.retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:mc-2g-1024 mc-2g-1024 multi-boot capability] | ||
+ | * [http://www.pldworld.com/_hdl/2/_ip/jekent/system09/index.html System 09 - VHDL 6809 System On a Chip] | ||
+ | * [http://www.smarthome.jigsy.com/fpga Multicomp build on Cyclone IV] | ||
+ | |||
+ | === BASIC === | ||
* [http://www.nicholson.com/rhn/basic/basic.info.html#2 BASIC Programming Resources and Chipmunk Basic Archive] | * [http://www.nicholson.com/rhn/basic/basic.info.html#2 BASIC Programming Resources and Chipmunk Basic Archive] |
Revision as of 14:47, 19 June 2024
Contents
- 1 Grant Searle's FPGA MultiComp Project
- 2 6800 CPU
- 3 6502 CPU
- 4 6809 CPU
- 5 Z80 CPU
- 6 68000 CPU
- 6.1 TG68_AMR Design
- 6.2 TeeSide 2 design with Multicomp parts
- 6.2.1 TeeSide 2 Memory Map
- 6.2.2 TeeSide 2 Monitor ROMs
- 6.2.3 TeeSide 2 Build on RETRO-EP4CE15 Running TS2 Monitor
- 6.2.4 TeeSide 2 Build on RETRO-EP4CE15 Running TUTOR Monitor
- 6.2.5 TeeSide 2 Build on Cyclone V Running TS2 Monitor
- 6.2.6 TeeSide 2 Build on Cyclone V in Box Running TS2 Monitor
- 6.2.7 TeeSide 2 Software
- 6.2.8 TeeSide 2 Links
- 6.3 68000 Software
- 6.4 Other People's 68000 Builds
- 7 DEC (Digital Equipment Corp) Computers
- 8 RISC V CPU
- 9 Terminal
- 10 External Sites
Grant Searle's FPGA MultiComp Project
FPGA Recreations of 6502, 6809, and Z80 Vintage Computers
- Multicomp on Land Boards Cards - Hardware
- Multicomp on Purchased Cards
- FPGA Support Cards
- MultiComp Wiki Page on GitHub
- Multicomp Github repo
Our MultiComp Retro-Computer Video Series
Cyclone II Video Series
Cyclone IV Video Series
6800 CPU
My First Computer Build
My first attempt to build a computer was way back in 1977 (before my Ohio Scientific SuperBoard II). The homebrewed computer based on an MC6800 CPU so the CPU has a soft spot in my heart. I never took any pictures of it and the hardware is long gone now. These are the pieces of it I remember.
- Elco? 120 pin edge connector wire wrapped cards with homebrew backplane
- 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 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. I didn't have an assembler so I have assembled code to machine code.
It might be fun to reproduce that board!
6800 SmithBug Builds
This MultiComp build fills a hole in Grant Searle's Multicomp (he hadn't finished a 6800 version).
It also completes the project I started back in 1977 with a lot of built-in features I could never have imagined back in the day.
- MC6800 CPU
- SmithBug ROM supports up to 60KB of SRAM
- 25 MHz
- SRAM size options to match FPGA capacities
- 4KB SRAM (for small FPGAs)
- 32KB (Internal) SRAM version (requires EP4CE15 minimum)
- 60K (external) RAM version
- 60K RAM version (requires Cyclone V FPGA)
- MC6850 ACIA UART
- Video Display Unit (VDU)
- Color attributes
- XGA 80x25 ANSI character display
- Extended (256) character set
- PS/2 keyboard
- Runs Tom Pittman's Tiny BASIC
- Build on EP4CE15 card
- Build on EP2C5 card
- Build on EP4CE10 card
- Build on EP4CE6 card
- Build on EP4CE15 Starter Kit card
- Build on EP4CE6 card (RETRO-EP4)
- Build on EP4CE6 card (RETRO-EP4) 60KB SRAM
- Build on EP4CE15 card
- Build on EP4CE15 card 60KB SRAM, 1MB Banked SRAM
- Build on EP4CE15 card Front Panel control
- Build on Cyclone V card 60KB SRAM, 1MB Banked SRAM
Memory Map (60KB SRAM version)
- $0000-$EFFF - Up to 60KB external SRAM
- $0000-$EEFF - User RAM area
- $EF00-$EFFF - Scratchpad RAM used by MIKBUG
- $0000-$EEFF - User RAM area
- I/O Map
- $FC18-$FC19 - VDU
- $FC28-$FC29 - ACIA
- J3 right side position - PIN_B22 (EP4CE15) of the FPGA swaps addresses of VDU and ACIA port
- Installed (PIN_B22 to Ground) uses ACIA Serial port
- Removed uses VDU
- $F000-$FFFF - SmithBUG ROM
- I/O "hole" opened up at 0xFC00-0xFCFF
6800 with Front Panel Running SmithBug
- Adding a modern version of a Front Panel completes the build of my 1977 6800 Computer
- Hackaday Front Panel page
6800 FIG-Forth Builds
- Build on RETRO-EP4CE15 FPGA - Runs out of ROM with Front Panel and boots directly to FigForth
- Build on RETRO-EP4CE15 FPGA - Runs under SmithBUG with Front Panel build - Run via J 0100
- 6800 FIG-Forth Builds - Wiki page
6800 FIG-Forth Reference
- 6502.org Forth Forum
- Forth Interest Group
- Silicon Valley Forth Interest Group
- Kim Harris' Forth Course
- MIKBUG on MultiComp - Hackaday page
- FigForth Wiki page
- FigForth FPGA files
- FigForth Software Build
- Starting Forth book - Brodie
- Thinking Forth by Leo Brodie
- The Evolution of Forth - History and internals of Forth
- Journal of Forth Application and Research
- FIG-FORTH internals
SWTPC
- Memory map (Hexadecimal Addresses):
- 0000-7FFF: RAM
- 8004-8007: MC6850 ACIA (UART)
- A000-DFFF: RAM
- E000-FFFF: SWTBUG Monitor ROM (visible on every 1 k memory location)
- Emulated components:
- Motorola MC6800 CPU (SWTPC mp-a)
- Motorola MC6850 UART (SWTPC mp-s)
- 48k RAM
6800 Software Development Tools
- 6800 Software Development Tools - GitHub Wiki page
- DREAM 6800 Archive Site - CHIP-8 Software
6502 CPU
- Several builds
- My original Ohio Scientific SuperBoard II
- MultiComp build of Ohio Scientific SuperBoard II
- OSI 6502 Build
Ohio Scientific SuperBoard II
This was 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 Model 610 24KB 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 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
Keyboard Layout
- PS/2 Keycodes
- Keyboard matrix
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
- Grant Searle's CompuKit UK101
- Based on Cyclone II EP2C5 Mini Dev Board
- Someone built one of the CompuKit clones as a CPM box
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
- Compukit 101 video
- Ohio Scientific publications
- 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
- 6502 Assembly Language books - archive.org
- Micro 6502 Journal
- DABUG Monitor ROM
MultiComp 6502 Builds
- Two Builds
- OSI C1P/SuperBoard II/UK10
- OSI 6502
OSI C1P/SuperBoard II/UK101 Builds
- Build on RETRO-EP4CE15 card
- Build on ESTF V2 EP4CE22 card
- Build on zrTech EP4CE6 card - 23KB
- Build on zrTech EP4CE6 card - Minimal features set
- Build on EP2C5 card - Grant's original build
- Build on EP2C5 card - 4KB SRAM
- Build on EP2C5 card - NTSC video, 41KB SRAM
- Build on EP2C5 card - NTSC video, 41KB SRAM, 115,200 baud
- Build on EP4CE10 card
- Build on EP4CE6 card
- Build on WaveShare EP4CE6 card
- Build on EP4CE15 card - VGA, PS/2, 40KB SRAM
- Build on EP4CE15 card
- Build on Cyclone V card - 41KB External SRAM
- Build on Cyclone V card - 41KB Internal SRAM
- Build on Cyclone V card - 41KB External SRAM in box
- Build on Cyclone V card - 41KB Internal SRAM in box
- Grant Searle's CompuKit UK101
OSI 6502 Builds
- Build on zrTech card
- Build on EP2C5 card
- Build on EP4CE10 card - 32KB internal SRAM
- Build on EP4CE10 card - 32KB internal SRAM (copy)
- Build on EP4CE6 card - 16KB internal SRAM
- Build on EP4CE15 card
- Build on Cyclone V card
- Build on Cyclone V card - in box
6502 Software Development Tools
- 6502 Software Development
- CP/M-65 - native port of Digital Research's seminal 1977 operating system CP/M to the 6502
6809 CPU
Our Build
- Our FPGA Builds
- BASIC is a port of Microsoft Extended BASIC for the 6809-based Radio Shack Color Computer
Neal Crook's 6809 Multiple OS Build
Neal Crook's build started from Grant Searle's Multicomp and fixed a number of issues with the VHDL code. It also has an SD Card with multiple OS Support.
- Neal Crook's 6809 Wiki of Multicomp FPGA builds - very helpful
- Neal Crook's Multicomp GitHub (with docs)
- Neal 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
- Neal did some Video Display Unit (VDU) Modifications
- Neal's Memory Mapper
- Neal got SDHC working - the original was SD only
Programming
SD Card
- SD Card image multicomp09_sd.zip - Program SD card using Balena Etcher
- Using the SD Card
6809 Software Development Tools
6809 Assembler
- Motorola 6809 Cross-Assembler
- asm6809 Assembler
- Assembler User's Manual
- 6809 Assembler for Windows - Crossware
- ASSEMBLER as9 SALVAGED
- Motorola 6809 Emulator
- AS09 - 6800/6801/6809/6301/6309/68HC11 Assembler
6809 BASIC
- Microsoft Extended BASIC - Radio Shack Color Computer 2
- 6800/09 BASIC User's Manual 1979 - Technical Systems Consultants, Inc.
- MICRO BASIC PLUS SOURCE
- ExBASIC for the Radio Shack Color Computer
- https://github.com/douggilliland/Retro-Computers/tree/master/6809/tinybasic
- TSC Micro BASIC PLUS
6809 C Compiler
6809 FORTH
6809 FLEX Operating System
- FLEX User Group
- Flex User's Guide
- Flex Link Loader
- FLEX Assembler User's Guide
- FLEX Software Archive
- Flex Explained
6809 FUZIX Operating System
6809 Monitors
- assist09
- https://github.com/douggilliland/Retro-Computers/tree/master/6809/exbasrom exbasrom
- [https://github.com/douggilliland/Retro-Computers/tree/master/6809/wozmon WOZMON ported to 6809
Other 6809 Docs
- MC6809-MC6809E 8-Bit Microprocessor Programming Manual (M6809PM/AD) © Motorola Inc., 1981
- Starting FORTH - First book of learning FORTH
- 6809 Assembly Language Programming by Lance Leventhal archive.org
- Upload ROMs without rebuilding
- 6809 Emulation Page
- N8VEM 6809 Board
- ultim809: homebrew 8-bit computer
Z80 CPU
- Multiple Z80 Builds
- Land Boards Z80 in 3 Chips card
- Z80 NASCOM BASIC (in FPGA)
- Z80 CP/M (in FPGA)
- Z80 Multi-OS (in FPGA)
- Z80-MBC2 Build card
Land Boards Z80 in 3 Chips
- Hackaday Z80 in 3 Chips
- 512KB SRAM
- Front Panel For 8 Bit Computers
- Z80 in 3 Chips
- SD_CARD_X49 mounted on CARRIER95TO49MM
- JOYPAD
- rhkoolstar sbc-2g-512 - SD card image
Z80 NASCOM BASIC (in FPGA)
- Build on A-ESTF V2 EP4CE22 card
- Build on zrTech v2 card
- Build on EP4CE10 card
- Build on EP4CE6 card
- Build on EP4CE6 card (RETRO-EP4)
NASCOM BASIC Notes
- OUT ADDR,DATA
- INP(128) - Reads I/O address 128 (0x80)
Z80 CP/M (in FPGA)
- Build on EP4CE15 card
- Build on EP2C5 card
- Build on EP2C5 card
- Build on EP4CE6 card (RETRO-EP4)
- Build on EP4CE15 card
- Build on Cyclone V card (MPM)
- Build on Cyclone V card (MPM) in a box
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 (EP2C5 FPGA)
- Two UART Serial interface
- No Video Display
- External RAM
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/PPIP - copy command (CP/M 2.2, CP/M 3)
- CP/M 2.2 uses PIP
- PIP NEWCOPY.EXT=COPYFROM.EXT - Copy from COPYFROM.EXT to NEWCOPY.EXT
- CP/M 3 uses PPIP
- Drive references A:
- Drives go from A-???
- LS is a better directory program
CP/M Resources on the Net
- CP/M Operating System Manual
- Digital Research CP/M Site
- A Short History of CP/M
- CP/M Internals
- 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
- BBC BASIC (Z80)
*BYE- Return to CP/M
- 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.
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)
AZTEC C Compiler
- Compile C code to CP/M executable
- Aztec C Compiler Manual
- C Vers. 1.06D 8080 (C) 1982 1983 1984 by Manx Software Systems
- Example Code - HELLO2.C
int main() { int i; for (i=0; i< 10; i++) printf("%d\n"); }
- Compile code to assembly file
- Creates a .ASM file
CC HELLO2.C
- Assemble Code to object file
- Creates a .O file
AS HELLO2.ASM
- Link Code with C library to .COM executable file
LN HELLO2.O C.LIB
ALGOL-M Compiler
- Fizzbuzz example
BEGIN INTEGER FUNCTION DIVBY(N, D); INTEGER N; INTEGER D; BEGIN DIVBY := 1 - (N - D * (N / D)); END; INTEGER I; FOR I := 1 STEP 1 UNTIL 100 DO BEGIN IF DIVBY(I, 15) = 1 THEN WRITE("FizzBuzz") ELSE IF DIVBY(I, 5) = 1 THEN WRITE("Buzz") ELSE IF DIVBY(I, 3) = 1 THEN WRITE("Fizz") ELSE WRITE(I); END; END
- To run compiler:
algolm fizzbuzz
- Result is:
ALGOL-M COMPILER VERS 1.1 0 ERROR(S) DETECTED
- To run ALGOL interpreter
runalg fizzbuzz
- Result is
ALGOL-M INTERPRETER-VERS 1.0 1 2 Fizz 4 Buzz Fizz 7 8
Z80 Multi-OS (in FPGA)
- Build on Cyclone V card (MPM)
- Build on Cyclone V card (MPM) in a box
- Build on Cyclone 10 card in ITX Enclosure
Retrobrew Multi-boot Multicomp Computer Builds
- MultiComputerZ80 build - Lots of extras - mc-2g-1024 Help file
- Multicomp Z80 with b/w Graphics - muellerk page
- mc-2g-1024 Image18 - Multiboot SD card
mc-2g-1024 Images
- Copy image System18.img to your SD-card. Use direct imaging software (dd in Linux, Win32DiskImager in Windows). Copy to the start of the card
- Included OSs are
- Type Snnn to select OS at multiboot
- S001 - Dos+ 2.5 Copyright 1986 (c) by C.B. Falconer, CCP+ Ver. 2.2 (CP/M 2.2 compatible)
- S002 - CP/M 2.2 (c) 1979 by Digital Research
- S003 - CP/M Version 3.0 BIOS (2016/9/13)
- S004 - MP/M II V2.1
- S005 - Z80 BASIC Ver 4.7b, Copyright (C) 1978 by Microsoft
- S006 - ZSDOS v1.1 (c) 1986-8 Harold F. Bower & Cameron W. Cotrill, ZCPR2 (c) 1982 by Richard Conn (CP/M 2.2 compatible)
- S007 - ZCPR compatible system for CP/M+ (CP/M 3.0) by Simeon Cran
- Additional Volumes
- Inspired by mc-2g-1024 original but modified
- Sources from here
- Mount using mount d vol
- Ex: mount b: 9 will mount ZCPR3 Utilities A-O as drive b:
- Volume.008 - ?
- Volume.009 - ZCPR3 Utilities A-O
- Volume.010 - ZCPR3 Utilities P-Z
- Volume.011 - Wordstar, DBase, SuperCal
- Volume.012 - Games
- Volume.013 - MuMath
- Volume.014 - Documentation
- Volume.015 - Languages (TurboPascal, Fortran, BBC BASIC)
- Volume.016 - Languages (Algol, Aztec C, APL, PLI, FORTH)
- Volume.017 - Languages (BDS Tiny C, Janis Ada15, MS COBOL, PILOT)
- Volume.018-253 - User volumes
Retrobrew Computer Builds of the Multicomp Project(s)
- Multi-boot Multicomp build by muellerk builds on Multi-boot Multicomp build by rhkoolstar
- 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
Notes
- Z80 Protocol Decoder
- Z80 = mc-2g-1024 - Best build
- Z80 Assembly Language books - archive.org
Z80-MBC2 Build
- On card
- Z80 CPU CMOS (Z84C00) 8Mhz or greater - I used 20 MHz
- Atmega32A
- TC551001-70 (128kB RAM)
- I used AS6C1008-55PIN since it is available on Mouser and Digikey
- 74HC00
- I added the optional MCP23017 for GPIO
- External cards
- External RTC
- External SD card
- Runs Petit FAT File System - Loads FAT32 SD cards loaded in Windows
- External USB-Serial adapter
- SWLEDX8 - LEDs card
- Custom wiring, no slide switches
- Bare Board on ebay - $8 shipping included
- Arrived in a couple of days
- Kit for sale
- Enclosure
68000 CPU
- Builds of two platforms
TG68_AMR Design
- TG68 AMR Build
- 68000 Core
- SDRAM support
- VGA Framebuffer
- Various resolutions
- Stored in SDRAM
- PS/2 Keyboard and Mouse support
- SD Card support
- *Loads S Records file
TG68_AMR QMTECH Cyclone IV Starter Kit Build
TG68_AMR QMTECH Cyclone IV Build
- Runs on RETRO-EP4CE15 base card
- VGA connector
- 6 bit video (2:2:2)
- Pixel dithering maps 24-bit video to six bits
- PS/2 connector
- FTDI USB to serial converter
- Genuine FT230XS FTDI USC to Serial chip
- USB B
- Tx/Rx LEDs
- SD or SDHC Card
- Can do micro SDHC card using SD card adapter
- VGA connector
TG68_AMR Links
- AMR's TG68 Experiments - Original design
- My GitHub page
- Hackaday page
TeeSide 2 design with Multicomp parts
- Hackaday Project page
- Built-on Video Display Unit (VDU)
- Color attributes
- XGA 80x25 ANSI character display
- Extended (256) character set
- ROM
- PS/2 keyboard
- 32KB SRAM
- 16KB ROM
TeeSide 2 Memory Map
- 0x000000 - 0x000007 = ROM Vectors (16-bits)
- 0x000008 - 0x007FFF = SRAM (16-bits)
- 0x008000 - 0x00BFFF = ROM (16-bits)
- 0x01004x - VDU base (A0 = 0) (8-bits)
- 0x01004x - ACIA base (A0 = 1) (8-bits)
TeeSide 2 Monitor ROMs
- TSBUG2 Monitor
- TS2BUG Commands List
- 2KB organized as 1Kx16
- Zero Wait-states
- TUTOR Monitor
- 16KB organized as 8Kx16
- Zero Wait-states
- TUTOR Monitor
TeeSide 2 Build on RETRO-EP4CE15 Running TS2 Monitor
TeeSide 2 Build on RETRO-EP4CE15 Running TUTOR Monitor
TeeSide 2 Build on Cyclone V Running TS2 Monitor
- 68000 running on Cyclone V card
- Running on RETRO-EP4CE15 card
- QM Tech Cyclone V FPGA Board
TeeSide 2 Build on Cyclone V in Box Running TS2 Monitor
- 68000 running on Cyclone V card in box
- Running on RETRO-EP4CE15 card
- QM Tech Cyclone V FPGA Board
TeeSide 2 Software
TeeSide 2 BASIC
- Lee Davidson's Enhanced BASIC
- TinyBASIC68 - Gordon Brandly's Tiny BASIC v1.0
- Copy/paste S1/S9 records from TBI68K.HEX into ACIA port
- JUMP 0900 to run
- Tiny Basic from MECB
- Includes LOAD and SAVE from/to the Serial port
- Type LOAD on VDU port
- MANDLEBRT.BAS
TeeSide 2 C Compiler
- GCC_m68k-elf-toolchain
- SIERRA Compiler
- c_example
- SDCard - Test SD Card reads
- ExtRAMTest - Test the 1MB External SRAM on the RETRO-EP4CE15 card
- c_example - Code example
- objcopy docs
- srecord docs
- p 26 is the docs for srec_cat
TeeSide 2 Assembly
TeeSide 2 Operating Systems
TeeSide 2 FORTH
- Portable FORTH
- MinForth - Alternate Forth
TeeSide 2 Links
- Jeff Tranter's build (BLOG) - TS2 build
- Educational Computer Board (MEX68KECB)
- TS2 compatible memory map
- Motorola MC68000 Software
- Motorola 680x0 Resources
68000 Software
C Compilers
- Installing binutils and GCC as cross-compiler for the Motorolla 68000
- The LLVM Compiler Infrastructure - 68K backend
Operating Systems
- Building uClinux for a 68000 Target
- uClinux Sourceforge
- 68000 booting uClinux 2.4.x (with 4Gb sdhc card) - YouTube video
- Minimal hardware requirement for uClinux
- Linux toolchain for the MC68000 CPU - gcc (Linux - uClinux/MC68000)
- EmuTOS
- EmuTOS - Free operating system for Atari computers, and more
Other People's 68000 Builds
- comp.sys.m68k Frequently Asked Questions (FAQ) (1996)
- MiniMig TC64
- Hackaday 68000 pages
- 68000 brought to life!
- Kiwi - a 68k Homebrew Computer
- 68 Katy
- Tiny68K - Reference Tiny68K card
DEC (Digital Equipment Corp) Computers
PDP-4
PDP-8
- Two PDP-8 builds
- Tom Almy's build
- OpenCores build
- My PDP-8 Hardware GitHub repository
PDP-8 FPGA Hardware used
Build of Tom Almy's PDP-8 FPGA (Working 2021-May)
This build is based on Tom Almy's book The PDP-8 Class Project: Resoling An Old Machine.
- PDP-8 FPGA - Hackaday page with progress logs
- PDP-8 Almy book on GitHub
- FPGA Code - Uses VDU and Front Panel
- My PDP-8 Software GitHub repository
OpenCores PDP-8 Build
- Land Board OpenCores PDP-8 Builds - GitHub repository
- RETRO-EP4CE15_CYCLONE_IV_VDU PDP-8 Build
- Built in ANSI Terminal with cpu_001 (IOP16B built-in) - Latest build
- VDU IOP assembly code
- RETRO-EP4CE15_CYCLONE_IV
- Serial only (no VDU)
- RETRO-EP4CE15_CYCLONE_V
- WIP - missing pin assignment
- RETRO-EP4CE15_CYCLONE_IV_VDU PDP-8 Build
- opencores PDP-8 Processor Core and System Overview
Others PDP-8 FPGA
- Highgate's PDP-8 Page
- Another Almy based design - In Verilog
- Yet another Almy based design
- PDP-8 in VHDL
- A FGPA Implementation of the PDP-8
- PDP-8/I on an FPGA
- PDP-8/i cpu with an RF08 disk emulator Uses a IDE disk as a backing store. It boots TSS/8.
- PDP-8 Instruction verification - In System Verilog?
- PDP8 in a Cypress PSoC5
- Scott Baker's PDP8-SOC - Clean VHDL Design
PDP-8 Documents and Programming
- History of the PDP-8
- Maintenance Manual - excellent document (pdf)
- PDP-8 - A Programmer's Reference Manual
- PDP-8/X System Reference Manual (pdf)
- Front Panel software
- pdp8online.com
- PDP-8 Assembly Language Studio
PiDP-8
- PiDP-8/I: RECREATING THE PDP-8/I - Obsolescence Guaranteed
- PiPDP-8 Front Panel
- PiDP-8/I software development nexus
PDP-10
PDP-11
My PDP-11 (pdp2011) FPGA builds
- PDP-11 ON RETRO-EP4CE15 - Works
- Based on Sytse van Slooten's original design pdp2011
Other PDP-11 FPGA builds
PDP-11 Software
- System Disk Images
- Disk Images
- PDP-11 Processor Handbook 1981 - on BitSavers
- PDP-11 on BitSavers
- PiDP-11: Replica of the 1970s PDP-11/70 emulated on Raspberry Pi
- PDP11 Assembler
- A brief tour of the PDP-11
RISC V CPU
- RISC-V Core
- biRISC-V - 32-bit dual issue RISC-V CPU
Terminal
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
External Sites
- Grant Searle's Multicomp page
- Neal Crook's 6809 Multicomp Github
- Retrobrewing Multicomp
- mc-2g-1024 multi-boot capability
- System 09 - VHDL 6809 System On a Chip
- Multicomp build on Cyclone IV
BASIC
- BASIC Programming Resources and Chipmunk Basic Archive
- Tiny BASIC
- Itty Bitty Computers & TinyBasic
- TINY BASIC User Manual
PiGFX
- PiGFX is a bare metal kernel for the Raspberry Pi that implements a basic ANSI terminal emulator with the additional support of some primitive graphics functions.
- It can be driven by pushing characters to the raspi UART.
https://raw.githubusercontent.com/fbergama/pigfx/master/doc/scr1.jpg