Minimal requirements for CP/M Apr 2017

Even a minimal EZ-Retro setup is very powerful compared to CP/M systems of the 1970’s, costing thousands of dollars, drawing hundreds of Watts, and placed in Boring Bulky Boxes.

So let’s start planning the CP/M configuration for our little USB-powered variant, eh?

The internal 256 KB flash memory can be used as read-only virtual disk. Since eZ80 starts up in flash when it comes out of reset, the system tracks are the logical place for bootstrap code.

RAM can be split into a number of sections, in such a way that it will also support CP/M Plus’s “banked” memory model. Here is a tentative memory map for 512 KB SRAM:

In CP/M 2.2, this will give us access to 64 KB of RAM, plus two virtual disk drives:

Drive Type Size System Notes
A: RAM disk 360K 6.5K uses 512K SRAM
B: ROM disk, R/O 256K 6.5K internal eZ80 flash

One eZ80 serial port will be used as console, connected to the Blue Pill and bridged to USB.

Note that everything above can be implemented using the hardware we’ve already assembled.

By switching to a larger 2048 KB static RAM chip and adding an SD card interface on the Blue Pill, this can then be extended later to create a system with a whopping six (virtual) drives:

Drive Type Size System Notes
A: RAM disk 360K 6.5K uses 512K SRAM
B: ROM disk, R/O 256K 6.5K internal eZ80 flash
C: RAM disk 1440K 0K uses 2048K SRAM
D: Virtual disk 1440K 18K mapped to SD card
E: Virtual disk, R/O 1440K 18K mapped to SD card
F: Virtual disk, R/O 1440K 18K mapped to SD card

And as you can see in the following CP/M sneak preview transcript … it really works!

A>b:stat
A: R/W, Space: 350k
B: R/W, Space: 209k
C: R/W, Space: 1432k
D: R/W, Space: 250k
E: R/W, Space: 116k
F: R/W, Space: 674k

But first, we’ll have to solve a whole slew of tricky bootstrapping problems… stay tuned!

Weblog © Jean-Claude Wippler. Generated by Hugo.