Date : Sun, 29 Aug 1982 22:08:24-PDT (Sun)
From : (BAD ADDRESS)ucbvax (BAD ADDRESS), ARPAVAX <dag (David Gewirtz)
Subject: HELP WANTED: ZCPR and Direct Disk Access
Hi,
I am trying to build a controller-independent CCP-Sysgen program
in C.
That is, I would like to take an image of a ZCPR-like program,
relocated for the current system size, and directly install it
into the CCP reserved sectors on the system track. The purpose of
this is to bypass the need to load in a CP/M image with sysgen,
jump into SID or DDT, load in ZCPR at an offset, exit SID, and
then sysgen. I would prefer to have a program called CCPGEN that
is passed an argument of the image file. This program should also
be controller independent. It is only needed to run for CP/M 2.2.
According to the CP/M 2.2 Guide, the CCP is kept on Track 0,
Sectors 2 through 17. Are these physical or logical locations?
I wrote a trial program that looked something like this:
SetDsk(1)
SetTrk(0)
SetSect(2)
SetDma(buff)
While NOT-FINISHED
{
WriteSect()
buff = buff + 128
}
which did not work. For some reason, I can't get DU (v75) to
examine track 0 sector 2 of the disk, but do know that the image
was loaded in the wrong place.
I know about sector skewing and the sector translation bios call,
but am unsure whether I need it on track 0. Is there any way
to make this work on most any drive (like DU), perhaps by
using the disk parameter block and sector translation table.
How would I be able to do this. Are there any C programs that
will work on multiple controllers and access tracks 0 and 1?
Help!!!
Thanks in advance,
David
PS: I've been using the Morrow DJ2D with double density. Track
zero is reputed to be single density.
Thanks again.