diff --git a/demos/sprites/gen/App.TileMapBG0.s b/demos/sprites/gen/App.TileMapBG0.s index 584ffb3..2e62424 100644 --- a/demos/sprites/gen/App.TileMapBG0.s +++ b/demos/sprites/gen/App.TileMapBG0.s @@ -184,7 +184,7 @@ App_TileMapBG0 dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0009,$000a,$0021,$0021,$0021,$0021,$0021,$0021,$001f,$0020,$0018,$0019,$0018,$0019,$0018,$0019,$001f,$0020,$0021,$0021 - dw $0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 + dw $0801,$0801,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$000f,$0010,$0011,$0012,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 @@ -192,7 +192,7 @@ App_TileMapBG0 dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0009,$000a,$0021,$0021,$0021,$0021,$0021,$0021,$001a,$001a,$001a,$001a,$0039,$003a,$001a,$001a,$001a,$001a,$0021,$0021 - dw $0021,$0021,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$000b,$000c,$000d,$000e,$0021,$0021,$0021,$0021 + dw $0801,$0801,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$000b,$000c,$000d,$000e,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 dw $0021,$0021,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021 diff --git a/src/Core.s b/src/Core.s index 7a26c4d..3e0e28b 100644 --- a/src/Core.s +++ b/src/Core.s @@ -404,7 +404,7 @@ ReadControl ENT put blitter/Template.s put blitter/Tiles.s put blitter/Tiles00000.s -; put blitter/Tiles00001.s + put blitter/Tiles00001.s ; put blitter/Tiles00010.s ; put blitter/Tiles00011.s put blitter/Tiles10000.s diff --git a/src/blitter/Tiles.s b/src/blitter/Tiles.s index c1fcb4d..dcbde13 100644 --- a/src/blitter/Tiles.s +++ b/src/blitter/Tiles.s @@ -133,7 +133,7 @@ _RenderTile2 rep #$20 lda TileStore+TS_CODE_ADDR_LOW,y ; load the address of the code field pha - lda TileStore+TS_BASE_ADDR,y ; load the address of the code field + lda TileStore+TS_BASE_ADDR,y ; load the base address of the code field sta _BASE_ADDR lda TileStore+TS_WORD_OFFSET,y @@ -152,45 +152,47 @@ _RenderTile2 ; ; One set for normal, horizontally flipped, vertically flipped and hors & vert flipped. ; A second set that are optimized for when EngineMode has BG1 disabled. -TileProcs dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00000 : normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00001 : dynamic tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00010 : masked normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00011 : masked dynamic tiles +TileProcs dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00000 : normal tiles + dw _TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00 ; 00001 : dynamic tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00010 : masked normal tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00011 : masked dynamic tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00100 : fringed normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00101 : fringed dynamic tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00110 : fringed masked normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00111 : fringed masked dynamic tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00100 : fringed normal tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00101 : fringed dynamic tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00110 : fringed masked normal tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00111 : fringed masked dynamic tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01000 : high-priority normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01001 : high-priority dynamic tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01010 : high-priority masked normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01011 : high-priority masked dynamic tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01000 : high-priority normal tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01001 : high-priority dynamic tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01010 : high-priority masked normal tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01011 : high-priority masked dynamic tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01100 : high-priority fringed normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01101 : high-priority fringed dynamic tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01110 : high-priority fringed masked normal tiles - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01111 : high-priority fringed masked dynamic tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01100 : high-priority fringed normal tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01101 : high-priority fringed dynamic tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01110 : high-priority fringed masked normal tiles + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01111 : high-priority fringed masked dynamic tiles - dw _TBSolidSpriteTile_00,_TBSolidSpriteTile_0H,_TBSolidSpriteTile_V0,_TBSolidSpriteTile_VH ; 10000 : normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10001 : dynamic tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10010 : masked normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10011 : masked dynamic tiles w/sprite + dw _TBSolidSpriteTile_00,_TBSolidSpriteTile_0H, + dw _TBSolidSpriteTile_V0,_TBSolidSpriteTile_VH ; 10000 : normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10001 : dynamic tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10010 : masked normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10011 : masked dynamic tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10100 : fringed normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10101 : fringed dynamic tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10110 : fringed masked normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10111 : fringed masked dynamic tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10100 : fringed normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10101 : fringed dynamic tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10110 : fringed masked normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10111 : fringed masked dynamic tiles w/sprite - dw _TBSolidPrioritySpriteTile_00,_TBSolidPrioritySpriteTile_0H,_TBSolidPrioritySpriteTile_V0,_TBSolidPrioritySpriteTile_VH ; 11000 : high-priority normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11001 : high-priority dynamic tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11010 : high-priority masked normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11011 : high-priority masked dynamic tiles w/sprite + dw _TBSolidPrioritySpriteTile_00,_TBSolidPrioritySpriteTile_0H, + dw _TBSolidPrioritySpriteTile_V0,_TBSolidPrioritySpriteTile_VH ; 11000 : high-priority normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11001 : high-priority dynamic tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11010 : high-priority masked normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11011 : high-priority masked dynamic tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11100 : high-priority fringed normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11101 : high-priority fringed dynamic tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11110 : high-priority fringed masked normal tiles w/sprite - dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11111 : high-priority fringed masked dynamic tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11100 : high-priority fringed normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11101 : high-priority fringed dynamic tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11110 : high-priority fringed masked normal tiles w/sprite + dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11111 : high-priority fringed masked dynamic tiles w/sprite ; _TBConstTile ; diff --git a/src/blitter/Tiles00001.s b/src/blitter/Tiles00001.s index 5cad5a6..e86b654 100644 --- a/src/blitter/Tiles00001.s +++ b/src/blitter/Tiles00001.s @@ -8,19 +8,14 @@ ; This tile type does not explicitly support horizontal or vertical flipping. An appropriate tile ; descriptor should be passed into CopyTileToDyn to put the horizontally or vertically flipped source ; data into the dynamic tile buffer -_TBDynamicTile dw _TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00 - dw _TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00 - _TBDynamicTile_00 jsr _TBDynamicData jmp _TBFillLdaDpOpcode -; Primitives to render a dynamic tile +; Primitive to render a dynamic tile ; ; LDA 00,x / PHA where the operand is fixed when the tile is rendered ; $B5 $00 $48 -; -; A = dynamic tile id (must be <32) _TBDynamicData txa asl @@ -43,6 +38,7 @@ _TBDynamicData lup 8 sta: $0001+{]line*$1000},y ]line equ ]line+1 + --^ rts