Add 16x16 vertical flip routine

This commit is contained in:
Lucas Scharenbroich 2021-11-20 13:26:00 -06:00
parent b607275089
commit 65ce5cbbc0
1 changed files with 66 additions and 1 deletions

View File

@ -502,7 +502,7 @@ _DrawSpriteY
:draw_sprite dw draw_8x8,draw_8x8h,draw_8x8v,draw_8x8hv
dw draw_8x16,draw_8x16h,draw_8x16v,draw_8x16hv
dw draw_16x8,draw_16x8h,draw_16x8v,draw_16x8hv
dw draw_16x16,draw_16x16h,draw_16x16,draw_16x16h
dw draw_16x16,draw_16x16h,draw_16x16v,draw_16x16hv
draw_8x8
draw_8x8h
@ -663,6 +663,71 @@ draw_16x16h
ply
jmp _DrawTile8x8
draw_16x16v
clc
ldx _Sprites+VBUFF_ADDR,y
lda _Sprites+TILE_DATA_OFFSET,y
pha ; store some copies
phx
pha
adc #{128*32}
tay
jsr _DrawTile8x8V
txa
adc #{8*SPRITE_PLANE_SPAN}
tax
ply
jsr _DrawTile8x8V
pla
adc #4
tax
lda 1,s
adc #{128*{32+1}}
tay
jsr _DrawTile8x8V
txa
adc #{8*SPRITE_PLANE_SPAN}
tax
pla
adc #128
tay
jmp _DrawTile8x8V
; TODO
draw_16x16hv
clc
ldx _Sprites+VBUFF_ADDR,y
lda _Sprites+TILE_DATA_OFFSET,y
pha
adc #128+{128*32} ; Bottom-right source to top-left
tay
jsr _DrawTile8x8V
txa
adc #4
tax
lda 1,s
adc #{128*32}
tay
jsr _DrawTile8x8V
txa
adc #{8*SPRITE_PLANE_SPAN}-4
tax
lda 1,s
adc #128
tay
jsr _DrawTile8x8V
txa
adc #4
tax
ply
jmp _DrawTile8x8V
DrawTileSprite ENT
jsr _DrawTile8x8
rtl