<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 15 Nov 1988 02:44:41 GMT
From   : uop!mrapple@ucdavis.ucdavis.edu (Nick Sayer)
Subject: GOCCP installed

Well...

I figured out how to patch the PCPICPM file to include GOCCP...
Anyone who wants a copy of PCPICPM (or STARCPM) with GOCCP installed
(and it even relocates properly with INSTALL.COM!) can send me
mail.
 
What I discovered is the map of the PCPI file. The addresses
below are the addresses when you load PCPICPM into the TPA
(most probably with DDT). If you want the file offsets, subtract
0100H from these addresses.
 
0100-01FF   Code for the boot sector (track 0, sector 0)
0200-09FF   CCP
0A00-17FF   BDOS
1800-20FF   BIOS
2100-30FF   6502 resident BIOS-type code
3100-311F   relocation bitmap for boot sector (0100-01FF)
3120-321F   relocation bitmap for CCP
3220-33DF   relocation bitmap for BDOS
33E0-34FF   relocation bitmap for BIOS
3500-36FF   relocation bitmap for 6502 resident BIOS-type code

Note that the relocation map size for a segment is the size of
the segment in question divided by 8. Normally, the relocation
maps for the boot code and 6502 code are all 0s.

Here's how you figure out what to put in the relocation maps.

First, assemble the code for the segment you want such that
it's ORG is that of a CP/M system with the CCP starting at 0DC00H.
Put this aside for now.

Next, assemble the code for the segment with the ORG 0100H higher than
it was last time.

Feed these two files into a PCPI utility called GENBMAP.COM (see
below). That will spit out a bitmap file. *** GENBMAP.COM HAS A
BUG IN IT THAT OUTPUTS ONE SECTOR TOO MANY! MAKE SURE THAT
THE BITMAP FILE IS THE RIGHT SIZE! ***

Load the bitmap and code into the PCPICPM file and save it.

-----

Now I'm sure you're wondering what GENBMAP.COM does. What it does
is do a byte by byte comparison between the two given files.
If the bytes are equal, it outputs a 0 bit. If they're not
equal, it outputs a 1 bit. These bits are collected in the
bitmap, such that there is a one-to-one match between the bits
in the bitmap and the bytes in the input files. The MSB of
byte 0 of the bit map is the first byte of the code, the
LSB of byte 0 of the bit map is the 8th byte of the code,
the MSB of byte 1 of the bit map is the 9th byte of the
code, etc.

Hope this is helpful and doesn't get me into trouble for
giving away state secrets :-).

BTW: Last time I heard, PCPI was no longer supporting their CP/M
boards. Can anyone substantiate? Is there a PCPI CP/M users group?
Would anyone like to start one?

Nick Sayer | Packet Radio: N6QQQ @ WA6RDH | Fido: 161/31
uucp: ...!sdcsvax!ucbvax!ucdavis!uop!mrapple
Disclaimer:   You didn't REALLY believe that, did you?
cat flames > /dev/null

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