Product specifications

;= offending sprite X coord
LD (IX+4),L ;Byte 5 of table IMPSPR
;= offending sprite Y coord
CALL VDINPT ;Byte 6 of table IMPSPR
LD (IX+5),C ;= offending sprite pattern number
CALL VDINPT ;Byte 7 of table IMPSPR
LD (IX+6),C ;= offending sprite pattern colour
LD A,32 ;Byte 1 of table IMPSPR
SUB B ;= offending sprite number
LD (IX+0),A
SLA A ;Determine actual VRAM
SLA A ;address of offending sprite
LD E,A ;using the reference value
LD D,0 ;start address for the VRAM
LD HL,(SATSAD) ;sprite attribute table held
ADD HL,DE ;in the two byte location
;SATSAD and the loop counter
;value held in register B
LD (IX+1),L ;Bytes 2 and 3 of table
:IMPSPR hold two byte VRAM
LD (IX+2),H ;address of offending sprite
;
IMPAC4: POP IX ;Reset old IX register pair
POP HL ;Reset old HL register pair
POP DE ;Reset old DE register pair
POP BC ;Reset old BC register pair
POP AF ;Reset old Acc and flags
RET ;Return to calling routine
;
; COMTSB-COMPARE TWO SPRITE BLOCKS
- - - - - -
;
;
; COMPARES TWO SPRITE BLOCKS
; ONE SET X,Y IN HL RESPECTIVELY
; THE OTHER, X,Y IN DE RESPECTIVELY
; AND RETURNS TRUFAL = 1 IF TRUE
; ELSE TRUFAL = 0
;
; SPRITE X COORDS MUST NOT EQUAL 0 AND
; SPRITE Y COORDS MUST NOT EQUAL 192
;
OFFSET: DB 0 ;Reserve 1 byte for variable
:OFFSET
;
COMTSB: LD A,4 ;Set variable OFFSET to 4
LD (OFFSET),A ;
LD A,0 ;Set impact true/false
LD (TRUFAL),A ;variable to false
;