µ[micro]electronics info

A weblog focused on interesting circuits, ideas, schematics and other information about microelectronics and microcontrollers.




Because I have not tested all electronic circuits mentioned on this pages, I cannot attest to their accuracy; therefore, I do not provide a warranty of any kind and cannot be held responsible in any manner.

My e-mail

My website

Emulating a Z80 CP/M computer on ATMega88

Yes, we all know many emulators of old processors "on the chip", but as far as I remember this is the first attempt to emulate a CP/M machine (including Z80) I ever seen.

An author's description of his device is really impressive: "The minimum specs for CP/M are: 20K of RAM, an 8080-type processor and some kind of storage, for example a floppy diskette drive. As said before: all that's needed to emulate a certain machine is a Turing-complete device with enough storage. The role of the Turing-complete machine, in this case, is fulfilled by an ATMega88, an AVR with 8K of flash and a bit more than 1K of SRAM. 1K isn't enough for the emulated machine by a long shot, so I chose an antique GM71C4256A 128KB, 4bit DRAM chip to do that bit. The AVR doesn't have a DRAM-controller on board, but that can be emulated too. The 128K the chip can store is more than enough for CPM to run in: the 8080 can't address more than 64K without bank-switching schemes anyway. In theory, this setup could already emulate the desired machine, but a bit of non-volatile storage would be nice too. Floppy-disks are a bit out-of-date, so a MMC/SD-card got to stand in for that. CP/M only needs a character-based terminal as its input and output, so I decided I'd just use the built-in UART for that and be done with it. In theory, I could've chosen a bigger AVR and emulate a video card and keyboard controller too, though."

Perfect work!

Read more: CP/M on an AVR

Powered by Drupal - Design by Artinet