From de0829665ca99e646a23d028c3fb1cdf5dc71ad8 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 4 Jun 2023 10:05:24 -0400 Subject: [PATCH] another smol optimization based on a fact that you do not have to store a value before calling displaybyte proc --- Atari/textproc.asm | 45 +++++++++++++++++++++------------------------ game.asm | 4 ++-- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56258 -> 56238 bytes scorchC64.prg | Bin 39481 -> 39479 bytes 5 files changed, 23 insertions(+), 26 deletions(-) diff --git a/Atari/textproc.asm b/Atari/textproc.asm index 782b917..8ca3c4c 100644 --- a/Atari/textproc.asm +++ b/Atari/textproc.asm @@ -518,7 +518,7 @@ DeffensiveSelected ;now number of units (shells) to be purchased adw xbyte #22 displayposition ; 23 chars from the beginning of the line lda WeaponUnits,x - sta decimal + ;sta decimal jsr displaybyte ldx @weapon_index ;getting back index of the weapon @@ -562,11 +562,10 @@ itIsInventory notInventory ; number of posessed shells + adw xbyte #1 displayposition lda @weapon_index ; weapon index again jsr HowManyBullets - sta decimal - - adw xbyte #1 displayposition + ;sta decimal jsr displaybyte ldx @weapon_index @@ -1456,6 +1455,7 @@ nexdigit ; leading zeores are removed ; the range is (00..99 - one byte) + sta decimal ldy #1 ; there will be 2 digits NextDigit2 ldx #8 ; 8-bit dividee so Rotate 8 times @@ -1825,8 +1825,8 @@ ThisIsAI ;========================= lda ActiveWeapon,x jsr HowManyBullets - sta decimal - mwa #statusBuffer+21 displayposition + ;sta decimal + mwx #statusBuffer+21 displayposition jsr displaybyte ;========================= @@ -1866,8 +1866,8 @@ ActiveDefence ;displaying the energy of a tank ;========================= lda Energy,x - sta decimal - mwa #statusBuffer+48 displayposition + ;sta decimal + mwx #statusBuffer+48 displayposition jsr displaybyte ;========================= @@ -1885,10 +1885,9 @@ ActiveDefence beq NoDefenceWeapon lda ShieldEnergy,x beq NoShieldEnergy - sta decimal ; displayed value - lda #char_bracketO ; ( - sta statusBuffer+40+10 - mwa #statusBuffer+40+11 displayposition + ;sta decimal ; displayed value + mvx #char_bracketO statusBuffer+40+10 ; ( + mwx #statusBuffer+40+11 displayposition jsr displaybyte lda #char_bracketC ; ) sta statusBuffer+40+13 @@ -1920,16 +1919,16 @@ DisplayLeftWind DisplayWindValue :4 lsrw temp ;divide by 16 to have a nice value on a screen lda temp - sta decimal - mwa #statusBuffer+80+18 displayposition + ;sta decimal + mwx #statusBuffer+80+18 displayposition jsr displaybyte ;========================= ;display round number ;========================= lda CurrentRoundNr - sta decimal - mwa #statusBuffer+80+7 displayposition + ;sta decimal + mwx #statusBuffer+80+7 displayposition jsr displaybyte ;decimal (byte), displayposition (word) ;========================= @@ -1955,29 +1954,27 @@ displayAngle bcs AngleToLeft AngleToRight ; now we have values from 0 to 89 and right angle - sta decimal + ;sta decimal sty statusBuffer+40+22 ; (space) character - lda #char_TAB ; (tab) character - sta statusBuffer+40+25 + mvx #char_TAB statusBuffer+40+25 ; (tab) character bne AngleDisplay AngleToLeft sec lda #180 sbc AngleTable,x ; angles 180 - 91 converted to 0 - 89 - sta decimal + ;sta decimal sty statusBuffer+40+25 ; (space) character - lda #char_DEL ;(del) char - sta statusBuffer+40+22 + mvx #char_DEL statusBuffer+40+22 ;(del) char bne AngleDisplay VerticallyUp ; now we have value 90 - sta decimal + ;sta decimal sty statusBuffer+40+25 ; (space) character sty statusBuffer+40+22 ; (space) character AngleDisplay - mwa #statusBuffer+40+23 displayposition + mwx #statusBuffer+40+23 displayposition jsr displaybyte ldx TankNr rts diff --git a/game.asm b/game.asm index 24eaf22..3376ec5 100644 --- a/game.asm +++ b/game.asm @@ -1247,8 +1247,8 @@ SetRandomWalls cmp RoundsInTheGame beq GameOver4x4 - sta decimal - mwa #RoundNrDisplay displayposition + ;sta decimal + mwx #RoundNrDisplay displayposition jsr displaybyte ;decimal (byte), displayposition (word) mwa #LineHeader1 LineAddress4x4 diff --git a/scorch.bin b/scorch.bin index 8623f649ebc56630d1c7b0219e1d064ceb27b0cf..1f99a31f0e36c23d69e20c03d4ee80b1a2d41d08 100644 GIT binary patch delta 7625 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 K=tm#8=>G?=Em@ub delta 7517 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 KrTxqWH~oLaV>Rml diff --git a/scorchC64.prg b/scorchC64.prg index 58a60f8f47d07da1aeb3c2dd302c040bba223fa2..0f670e91e7e4a7c582f4f6092fb53f319967c6d4 100644 GIT binary patch delta 5659 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 P&3~?E9@INmI&=OXO{cew delta 5616 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