I've spent the last couple days reviewing CP/M documentation, refreshing my memory of
the BDOS, BIOS, TPA, DPHs, DPBs (all acronyms that should be familiar to
the CP/M fan). I'm struggling with ideas about how to use the flash storage.
If I've done my calculations correctly, CP/M supports disks up to 32MB in size, so
I can create drive letters A: through P: each with a 32MB chunk.
It would be most convenient to have the CP/M disks actually be files on a
FAT16 formatted flash card. Then I could easily build images using
the simh simulator.
The question is, do I have enough space in the BIOS area to read/write a
FAT formatted filesystem under the covers, yet present it as a "disk" with
128 byte sectors to CP/M? I'm kinda doubting it.
Well then, I could drop in a PIC or Atmel chip to handle the FAT stuff, and
have it be an intelligent peripheral of the Z80. So the Z80 BIOS would just ask for
a particular cylinder/head/sector and the controller would go off and do the right thing.
Somehow it seems wrong to drop a modern processor into a retrocomputer
design though. I'm already going to use a buck regulator chip and probably
an FTDI USB chip for serial interfacing and those are already anachronistic
in this design.
Hmm, I could drop in a second Z80 system with code to manage the storage in
EPROM, and have the second Z80 be a peripheral of the first Z80. Of course
then I'm starting to have an unreasonable number of chips just to get anything done!
Or I could chuck the whole using files on a FAT filesystem idea, partition the flash
card into 32MB chunks, and then have the BIOS use that. That makes writing out
the disk images from a PC much less convenient though, and I really have to do
that to get stuff like Wordstar and Pascal/MT+ running.
Decisions, decisions...
And of course the choice made here directly affects the schematic/PCB design and if I
made the wrong one, I'll be on my way to making my first set of green coasters

Scott