mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-24 17:04:19 +00:00
Upload
Digital Research
This commit is contained in:
158
CPM OPERATING SYSTEMS/CPM 2.X/CPM 2.2/PATCHES/CPM22APN.02
Normal file
158
CPM OPERATING SYSTEMS/CPM 2.X/CPM 2.2/PATCHES/CPM22APN.02
Normal file
@@ -0,0 +1,158 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user