"CP/M compatible" vs. "MS-DOS Compatible" machines?

Chuck Guzis cclist at sydex.com
Thu Jan 31 20:56:41 CST 2008


> Date: Wed, 30 Jan 2008 18:27:23 -0500
> From: Allison 

> Things like Termcap and the lise were not needed.  However the console IO
> was not so good.  Try printing a string containing $ using the print
> string call.  The other was passing 8bit data when needed.

Many avoided the issues with the BDOS and simply went through the 
CBIOS vector.  That's why it was important that your "cold boot" jump 
at 0000 point to the proper entry in the BIOS jump vector list and 
not to the cold boot routine directly.  A lot programs used the cold 
boot jump at 0000 to find the BIOS jump list--just take the address 
in the jump instruction and set the low byte to 00.

Timer as well as console interrupt I/O was pretty much necessary for 
MP/M functioning (interrupt-driven disk I/O was *strongly* suggested) 
and recommended for CP/M 3.0, as was bank-switching.

I did a CP/M 2.2 implementation using interrupt-driven I/O for 
everything but the memory-mapped display.  It worked pretty well, but 
the effort was wasted for the disk I/O--there was nothing to do while 
you were waiting for the operation to complete.  On the other hand, 
it did make writing an MP/M XIOS much simpler.
 
> IObyte was mostly uniform, the problem was often it wasnt even 
> implemented.  This was a problem of allowing the BIOS spec to be 
> minimal and it usually was.

The problem with IOBYTE is that it was defined in terms of console, 
reader, punch and list.  Well, most systems didn't have a "reader" or 
"punch".  This made what to do with those items a matter of 
implementation.  BDOS Function 3 is defined as "Reader Input" and 4 
as "Punch Output".

> Ignorant, I think no, they gave the hooks and basic requirements. It was
> up to the BIOS developer to do a good job or just enough.  

By the time that 2.2 was offered, most CP/M systems were CRT oriented 
with a printer and perhaps a serial port used to connect to a modem. 
Instead of acknowledging that as the model configuration, DRI 
stubbornly stayed with TTY and paper tape as their model of character 
I/O.

Cheers,
Chuck





More information about the cctalk mailing list