home *** CD-ROM | disk | FTP | other *** search
- 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
-