Difference between revisions of "RetroComputers"

From Land Boards Wiki
Jump to navigation Jump to search
 
(697 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Multicomp FPGA Retrocomputer Builds ==
+
[[File:tindie-mediums.png|link=https://www.tindie.com/stores/land_boards/]]
  
 +
== Grant Searle's FPGA MultiComp Project ==
 +
 +
FPGA Recreations of 6502, 6809, and Z80 Vintage Computers
 +
 +
* [[Multicomp_Hardware|Multicomp on Land Boards Cards]] - Hardware
 +
* [[Multicomp on Purchased Cards]]
 +
* [[FPGA Support Cards]]
 +
* [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]
* [http://zx80.netai.net/grant/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]
 
  
=== RETRO-EP4 FPGA ===
+
=== Our MultiComp Retro-Computer Video Series ===
 +
 
 +
==== Cyclone II Video Series ====
 +
 
 +
<video type="youtube">7O0njivn-Po</video>
 +
 
 +
[https://www.youtube.com/playlist?list=PLn__0BqzWEWMcUgzBroNNJYQP1keD--gu Video Series]
 +
 
 +
==== Cyclone IV Video Series ====
 +
 
 +
<video type="youtube">hwnvghxc5nU</video>
 +
 
 +
[https://www.youtube.com/playlist?list=PLn__0BqzWEWPk0-VW3kEpMNA81sIbhj6n Video Series]
 +
 
 +
== 6800 CPU ==
  
* [[RETRO-EP4]] - FPGA card
+
=== My First Computer Build ===
  
[[File:RETRO-EP4_TOP_BOTTOM-720px.jpg]]
+
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.
  
=== RETRO-EP4CE15 FPGA ===
+
* 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
  
* [[RETRO-EP4CE15]] - FPGA card
+
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.
  
[[File:RETRO-EP4CE15_3D.jpg]]
+
It might be fun to reproduce that board!
  
=== EP2C5-DB FPGA ===
+
=== 6800 SmithBug Builds ===
  
* [[EP2C5-DB]] - FPGA card
+
[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).
  
[[File:EP2C5-DB_RevX6_720px-rot.png]]
+
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.
  
== Z80 ==
+
* 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]
  
* [[Z80 in 3 Chips]]
+
<video type="youtube">LxMTCq9kLoc</video>
* [https://hackaday.io/project/167711-3-chip-z80-design Hackaday Z80 in 3 Chips]
 
  
[[File:Z80_P865-cropped-720px.jpg]]
+
* [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_EP4CE10/M6800_MIKBUG Build on EP4CE10 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE6/M6800_MIKBUG Build on EP4CE6 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_QMTECH_EP4CE15_Starter_Kit/M6800_MIKBUG_FrontPanel01 Build on EP4CE15 Starter Kit card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4/M6800_MIKBUG Build on EP4CE6 card] (RETRO-EP4)
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4/M6800_MIKBUG_60KExtSRAM Build on EP4CE6 card] (RETRO-EP4) 60KB SRAM
 +
* [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_60KB_Banked-1MB Build on EP4CE15 card] 60KB SRAM, 1MB Banked SRAM
 +
* [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
  
=== Links ===
+
==== Memory Map (60KB SRAM version) ====
  
* [http://s100computers.com/My%20System%20Pages/FPGA%20Z80%20SBC/FPGA%20Z80%20SBC.htm#Installing%20Quartus S-100 Bus FPGA Z80 SBC Board]
+
* [https://github.com/douggilliland/Retro-Computers/blob/master/6800/Mikbug/README.mediawiki SmithBug/MIKBUG Wiki page]
  
== Our Retro-Computer Projects ==
+
* $0000-$EFFF - Up to 60KB external SRAM
 +
** $0000-$EEFF - User RAM area
 +
*** $EF00-$EFFF - Scratchpad RAM used by MIKBUG
 +
* 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
  
* Land Boards [[EP2C5-DB]] FPGA Retro-Computer card
+
==== 6800 with Front Panel Running SmithBug ====
** 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
 
* 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 ==
+
* 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]
  
=== EP2 Video Series ===
+
<video type="youtube">Xlj1xnrxZls</video>
  
[https://www.youtube.com/playlist?list=PLn__0BqzWEWMcUgzBroNNJYQP1keD--gu Video Series]
+
[[file:FrontPanel-01-Front-3D-controls.png]]
  
=== EP4 Video Series ===
+
* [http://land-boards.com/blwiki/index.php?title=Front_Panel_for_8_Bit_Computers_V2#6800_with_Front_Panel_Operation Front Panel Operation]
  
== S120 Bus Computer ==
+
=== 6800 FIG-Forth Builds ===
  
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.
+
* 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
  
* Ran on Elco? 120 pin edge connector cards
+
==== 6800 FIG-Forth Reference ====
* 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.
+
* [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]
  
It might be fun to reproduce that board!
+
=== SWTPC ===
  
=== Pieces to Reproduce my original S120 Bus Computer ===
+
* 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
  
* Michael Holley's SWTPC 6800/6809 documentation collection
+
=== 6800 Software Development Tools ===
* N8VEM RetroComputing Wikipedia page
 
* Retrobrew Computers
 
* Kim-1 board - Similar concept
 
  
=== Hardware ===
+
* [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
  
* M6800 VHDL code from OpenCores
+
== 6502 CPU ==
  
=== Software ===
+
* Several builds
 +
** My original Ohio Scientific SuperBoard II
 +
** MultiComp build of Ohio Scientific SuperBoard II
 +
** OSI 6502 Build
  
* AS68 Cross Assembler
+
=== Ohio Scientific SuperBoard II ===
* 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 ==
+
This was my first commercial personal computer.
  
 
[[File:Osi-600.jpg]]
 
[[File:Osi-600.jpg]]
 
[http://oldcomputers.net/osi-600.html SuperBoard II]
 
  
 
* Manufacturer: Ohio Scientific
 
* Manufacturer: Ohio Scientific
** Model 600 Rev B Board Manual
+
* Model 600 Rev B Board Manual
* Model: Superboard II ( Model 600 )
+
* Model: [http://oldcomputers.net/osi-600.html SuperBoard II] ( Model 600 )
 
* Available: 1978
 
* Available: 1978
 
* Price: US $279 assembled
 
* Price: US $279 assembled
Line 108: Line 168:
 
* Built-in keyboard
 
* Built-in keyboard
 
* Single board design
 
* Single board design
** I eventually got a RAM expansion card with Floppy Disk Controller
+
* 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 115: 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 Documents ===
+
==== SuperBoard II Emulator ====
 +
 
 +
* [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]
  
* [https://en.wikipedia.org/wiki/Compukit_UK101 Dave's OSI Repository] - Lots of scanned documents up there - large file sizes
+
==== Keyboard Layout ====
* [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]
 
  
=== CC65 - C Compiler for the 6502 and OSI C1P ===
+
[[File:OSI_C1P_cropped.jpg]]
  
* [https://cc65.github.io/doc/osi.html Ohio Scientific-specific information for cc65]
+
[[File:opkbd.jpg]]
* [https://cc65.github.io/doc/cl65.html cl65 Users Guide]
 
* [http://cc65.github.io/cc65/ CC65 - C Compiler for the 6502]
 
* [https://github.com/cc65/wiki/wiki CC65 Wiki]
 
  
=== SuperBoard II Emulator ===
+
* [https://www.vetra.com/scancodes.html PS/2 Keycodes]
 +
* Keyboard matrix
  
* [https://www.pcjs.org/docs/c1pjs/ OSI Challenger 1P (8Kb) with Debugger - JAVA web based emulator]
+
[[file:UK101_KBD_ARRAY.PNG]]
* [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]
 
  
=== BASIC Programs ===
+
==== SuperBoard II/ Retro-Tech Refresh ====
<pre>
 
10 I=1
 
20 PRINT "HELLO DAVEY"
 
30 I=I+1
 
40 IF I < 5 GOTO 20
 
</pre>
 
=== SuperBoard II/ Retro-Tech Refresh ===
 
  
 
I was looking around for a way to recreate my OSI Superboard and found Grant Searle's design.
 
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
 
* [[EP2C5-DB]] - Our creation of a daughtercard which implements Grant Searle's Multi-Computer
* [http://searle.hostei.com/grant/uk101FPGA/index.html CompuKit UK101]
+
* [http://searle.x10host.com/uk101FPGA/index.html Grant Searle's CompuKit UK101]
 
** 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
* Compukit 101 video
 
  
== 6502 Computer Projects ==
+
==== Superboard II Documents ====
  
* [http://www.6502.org/source/monitors/ehbasic/ehbasic.html[ Enhanced 6502 BASIC]
+
* [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://archive.org/search.php?query=ohio+scientific Ohio Scientific publications]
 +
* [http://www.6502.org/source/monitors/ehbasic/ehbasic.html Enhanced 6502 BASIC]
 
** [https://coronax.wordpress.com/tag/basic/ Experience porting Enhanced Basic to a 6502 Computer]
 
** [https://coronax.wordpress.com/tag/basic/ Experience porting Enhanced Basic to a 6502 Computer]
 
*** "EhBASIC is about 11 KB"
 
*** "EhBASIC is about 11 KB"
Line 167: Line 222:
 
* [http://sbc.rictor.org/ Daryl's Computer Page]
 
* [http://sbc.rictor.org/ Daryl's Computer Page]
 
** Daryl has designed multiple single board computers
 
** Daryl has designed multiple single board computers
 +
* [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://github.com/douggilliland/Retro-Computers/tree/master/6502/OSI/ROMs/DABUG DABUG Monitor ROM]
 +
 +
=== MultiComp 6502 Builds ===
 +
 +
* Two Builds
 +
** OSI C1P/SuperBoard II/UK10
 +
** OSI 6502
 +
 +
==== OSI C1P/SuperBoard II/UK101 Builds ====
 +
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/UK101_VGA_PS2_IntRAM(40K) Build on RETRO-EP4CE15 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_A_ESTF_V2_EP4CE22/UK101_VGA_PS2_IntRAM(40K) Build on ESTF V2 EP4CE22 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_Cyclone%20IV%20VGA%20Card/UK101_16K_64x32_VGA_9thBit_23K Build on zrTech EP4CE6 card] - 23KB
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_Cyclone%20IV%20VGA%20Card/UK101_Min_Features_Set Build on zrTech EP4CE6 card] - Minimal features set
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/UK101-GS-Original Build on EP2C5 card] - Grant's original build
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/UK101_4KRAM Build on EP2C5 card] - 4KB SRAM
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/uk101_NTSC-PS2-ExtRAM Build on EP2C5 card] - NTSC video, 41KB SRAM
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/uk101_VGA-PS2-ExtRAM-115200Serial Build on EP2C5 card] - NTSC video, 41KB SRAM, 115,200 baud
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE10/UK101_VGA_PS2_IntRAM(34K) Build on EP4CE10 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE6/UK101_VGA_PS2_IntRAM(18K) Build on EP4CE6 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4/UK101_41K Build on WaveShare EP4CE6 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/UK101_VGA_PS2_IntRAM(40K) Build on EP4CE15 card] - VGA, PS/2, 40KB SRAM
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/UK101_41K Build on EP4CE15 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/UK101_41K Build on Cyclone V card] - 41KB External SRAM
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/UK101_Int_41K Build on Cyclone V card] - 41KB Internal SRAM
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/UK101_41K Build on Cyclone V card] - 41KB External SRAM in box
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/UK101_Int_41K Build on Cyclone V card] - 41KB Internal SRAM in box
 +
* [http://searle.x10host.com/uk101FPGA/index.html Grant Searle's CompuKit UK101]
  
== Grant Searle's FPGA MultiComputer Project(s) ==
+
==== OSI 6502 Builds ====
  
Retro-Computer Map EP2 to EP4 card
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_Cyclone%20IV%20VGA%20Card/M6502_VGA Build on zrTech card]
Map EP2 to EP4 card
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/M6502_VGA_PS2_ExtRAM Build on EP2C5 card]
My Build of the Z80 Version
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE10/M6502_VGA_PS2_IntRAM(32K) Build on EP4CE10 card] - 32KB internal SRAM
CP/M on FPGA - by Grant Searle
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE10/M6502_VGA_PS2_IntRAM(32K)%20-%20Copy Build on EP4CE10 card] - 32KB internal SRAM (copy)
Archive.org copy of Grant's site from 2012
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE6/M6502_VGA_PS2_IntRAM(16K) Build on EP4CE6 card] - 16KB internal SRAM
Archive.org copy of Grant's Multicomp from 2012
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6502_VGA Build on EP4CE15 card]
Fit results
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/M6502_VGA Build on Cyclone V card]
Two UART Serial interface
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V_InBox/M6502_VGA Build on Cyclone V card] - in box
No Video Display
 
External RAM
 
CPM-2UARTs-NoVideo.PNG
 
  
Retrobrew Computer Builds of the Multicomp Project(s)
+
=== 6502 Software Development Tools ===
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
+
* [https://github.com/douggilliland/Retro-Computers/wiki/6502-Software-Development 6502 Software Development]
Neil Crook's Multicomp GitHub (with docs)
+
* [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
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)
 
BBC BASIC (Z80) Manual
 
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
 
http://www.classiccmp.org/cpmarchives/cpm/mirrors/www.retroarchive.org/cpm/lang/lang.htm retroarchive page - mirror
 
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:
 
  
 +
== 6809 CPU ==
 +
 +
=== Our Build ===
 +
 +
<video type="youtube">hHBiFK0d3Y4</video>
 +
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/MultiComp_6809_by_Neal_C-2019-04-08 Our FPGA Builds]
 +
* BASIC is a port of [https://handwiki.org/wiki/Color_BASIC 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.
 +
 +
* [https://github.com/nealcrook/multicomp6809/wiki Neal Crook's 6809 Wiki of Multicomp FPGA builds] - very helpful
 +
* [https://github.com/nealcrook/multicomp6809 Neal Crook's Multicomp GitHub (with docs)]
 +
* Neal 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
 +
* Neal did some [https://github.com/nealcrook/multicomp6809/wiki/VDU-Modifications Video Display Unit (VDU) Modifications]
 +
* Neal's [https://github.com/nealcrook/multicomp6809/wiki/mk2-memory-mapping-unit Memory Mapper]
 +
* Neal got [https://github.com/nealcrook/multicomp6809/wiki/SD-Controller-modifications SDHC working] - the original was SD only
 +
 +
==== Programming ====
 +
 +
* [https://github.com/nealcrook/multicomp6809/wiki/camelforth CamelForth]
 +
 +
==== SD Card ====
 +
 +
* [https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-c:start#downloads SD Card image multicomp09_sd.zip] - Program SD card using Balena Etcher
 +
** [https://github.com/douggilliland/MultiComp/blob/master/MultiComp_6809_by_Neal_C-2019-04-08/SD%20Card/README.mediawiki SD Card Image]
 +
* [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://github.com/douggilliland/Retro-Computers/tree/master/6809/CMOC%20C%20Compiler CMOC Compiler]
 +
** [http://perso.b2b2c.ca/~sarrazip/dev/cmoc.html CMOC Compiler Homsepage]
 +
* [http://www.flexusergroup.com/flexusergroup/pdfs/INTROL-C.pdf Introl C Compiler]
 +
 +
==== 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/pdfs/swflexum.pdf Flex User's Guide]
 +
* [http://www.flexusergroup.com/flexusergroup/pdfs/linkload.pdf Flex Link Loader]
 +
* [http://www.datapipe-blackbeltsystems.com/windows/flex/asm09.html FLEX Assembler User's Guide]
 +
* [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]
 +
 +
==== 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 ==
 +
 +
* 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 ===
 +
 +
<video type="youtube">OdtYN3vPu_E</video>
 +
 +
[[File:Z80_P865-cropped-720px.jpg]]
 +
 +
* [https://hackaday.io/project/167711-3-chip-z80-design Hackaday Z80 in 3 Chips]
 +
** 512KB SRAM
 +
* [[Front Panel For 8 Bit Computers]]
 +
* [[Z80 in 3 Chips]]
 +
* [[SD_CARD_X49]] mounted on [[CARRIER95TO49MM]]
 +
* [[JOYPAD]]
 +
* [https://www.retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:sbc-2g-512 rhkoolstar sbc-2g-512] - SD card image
 +
** [https://github.com/douggilliland/Retro-Computers/tree/master/Z80/Reference_Designs/MC-2G-512%20(SBC2.0%20by%20koolstar) Archive of rhkoolstar sbc-2g-512]
 +
 +
=== Z80 NASCOM BASIC (in FPGA) ===
 +
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_A_ESTF_V2_EP4CE22/Z80-BASIC-VGA-PS2-IntRAM(48K) Build on A-ESTF V2 EP4CE22 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_Cyclone%20IV%20VGA%20Card/Z80_VGA_PS2_UART_16K Build on zrTech v2 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE10/Z80_VGA_PS2_UART_32K Build on EP4CE10 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE6/Z80_VGA_PS2_UART_16K Build on EP4CE6 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4/Z80-CPM-VGA-PS2-128KRAM 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) ===
 +
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/Z80-CPM-VGA-PS2-64KRAM Build on EP4CE15 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/Z80-CPM-VGA-PS2-128KRAM Build on EP2C5 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/Z80-CPM-VGA-PS2-ExtRAM Build on EP2C5 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4/Z80-CPM-VGA-PS2-128KRAM Build on EP4CE6 card] (RETRO-EP4)
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/Z80-CPM-VGA-PS2-64KRAM Build on EP4CE15 card]
 +
* [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
 +
 +
==== 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 (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 ====
 +
 +
* [http://www.cpm.z80.de/manuals/cpm22-m.pdf CP/M Operating System Manual]
 +
* [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]
 +
* [https://obsolescence.wixsite.com/obsolescence/cpm-internals CP/M Internals]
 +
* [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]
 +
* [http://www.retroarchive.org/cpm/lang/lang.htm 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]
 +
* [http://www.bbcbasic.co.uk/bbcbasic/z80basic.html BBC BASIC (Z80)]
 +
** [http://www.bbcbasic.co.uk/bbcbasic/mancpm/index.html BBC BASIC (Z80) Manual]
 +
<pre>
 +
*BYE- Return to CP/M
 +
</pre>
 +
* [https://altairclone.com/downloads/?fbclid=IwAR3BeIol8GOBKRSC6cB8lDMFSErRYjjmNtC4RQ3YpStdjeaSu-CLSTuLz5I Altair downloads]
 +
 +
[[File:CPM-2UARTs-NoVideo.PNG]]
 +
 +
* 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,  
 
... 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,  
 
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.
 
or POKE the sector number, POKE the read command, and PEEK 512 bytes to read a sector.
DEC (Digital Equipment Corp) Computers
+
</pre>
PDP-8 in VHDL
+
 
A FGPA Implementation of the PDP-8
+
==== Microsoft BASIC Notes ====
PDP-8 Processor Core and System :: Overview
+
 
The Digital Equipment Corporation PDP-8 - Memory Reference Instructions
+
* SAVE "MYPROG.BAS"
PDP-11 in VHDL
+
* LOAD "MYPROG.BAS"
Computer Simulation and History
+
* SYSTEM -- Return to CP/M
External Sites
+
* NAME "OLDFILE.BAS" AS "NEWFILE.BAS"
Grant Searle Terminal Design
+
* NEW - Delete program
Uses two Arduino'ish processors to implement an entire terminal
+
* OUT 132,1 -- Output to I/O port 132
NTSC output
+
* PRINT MEM - Free memory (6809 Extended BASIC)
PS/2 Keyboard input
 
Grant Searle's Monitor Keyboard Design
 
ATMega328Video%202.2.gif
 
  
Older AtMEGA32 version of Monitor Keyboard Design
+
==== AZTEC C Compiler ====
My implementation of Grant's small serial terminal design.
 
SerialTerminal-P1010506-720px.jpg
 
  
RetroBrew Computers Site
+
* Compile C code to CP/M executable
RetroBrew Computers Forum
+
* [https://archive.org/details/bitsavers_manxAztecC_11703326 Aztec C Compiler Manual]
pagetable - Probably the best C64 technical data out there
+
** C Vers. 1.06D 8080  (C) 1982 1983 1984 by Manx Software Systems
Github for all things C64
+
* Example Code - HELLO2.C
 +
<pre>
 +
int main()
 +
{
 +
  int i;
 +
  for (i=0; i< 10; i++)
 +
    printf("%d\n");
 +
}
 +
</pre>
 +
 
 +
* Compile code to assembly file
 +
** Creates a .ASM file
 +
<pre>
 +
CC HELLO2.C
 +
</pre>
 +
 
 +
* Assemble Code to object file
 +
** Creates a .O file
 +
<pre>
 +
AS HELLO2.ASM
 +
</pre>
 +
 
 +
* Link Code with C library to .COM executable file
 +
<pre>
 +
LN HELLO2.O C.LIB
 +
</pre>
 +
 
 +
<video type="youtube">wQY2VUV8MDQ</video>
 +
 
 +
==== ALGOL-M Compiler ====
 +
 
 +
* Fizzbuzz example
 +
 
 +
<pre>
 +
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
 +
</pre>
 +
* To run compiler:
 +
<pre>
 +
algolm fizzbuzz
 +
 
 +
</pre>
 +
* Result is:
 +
<pre>
 +
ALGOL-M COMPILER VERS 1.1
 +
  0 ERROR(S) DETECTED
 +
</pre>
 +
* To run ALGOL interpreter
 +
<pre>
 +
runalg fizzbuzz
 +
</pre>
 +
* Result is
 +
<pre>
 +
ALGOL-M INTERPRETER-VERS 1.0
 +
 
 +
 
 +
    1
 +
    2
 +
Fizz
 +
    4
 +
Buzz
 +
Fizz
 +
    7
 +
    8
 +
</pre>
 +
 
 +
=== Z80 Multi-OS (in FPGA) ===
 +
 
 +
* [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_FPGA-ITX-01/Multicomp-MPM Build on Cyclone 10 card in ITX Enclosure]
 +
 
 +
==== Retrobrew Multi-boot Multicomp Computer Builds ====
 +
 
 +
* [https://www.retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:mc-2g-1024 MultiComputerZ80 build] - Lots of extras - [https://github.com/douggilliland/Retro-Computers/tree/master/Z80/Reference_Designs/MC-2G-1024 mc-2g-1024 Help file]
 +
* [https://retrobrewcomputers.org/doku.php?id=builderpages:muellerk:start Multicomp Z80 with b/w Graphics - muellerk page]
 +
* [https://retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:mc-2g-1024 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
 +
** [https://github.com/douggilliland/Retro-Computers/tree/master/Z80/Reference_Designs/MC-2G-1024%20(Multicomp%20by%20koolstar) rhkoolstar mc-2g-1024 is backed up here]
 +
* [https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:rhkoolstar:mc-2g-1024.zip Included OSs] are
 +
** Type '''Snnn''' to select OS at multiboot
 +
** S001 - Dos+ 2.5  Copyright 1986 (c) by [http://web.archive.org/web/20080430103646/http://cbfalconer.home.att.net/download/index.htm C.B. Falconer], CCP+ Ver. 2.2  (CP/M 2.2 compatible)
 +
** S002 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/CPM%202.2%20manual.pdf CP/M 2.2] (c) 1979 by Digital Research
 +
** S003 - [http://www.cpm.z80.de/manuals/cpm3-usr.pdf CP/M Version 3.0] BIOS (2016/9/13)
 +
*** [http://www.cpm.z80.de/manuals/cpm3-sys.pdf CP/M Version 3.0 Operating System System Guide]
 +
** S004 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/MPM_II_2.1_Release_Notes_1982.pdf MP/M II V2.1]
 +
** S005 - [http://searle.wales/z80/SimpleZ80.html Z80 BASIC Ver 4.7b], Copyright (C) 1978 by Microsoft
 +
** S006 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/zsdos.pdf ZSDOS v1.1] (c) 1986-8 Harold F. Bower & Cameron W. Cotrill, ZCPR2 (c) 1982 by Richard Conn (CP/M 2.2 compatible)
 +
** S007 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/zcpr3_the_manual.pdf ZCPR compatible system] for CP/M+ (CP/M 3.0) by Simeon Cran
 +
 
 +
* Additional Volumes
 +
** Inspired by mc-2g-1024 original but modified
 +
** [https://obsolescence.wixsite.com/obsolescence/multicomp-fpga-cpm-demo-disk 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 - [https://github.com/douggilliland/MultiComp/blob/master/MultiComp_On_RETRO-EP4CE15/Multicomp-MPM/ZCPR3_Utilities_A_O.txt ZCPR3 Utilities A-O]
 +
** Volume.010 - [https://github.com/douggilliland/MultiComp/blob/master/MultiComp_On_RETRO-EP4CE15/Multicomp-MPM/ZCPR3_Utilities_P_Z.txt ZCPR3 Utilities P-Z]
 +
** Volume.011 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/Wordstar_3.3_Reference_Manual_1983.pdf Wordstar], [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/dBASE_II_Users_Guide_Feb83.pdf DBase], SuperCal
 +
** Volume.012 - Games
 +
** Volume.013 - [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/MuMath_and_MuSimp_1980_Soft_Warehouse_text.pdf MuMath]
 +
** Volume.014 - Documentation
 +
** Volume.015 - Languages ([https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/TURBO_Pascal_Reference_Manual_CPM_Version_3_Dec88.pdf TurboPascal], [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/Microsoft_FORTRAN-80_Ver3.4_Users_Manual_Nov80.pdf Fortran], [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/BBC%20Basic%20(Z80).pdf BBC  BASIC])
 +
** Volume.016 - Languages ([https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/Algol%20M%20Language%20Description.pdf Algol], [https://github.com/douggilliland/Retro-Computers/blob/master/Z80/Software/Manuals/Aztec_C_1.06_User_Manual_Mar84.pdf 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) ====
 +
 
 +
* [https://retrobrewcomputers.org/doku.php?id=builderpages:muellerk:start Multi-boot Multicomp build by muellerk] builds on [https://retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:mc-2g-1024 Multi-boot Multicomp build by rhkoolstar]
 +
* [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]
 +
 
 +
==== Notes ====
 +
 
 +
* [https://stardot.org.uk/forums/viewtopic.php?f=3&t=15464&sid=5178dde921ab9b2a60aef4ebd9eec115 Z80 Protocol Decoder]
 +
* [[mc-2g-102|Z80 = mc-2g-1024]] - Best build
 +
* [https://archive.org/search.php?query=z80%20assembly%20language Z80 Assembly Language books] - archive.org
 +
 
 +
=== Z80-MBC2 Build ===
 +
 
 +
[[FILE:Z80-MBC2_P586-720PX.jpg]]
 +
 
 +
<video type="youtube">bMvzl_BG__Y</video>
 +
 
 +
[[Z80-MBC2 Build Notes]]
 +
 
 +
* On card
 +
** Z80 CPU CMOS (Z84C00) 8Mhz or greater - I used 20 MHz
 +
** Atmega32A
 +
** TC551001-70 (128kB RAM)
 +
** I used [https://www.mouser.com/ProductDetail/913-AS6C1008-55PIN 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_X49|SD card]]
 +
*** Runs [http://elm-chan.org/fsw/ff/00index_p.html Petit FAT File System] - Loads FAT32 SD cards loaded in Windows
 +
** External [[FTDI-49MM|USB-Serial adapter]]
 +
** [[SWLEDX8]] - LEDs card
 +
*** Custom wiring, no slide switches
 +
* Bare Board on [https://www.ebay.com/itm/283494335966 ebay] - $8 shipping included
 +
** Arrived in a couple of days
 +
* [https://shop.mcjohn.it/en/diy-kit/22-32-kit-z80-mbc2.html?fbclid=IwAR2mc4a3d5IGYbq0945f0hu_5yQvw1bfT2zyRsTPyjsPqANPG6FCdIBOr7c Kit for sale]
 +
* [https://www.amazon.com/gp/product/B07SW4RQBQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 Enclosure]
 +
 
 +
== 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 character display
 +
 
 +
=== TG68_AMR Design ===
 +
 
 +
<video type="youtube">D9y7V0j5GsQ</video>
 +
 
 +
* [[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====
 +
 
 +
* [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
 +
*** 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
 +
 
 +
==== TG68_AMR Links ====
 +
 
 +
* [http://retroramblings.net/?page_id=770 AMR's TG68 Experiments] - Original design
 +
* [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TG68_AMR My GitHub 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]]
 +
 
 +
==== 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
 +
* [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://github.com/jefftranter/68000/tree/master/testprog Test Programs]
 +
** [https://github.com/jefftranter/68000/tree/master/monitor Monitor code]
 +
* [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/index.html Motorola 680x0 Resources]
 +
 
 +
=== 68000 Software ===
 +
 
 +
==== C Compilers ====
 +
 
 +
* [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://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.embeddedrelated.com/showthread/comp.arch.embedded/34824-1.php Minimal hardware requirement for uClinux]
 +
** [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://sourceforge.net/projects/emutos/ EmuTOS] - Free operating system for Atari computers, and more
 +
 
 +
=== Other People's 68000 Builds ===
 +
 
 +
* [http://www.faqs.org/faqs/motorola/68k-chips-faq/ comp.sys.m68k Frequently Asked Questions (FAQ)] (1996)
 +
* [https://github.com/TobiFlex/minimig_tc64 MiniMig TC64]
 +
* [https://hackaday.io/search?term=68000 Hackaday 68000 pages]
 +
* [http://mc68k.blogspot.com 68000 brought to life!]
 +
* [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]
 +
 
 +
== DEC (Digital Equipment Corp) Computers ==
 +
 
 +
* [http://simh.trailing-edge.com/ Computer Simulation and History (simh)]
 +
** [https://www.youtube.com/watch?v=Mn63gb1-NII Introduction to SimH -- basic usage] - YouTube - [https://www.youtube.com/channel/UC1mpDUINwet2IdDBQ3_sSSw Stephen's Machine Room]
 +
* [http://www.retrotechnology.com/herbs_stuff/dec.html Herb's DEC items]
 +
 
 +
=== PDP-4 ===
 +
 
 +
* [http://www.fpgaretrocomputing.org/pdp4x/ PDP-4 on FPGA]
 +
* [http://www.fpgaretrocomputing.org/pdp4x/ PDP-4/X System Reference Manual]
 +
 
 +
=== 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]
 +
 
 +
==== 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) ====
 +
 
 +
<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://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/Linux-68k/tree/master/pdp8 My PDP-8 Software GitHub repository]
 +
 
 +
==== OpenCores PDP-8 Build ====
 +
 
 +
[[file:PDP-8_P17546_cropped_720px.jpg]]
 +
 
 +
* [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores Land Board OpenCores PDP-8 Builds] - GitHub repository
 +
** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_IV_VDU RETRO-EP4CE15_CYCLONE_IV_VDU PDP-8 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://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]
 +
*** Serial only (no VDU)
 +
** [https://github.com/douggilliland/Retro-Computers/tree/master/PDP-8/PDP8_OpenCores/RETRO-EP4CE15_CYCLONE_V RETRO-EP4CE15_CYCLONE_V ]
 +
*** WIP - missing pin assignment
 +
* [http://opencores.org/project,pdp8 opencores PDP-8 Processor Core and System Overview]
 +
** [https://opencores.org/projects/pdp8/quick%20start Quickstart page]
 +
 
 +
==== 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/penguin359/pdp8 Yet another Almy based design]
 +
* [https://groups.google.com/forum/#!msg/alt.sys.pdp8/lqMCn6dlA-U/_3p9SJDTfaYJ PDP-8 in VHDL]
 +
* [http://www.jaywalk.co.uk/pdp8/ A FGPA Implementation of the PDP-8]
 +
* [https://brianwhite94.wixsite.com/electronics/pdp-8-on-an-fpga PDP-8/I on an FPGA]
 +
* [https://github.com/lisper/cpus-pdp8 PDP-8/i cpu with an RF08 disk emulator] Uses a IDE disk as a backing store. It boots TSS/8.
 +
* [https://github.com/msurendra29/ECE510 PDP-8 Instruction verification] - In System Verilog?
 +
* [https://github.com/trueserve/pdp8-badge/tree/master/firmware/cypress/PDP8_PSoC5 PDP8 in a Cypress PSoC5]
 +
* [https://github.com/scottlbaker/PDP8-SOC Scott Baker's PDP8-SOC] - Clean VHDL Design
 +
 
 +
==== 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)
 +
* [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://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.pdp8online.com/index.shtml pdp8online.com]
 +
* [https://github.com/rrutt/PDP8 PDP-8 Assembly Language Studio]
 +
** [https://rickrutt.wordpress.com/2013/10/19/conways-life-implemented-in-pdp-8-assembly-language/ Conway’s Life Implemented in PDP-8 Assembly Language]
 +
 
 +
==== PiDP-8 ====
 +
 
 +
* [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]
 +
 
 +
=== PDP-10 ===
 +
 
 +
* [http://www.fpgaretrocomputing.org/pdp10x/ PDP-10 on FPGA]
 +
** [https://www.retrobrewcomputers.org/forum/index.php?t=msg&th=333 Archived on retrobrew site]
 +
 
 +
=== PDP-11 ===
 +
 
 +
[[file:PDP-11_FrontPanel_P512-cropped-720px.jpg]]
 +
 
 +
==== My PDP-11 (pdp2011) FPGA builds ====
 +
 
 +
<video type="youtube">oBETQo2oqQA</video>
 +
 
 +
* [[PDP-11 ON RETRO-EP4CE15]] - Works
 +
* Based on [https://pdp2011.sytse.net/wordpress/ Sytse van Slooten's original design pdp2011]
 +
 
 +
==== Other PDP-11 FPGA builds ====
 +
 
 +
* [https://github.com/DavidJRichards/pdp2011 Dave Richards pdp2011]
 +
* [https://wfjm.github.io/home/w11/ PDP-11 in VHDL - W11 build]
 +
 
 +
==== PDP-11 Software ====
 +
 
 +
* [https://wfjm.github.io/home/w11/inst/systems.html#h_os_kits System Disk Images]
 +
* [https://www.pdp-11.org.ru/files.pl?lang=en Disk Images]
 +
* [http://www.bitsavers.org/pdf/dec/pdp11/handbooks/PDP-11_Processor_Handbook_1981.pdf PDP-11 Processor Handbook 1981] - on [http://www.bitsavers.org/ BitSavers]
 +
* [http://www.bitsavers.org/bits/DEC/pdp11/ PDP-11 on BitSavers]
 +
* [https://www.instructables.com/PiDP-11-Replica-of-the-1970s-PDP-1170/ PiDP-11: Replica of the 1970s PDP-11/70 emulated on Raspberry Pi]
 +
* [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]
 +
 
 +
== 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 ==
 +
 
 +
=== 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
 +
 
 +
[[File:ATMega328Video%202.2.gif]]
 +
 
 +
* Older AtMEGA32 version of Monitor Keyboard Design
 +
 
 +
* [[Serial_Terminal|My implementation of Grant's small serial terminal design]]
 +
 
 +
[[File:SerialTerminal-P70002-cropped-720px.jpg]]
 +
 
 +
== External Sites ==
 +
 
 +
* [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]
 +
* [https://wiki2.org/en/Tiny_BASIC Tiny BASIC]
 +
* [http://www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm Itty Bitty Computers & TinyBasic]
 +
* [http://www.ittybittycomputers.com/IttyBitty/TinyBasic/TBuserMan.htm TINY BASIC User Manual]
 +
 
 +
=== PiGFX ===
 +
 
 +
* [https://github.com/fbergama/pigfx PiGFX Raspberry Pi graphics card / ANSI terminal emulator]
 +
 
 +
* 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
 +
 
 +
=== RetroBrew Computers Site ===
 +
 
 +
* [https://www.retrobrewcomputers.org/forum/index.php RetroBrew Computers Forum]
 +
* [https://www.pagetable.com/ pagetable - Probably the best C64 technical data out there]
 +
** [https://github.com/mist64 Github for all things C64]
 +
* [http://s100computers.com/My%20System%20Pages/FPGA%20Z80%20SBC/FPGA%20Z80%20SBC.htm#Installing%20Quartus S-100 Bus FPGA Z80 SBC Board]

Latest revision as of 15:44, 23 May 2023

Tindie-mediums.png

Contents

Grant Searle's FPGA MultiComp Project

FPGA Recreations of 6502, 6809, and Z80 Vintage Computers

Our MultiComp Retro-Computer Video Series

Cyclone II Video Series

Video Series

Cyclone IV Video Series

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.

Memory Map (60KB SRAM version)

  • $0000-$EFFF - Up to 60KB external SRAM
    • $0000-$EEFF - User RAM area
      • $EF00-$EFFF - Scratchpad RAM used by MIKBUG
  • 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

FrontPanel-01-Front-3D-controls.png

6800 FIG-Forth Builds

6800 FIG-Forth Reference

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

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.

Osi-600.jpg

  • 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

Keyboard Layout

OSI C1P cropped.jpg

Opkbd.jpg

UK101 KBD ARRAY.PNG

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

MultiComp 6502 Builds

  • Two Builds
    • OSI C1P/SuperBoard II/UK10
    • OSI 6502

OSI C1P/SuperBoard II/UK101 Builds

OSI 6502 Builds

6502 Software Development Tools

6809 CPU

Our Build

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.

Programming

SD Card

6809 Software Development Tools

6809 Assembler

6809 BASIC

6809 C Compiler

6809 FORTH

6809 FLEX Operating System

6809 FUZIX Operating System

6809 Monitors

Other 6809 Docs

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

Z80 P865-cropped-720px.jpg

Z80 NASCOM BASIC (in FPGA)

NASCOM BASIC Notes

  • OUT ADDR,DATA
  • INP(128) - Reads I/O address 128 (0x80)

Z80 CP/M (in FPGA)

CP/M on FPGA - by Grant Searle

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

*BYE- Return to CP/M

CPM-2UARTs-NoVideo.PNG

  • 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)

Retrobrew Multi-boot Multicomp Computer Builds

mc-2g-1024 Images

Retrobrew Computer Builds of the Multicomp Project(s)

Notes

Z80-MBC2 Build

Z80-MBC2 P586-720PX.jpg

Z80-MBC2 Build Notes

  • 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
  • Bare Board on ebay - $8 shipping included
    • Arrived in a couple of days
  • Kit for sale
  • Enclosure

68000 CPU

  • Builds of two platforms
    • AMR - CPU with VGA frame buffer from SDRAM and other peripherals
    • TS2 - Basic 68K CPU with character display

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

TG68_AMR Links

TeeSide 2 design with Multicomp parts

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

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

TeeSide 2 Build on Cyclone V in Box Running TS2 Monitor

TeeSide 2 Software

TeeSide 2 BASIC
TeeSide 2 C Compiler

TeeSide 2 Assembly
TeeSide 2 Operating Systems
TeeSide 2 FORTH

TeeSide 2 Links

68000 Software

C Compilers

Operating Systems

Other People's 68000 Builds

DEC (Digital Equipment Corp) Computers

PDP-4

PDP-8

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.

OpenCores PDP-8 Build

PDP-8 P17546 cropped 720px.jpg

Others PDP-8 FPGA

PDP-8 Documents and Programming

PiDP-8

PDP-10

PDP-11

PDP-11 FrontPanel P512-cropped-720px.jpg

My PDP-11 (pdp2011) FPGA builds

Other PDP-11 FPGA builds

PDP-11 Software

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

ATMega328Video 2.2.gif

  • Older AtMEGA32 version of Monitor Keyboard Design

SerialTerminal-P70002-cropped-720px.jpg

External Sites

BASIC

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

RetroBrew Computers Site