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:
- two banks of 56 KB for working RAM memory in Z80 mode
- one bank of 24 KB as spare 2nd bank for CP/M Plus
- the eZ80’s internal 8 KB SRAM is used as non-banked upper memory
- the remaining RAM space is used as a 360K RAM disk
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!