home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
beehive
/
zcat
/
rmacmod.lbr
/
R&MACMOD.AQM
/
R&MACMOD.ASM
Wrap
Assembly Source File
|
1991-01-30
|
4KB
|
137 lines
;*****************************************************************
;
; Patches for MAC and RMAC
; ------------------------
;
; by George Blat
; Blat, Research + Development Corp.
; 8016 188th SW
; Edmonds, WA 98020
;
;*****************************************************************
;
; The following changes are (c) 1983 Blat R+D Corp.
; Permission is granted to use these patches only in
; non-commercial applications.
; MAC and RMAC are trademarks of Digital Research, Inc.
; which holds ownership and all rights to the original
; programs.
;
;*****************************************************************
;
; Among the features that can be added to MAC and RMAC are the
; ability to use the period '.' and the underscore '_' as part of
; symbol names such as labels, even as first character of the
; symbol. The underscore, for instance, makes a much better word
; separator than the dollar '$' sign when used in a multi-word
; label. In a dense program listing, it's certainly easier to find
; STAT_PORT than STAT$PORT, and @hl_to_de than @hl$to$de.
;
; By the same token, I don't agree with the decision of Digital
; Research of making the dollar sign a don't care character. It
; introduces confusion as it allows symbols that don't look the
; same to be equivalent.
;
; In addition, RMAC can be easily patched to create .REL files
; where the global (external) names have up to 7 active characters.
; This helps by allowing you to create more meaningful symbol names
; and therefore improve program legibility. This change is still
; entirely compatible with the industry standard Microsoft format.
;
; Typed in and tested by Daniel L. Talley, Sr. 26 APR 85
;
; Changed first `CPI' at the `PATCHAREA' label from '.' to '$' to
; support the L80-style $MEMRY symbol as well as DRI's ?MEMRY.
; I don't think too many folks will miss the ability to use periods
; to begin labels and other symbols - Bruce Morgen 6/24/85
;*****************************************************************
;
; The following patches should be assembled with MAC (not RMAC)
; and the resulting .hex file should be applied over the original
; programs with DDT, SID or ZSID. KEEP AN ARCHIVE COPY OF THE
; ORIGINAL MAC OR RMAC BEFORE PATCHING.
false equ 0
true equ not false
rmac equ true ; select one and only one of
mac equ false ; these.
if rmac
global7 equ true ; set to false if you don't want
; 7 char globals
patcharea equ 13bh
dollarcounts equ 1d7ah ; set this to false if you like to
; keep the dollar as a don't care char
checkalfa equ 1d9ch
toup equ 2844h
endif
if mac
copyrite equ 103h ; shorten but keep the copyright notice
dollarcounts equ 1834h
checkalfa equ 1853h
global7 equ false ; We have no globals in MAC <DLT>
; Above line was not in original listing
endif
if mac
org copyrite
db '(c)1977 DRI'
patcharea:
endif
if rmac
org patcharea
endif
cpi '$' ;changed from '.' - b/m
rz
cpi '_'
rz
cpi '?'
rz
cpi '@'
rz
if rmac
call toup
endif
sui 'A'
cpi 'Z'-'A'+1
cmc
ret
if rmac and global7
compare equ 12d6h
setit7 equ 12dbh
org compare
cpi 8 ;replaces cpi 7
org setit7
mvi a,7 ;replaces mvi a,6
endif
if dollarcounts
org dollarcounts
nop ;replaces mov m,a
endif ;since DDT won't overlay a value of 00h,
;hand patch this as per RMAC.MQD by
;S. Kluger - b/m
org checkalfa
call patcharea ;replaces cpi 3f
cmc ;jz 1db1
sbb a ;cpi 40
ret ;jz 1db1, etc.
end
er - b/m
org checkalfa
call patcharea ;replaces cpi 3f
cmc ;jz 1db1
sbb a ;cpi 40