Выше я пытался сказать, что нужно сделать что-то типа такого:
Можно вынести в отдельную процедуру илиКод:; так сделано у меня, потому что я стираю предыдущий спрайт, у себя можешь использовать
значения после вызова XYTOSC
MOV (R2)+,@#176640; адрес
MOV (R2)+,R1 ;ширина
MOV (R2)+,3$+2 ;высота
MOV (R2)+,R3 ;Сдвиг
;-----------------------------
ADD R3,R3
ADD #MASK,R3
MOV (R3),R0
;------------------------------
111$:
MOV R1,-(SP)
MOV @#176640,-(SP)
2$:
COM R0
BIC R0, @#176642
INC @#176640
COM R0
BIC R0, @#176642
SOB R1,2$
MOV (SP)+,@#176640
MOV (SP)+,R1
4$:
ADD #80.,@#176640
3$: DEC #0
BNE 111$
;---------------------------------
; Маска есть уже в PUTSPR
MASK:
.WORD ^B0000000000000000
.WORD ^B0000000100000001
.WORD ^B0000001100000011
.WORD ^B0000011100000111
.WORD ^B0000111100001111
.WORD ^B0001111100011111
.WORD ^B0011111100111111
.WORD ^B0111111101111111
.WORD ^B1111111111111111
Вставить в PUTSPR перед записью в планыКод:COM R0
BIC R0, @#176642
.........
.........
COM R0
BIC R0, @#176642

