home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
beehive
/
utilitys
/
sysgensc.arc
/
SYSGEN.DOC
< prev
next >
Wrap
Text File
|
1990-07-21
|
6KB
|
106 lines
Documentation for SYSGEN and GETBIN
-----------------------------------
NOTE: The author takes no responsibility for any loss or damage that may be
caused by the use (or misuse) of this program. The author makes no
guarantees as to the fitness of this program for any particular purpose,
or that it will even work..........
Sysgen and Getbin are a couple of programs which I wrote a month or two
ago to allow me to install ZCMD, and SUPRDOS2 (SUPRBDOS?) on my Apple CP/M
system. I have used the Microsoft Softcard CP/M adapter, and have switched over
to the PCPI Applicard (better known as the Starcard).
One thing which bugged me about the two cards was the lack of a SYSGEN
type program to enable the installation of CP/M from an image file on disk. The
Softcard had a program CPM60 which was a little like a SYSGEN program. The
Starcard used a program, INSTALL which reads the CP/M image from a file,
STARCPM. INSTALL allows the relocation of the CP/M image, and thus, the STARCPM
file must contain some relocation data (musn't it ????), and I haven't found
this data yet.
This makes it rather difficult to modify the CP/M kernal, including the
installation of improved CCPs and BDOSes. So, I took the program WRTCCP (a
program which writes a CCP replacement directly over the existing CCP on the
boot tracks) written by Philip Rousseau, hacked it up a lot, and with mucking
about, I managed to produce a Sysgen type program. All that remained was a bit
more mucking about with it to produce Getbin.
The programs are kludgy (to say the least), rather like this documention.
They will only read/write the file from the disk that you want the image to be
written/read (I hope that made sense.....). They aren't designed to replace
INSTALL, merely to allow a reasonably convenient way of mucking about with the
kernal. I have assembled them for a BIOS located at 0f300h, so if either
program is run on a system with different BIOS locations, then the source files
will have to be modified and reassembled. I suppose I could have written a
routine which dynamically determines the BIOS location, but I couldn't really
be bothered.......
Both programs were written for ZASM, Cromemco's public domain macro
assembler, but modification for other assemblers should be a breeze. I
apologise for the sparse commenting in the files, and wish luck to anyone who
wants to modify them. I suppose that they could be used for the Softcard,
although I won't guarantee it. If so, then the BIOS locations need to be
changed, and possibly other things as well.
The operation of the programs is simple: just run them, with the only
argument being the name of file you wish the image to be written or read from.
The program will do the rest. Note that the disk specified for the file will be
the disk from which the image (on the system tracks) will be read/written. Only
one(?) hidden(?) gotcha, and that is that Getbin will overwrite any existing
file with the specified name (actually, it will erase such a file).
I haven't looked through the resulting image much, I have only ascertained
the locations of the CCP, the BDOS, and the BIOS. What I do know about the file
is that the first 100h bytes are taken up by the loader, then the CP/M image
follows in order. After that is some 6502 code, which I presume handles all the
I/O.
With the aid of Getbin and Sysgen, it is now possible to install ZCMD and
SUPRBDOS with ease. The basic steps to take to install them are as follows:
1) Set up a CP/M image that suits your requirements, this includes setting up
the softvideo driver, and preparing a DRIVERS file. Write the system to a disk,
save the DRIVERS file. Make a note of the locations of the CCP, and BDOS. Boot
this disk.
2) Run Getbin (on the appropriate disk):
A0>getbin cpm.bin
3) Edit the ZCMD source file for the appropriate options that you require. If
assembling with MAC, then set up the origin (label CCPLOC, I think) for the
location of CCP. If assembling with RMAC, set origin to 0. Assemble this file.
Then, if using RMAC, run LINK, and set up the load address to the location of
the CCP with the 'l' option.
4) Run the installation program for SUPRBDOS. This will hopefully create the
appropriate files for assembling SUPRBDOS. If it works, then run the creation
file and it will overlay SUPRBDOS into CPM.BIN. Some fiddling around with files
may be necessary to fit all files on one disk. If it doesn't work, then you'll
have do it manually. This involves creating an ORG.DAT file with appropriate
offset, assembling SUPRBDOS, and using either DDT or MLOAD to overlay
SUPRBDOS.HEX on top of CPM.BIN.
5) Use either DDT, or MLOAD to overlay ZCMD in the appropriate place in
CPM.BIN.
6) Run Sysgen to write the resulting file to disk:
A0>sysgen cpm.bin
Hopefully, you should now have a working SUPRBDOS and ZCMD system.
The next thing to do, I suppose, would be to decipher STARCPM, but I
imagine somebody else has already done that. Perhaps he/she would like to
enlighten the rest of us. And while they're at it, he/she might also tell us
about the driver file formats.........
Acknowledgement: Philip Rousseau's WRTCCP was the basis of the two
programs presented here.
Stephen Ma
(sometime in September)