2022-06-21 18:33:17 +00:00
|
|
|
; Specialize routines for handling two sprites.
|
2022-06-20 20:55:09 +00:00
|
|
|
TwoSpriteData mac
|
|
|
|
lda (sprite_ptr1),y
|
|
|
|
db $37,sprite_ptr0 ; and [sprite_ptr0],y
|
|
|
|
ora (sprite_ptr0),y
|
|
|
|
<<<
|
|
|
|
|
|
|
|
TwoSpriteMask mac
|
|
|
|
db $B7,sprite_ptr1 ; lda [sprite_ptr1],y
|
|
|
|
db $37,sprite_ptr0 ; and [sprite_ptr0],y
|
|
|
|
<<<
|
|
|
|
|
|
|
|
CopyFourSpritesDataAndMaskToDP
|
|
|
|
CopyThreeSpritesDataAndMaskToDP
|
|
|
|
CopyTwoSpritesDataAndMaskToDP
|
2022-06-21 16:23:06 +00:00
|
|
|
pei DP2_SPRITEDATA_AND_TILESTORE_BANKS
|
|
|
|
plb
|
|
|
|
|
2022-06-20 20:55:09 +00:00
|
|
|
]line equ 0
|
|
|
|
lup 8
|
|
|
|
ldy #{]line*SPRITE_PLANE_SPAN}
|
|
|
|
TwoSpriteData
|
|
|
|
sta tmp_sprite_data+{]line*4}
|
|
|
|
TwoSpriteMask
|
|
|
|
sta tmp_sprite_mask+{]line*4}
|
|
|
|
|
|
|
|
ldy #{]line*SPRITE_PLANE_SPAN}+2
|
|
|
|
TwoSpriteData
|
|
|
|
sta tmp_sprite_data+{]line*4}+2
|
|
|
|
TwoSpriteMask
|
|
|
|
sta tmp_sprite_mask+{]line*4}+2
|
|
|
|
]line equ ]line+1
|
|
|
|
--^
|
2022-06-21 16:23:06 +00:00
|
|
|
|
|
|
|
plb
|
2022-06-20 20:55:09 +00:00
|
|
|
jmp (K_TS_SPRITE_TILE_DISP,x)
|
|
|
|
|