draw_map: converted to assembly to speed it up
This commit is contained in:
parent
ffea5013d0
commit
59a8a34912
|
@ -8,6 +8,61 @@
|
||||||
|
|
||||||
Dummy3 start ASMCODE
|
Dummy3 start ASMCODE
|
||||||
end
|
end
|
||||||
|
*
|
||||||
|
* void draw_map(void)
|
||||||
|
*
|
||||||
|
draw_map start ASM_CODE
|
||||||
|
phb
|
||||||
|
|
||||||
|
lda |map_tilesBank
|
||||||
|
sta |draw_tilesBank
|
||||||
|
|
||||||
|
pha
|
||||||
|
|
||||||
|
pea $0101
|
||||||
|
plb
|
||||||
|
plb
|
||||||
|
|
||||||
|
ldy #$2010+(160*8)
|
||||||
|
ldx #8*32
|
||||||
|
loop ANOP
|
||||||
|
lda >map_map,x
|
||||||
|
and #$00FF
|
||||||
|
ora 1,s
|
||||||
|
asl A
|
||||||
|
phx
|
||||||
|
tax
|
||||||
|
TILEBANK5 entry
|
||||||
|
lda >$880005,x
|
||||||
|
sta >TILEBANK6+1
|
||||||
|
TILEBANK6 entry
|
||||||
|
jsl >$880000
|
||||||
|
tya
|
||||||
|
adc #4
|
||||||
|
tay
|
||||||
|
plx
|
||||||
|
inx
|
||||||
|
txa
|
||||||
|
|
||||||
|
and #$1f
|
||||||
|
bne continue
|
||||||
|
|
||||||
|
tya
|
||||||
|
adc #160*8-(32*4)
|
||||||
|
tay
|
||||||
|
|
||||||
|
continue ANOP
|
||||||
|
|
||||||
|
cpx #(8*32)+(32*24)
|
||||||
|
blt loop
|
||||||
|
|
||||||
|
pla
|
||||||
|
|
||||||
|
plb
|
||||||
|
rtl
|
||||||
|
*-------------------------------------------------------------------------------
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
*
|
*
|
||||||
* void draw_tile(U8 tileNumber)
|
* void draw_tile(U8 tileNumber)
|
||||||
|
@ -103,6 +158,8 @@ iBank equ 4
|
||||||
sta >TILEBANK2+3
|
sta >TILEBANK2+3
|
||||||
sta >TILEBANK3+3
|
sta >TILEBANK3+3
|
||||||
sta >TILEBANK4+3
|
sta >TILEBANK4+3
|
||||||
|
sta >TILEBANK5+3
|
||||||
|
sta >TILEBANK6+3
|
||||||
rep #$30
|
rep #$30
|
||||||
lda 2,s
|
lda 2,s
|
||||||
sta iBank,s
|
sta iBank,s
|
||||||
|
|
|
@ -615,6 +615,7 @@ draw_spriteBackground(U16 x, U16 y)
|
||||||
*
|
*
|
||||||
* ASM 0af5, 0a54
|
* ASM 0af5, 0a54
|
||||||
*/
|
*/
|
||||||
|
#ifndef GFXGS
|
||||||
void
|
void
|
||||||
draw_map(void)
|
draw_map(void)
|
||||||
{
|
{
|
||||||
|
@ -633,6 +634,7 @@ draw_map(void)
|
||||||
draw_tile(map_map[i + 8][j]);
|
draw_tile(map_map[i + 8][j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue