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

Chuck Guzis cclist at sydex.com
Fri Feb 1 15:06:58 CST 2008


> Date: Thu, 31 Jan 2008 09:21:58 -0500
> From: Allison 

> If one takes a moment some of that was INTEL MDS artifact that were 
> programmed around.  Also there are plenty of unused RST vectors.
> For the later systems the 8259 was available and it inserted a 
> CALL XXXX where XXXX was anywere in addressable memory. The Z80
> in mode2 interrupt also could vector anywhere in ram. DMA 
> is not impacted by how the low page is used.


IIRC, in ISIS-II, programs were loaded somewhere above 3000H, 
depending on the buffer requirements of the program, but always above 
the ISIS resident, which always occupied the same space, regardless 
of memory size.   

On some early 8080 implementations, an 8259 wasn't used (expensive!) 
and a simpler circuit using a priority encoder and a latch to stuff 
111iii11 onto the bus in response to an interrupt acknowledge.  CP/M 
could get in the way of this scheme, if it was desired to use the 
RST0 vector for an interrupt.  Otherwise, there was no problem, 
except for the RST vector (usually 7) used for DDT--but that's local 
to DDT and easily patchable (it's done for the Amstrad PCW, for 
example).

After having used ISIS before CP/M, I was happy to see the "lean and 
mean" CP/M.  ISIS was verbose, clumsy and slow (e.g., :F0: instead of 
A: for the first floppy drive; "DELETE" instead of "ERA").

Of course, had CP/M simply shifted the TPA up 256 bytes and used the 
area between 0100h and 01FFh for command-line storage, system request 
vectors and FCBs, that would have solved the problem, but for the DDT 
RST vector.

Cheers,
Chuck



More information about the cctalk mailing list