[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Getting CPM 2.2 running on a set of N8VEM S-100 cards
Having assembled my alpha S-100 VDU I sat down to start testing it and
realized I was missing a critical part; the ability to boot CPM on my
system based on N8 S-100 cards.
My system Config:
Z-80 Master CPU - tested and known good
4 megabyte Static RAM card - 1MB installed - tested and known good
ZFDC - tested and known good
Serial I/O - tested and known good
EPROM - not tested
You may ask how I tested these without being able to boot the system,
this is what I have done:
To test the SERIAL I/O card I wrote code that I burned into EPROM for
the CPU card; this card tested the Serial I/O card.
I've taken the ZAPPLE monitor along with code from a Z-80 monitor John
wrote (www.s100Computers.com) and created my own version of it. One of
the functions it has is the ability load HEX files produced by TASM. I
ported John's code for the ZFDC from CPM programs to standalone
programs under TASM. I then assemble them and via the text file send
function in Teraterm I loaded these into RAM for execution. I have
been able to adjust the ZFDC and have been able to format 3.5"
Next using the monitor I wrote a set of playback files (again for
TeraTerm) that using the PORT I/O function of my monitor along with
the LOAD/DUMP memory functions was able to test all 16K blocks of the
1MB memory space to verify the basic functionality (I know the block
selects work, I know the RAM can be written and read back).
The Monitor has John's code to read the boot sector from a floppy and
start it to bring up CPM.
So, now I need a floppy with CPM to boot.
Having completed a ZETA and having it running well with 2 3.5"
floppies this seems like a good platform to write the system to
floppy; it already has the tools to get the image to the RAM Disk (XM)
and the program to write the system to floppy (WRITESYS.COM).
Next I checked out the BUILD directories from Doug's SVN site and
began digging through them to understand how it works; this is what I
have concluded in looking at it:
Porting the CBIOS for the S-100 config listed above should be straight
forward, John already provided the code to get the basics working.
Building a CPM image (the SYS file) and the standalone file (the COM
file) using looks pretty straight forward.
1) It's unclear to me if the ROM image can be used; the N8 does some
tricks to map SRAM or EPROM into the Z80 address space; using the
extended address space of the Z80 CPU card this would be possible
however only the 2 lower 16K blocks can be swapped. Can this be done?
Should it be done?
2) Should I add the functionality to build a CPM image for the S-100
system to the current build tree or do we want to start a new tree?
3) Ultimately I hope to have a CPM floppy image downloadable so
someone can build the basic board set; image a floppy and boot the
system using the default jumper settings. Is there value in doing