Difference between revisions of "RetroComputers"

From Land Boards Wiki
Jump to navigation Jump to search
(337 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[File:tindie-mediums.png|link=https://www.tindie.com/stores/land_boards/]]
 
[[File:tindie-mediums.png|link=https://www.tindie.com/stores/land_boards/]]
  
== Our Retro-Computer Hardware ==
+
== Grant Searle's FPGA MultiComp Project ==
  
=== MultiComp On EP2C5 ===
+
FPGA Recreations of 6502, 6809, and Z80 Vintage Computers
  
* [[EP2C5-DB|Land Boards EP2C5-DB FPGA Retro-Computer card]]
+
* [[Multicomp_Hardware|Multicomp on Land Boards Cards]] - Hardware
** Attaches to [[Cyclone_II_EP2C5_Mini_Dev_Board]]
+
* [[Multicomp on Purchased Cards]]
** EP2C5 has 26 of 512x9 SRAM blocks
+
* [[FPGA Support Cards]]
** Duplicates Grant's design down to the same pin maps
+
* [https://github.com/douggilliland/MultiComp/wiki MultiComp Wiki Page on GitHub]
* 6 bit video on VGA (2:2:2 R:G:B)
+
* [https://github.com/douggilliland/MultiComp Multicomp Github repo]
* 128KB of SRAM for banked use in CP/M
 
* PS/2 Keyboard Mini-DIN connector
 
* Connector for serial ports
 
** Can attach inexpensive FTDI USB to serial converter
 
** Supports hardware handshake for high speed serial
 
* SD Card
 
* DC power jack (on FPGA card)
 
  
[[File:P1743-720PX.jpg]]
+
=== Our MultiComp Retro-Computer Video Series ===
  
=== MultiComp On RETRO-EP4CE15 ===
+
==== Cyclone II Video Series ====
  
* [[RETRO-EP4CE15|Land Boards RETRO-EP4CE15 design]]
+
<video type="youtube">7O0njivn-Po</video>
** [https://www.aliexpress.com/item/32949281189.html EP4CE15 Cyclone IV FPGA Card] (tested)
 
** [https://www.aliexpress.com/item/4001310584093.html EP4CE55 Cyclone IV FPGA Card] (untested)
 
** [https://www.aliexpress.com/item/1000006622149.html 5CEFA2F23 Cyclone V FPGA Card] (tested)
 
** [https://www.aliexpress.com/item/1005001782703399.html 5CEFA5F23 Cyclone V FPGA Card] (untested)
 
** 1MB Fast SRAM
 
** FTDI FT230XS USB-to-Serial Interface with Hardware Handshake
 
** 6-bit (2:2:2) VGA
 
** PS/2 connector
 
** 5V Power Module
 
** 46 I/O connections on 50-pin header
 
  
[[File:RETROEP4CE15_REV4_EDGEVIEW-720PX.jpg]]
+
[https://www.youtube.com/playlist?list=PLn__0BqzWEWMcUgzBroNNJYQP1keD--gu Video Series]
  
=== MultiComp On RETRO-EP4 ===
+
==== Cyclone IV Video Series ====
  
* [[RETRO-EP4|Land Boards RETRO-EP4 design]]
+
<video type="youtube">hwnvghxc5nU</video>
** Attaches to [[Cyclone_II_EP2C5_Mini_Dev_Board|Cyclone II EP2C5 Mini Dev Board]]
 
** 512K Fast SRAM
 
** FTDI USB-to-Serial Interface with Hardware Handshake
 
** 6-bit (2/2/2) VGA
 
** PS/2 connector
 
** 5V Power Module
 
** Lot of I/O connections
 
  
[[File:RETRO-EP4_TOP_BOTTOM-720px.jpg]]
+
[https://www.youtube.com/playlist?list=PLn__0BqzWEWPk0-VW3kEpMNA81sIbhj6n Video Series]
  
=== MultiComp On BASE-EP4CE6 ===
+
== 6800 CPU ==
  
* [[BASE-EP4CE6|Land Boards BASE-EP4CE6 card]] is a breakout board
+
=== My First Computer Build ===
** Attaches to [https://www.waveshare.com/wiki/CoreEP4CE6 CoreEP4CE6  FPGA Card]
 
** Can do up to 16K of Internal SRAM
 
  
[[File:BASE-EP4CE6-800pxV-197.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.
  
== Purchased FPGA Cards ==
+
* 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
  
=== MultiComp On A4-CE6 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:P1715-CROPPED-720PX.jpg]]
+
It might be fun to reproduce that board!
  
* [[A-C4E6_Cyclone_IV_FPGA_EP4CE6E22C8N_Development_Board|Cyclone IV FPGA EP4CE6E22C8N Development Board Wiki page]]
+
=== 6800 SmithBug Builds ===
  
==== Features for MultiComp Use ====
+
[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).
  
* Enough Internal SRAM to make small (16KB) BASIC computers
+
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.
* Includes VGA, PS/2 and CH340 USB-Serial converter
 
* A lot of I/O (26 pins) which can be easily accessed using [[EP4_FPGA_BREAKOUT|EP4 FPGA BREAKOUT]]
 
* LCD Display connector with additional I/O
 
  
==== Limitations on MultiComp compatibility ====
+
* 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]
  
* No native SD Card storage but could be built using [[EP4_FPGA_BREAKOUT|EP4 FPGA BREAKOUT]] and [[SD_CARD_X49|SD CARD X49]]
+
<video type="youtube">LxMTCq9kLoc</video>
* 1:1:1 video does not support 2:2:2 (bold characters under ANSI terminal)
 
* Serial Hardware handshake with a small rework to the card (2 wires)
 
  
==== Additional Features ====
+
* [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
  
* 8 Digit 7 Segment Display
+
==== Memory Map (60KB SRAM version) ====
* 8 position DIP switch
 
* 3 User pushbuttons, 1 DEV-OE pushbutton, 1 nCONFIG pushbutton
 
* 12 "Ring" LEDs - 2 removed and used for hardware handshake rework
 
* 24C04 I2C EEPROM
 
  
=== MultiComp On A4-CE10 Card ===
+
* [https://github.com/douggilliland/Retro-Computers/blob/master/6800/Mikbug/README.mediawiki SmithBug/MIKBUG Wiki page]
  
[[File:P1715-CROPPED-720PX.jpg]]
+
* $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
  
* Wiki page for [[A-C4E10_Cyclone_IV_FPGA_EP4CE10E22C8N_Development_Board|Cyclone IV FPGA EP4CE10E22C8N Development Board]]
+
==== 6800 with Front Panel Running SmithBug ====
  
==== Features for MultiComp Use ====
+
* 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]
  
* Enough Internal SRAM to make small (32KB) BASIC computers
+
<video type="youtube">Xlj1xnrxZls</video>
* Includes 5:6:5 VGA, PS/2 and CH340 USB-Serial converter
 
* A lot of I/O (26 pins) which can be easily accessed using [[EP4_FPGA_BREAKOUT|EP4 FPGA BREAKOUT]]
 
* LCD Display connector with additional I/O
 
  
==== Limitations on MultiComp compatibility ====
+
[[file:FrontPanel-01-Front-3D-controls.png]]
  
* No native SD Card storage but could be built using [[EP4_FPGA_BREAKOUT|EP4 FPGA BREAKOUT]] and [[SD_CARD_X49|SD CARD X49]]
+
* [http://land-boards.com/blwiki/index.php?title=Front_Panel_for_8_Bit_Computers_V2#6800_with_Front_Panel_Operation Front Panel Operation]
* 1:1:1 video does not support 2:2:2 (bold characters under ANSI terminal)
 
* Serial Hardware handshake with a small rework to the card (2 wires)
 
  
==== Additional Features ====
+
=== 6800 FIG-Forth Builds ===
  
* 8 Digit 7 Segment Display
+
* 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
* 8 position DIP switch
+
* 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
* 3 User pushbuttons, 1 DEV-OE pushbutton, 1 nCONFIG pushbutton
+
* [https://github.com/douggilliland/MultiComp/wiki/6800-FigForth-Builds 6800 FIG-Forth Builds] - Wiki page
* 12 "Ring" LEDs - 2 removed and used for hardware handshake rework
 
* 24C04 I2C EEPROM
 
  
=== MultiComp On A_ESTF_V2_EP4CE22 Card ===
+
==== 6800 FIG-Forth Reference ====
  
[[File:A-ESTF_001_720px.jpg]]
+
* [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]
  
* [[A-ESTF_V2_EP4CE22_Board|A_ESTF_V2_EP4CE22 Card Wiki page]]
+
=== SWTPC ===
  
==== Features for MultiComp Use ====
+
* 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
  
* Includes VGA, PS/2 and USB-Serial converter
+
=== 6800 Software Development Tools ===
* A lot internal SRAM (up to 56KB)
 
* MicroSD card socket with card detect LED
 
  
==== Limitations on MultiComp compatibility ====
+
* [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
  
* No external SRAM but very large SDRAM
+
== 6502 CPU ==
* A lot of I/O options
 
* Not widely available
 
* Has no USB-Serial Interface (has RS-232)
 
  
==== Additional Features ====
+
* Several builds
 +
** My original Ohio Scientific SuperBoard II
 +
** MultiComp build of Ohio Scientific SuperBoard II
 +
** OSI 6502 Build
  
* A lot of I/O pins on the base board and on the FPGA board
+
=== Ohio Scientific SuperBoard II ===
* Eight 7 Segment Displays
 
* 3x3 matrix of pushbutton switches
 
* 3 user pushbutton switches on baseboard
 
* 3 user pushbutton switches on FPGA board
 
* Buzzer
 
* IR receiver
 
* Power switch
 
* 24C02 I2C EEPROM
 
* 8 position DIP Switch
 
  
=== MultiComp On ZrTech Cyclone IV FPGA Card ===
+
This was my first commercial personal computer.
  
[[File:C4_Dev_687-720px.jpg]]
+
[[File:Osi-600.jpg]]
  
* [[Cyclone_IV_FPGA_EP4CE6E22C8N_Development_Board_USB_V2|EP4 FPGA card Wiki page]]
+
* Manufacturer: Ohio Scientific
* Marked as zrTech V2.00
+
* Model 600 Rev B Board Manual
* We did a [https://www.youtube.com/playlist?list=PLn__0BqzWEWPk0-VW3kEpMNA81sIbhj6n YouTube video series on this card].
+
* Model: [http://oldcomputers.net/osi-600.html 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 [http://osi.marks-lab.com/boards/boards.html Model 610 24KB RAM expansion card with Floppy Disk Controller]
 +
* Ports: composite video, cassette
 +
* Storage: cassette
 +
* [https://en.wikipedia.org/wiki/Microsoft_BASIC Microsoft BASIC]
 +
* 2K Monitor ROM (CEGMON)
 +
* [https://en.wikipedia.org/wiki/Compukit_UK101 Compkit 101] - British clone of the SuperBoard II
  
==== Features for MultiComp Use ====
+
==== SuperBoard II Emulator ====
  
* Includes VGA, PS/2 and USB-Serial converter
+
* [https://www.pcjs.org/docs/c1pjs/ OSI Challenger 1P (8Kb) with Debugger - JAVA web based emulator]
* Enough Internal SRAM to make small (16KB) BASIC computers
+
* [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]
  
==== Limitations on MultiComp compatibility ====
+
==== Keyboard Layout ====
  
* Very limited I/O
+
[[File:OSI_C1P_cropped.jpg]]
** Most of the I/O pins are shared with the 16-bit Video
 
** Would require removing R-packs to gain I/O
 
* Driver for USB-Serial doesn't work under Windows 10 (painful workaround)
 
* No SD Card storage
 
* No external SRAM but very large SDRAM (not supported yet in our builds)
 
* Would require a mod for serial hardware handshake (there's a pin or two free on the I/O which could at least do RTS)
 
  
==== Additional Features ====
+
[[File:opkbd.jpg]]
  
* On/Off switch - nicer than plugging/unplugging DC power cable
+
* [https://www.vetra.com/scancodes.html PS/2 Keycodes]
* 4 pushbuttons
+
* Keyboard matrix
* Four digit 7 Segment Display
 
* IR LED
 
* Buzzer
 
* A/D with SMA connector
 
  
== Our FPGA Support Cards ==
+
[[file:UK101_KBD_ARRAY.PNG]]
  
These cards provide some of the missing functionality of the purchased FPGA card.
+
==== SuperBoard II/ Retro-Tech Refresh ====
  
=== EP4 FPGA BREAKOUT ===
+
I was looking around for a way to recreate my OSI Superboard and found Grant Searle's design.
  
* [[EP4_FPGA_BREAKOUT|Wiki page for EP4 FPGA BREAKOUT]]
+
* [[EP2C5-DB]] - Our creation of a daughtercard which implements Grant Searle's Multi-Computer
* Daughtercard for
+
* [http://searle.x10host.com/uk101FPGA/index.html Grant Searle's CompuKit UK101]
** [[A-C4E6_Cyclone_IV_FPGA_EP4CE6E22C8N_Development_Board|Cyclone IV FPGA EP4CE6E22C8N Development Board]]
+
** Based on Cyclone II EP2C5 Mini Dev Board
** [[A-C4E10_Cyclone_IV_FPGA_EP4CE10E22C8N_Development_Board|Cyclone IV FPGA EP4CE10E22C8N Development Board]]
+
** Someone built one of the CompuKit clones as a CPM box
  
[[File:EPXX-GVS-720px.JPG]]
+
==== Superboard II Documents ====
  
=== VGAX49 ===
+
* [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]
 +
*** "EhBASIC is about 11 KB"
 +
* [http://6502.org/ 6502.org] - the place for retro 6502 projects
 +
* [https://opencores.org/project,system68 System68]
 +
* [https://hackaday.io/project/3620/logs 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
 +
* [http://sbc.rictor.org/ Daryl's Computer Page]
 +
** 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]
  
[[File:VGAX49_P901-cropped-720px.jpg]]
+
=== MultiComp 6502 Builds ===
* [[VGAX49|VGAX49 Wiki page]]
 
* Digital VGA adapter
 
* 16-bit digital video
 
** 5:6:5 (R:G:B) mapping (maximum)
 
** 2:2:2 (R:G:B) mapping (option)
 
  
=== SD CARD X49 ===
+
* Two Builds
 +
** OSI C1P/SuperBoard II/UK10
 +
** OSI 6502
  
[[File:SDCARDX49_P935_cropped-512px.jpg]]
+
==== OSI C1P/SuperBoard II/UK101 Builds ====
  
* [[SD_CARD_X49|SD CARD X49 Wiki page]]
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/UK101_VGA_PS2_IntRAM(40K) Build on RETRO-EP4CE15 card]
* SD or SDHC card adapter
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_A_ESTF_V2_EP4CE22/UK101_VGA_PS2_IntRAM(40K) Build on ESTF V2 EP4CE22 card]
* 5V to 3.3V regulator
+
* [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
* 3.3V to 5V TXS0104E level shifter
+
* [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
* Activity LED
+
* [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]
  
=== TinyPS2 ===
+
==== OSI 6502 Builds ====
  
[[File:TinyPS2_P899_cropped-720px.jpg]]
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_Cyclone%20IV%20VGA%20Card/M6502_VGA Build on zrTech card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/M6502_VGA_PS2_ExtRAM Build on EP2C5 card]
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE10/M6502_VGA_PS2_IntRAM(32K) Build on EP4CE10 card] - 32KB internal SRAM
 +
* [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)
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP4CE6/M6502_VGA_PS2_IntRAM(16K) Build on EP4CE6 card] - 16KB internal SRAM
 +
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/M6502_VGA Build on EP4CE15 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
  
* [[TinyPS2|TinyPS2 Wiki page]]
+
=== 6502 Software Development Tools ===
* PS/2 keyboard or mouse to TTL Level Serial converter
 
* ATTiny85
 
* 115,200 baud
 
* 49x49mm ODAS form factor
 
* 4-40 mounting holes
 
  
=== FTDI-49MM ===
+
* [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
  
[[File:FTDI-P1746-CROPPED-720PX.jpg]]
+
== 6809 CPU ==
  
* [[FTDI-49MM|FTDI-49MM Wiki page]]
+
=== Our Build ===
* FTDI FT230X IC
 
* USB B connector (not micro or mini, but the beefy USB B connector)
 
* FTDI compatible pinout
 
* 3.3V or 5V selection jumper
 
* Header for 5V power distribution
 
* Rx and Tx LEDs
 
  
== Grant Searle's FPGA MultiComputer Project(s) ==
+
<video type="youtube">hHBiFK0d3Y4</video>
  
* [https://github.com/douggilliland/MultiComp/wiki MultiComp Wiki Page on GitHub]
+
* [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
  
=== Multicomp Pages ===
+
=== Neal Crook's 6809 Multiple OS Build ===
  
* [https://github.com/douggilliland/MultiComp Multicomp Github repo]
+
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.
* [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]
 
* [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]
 
  
=== Our MultiComp Retro-Computer Video Series ===
+
* [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
  
==== EP2 Video Series ====
+
==== Programming ====
  
[https://www.youtube.com/playlist?list=PLn__0BqzWEWMcUgzBroNNJYQP1keD--gu Video Series]
+
* [https://github.com/nealcrook/multicomp6809/wiki/camelforth CamelForth]
  
==== EP4 Video Series ====
+
==== SD Card ====
  
[https://www.youtube.com/playlist?list=PLn__0BqzWEWPk0-VW3kEpMNA81sIbhj6n Video Series]
+
* [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]
  
== 6800 CPU ==
+
=== 6809 Software Development Tools ===
  
=== S120 Bus Computer ===
+
==== 6809 Assembler ====
  
My first attempt to build a computer was around an MC6800 CPU so it has a soft spot in my heart, 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.
+
* [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]
  
* Ran on Elco? 120 pin edge connector wire wrapped cards
+
==== 6809 BASIC ====
* 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.
+
* [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]
  
It might be fun to reproduce that board!
+
==== 6809 C Compiler ====
  
==== Pieces to Reproduce my original S120 Bus Computer ====
+
* [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]
  
* Michael Holley's SWTPC 6800/6809 documentation collection
+
==== 6809 FORTH ====
* N8VEM RetroComputing Wikipedia page
 
* Retrobrew Computers
 
* Kim-1 board - Similar concept
 
  
==== Hardware ====
+
* [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]
  
* M6800 VHDL code from OpenCores
+
==== 6809 FLEX Operating System ====
  
==== Software ====
+
* [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]
  
* AS68 Cross Assembler
+
==== 6809 FUZIX Operating System ====
* 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
 
  
=== M6800_MIKBUG - Tested/Works ===
+
* [https://github.com/EtchedPixels/FUZIX FUZIX]
  
<video type="youtube">LxMTCq9kLoc</video>
+
==== 6809 Monitors ====
  
[https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_EP2C5/M6800_MIKBUG_ExtSRAM_MIKBUG_at_F000 This is an FPGA build of something similar to that machine]
+
* [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
  
* Fills a hole in Grant Searle's Multicomp (he hadn't finished a 6800 version)
+
==== Other 6809 Docs ====
** Runs [http://www.ittybittycomputers.com/IttyBitty/TinyBasic/ Tom Pittman's Tiny BASIC]
 
* MC6800 CPU
 
* Running MIKBUG from back in the day (SmithBug ACIA version)
 
* 12.5 MHz
 
* 60K (external) RAM version
 
* 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
 
  
==== Memory Map ====
+
* [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]
  
* $0000-$EFFF - 60KB external sRAM
+
== Z80 CPU ==
** $0000-$EEFF - User RAM area
 
** $EF00-$EFFF - scratchpad used by MIKBUG
 
* I/O Map
 
** $FC18-$FC19 - VDU
 
** $FC28-$FC29 - ACIA
 
**** Pin_60 of the FPGA swaps addresses of VDU and ACIA port
 
**** Installed (Pin_60 to Ground) uses Serial port
 
**** Removed uses VDU
 
* $F000-$FFFF - MIKBUG ROM
 
** I/O "hole" opened up at 0xFC00-0xFCFF
 
  
=== Systems ===
+
* 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
  
* [http://www.computercloset.org/MITSAltair680.htm MITS Altair 680]
+
=== Land Boards Z80 in 3 Chips ===
* [http://virtualaltair.com/virtualaltair.com/vac_altair_680b_mainframe.asp Altair 680b Mainframe]
 
* [http://www.computercloset.org/SWTPC6800.htm SWTPC 6800]
 
* [http://www.retrotechnology.com/aux/swtp6800.html SWTP 6800 system]
 
* [https://history-computer.com/ModernComputer/Personal/Sphere1.html Sphere 1 computer History]
 
* [https://www.mjbauer.biz/DREAM6800.htm DREAM 6800 Archive Site]
 
* [http://m68k.info/#orgbf262a7 Planet m68k] - News around Motorola 68000 CPU computer systems
 
  
=== Software ===
+
<video type="youtube">OdtYN3vPu_E</video>
  
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4/M6800_MIKBUG Muticomp M6800 MIKBUG]
+
[[File:Z80_P865-cropped-720px.jpg]]
* [http://www.retrotechnology.com/restore/smithbug.html Smithbug, MIKBUG 6800 ROM monitor ]
 
* [http://www.nj7p.info/Computers/Software/Mon.html Monitors for the 6800]
 
* [http://www.retrotechnology.com/restore/a68.html A68 6800 cross-assembler]
 
* [https://sites.google.com/site/gogleoops/mc6800-assembler MC6800 Assembler]
 
* [http://www.vintagecomputer.net/browse_thread.cfm?id=416 TSC BASIC for SWTPc 6800]
 
* [https://archive.org/search.php?query=6800%20assembly%20language 6800 Assembly language books]
 
* [https://www.youtube.com/watch?v=KPAOsWGT_xA SWTPC 6800 Resident Assembler MP-E] - (YouTube)
 
* [https://github.com/jhallen/exorsim?fbclid=IwAR23nphLBTPj53QJAMyqR6tWTPipiVp36xZdv178GqMVRrK_4vTeia6udsY EXORsim] - Motorola EXORciser Simulator
 
  
== Z80 CPU ==
 
 
* Land Boards [[Z80 in 3 Chips]]
 
 
* [https://hackaday.io/project/167711-3-chip-z80-design Hackaday Z80 in 3 Chips]
 
* [https://hackaday.io/project/167711-3-chip-z80-design Hackaday Z80 in 3 Chips]
 
** 512KB SRAM
 
** 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://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]
 
** [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]
  
[[File:Z80_P865-cropped-720px.jpg]]
+
=== 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 ====
  
=== Stackup (top to bottom) ===
+
* OUT ADDR,DATA
 +
* INP(128) - Reads I/O address 128 (0x80)
  
* [[Front Panel For 8 Bit Computers]]
+
=== Z80 CP/M (in FPGA) ===
* [[Z80 in 3 Chips]]
 
* [[SD_CARD_X49]] mounted on [[CARRIER95TO49MM]]
 
* [[JOYPAD]]
 
  
[[File:Z80_PSOC_P936-CROPPED-720PX.jpg]]
+
* [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 ===
+
==== 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]
 
* [https://web.archive.org/web/20180221182529/searle.hostei.com/grant/ Archive.org copy of Grant's site from 2012]
Line 375: Line 421:
 
** External RAM
 
** External RAM
  
[[File:CPM-2UARTs-NoVideo.PNG]]
+
==== CP/M Notes ====
 
 
* Grant noted about the SD card interface:
 
<pre>
 
... the SD controller is easy to control - in BASIC POKE the sector number, POKE the write command,
 
POKE 512 bytes to the same location to write a sector,
 
or POKE the sector number, POKE the read command, and PEEK 512 bytes to read a sector.
 
</pre>
 
 
 
=== 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]
 
 
 
=== CP/M Notes ===
 
  
 
* CP/M is not case sensitive
 
* CP/M is not case sensitive
Line 466: Line 454:
 
*BYE- Return to CP/M
 
*BYE- Return to CP/M
 
</pre>
 
</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,
 +
POKE 512 bytes to the same location to write a sector,
 +
or POKE the sector number, POKE the read command, and PEEK 512 bytes to read a sector.
 +
</pre>
 +
 +
==== Microsoft BASIC Notes ====
  
=== Z80 Software Development ===
+
* 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 ====
 
==== AZTEC C Compiler ====
Line 561: Line 567:
 
</pre>
 
</pre>
  
=== Microsoft BASIC Notes ===
+
=== Z80 Multi-OS (in FPGA) ===
  
* SAVE "MYPROG.BAS"
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15_Cyclone_V/Multicomp-MPM Build on Cyclone V card] (MPM)
* LOAD "MYPROG.BAS"
+
* [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
* SYSTEM -- Return to CP/M
+
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_FPGA-ITX-01/Multicomp-MPM Build on Cyclone 10 card in ITX Enclosure]
* 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 ===
+
==== Retrobrew Multi-boot Multicomp Computer Builds ====
  
* [https://stardot.org.uk/forums/viewtopic.php?f=3&t=15464&sid=5178dde921ab9b2a60aef4ebd9eec115 Z80 Protocol Decoder]
+
* [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]
* [[mc-2g-102|Z80 = mc-2g-1024]] - Best build
+
* [https://retrobrewcomputers.org/doku.php?id=builderpages:muellerk:start Multicomp Z80 with b/w Graphics - muellerk page]
* [https://archive.org/search.php?query=z80%20assembly%20language Z80 Assembly Language books] - archive.org
+
* [https://retrobrewcomputers.org/doku.php?id=builderpages:rhkoolstar:mc-2g-1024 mc-2g-1024 Image18 - Multiboot SD card]
  
==== NASCOM BASIC ====
+
==== mc-2g-1024 Images ====
  
* OUT ADDR,DATA
+
* 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
* INP(128) - Reads I/O address 128 (0x80)
+
** [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
  
== 6502 CPU ==
+
* 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
  
=== Ohio Scientific SuperBoard II - My first commercial personal computer ===
+
==== Retrobrew Computer Builds of the Multicomp Project(s) ====
  
[[File:Osi-600.jpg]]
+
* [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]
  
[http://oldcomputers.net/osi-600.html SuperBoard II]
+
==== Notes ====
  
* Manufacturer: Ohio Scientific
+
* [https://stardot.org.uk/forums/viewtopic.php?f=3&t=15464&sid=5178dde921ab9b2a60aef4ebd9eec115 Z80 Protocol Decoder]
** Model 600 Rev B Board Manual
+
* [[mc-2g-102|Z80 = mc-2g-1024]] - Best build
* Model: Superboard II ( Model 600 )
+
* [https://archive.org/search.php?query=z80%20assembly%20language Z80 Assembly Language books] - archive.org
* Available: 1978
 
* Price: US $279 assembled
 
* CPU: 6502
 
* RAM: 4K static RAM, 8K max
 
* CEGMON - Monitor in 4K of EPROM
 
* Display: composite video, 30 X 30 text
 
* Built-in keyboard
 
* Single board design
 
** I eventually got a RAM expansion card with Floppy Disk Controller
 
* Ports: composite video, cassette
 
* Storage: cassette
 
* [https://en.wikipedia.org/wiki/Microsoft_BASIC Microsoft BASIC]
 
* 2K Monitor ROM (CEGMON)
 
* [https://en.wikipedia.org/wiki/Compukit_UK101 Compkit 101] - British clone of the SuperBoard II
 
 
 
==== 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]
 
 
 
==== Keyboard Layout ====
 
 
 
[[File:opkbd.jpg]]
 
 
 
==== CC65 - C Compiler for the 6502 and OSI C1P ====
 
 
 
* [https://cc65.github.io/doc/osi.html Ohio Scientific-specific information for cc65]
 
* [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.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]
 
 
 
==== BASIC Programs ====
 
 
 
<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.
 
 
 
* [[EP2C5-DB]] - Our creation of a daughtercard which implements Grant Searle's Multi-Computer
 
* [http://searle.x10host.com/uk101FPGA/index.html Grant Searle's CompuKit UK101]
 
** Based on Cyclone II EP2C5 Mini Dev Board
 
** Someone built one of the CompuKit clones as a CPM box
 
* [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]
 
*** "EhBASIC is about 11 KB"
 
* [http://6502.org/ 6502.org] - the place for retro 6502 projects
 
* [https://opencores.org/project,system68 System68]
 
* [https://hackaday.io/project/3620/logs 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
 
* [http://sbc.rictor.org/ Daryl's Computer Page]
 
** 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]
 
 
 
== 6809 CPU ==
 
 
 
=== Our Build ===
 
 
 
* [https://github.com/douggilliland/MultiComp/tree/master/MultiComp_On_RETRO-EP4CE15/MultiComp_6809_by_Neal_C-2019-04-08 Our FPGA Builds]
 
  
=== Neal Crook's build ===
+
=== Z80-MBC2 Build ===
  
Neal started from Grant Searle's Multicomp and fixed a number of issues with the VHDL code.
+
[[FILE:Z80-MBC2_P586-720PX.jpg]]
  
* [https://github.com/nealcrook/multicomp6809/wiki Neal Crook's 6809 Wiki of Multicomp FPGA builds] - very helpful
+
<video type="youtube">bMvzl_BG__Y</video>
* [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
 
* [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/nealcrook/multicomp6809/wiki/camelforth CamelForth]
 
  
=== Other Docs ===
+
[[Z80-MBC2 Build Notes]]
  
* [https://www.forth.com/starting-forth/ Starting FORTH] - First book of learning FORTH
+
* On card
* [https://github.com/EtchedPixels/FUZIX FUZIX]
+
** Z80 CPU CMOS (Z84C00) 8Mhz or greater - I used 20 MHz
* [http://www.flexusergroup.com/flexusergroup/pdfs/swflexum.pdf Flex User's Guide]
+
** Atmega32A
* [http://ccgi.dougrice.plus.com/cgi-bin/wiki.pl?My_Notes_On_6809 Upload ROMs without rebuilding]
+
** TC551001-70 (128kB RAM)
* [http://atjs.mbnet.fi/mc6809/index.html 6809 Emulation Page]
+
** I used [https://www.mouser.com/ProductDetail/913-AS6C1008-55PIN AS6C1008-55PIN] since it is available on Mouser and Digikey
* [https://obsolescence.wixsite.com/obsolescence/the-6x0x-boards N8VEM 6809 Board]
+
** 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 ==
 
== 68000 CPU ==
  
Various 68000 builds
+
* 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 708: Line 665:
 
<video type="youtube">D9y7V0j5GsQ</video>
 
<video type="youtube">D9y7V0j5GsQ</video>
  
* Features
+
* [[TG68 AMR Build]]
 
** 68000 Core
 
** 68000 Core
 
** SDRAM support
 
** SDRAM support
 
** VGA Framebuffer
 
** VGA Framebuffer
*** Pixel dithering maps 24-bit video to six bits
 
 
*** 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]] basecard
+
** *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 727: 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
 
* FPGA cards are
 
** [[QMTECH EP4CE15 FPGA Card]]
 
** [[QMTECH EP4CE55 FPGA Card]]
 
** [[QM_Tech_Cyclone_V_FPGA_Board|QMTECH 5CEFA2F23 FPGA Card]]
 
  
 
==== TG68_AMR Links ====
 
==== TG68_AMR Links ====
Line 739: 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]
  
=== TS2 design with Multicomp parts ===
+
=== 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 ====
  
* [https://github.com/douggilliland/MultiComp/blob/master/MultiComp_On_RETRO-EP4CE15/TS2_68000/README.mediawiki 68000 CPU in VHDL running on FPGA card]
+
===== TeeSide 2 BASIC =====
** Running on [[RETRO-EP4CE15]] card
+
 
** Runs [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TS2/monitor/TSBUG2 TS2BUG monitor] or [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TS2/tutor TUTOR] from ROM
+
* [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/TS2_FPGA/ehbasic Lee Davidson's Enhanced BASIC]
** Built-on Video Display Unit (VDU)
+
* [https://github.com/douggilliland/Retro-Computers/tree/master/68000/TS2_FPGA/TinyBASIC68 TinyBASIC68] - Gordon Brandly's Tiny BASIC v1.0
*** Color attributes
+
** Copy/paste S1/S9 records from [https://github.com/douggilliland/Retro-Computers/blob/master/68000/MECB/tbi68k12/TBI68K.HEX TBI68K.HEX] into ACIA port
*** XGA 80x25 [https://web.archive.org/web/20180221064620/http://searle.hostei.com/grant/Multicomp/index.html#ANSICodes ANSI character display]
+
** JUMP 0900 to run
*** Extended (256) character set
+
** [https://github.com/douggilliland/Retro-Computers/tree/master/68000/MECB/tbi68k12 Tiny Basic] from MECB
** PS/2 keyboard
+
** Includes LOAD and SAVE from/to the Serial port
** 32KB SRAM
 
** 16KB ROM
 
** Loads/run [https://github.com/douggilliland/Retro-Computers/tree/master/68000/MECB/tbi68k12 Tiny Basic]
 
 
*** Type LOAD on VDU port
 
*** Type LOAD on VDU port
*** Copy/paste S1/S9 records from [https://github.com/douggilliland/Retro-Computers/blob/master/68000/MECB/tbi68k12/TBI68K.HEX TBI68K.HEX] into ACIA port
+
* [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/BASIC MANDLEBRT.BAS]
*** JUMP 0900 to run
+
 
 +
===== 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 =====
  
==== TS2 Links ====
+
* [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 762: 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 767: Line 817:
 
=== 68000 Software ===
 
=== 68000 Software ===
  
* [https://retrobrewcomputers.org/doku.php?id=boards:sbc:tiny68k Tiny68K]
+
==== C Compilers ====
** [https://retrobrewcomputers.org/lib/exe/fetch.php?media=boards:sbc:tiny68k:t68kbug.zip t68kbug Debugger]
+
 
** [https://code.google.com/archive/p/m68k/downloads Linux toolchain for the MC68000 CPU - gcc] (Linux - uClinux/MC68000)
+
* [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://darkdust.net/writings/megadrive/crosscompiler Installing binutils and GCC as cross-compiler for the Motorolla 68000]
+
** [https://code.google.com/archive/p/m68k/downloads Linux toolchain for the MC68000 CPU - gcc] (Linux - uClinux/MC68000)
* [https://sourceforge.net/projects/emutos/ EmuTOS] - Free operating system for Atari computers, and more
+
* [https://github.com/douggilliland/Retro-Computers/tree/7ce0358bcddc7edb204a87fba47e80a591d9d570/68000/EmuTOS EmuTOS]
* [https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/M68k The LLVM Compiler Infrastructure] - 68K backend
+
** [https://sourceforge.net/projects/emutos/ EmuTOS] - Free operating system for Atari computers, and more
** [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]
 
  
 
=== Other People's 68000 Builds ===
 
=== Other People's 68000 Builds ===
Line 787: 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]
== RISC V CPU ==
+
* [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://github.com/ultraembedded/riscv RISC-V Core]
 
* [https://github.com/ultraembedded/biriscv biRISC-V] - 32-bit dual issue RISC-V CPU
 
 
 
== 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]
 
  
 
== DEC (Digital Equipment Corp) Computers ==
 
== DEC (Digital Equipment Corp) Computers ==
  
 
* [http://simh.trailing-edge.com/ Computer Simulation and History (simh)]
 
* [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]
 
* [http://www.retrotechnology.com/herbs_stuff/dec.html Herb's DEC items]
  
Line 812: Line 858:
 
=== PDP-8 ===
 
=== PDP-8 ===
  
* [https://www.computerhistory.org/revolution/minicomputers/11/331 History of the PDP-8]
+
* Two PDP-8 builds
* [http://highgate.comm.sfu.ca/pdp8/ Highgate's PDP-8 Page]
+
** 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) ====
  
==== My PDP-8 FPGA Build ====
+
<video type="youtube">1-lU59broa4</video>
  
My build is based on Tom Almy's book
+
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) PDP-8 Almy book on GitHub]
** [[PDP-8 Front Panel|PDP-8 Front Panel]]
+
** [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 My PDP-8 Hardware GitHub repository]
 
 
* [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]
 +
 +
==== 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 ====
 
==== 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]
 
* [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]
 
* [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://brianwhite94.wixsite.com/electronics/pdp-8-on-an-fpga PDP-8/I on an FPGA]
* [http://opencores.org/project,pdp8 PDP-8 Processor Core and System :: Overview]
+
* [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 ====
 
==== 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]
* [https://drive.google.com/file/d/0B_jM3_1AFMbMaUZSZ1RRUjJmS0k/view PiPDP-8 Front Panel]
 
 
* [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]
 
* [http://www.pdp8online.com/index.shtml pdp8online.com]
 
* [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 ====
 
==== PiDP-8 ====
  
 
* [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 852: 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 ====
 +
 +
<video type="youtube">oBETQo2oqQA</video>
  
 
* [[PDP-11 ON RETRO-EP4CE15]] - Works
 
* [[PDP-11 ON RETRO-EP4CE15]] - Works
Line 871: Line 956:
 
* [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]
 
* [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]
 
* [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 ==
 
== Terminal ==
Line 890: Line 981:
  
 
== External Sites ==
 
== 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 ===
 
=== PiGFX ===

Revision as of 14:47, 19 June 2024

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 VGA 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