03/16/84

RE: Vector 3 systems and ZCPR

Sigi Kluger, El Paso RCPM

VECTOR GRAPHIC systems usually are modified CP/M systems. Modifications
range from some additional Z80 code in the CCP to "extended CP/M" with
extra BDOS functions more like CP/M plus, banked RAM and so on. One unique
feature is a checksum check on CCP/BDOS at warmboot to avoid reloading
from disk if they have not been damaged. Installation of ZCPR is hampered by
BIOS warmboot code which does a version check on the CCP and returns
a SYSTEM ERROR message. If you install ZCPR the usual way, the system will
work fine until a warmboot is performed, at which time the SYSTEM ERROR
message will hang the system.

To avoid that error message and to enjoy all the features of ZCPR (or ZCPR2
or ZCPR3 when released), you must modify your BIOS slightly. This modification
merely consists of a 1-byte change in the BIOS.

The following sample code was extracted from a 40k CP/M 2.22H. Your values
may vary of course, but the key data is the same.

1. VECTOR keeps the CCP starting page and CP/M version letter in CCP+86:

7D86    DB      'H'  ;CP/M version letter
7D87    DB      7DH  ;start page of CCP

2. The two bytes above are cross-checked by the BIOS in the warmboot routine:

93DD    CALL    9414H
93E0    LXI     B,0E00H
93E3    LXI     D,1
93E6    CALL    9414H
93E9    CALL    9D0BH
93EC    MVI     B,40H
93EE    LHLD    7D68H   ;<-- CCP+86H ABOVE
93F1    LXI     D,7D48H ;<-- (CCP AND 0FF00H) + 'H' (H=VERSION)
93F4    ORA     A
93F5    SBC     DE      ;SUBTRACT TO TEST EQUALITY
93F7    JRZ     9435H   ;<=== CHANGE THIS TO JRZ 9435H
93F9    LXI     H,9404H
93FC    CALL    9475H   ;DISPLAY ERROR MESSAGE
93FF    CALL    9486H   ;WAIT FOR KEYPRESS
9402    JR      93C2H   ;ATTEMPT WARMBOOT AGAIN
;
9404    DB      CR,LF,'SYSTEM ERROR-'

Changing the byte at 93f7h above from 28H to 20H (from JRZ to JR) results
in the error message being skipped. ZCPR can now be installed safely.

If you have a different CP/M version (like 2.22J in a hard disk system)
you will have to trace the BIOS warmboot code (use RAID, not DDT) to
find the JRZ above. Simply search for the SYSTEM ERROR message and
work your way back to the JRZ.

This has been tested on CP/M 2.22H and was found working. No guarantee
that the changes will work in Extended CP/M, Timeshare CP/M or any other
version of VECTOR CP/M, although I will test it under 2.22J later when I
have some more time.

If you have any problems installing ZCPR on your VECTOR 3 system, please
don't hesitate to get in contact. I can be reached via one of the
following systems:

El Paso RCPM (915) 598-1668 300/1200
Chicago CBBS (312) 545-8086 300/1200
Compuserve 72766,1544