home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpm
/
dirutl
/
edir.lbr
/
NO-ERRS.AZM
/
NO-ERRS.ASM
Wrap
Assembly Source File
|
1987-12-24
|
2KB
|
61 lines
;NO-ERRS FOR CP/M 2.2 AS OF 11/28/87
;COPYRIGHT (C) 1987 ROBERT GREENLEE, P.O. BOX 23286, SAN DIEGO CA 92123
;PHONE VOICE 619-268-0112
; MODEM 619-569-8613.
;
;THIS PROGRAM IS A PAL OF EDIR'S. REFER TO EDIR.DOC.
;
;THIS PROGRAM PREVENTS THE BIOS DISK READ FUNCTION FROM REPORTING READ ERRORS.
;
ORG 0100H
JMP START
MESSAGE:
DB 0DH,0AH
DB 'NO-ERRS v1.0 (C) 1987 by Robert Greenlee, P.O. Box 23286,',0DH,0AH
DB 'San Diego, CA 92123. 619-268-0112 Voice. Modem 619-569-8613.',0DH,0AH
DB 0DH,0AH
DB 'This program prevents the DISK READ function in the CP/M BIOS',0DH,0AH
DB 'from reporting disk read errors. That will prevent CP/M and',0DH,0AH
DB 'most CP/M programs from detecting and responding to bad disk',0DH,0AH
DB 'sectors. Please refer to EDIR.DOC for examples of how this',0DH,0AH
DB 'program can be of use.',0DH,0AH
DB 0DH,0AH
DB 'To terminate NO-ERRS you must reset your computer.',0DH,0AH
DB '$'
START:
MVI C,9
LXI D,MESSAGE ;GIVE SIGNON MESSAGE
CALL 5
LDA 2
MOV D,A
MVI E,28H ;DE POINTS TO BIOS READSEC VECTOR (LSB)
LXI H,84 ;HL POINTS TO HOPEFULLY UNUSED LOCATIONS IN LOW MEM
MVI M,0CDH ;OPCODE FOR CALL
INX H
LDAX D
MOV M,A ;LSB FOR CALL WHICH WILL CALL READSEC IN BIOS
MVI A,84
STAX D ;SWITCH BIOS JMP TO READSEC TO COME TO LOW MEMORY CALL
INX H
INX D
LDAX D
MOV M,A ;SET MSB
MVI A,0
STAX D
INX H
MVI M,0AFH ;DOING XRA A AFTER EACH CALL TO READSEC WILL STOP
INX H ; ERRORS FROM GETTING THROUGH
MVI M,0C9H
RET
END