A weblog focused on interesting circuits, ideas, schematics and other information about microelectronics and microcontrollers.
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."
Read more: CP/M on an AVR