RELAXED ON
CPU Z80UNDOC
DZ MACRO DEFZ
DB DEFZ,0
ENDM
DC MACRO DEFC
IF STRLEN(DEFC)>1
DB SUBSTR(DEFC,0,STRLEN(DEFC)-1)
ENDIF
IF STRLEN(DEFC)>0
DB CHARFROMSTR(DEFC,STRLEN(DEFC)-1)|80H
ENDIF
ENDM
SUM_HOB MACRO STR,AA,BB,CC
DB STR
DW AA
DW BB
DW CC
$$I := 0
$$S := 0
REPT 9
$$N := CHARFROMSTR (STR,STRLEN(STR)+$$S-9)
$$I := $$I+$$N+($$N*256)
$$S := $$S+1
ENDM
$$I := ($$I+(AA&0XFF)+((AA&0XFF)*256)+(AA>>8)+((AA>>8)*256))&0XFFFF
$$I := ($$I+(BB&0XFF)+((BB&0XFF)*256)+(BB>>8)+((BB>>8)*256))&0XFFFF
$$I := ($$I+(CC&0XFF)+((CC&0XFF)*256)+(CC>>8)+((CC>>8)*256))&0XFFFF
$$I := ($$I+105)&0XFFFF
DW $$I
ENDM
DUPL MACRO LEN,FILL
DUPL:
$$N EQU (LEN) / 1024
$$M EQU (LEN) # 1024
REPT $$N
DB 1024 DUP(FILL)
ENDM
IF $$M <> 0
DB $$M DUP(FILL)
ENDIF
ENDM
HIGH FUNCTION X,((X >> 8) & 0XFF)
LOW FUNCTION X,(X & 0XFF)