home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
cpr86
/
cpr86z.pat
< prev
next >
Wrap
Text File
|
1984-05-27
|
3KB
|
125 lines
Dennis Vallianos
[70406,1163]
Lindenhurst, NY
CPR860 is a fine addition to CP/M-86, offering a much more
sophisticated user interface than DRI's stock system. I found
it worked as advertised on the Zenith-100 series, but because
the program was not specifically developed for the Z-100, the
ability to run 8 bit COM files was lost. The following patches
to CPR860 & several of Zenith's bios modules will correct this
problem.
NOTE: My system is presently running with 192K of RAM & that's
the only memory size I've tested this with. You may or may not
have problems with less memory.
Starting with CPR860.BIN perform the following patches with
DDT86:
DDT86
rCPR860.BIN
Patch using the S command as follows:
ADDRESS ORIG Z100
639 A0 CD
63A 38 DF
63B 07 02
wCPR860.CMD
The above patch tells CPR how to find the PATHNDLR code in the
bios.
Similarly patch OVL0.BIN:
rOVL0.BIN
Patch using the S command as follows:
ADDRESS ORIG Z100
D26 DF DD
D31 04 0C
D38 06 0E
D43 04 0C
D49 06 0E
D6B DF DD
DDC DF DD
DEA 04 0C
DF2 06 0E
F0C DF DD
F16 DF DD
wOVERLAY.CMD
^C
The above patch changes the interrupt location used by ZIP to
store the vector normally stored at INT 224. The change is
required because as supplied, OVL0.BIN will write over INT DFh,
which is used on Zenith systems to enter the bios when trying to
run a COM file.
The files are now able to work with the Zenith bios, except for
a number of addresses the bios knows of in the original CCP.
These addresses will be different when CPR860 is installed over
CPM.SYS. You will have to educate the bios by editing two of
its files to change these addresses & then reassemble.
Locate the following code in BIOS86.A86:
ORG CPMCCP+0939H
DFTDRV RB 0 ;DEFAULT DRIVE
Change the +0939H to +0736H & save the modified file.
The following changes have to be made in PATHNDLR.LIB:
1. Find the following code section & comment it out with ';'
at the beginning of each line (leave the PATCH02: label alone).
PATCH02:
; IF R8085
; LEA DI,COMFCB+9
; LEA SI,COMTYPE
; MOV CX,3
; CLD
; REP MOVSB
; CALL OPENC
; JNZ PATCH02A
; ENDIF
; CALL RESETDISK
; JMP JPCOMER
CPR86 has already done this work for you, as well as checking
the required drives/user areas on the search path for both CMD &
COM files! If it gets this far, CPR has already switched to the
correct du & opened the COM file.
2. Toward the end of the module, a number of locations in the
CCP (soon CPR) are defined. You must redefine each ORG
statement as follows:
NAME ORIG ORG NEW ORG
LOADERR: 06DCH 0539H
GOUSER: 0738H 0620H
COMFCB 0827H 085BH
The first two locations show PATHNDLR where to renter CPR86,
depending on whether or not it was able to successfully load the
COM file. The last address is used elsewhere in the bios, but
defined here. Save the modified file & reassemble a new bios &
then a new CPM.SYS, as follows:
[NOTE: IF USING 5" DISKS, YOU'LL HAVE TO WATCH YOUR SPACE WHILE
DOING THIS.]
ASM86 BIOS86 $PZ SZ
PIP CPMX.H86=CPM.H86,BIOS86.H86[v
GENCMD CPMX 8080 CODE[A40]
REN CPM.SYS=CPMX.CMD
At this point you should switch over to the instructions in
CPR860's INSTL0.DOC to complete the merging of CPR860.CMD into
CPM.SYS. 05/25/84