<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sun, 31 Aug 1980005:00:00-MDT
From   : Frank J. Wancho <FJW@MIT-MC>
Subject: Kick-off

Kicking this off:

CP/M 2.2 has a known bug in that the CCP does not properly retain the
USER number (across resets, I believe).  (Does any use, or plan to use
USER numbers other than 0 or set the option bits - for the in-memory
copy of the directory only for R/O, $DIR, $SYS, etc.?  Those option
bits should be a part of the actual directory entry on disk anyway!)

There is an inconsistency between disk drive numbering used by SELDSK
and the others.  SELDSK is zero-based numbering (A=0, B=1, etc.),
while the other functions use 0 in the FCB to mean the default drive,
then A=1, B=2, etc.  My SELDSK, when used under a 1.4 system, simply
takes that byte from the FCB and decrements it for use in the BDOS
call.  (Using SELDSK is optional for 2.2 since the functions pick up
the disk drive from the FCB (Byte 0) - unless you want to actually
change the default drive in your program - and then change it back,
just as for 1.4.  Does anyone NOT take the JMP 0 exit from their
programs?)

Digital Research's next project is CP/M for 8086 machines.  Apparently
they think that will be the next darling of the industry.

Once that CP/M for the 8086 is off the ground, Version 3.0 is next in
sight.  It will have a number of MP/M features retrofitted, and a five
byte TOD entry put in an as yet undetermined place in the directory
entry.  The format is a two-byte date (in address format, MSB first)
with Day 1 = January 1, 1978, and each of the hours, minutes and
seconds as two BCD digits.

Earlier this week, I received a fresh-off-the-press copy of "The CP/M
Handbook (with MP/M)" by Rodney Zaks.  As usual in this industry, it
was advertised before it was available.  It is very well done to the
point that you can throw away most of the manual that comes with the
CP/M package.  (The CP/M 2.2 is the same manual as for 1.4 except for
the last two "sections", and those sections have more(!) examples of
actual code, especially for how to use the random record access
features.)  I was disappointed that Zak's book did not give a hacker's
insight to more of the CCP other than how to do that auto-start I
asked about, and it detailed alot about using ED - but no code worth
mentioning.

The handbook also details more about MP/M than I wanted to know -
mainly because I now know what I am missing - with a number of
features which I don't see why they can't be used in regular CP/M,
such as GENHEX (make a HEX file out of a COM or PRL file suitable for
relocation with GENCOM).  SPOOLER builtin.  A time-of-day scheduler.
And others...maybe that is what they have in mind for 3.0??

(A personal comment here: I can't see really using MP/M in any current
micro, given the address space limits - even with bank-switching,
unless you are willing to tolerate the time it takes to switch.  It
would be more cost-effective to share the relatively expensive
peripherals such as a printer and hard disk, than to time-share a
micro.  Even better would be to add more dedicated micros such as you
already have for the disk I/O controller, and "front-end" the
terminal, printer, and modem I/O functions - even above
interrupt-driven I/O.)

We also got in a copy of TPM from Computer Design Labs (for Z80's only
- sorry).  I have not had a chance to completely check it out yet.  I
can say this:  it was no sweat to bring it up just like that.
SYSGENning a new system is an integrated on-step process.  It has an
entry to set and read time, a fixed location with fixed time, and can
be patched to actually read your clock board, if you have one.  It
will run most, if not all CP/M 1.4 programs, but not vice-versa.  It
has most of the same extensions that 2.2 has, but not in the same
entry points - in fact, it has more.  Noteable are:

 6 - Get TPM Serial Number
28 - Read Console with no echo
29 - Get Date
30 - Get Time
31 - Trap Control (for ^C)
32 - Set Date/Time
33 - Chain Program
34 - Get TPM Version Number
35 - Do Direct Disk I/O
36 - Create FCB
37 - Return Time in MS. (hardware required)
38-40 Reserved

I am especially attracted to Chain Program.

A while back I saw ads for OS1 in which they were offering to throw in
the source code for CP/M, probably 1.3.  Does anybody know where I can
obtain a preferably commented listing of CCP - any version?  Some
people simply overlay CCP and write their own versions of whatever
they need that may already be available in CCP.  I would rather leave
CCP around and find a way to hand it stuff and return to my program
when done - especially if I load my stuff just under CCP... and chain,
if required...Anybody got any ideas on this?

Finally, I would urge you to read Alan Miller's CP/M product reviews
and other related tidbits in Interface Age - the October issue
includes his CBIOS (again) now with code for interrupt-driven,
buffered console input and an article describing how it works.  He is
also reachable by phone, when he doesn't have his modem plugged into
the campus computer, and talks to the Lifeboat and other people around
the country on a regular basis.  (The campus computer is a DEC, which
doesn't have paper tape I/O - one of his machines is the DEC paper
tape reader/punch...)  (I dropped my charter subscription to IA before
I latched onto CP/M, and now his articles would be the only reason for
resuming it.)

That's all I have for now.  If there are no objections, I would like
to make this correspondence available to my Digital Research contact
who is also much interested in suggestions for documentation
improvements (but that was before I received Zak's book...).  Also,
would someone care to relate to us those portions of interest from
Lifeboat's LifeLine?

--Frank
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>