"CP/M compatible" vs. "MS-DOS Compatible" machines?
Allison
ajp166 at bellatlantic.net
Sun Feb 3 06:34:54 CST 2008
>
>Subject: Re: "CP/M compatible" vs. "MS-DOS Compatible" machines?
> From: "Roy J. Tellason" <rtellason at verizon.net>
> Date: Sat, 02 Feb 2008 20:48:33 -0500
> To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at classiccmp.org>
>
>On Thursday 31 January 2008 10:07, Allison wrote:
>> Whats more interesting is there was nothing to prevent a termcap file
>> and later improved CP/M work alikes did exactly that and many more things.
>
>What sort of stuff would you put into the category of "CP/M work alikes"?
NOvados, DOS+, ZRdos, Zsdos and ZCPR addons to CP/M. They all could run
CP/M programs but added things missing from basic V2.2. The gotacha was
they required z80 as they were stuffing all that into the same space
required by V2.2.
Allison
>(Snip)
>> Andy Johnson-Laird The Programmers CP/M Handbook went far to extend
>> and clarify both what the BIOS can do and more.
>
>Good book, that one. I dug it out of a box recently, and should probably get
>to re-reading it sometime soon, maybe.
>
>(Snip)
>> As you can se the whole interrupt thing was not CP/M as a limiting
>> factor but hardware or implementor understanding.
>
>I'd like to implement something that'd not only use one of those single-byte
>calls, but take the data inline, as well -- no need to load it into
>registers to pass it along, though there are some rather clumsy aspects to
>getting the stack pointer and fixing it...
>
>> For those that never used a really nice bios try a VT180, it didn't
>> do two sided but those disks where just emerging at the time. It did
>> implement interrupts with ring buffers for IO.
>
>Can you point to anything specific with regard to this?
>
>> The other thing was DMA. On S100 is was a timing and bus nightmare
>> and took years to almost get right. Many of the single baord systems
>> omitted it as it took space (8257 or later 8237 40 pin chips and a latch).
>
>Hmm, I seem to have some number of those on hand here. :-)
>
>> It works fine and made useful systems. However it means the CPU is locked
>> up for the duration of the transfer and cannot respond to interupts
>> making for poor latency as floppies are slow. Again CP/M doesn't care
>> how the transfer happens only that it does happen. So the fist system
>> built with DMA was a real eye opener. First it allowed background
>> activities to run faster and smoother like a line printer spooler.
>> also interrupts could be used byy the disk system to say "ready"
>> or "ready with error". Thats a lot of available CPU cycles.
>> the biggest areas of change is that modem programs werent pausing
>> for disk IO, they could fill a big (say 16k) circular buffer and
>> the cpu can be processing interrupts for IO and disk to manage
>> transfers rather than doing a lot of waiting in loops. It doesn't
>> take a lot more code but the complexity and debugging is greater
>> due to the near concurrent activities.
>
>One of the real problems I had with early BBSing was the fact that I was using
>a CP/M box and that had only a lmiited buffer in the modem program (probably
>MDM740 at first, IMP a bit later I think), while the guy at the other end
>had a newer and higher-speed modem that had several K of buffer in it that it
>would continue to empty after my end had asked it to hold on a minute...
>
>That same program had a print or capture buffer (I forget exactly now) that
>was way bigger, something on the order of 16K, and it came to me to use
>that for buffering the input rather than the teeny buffer provided, but I
>never did get around to making that particular modification to it.
>
>(Snip)
>
>--
>Member of the toughest, meanest, deadliest, most unrelenting -- and
>ablest -- form of life in this section of space, a critter that can
>be killed but can't be tamed. --Robert A. Heinlein, "The Puppet Masters"
>-
>Information is more dangerous than cannon to a society ruled by lies. --James
>M Dakin
More information about the cctech
mailing list