I figure anything CP/M is on-topic, but the hardware I'm
talking
about would be brand new. :)
Are there working examples of CP/M running with just
a serial terminal connection and a drive+interface for
the sum total I/O? I'm assuming this has been done many
times and in theory would be nothing too offbeat?
If this exists, it might be useful to study the BIOS
to see what's being done there, or perhaps just buy the
board and CP/M if by chance something's out there already.
Are you giving up anything important with a terminal-based
CP/M system vs. one with integral monitor and keyboard --
in other words, cursor positioning and such in applications
being less flexible? I'm assuming the answer is "no", no
difference because of the way CP/M BDOS calls all go through
BIOS? Or is this a "in theory X in practice Y" thing?
The reason I'm asking is I've FINALLY -- after about two
months of struggle with hardware and coding -- succeeded in
getting my IDE interface working. Although it's currently
mated to a 6502 board and a 60GB HDD, since it's based on
an 82C55, could just as easily be coded to work with a
Z80/Z180 system.
Okay, I know that porting a BIOS to a new board would be
massively non-trivial. I've got a good book "Programmer's
Guide to Using and Modifying CP/M" (IIRC) which makes it
clear
it would be a fairly good prospect to take months to finish,
even with good debugging practices. (Although I'm no
stranger
to coding moderate-sized assembly programs.)
On the other hand, I'd motivated by having an SBC that could
run
any of a number of C, Pascal, Modula 2 or Fortran compilers,
along with BASIC, decent editing tools (well, I cut my teeth
on PC-DOS Wordstar!), would make such an SBC really quite
nifty as a hacking toy.
Comments?
I'm thinking of using a GAL decoder to map 32Kx8 of "shadow"
EEPROM to MEMRDs and the "shadow" RAM to the same address
for
MEMWRs upon RESET, then copy the "shadow" ROM to RAM on
coldboot,
and then write to an I/O port to cause the GAL to map only
the 128Kx8 SRAM into the machine memory map and jump to 0 to
bootstrap
up.
Not sure if BIOS could use the upper 64K
bank for storage in a useful way like disk I/O buffering,
but since 128Kx8 SRAMs are cheap and small, and I've got
a tubefull, that's what I'd want to use. :)
P.S.: I got the 360K floppy to work under Win98, but not XP.
I suspect it's just an undocumented "feature" of XP. :)