home *** CD-ROM | disk | FTP | other *** search
-
- ; ED405.FIX ED405.ASM dated 1984 May
-
- ; This file is an overlay to EDFILE.COM which provides modifications.
- ; Since EDFILE is a particularly popular public domain program and
- ; since more fixes and modifications are sure to follow, this patch
- ; will be referred to by its date...4 for 1984 and 05 for May.
-
- ; This patch by Clint Lew, Russell Gaspari and Dan Taylor
- ; South Bay Technical Support Group RCP/M (213) 970-9238
-
- ; === PART 1...patch to allow use of hex addresses
-
-
- ; EDFILE as originally written jumps to addresses in decimal,
- ; and only jumps to hex addresses if entry is followed by "H".
-
- ; For example, Address? 23C9 is interpreted as decimal
- ; 23C9H is interpreted as hex
-
- ; If you wish all addresses to be input in hex (as in DDT)
- ; then make the following patch modification to EDFILE.COM.
-
- ; Address old contents new contents
- ; 1C62 0A 10
-
- ORG 1C62H
- DB 10H
-
- ; === PART 2...patch to provide use of function keys
-
-
- ORG 2AC5H
- ; LXI H,2AB4H ;replace this
- LXI H,KEY ;with end of orig program
-
- JOUT: EQU 2AB4H
-
-
- ORG 2C00H ;orig version ended here
-
- KEY: CPI 80H ;see if bit 8 set
- CNC KEYFN ;if so, call the subroutine
- JMP JOUT ;return to EDFILE.COM
-
- KEYFN: ;subroutine to replace fn keys
- MOV D,A ;save the char for future use
- LXI H,KEYTABL ;prepare to search table
- KEYFN1: ;start the search
- MOV A,D ;retrieve for KEYFN3 return
- CMP M ;compare the char to the table
- JZ KEYFN4 ;if match go make exchange
- KEYFN2: ;no match so continue search
- INX H ;next byte in the table
- MOV A,M ;move it in for inspection
- CPI 0FFH ;because FF marks end of table
- JNZ KEYFN3 ;if not end continue search
- MVI A,0 ;no more char in table so...
- RET ;return a zero
- KEYFN3: ;keep searching
- CPI 80H ;bytes below 80 are replacements
- JC KEYFN2 ;jump past replacement bytes
- JMP KEYFN1 ;compare the function key bytes
- KEYFN4: ;substitution
- INX H ;the substitution is the byte
- MOV A,M ;....after the match
- RET ;....so return with it
- KEYTABL: ;my function key replacement table
- DB 82H,0BH ;if up-arrow send a ^K
- DB 86H,0CH ;if right-arrow send ^L
- DB 88H,08H ;if left-arrow send ^H
- DB 8AH,0AH ;if down-arrow send ^J
- DB 0DBH,42H ;if key F1 send B
- DB 0E9h,5AH ;if key F15 send Z
- DB 0FFH ;important -- marks end of table
- ;
- END ;this will be the new end address
- ;... of EDFILE.COM
-
-
- ;*************************************************************
- ; General usage instructions for using ASM overlays
- ;*************************************************************
-
- ; I N S T R U C T I O N S
- ;
- ;
- ; First, edit this file to your preferences using any editor.
- ; Wordstar in non-document mode works very well for this.
- ;
- ; Second, assemble this file using Digital Research's CP/M
- ; assembler ASM.COM. For the file ED405.ASM, enter ASM ED405.
- ;
- ; Lastly, use DDT to overlay the results of this EDOVR program
- ; onto EDFILE.COM. The procedure for this overlay follows:
- ;
- ; A>DDT EDFILE.COM
- ; DDT VERS 2.2
- ; NEXT PC
- ; 2C00 0100 (size varies with version)
- ; -IED405.HEX (note the "I" command)
- ; -R ("R" loads in the .HEX file)
- ; NEXT PC
- ; 2C80 0000
- ; -G0 (return to CP/M)
- ; A>SAVE 44 EDFILE.COM (now have a modified .COM file)
- ;
- ; = = = = = = = = = = = = = = = = = =