Thanks to Takashi TOYOSHIMA for his work on the CP/Mega88 project which can be found here: https://github.com/toyoshim/cp-mega88. Please visit his project page and read through his other work.

The CP/Mega88 project is a i8080 emulator written in AVR assembler with modules in C and assembler to support external static RAM, SD-card and UART, as well as a virtual “monitor” linking it all together.

My rendition focuses only on the AVR side of things, The original project also runs on several other platforms.

Specifications:

  • i8080 virtual machine running at 2.5 - 3 MHz apparent clock speed.
  • 128 kByte Static RAM (paged memory with 4 32 kByte pages)
  • SDSC SDHC compatible SD card interface. no hot-swap
  • TTL serial console 38400 baud, no handshake
  • 3v3 or 5v FTDI or compatible interface
  • 5v power at serial interface or 3v3 at ISP connector
  • dual boot
  • CP/M 2.2, 59 kByte TPA
  • CP/M 3.0, 61 kByte TPA, banked BIOS
  • 4x 8MB disks (A:-D:) shared by both OS-es

Here are the project files: cp-mega88.zip

The zipfile contains:

  • all the AVR source code, make files and binaries.
  • source code for CP/M 2.2 and 3.0 as well as boot sectors
  • PCB schematics and gerbers for an SMT board.
  • A 4 disk image file to be copied to the SD card with system files, source files, tools and various applications in several user area's (which are not guaranteed to run: some use Z80 code, some are os-specific)

The SMT board can be built for less than $4.50, although buying single items or TH parts might turn out more expensive. The included PCB uses SMT components. Alternatively you can wire up a piece of perfboard, using TH parts. (use an AS6C1008 for SRAM and a TF card module)

parts list:

ATmega8820AUTQFP-32
BSI BS62LV1027SIP-55SOP-32
74HC374D (x2)SOP-20 7.2 mm
TXC20.0 Crystal5032 5mm×3.2mm SMD-4PIN
1n4148miniMELF
AMS1117 3.3SOT-223
4x100n0805
2x22p0805
10u0805
2k70805
3k30805
TransFlash Micro SD Memory Card Slot ConnectorPlease examine picture
ISP & serial connectors

For SRAM any 3.3v 128k x 8 chip can be used (regular pin layout)
I chose the BSI chip, because it was cheapest and was 5v tolerant (2.4V ~ 5.5V).

NOTE: running an ATmega88 at 3v3 / 20 MHz is out of specifications (> 13.3 MHz). I have had no issues, but your mileage may vary.

If you have any suggestions, feel free to let me know.

Happy building


builderpages/rhkoolstar/cp-mega88.txt · Last modified: 2017/08/24 06:06 by rhkoolstar
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0