home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol074
/
pcpatch.asm
< prev
next >
Wrap
Assembly Source File
|
1984-04-29
|
1KB
|
96 lines
TRUE EQU 0FFFFH
FALSE EQU NOT TRUE
;
WBOOT EQU 0 ;WARM BOOT ENTRY
BDOS EQU 0005H ;BDOS ENTRY LOCATION
ACR EQU 0DH ;ASCII CARRIAGE RETURN
ALF EQU 0AH ;ASCII LINE FEED
AFF EQU 0CH ;ASCII FORM FEED
;
PIP20 EQU FALSE
;
ORG 0167H
;
PATCH$1:
CALL 0894H
CALL MOVE$NAME
RET
;
PATCH$2:
MVI E,0FFH ;DIRECT CONSOLE INPUT FLAG
MVI C,06H ;DIRECT CONSOLE I/O
CALL BDOS ;GET CONSOLE KEY
CPI ACR ;QUIT ?
JZ WBOOT
CALL MOVE$NAME
IF PIP20
JMP 1B5FH
ELSE
JMP 1B5AH
ENDIF
;
MOVE$NAME:
PUSH PSW
LXI H,005DH ;POINT TO FILE NAME IN FCB
LXI D,DUMMY ;TEMP NAME STORE
MVI B,11 ;LENGTH OF NAME
NAME$LOOP:
LDAX D ;GET A BYTE FROM STORE
MOV C,A ;HOLD IT IN C
MOV A,M ;GET BYTE FROM FCB
MOV M,C ;PUT STORE BYTE INTO FCB
STAX D ;PUT FCB BYTE INTO STORE
INX H ;POINT TO NEXT BYTES
INX D
DCR B ;ADJUST COUNT
JNZ NAME$LOOP
POP PSW
RET
;
DUMMY DB '???????????' ;TEMPORARY FILE NAME STORE
;
ORG 5A8H
;
NOP
NOP
NOP
;
IF NOT PIP20
ORG 1AEFH
DB 0FAH
ENDIF
;
IF PIP20
ORG 1B95H
ELSE
ORG 1B6EH
ENDIF
;
DW PATCH1
;
IF PIP20
ORG 1C46H
ELSE
ORG 1C0CH
ENDIF
;
DW PATCH2
;
END