Minimal CP/M SBC design?
ethan.dicks at usap.gov
Sun May 4 14:57:05 CDT 2008
I was staring at an SBC I have here with a 6MHz Z-80, some ROM, some RAM,
and a 26-pin off-board bus for some Z80-PIO boards (this thing was built
as a multi-parallel-printer switcher). I've been musing about what it
would take to boot CP/M up on this.
For user I/O, I was planning on a console serial port and a terminal/terminal
emulator. I have IM6402s on hand, but I'd be interested in hearing if
certain other chips are preferred, based on what BIOS code is floating
around out there. I also have a 16550, but I don't think I have any
Z80-SIO chips handy.
For mass storage, I was planning on either Compact Flash or an SD card.
I think I've seen both as I googled around for modern SBCs. Any of the
media I have lying around is plenty large enough (I even have some 4MB
CFs and a 2.5MB full-sized PCMCIA flash card on hand).
I am a little unclear, though, about how traditional CP/M systems
were set up for ROM and RAM. Was it common to use a "shadow ROM"
in low mem at reset, then have the BIOS live at the top of memory?
How did 64K RAM CP/M machines handle the BIOS? Did they temporarily
ghost the ROM on top of RAM until some bit of code could read ROM
and write RAM then bank out the ROM? Since I think I "need" at
least 48K of RAM, I was planning on a pair of 62256s. I could easily
do 56K of RAM low and 8K of ROM high, I think, unless there's some
other arrangement that's obvious to try for a simple design.
I've never tried writing a BIOS for a CP/M machine, but my understanding
is that things are modular enough that once you know what I/O chips
you have and at what I/O addresses, for a straightforward, non-clever
design, the coding is equally straightforward and non-clever (but please
feel free to enlighten me if otherwise).
Thanks for any tips, especially from anyone on the list who has ever
rolled their own CP/M machine.
Ethan Dicks, A-333-S Current South Pole Weather at 4-May-2008 at 19:40 Z
South Pole Station
PSC 468 Box 400 Temp -74.2 F (-59.0 C) Windchill -105.4 F (-76.4 C)
APO AP 96598 Wind 7.4 kts Grid 77 Barometer 691.6 mb (10194 ft)
Ethan.Dicks at usap.gov http://penguincentral.com/penguincentral.html
More information about the cctalk