From d720f0ccac99267a1f1c1070c98927f95f19dd4f Mon Sep 17 00:00:00 2001 From: Lucas Scharenbroich Date: Mon, 27 Jun 2022 17:15:27 -0500 Subject: [PATCH 1/3] Add two additional functions --- macros/GTE.Macs.s | 6 ++++++ src/Tool.s | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/macros/GTE.Macs.s b/macros/GTE.Macs.s index c752869..2f64785 100644 --- a/macros/GTE.Macs.s +++ b/macros/GTE.Macs.s @@ -105,6 +105,12 @@ _GTEClearOverlay MAC _GTEGetTileDataAddr MAC UserTool $2400+GTEToolNum <<< +_GTEFillTileStore MAC + UserTool $2500+GTEToolNum + <<< +_GTERefresh MAC + UserTool $2600+GTEToolNum + <<< ; EngineMode definitions ; Script definition diff --git a/src/Tool.s b/src/Tool.s index 9e00188..bd8970c 100644 --- a/src/Tool.s +++ b/src/Tool.s @@ -88,6 +88,8 @@ _CallTable adrl _TSClearOverlay-1 adrl _TSGetTileDataAddr-1 + adrl _TSFillTileStore-1 + adrl _TSRefresh-1 _CTEnd _GTEAddSprite MAC UserTool $1000+GTEToolNum @@ -663,6 +665,47 @@ _TSGetTileDataAddr _TSExit #0;#0 +; FillTileStore(tileId) +_TSFillTileStore +:tileId equ FirstParam+0 + + _TSEntry + + stz tmp0 +:oloop + stz tmp1 +:iloop + ldx tmp1 + ldy tmp0 + lda :tileId,s + jsr _SetTile + + lda tmp1 + inc + sta tmp1 + cmp #TILE_STORE_WIDTH + bcc :iloop + + lda tmp0 + inc + sta tmp0 + cmp #TILE_STORE_HEIGHT + bcc :oloop + + _TSExit #0;#2 + +; _TSRefresh() +_TSRefresh + _TSEntry + + ldx #TILE_STORE_SIZE-2 +:loop jsr _PushDirtyTileX + dex + dex + bpl :loop + + _TSExit #0;#0 + ; Insert the GTE code put Math.s From f18dad0692df0f80dc04f40643143cef65ffa04c Mon Sep 17 00:00:00 2001 From: Lucas Scharenbroich Date: Mon, 27 Jun 2022 17:17:48 -0500 Subject: [PATCH 2/3] Fix typo in tool demo --- demos/tool/App.Main.s | 2 -- 1 file changed, 2 deletions(-) diff --git a/demos/tool/App.Main.s b/demos/tool/App.Main.s index 9fd95f5..548d009 100644 --- a/demos/tool/App.Main.s +++ b/demos/tool/App.Main.s @@ -9,8 +9,6 @@ use EDS.GSOS.Macs use GTE.Macs - use ../../src/Defs.s - mx %00 TSZelda EXT ; tileset buffer From 65be8135da44e1397dcdd7a818e8a7fb3a43a4aa Mon Sep 17 00:00:00 2001 From: Lucas Scharenbroich Date: Mon, 27 Jun 2022 17:22:22 -0500 Subject: [PATCH 3/3] Add test keys for new functions --- demos/tool/App.Main.s | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/demos/tool/App.Main.s b/demos/tool/App.Main.s index 548d009..179db9e 100644 --- a/demos/tool/App.Main.s +++ b/demos/tool/App.Main.s @@ -290,9 +290,10 @@ HERO_SPRITE equ SPRITE_16X16+1 :10 cmp #$0A bne :11 dec ScreenY + brl :next :11 cmp #'y' - bne :next + bne :12 lda DTile inc and #$007F @@ -300,6 +301,17 @@ HERO_SPRITE equ SPRITE_16X16+1 pha pea $0000 _GTECopyTileToDynamic + brl :next + +:12 cmp #'f' + bne :13 + pea $0000 + _GTEFillTileStore + brl :next + +:13 cmp #'m' + bne :next + _GTERefresh :next ; inc ScreenX