mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-22 16:04:18 +00:00
159 lines
5.5 KiB
Plaintext
159 lines
5.5 KiB
Plaintext
CP/M V2.2
|
|
Application Note 02, 2/20/82
|
|
Reversing the BACKSPACE and RUBOUT Key Functions and
|
|
Making RUBOUT Identical to BACKSPACE
|
|
|
|
Copyright 1982 by Digital Research
|
|
CP/M is a registered trademark of Digital Research.
|
|
DDT and SID are trademarks of Digital Research.
|
|
Compiled November 1982
|
|
|
|
|
|
Applicable products and version numbers: CP/M V2.1 and V2.2
|
|
|
|
Program: BDOS
|
|
|
|
In the following code segment procedures, addresses given are
|
|
hexadecimal offsets from the base of the CP/M system. The CCP is
|
|
usually located at 980H but can be located at A00H if a two-sector
|
|
boot is used.
|
|
|
|
You can assemble the patch for your size memory system. The
|
|
cpmbase equals the BDOS entry point address at locations 6 and 7
|
|
in the base page of memory minus 806H. You must change this entry
|
|
point address when you load DDT or SID . Under DDT or SID,
|
|
follow the jump at location 5 until an address is found with a
|
|
least significant digit of 6. In the following example, the
|
|
cpmbase would be E506H-806H or DD00H.
|
|
|
|
|
|
0005 JMP CD00
|
|
CD00 JMP D3A4
|
|
D3A4 XTHL
|
|
D3A5 SHLD E452
|
|
D3A8 XTHL
|
|
D3A9 JMP E506
|
|
|
|
|
|
Procedure to reverse the BACKSPACE and RUBOUT key functions:
|
|
|
|
Patch into the SYSGEN or MOVCPM image exactly as you would
|
|
patch in a new version of your BIOS, using the DDT i command
|
|
followed by the DDT r command. You can use the same offset as
|
|
your custom BIOS and install the following code:
|
|
|
|
|
|
cpmbase equ ? ;subtrack 806h from address at location 6
|
|
|
|
org cpmbase + 0A02h
|
|
|
|
cpi 7fh ;was cpi 08h
|
|
|
|
org cpmbase + 0A16h
|
|
|
|
cpi 08h ;was cpi 7fh
|
|
|
|
Or, you can install the above procedure directly into MOVCPM
|
|
if you have MOVCPM.COM on your system disk. The patch is applied
|
|
automatically to any size system that you build using MOVCPM.
|
|
Make a back-up copy of MOVCPM.COM before using DDT to make the
|
|
following changes:
|
|
|
|
|
|
A>ddt movcpm.com
|
|
DDT VERS 2.2
|
|
NEXT PC
|
|
2700 0100
|
|
-l1402
|
|
1402 CPI 08
|
|
1404 JNZ 0A16
|
|
1407 MOV A,B
|
|
1408 ORA A
|
|
1409 JZ 09EF
|
|
140C DCR B
|
|
140D LDA 0B0C
|
|
1410 STA 0B0A
|
|
1413 JMP 0A70
|
|
1416 CPI 7F
|
|
1418 JNZ 0A26
|
|
-s1403
|
|
1403 08 7f
|
|
1404 C2 .
|
|
-s1417
|
|
1417 7f 8
|
|
1418 C2 .
|
|
-g0
|
|
|
|
A>save 38 movcpm1.com
|
|
|
|
|
|
Use the new program MOVCPM1.COM in place of MOVCPM.COM. The
|
|
BACKSPACE and RUBOUT key functions are reversed for any CP/M
|
|
system generated with MOVCPM1.COM.
|
|
|
|
Procedure to make RUBOUT identical to BACKSPACE:
|
|
|
|
Before you install this patch, the code at cpmbase + 0A1Bh
|
|
should read:
|
|
|
|
mov a,b
|
|
ora a
|
|
jz cpmbase + 09EFh
|
|
mov a,m
|
|
dcr b
|
|
dcx h
|
|
jmp cpmbase + 0AA9h
|
|
|
|
|
|
|
|
|
|
Patch into the SYSGEN or MOVCPM image exactly as you would
|
|
patch in a new version of your BIOS, using the DDT i command
|
|
followed by the DDT r command. Use the same offset as your custom
|
|
BIOS and install the following code:
|
|
|
|
|
|
cpmbase equ ?
|
|
;
|
|
;
|
|
org cpmbase + 0A1Bh
|
|
;
|
|
mvi a,8h
|
|
jmp cpmbase + 0A07h
|
|
end
|
|
|
|
|
|
Or, you can install the above procedure directly into MOVCPM
|
|
if you have MOVCPM.COM on your system disk. The patch is
|
|
installed automatically in any size system that you build using
|
|
MOVCPM. Make a back-up copy of MOVCPM.COM before using DDT to
|
|
make the following changes.
|
|
|
|
A>ddt movcpm.com
|
|
DDT VERS 2.2
|
|
NEXT PC
|
|
2700 0100
|
|
-l141b
|
|
141B MOV A,B
|
|
141C ORA A
|
|
141D JZ 09EF
|
|
1420 MOV A,M
|
|
1421 DCR B
|
|
. . .
|
|
|
|
-a141b
|
|
141B mvi a,8
|
|
141D jmp a07
|
|
1420 .
|
|
-g0
|
|
|
|
A>save 38 movcpm1.com
|
|
|
|
|
|
Use the new program MOVCPM1.COM in place of MOVCPM.COM. The
|
|
RUBOUT and BACKSPACE key functions are identical in any CP/M
|
|
system generated with MOVCPM1.COM.
|
|
|
|
Licensed users are granted the right to include these
|
|
modifications in CP/M V2.2 software.
|