From 3e0b801e8f56fd602c3815b3212d8d611244d0b8 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 3 Jun 2023 00:13:01 -0400 Subject: [PATCH] fresh page as requested --- Atari/textproc.asm | 150 +++++++++++++++++++++------------------------ constants.asm | 98 ++++++++++++++--------------- grafproc.asm | 2 +- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56616 -> 56295 bytes scorchC64.prg | Bin 39788 -> 39493 bytes 6 files changed, 120 insertions(+), 130 deletions(-) diff --git a/Atari/textproc.asm b/Atari/textproc.asm index 15f2058..ea78842 100644 --- a/Atari/textproc.asm +++ b/Atari/textproc.asm @@ -475,9 +475,9 @@ DeffensiveSelected ; Creating full list of the available weapons for displaying ; in X there is an index of the weapon to be checked, ; in 'Xbyte' address of the first char in filled screen line +@weapon_index = temp -CreateList - stx temp ; index of a weapon will be necessary later + stx @weapon_index ; index of a weapon will be necessary later ; checking if the weapon of the given index is present lda WeaponUnits,x jeq NoWeapon @@ -493,7 +493,7 @@ CreateList mwa #PurchaseTitle DLPurTitleAddr ; checking if we can afford buying this weapon - ldx temp + ;ldx @weapon_index lda moneyH,y cmp WeaponPriceH,x bne @+ @@ -505,14 +505,18 @@ CreateList ; we have enough cash and the weapon can be ; added to the list - ; first parentheses and other special chars + + ; clear list line + lda #0 + tay ; ldy #0 +@ sta (XBYTE),y + iny + cpy #32 ; end of price + bne @- + + ; first special chars ; (it's easier this way) - ;ldy #22 - ;lda #08 ; "(" - ;STA (XBYTE),y - ;ldy #32 - ;lda #09 ; ")" - ;sta (xbyte),y + ldy #24 lda #15 ; "/" sta (xbyte),y @@ -525,7 +529,7 @@ CreateList lda WeaponUnits,x sta decimal jsr displaybyte - ldx temp ;getting back index of the weapon + ldx @weapon_index ;getting back index of the weapon ; and now price of the weapon adw xbyte #25 displayposition ; 26 chars from the beginning of the line @@ -546,62 +550,36 @@ itIsInventory ; and Title mwa #InventoryTitle DLPurTitleAddr - ldx temp + ; ldx @weapon_index + ; WHAT THE HECK IS Y HERE???? I DO NOT UNDERSTAND!!!! lda TanksWeaponsTableL,y sta weaponPointer lda TanksWeaponsTableH,y sta weaponPointer+1 - ldy temp + ldy @weapon_index lda (weaponPointer),y jeq noWeapon - ; clear price area - ldy #21 ; beginning of the price area - lda #0 -@ sta (XBYTE),y - iny - cpy #32 ; end of price - bne @- - notInventory ; number of posessed shells - lda temp ; weapon index again + lda @weapon_index ; weapon index again jsr HowManyBullets sta decimal adw xbyte #1 displayposition jsr displaybyte - ldx temp ;weapon index + ldx @weapon_index ; now symbol of the weapon lda WeaponSymbols,x ldy #$4 ; 4 chars from the beginning of the line sta (xbyte),y ; and now name of the weapon and finisheeeedd !!!! - mva #0 temp+1 ; this number is only in X - ; times 16 (it's length of the names of weapons) - ldy #3 ; Rotate 4 times -@ - asl temp - rol temp+1 - dey - bpl @- - - adw temp #NamesOfWeapons-6 weaponPointer - - ldy #6 ; from 6th char on screen - -@ - lda (weaponPointer),y - sta (xbyte),y - iny - cpy #(16+6) - bne @- - - - ; in X there is what we need (weapon index) + adw xbyte #6 weaponPointer ; from 6th char on screen + txa + jsr DisplayWeaponName ; If on screen after the purchase there is still ; present the weapon purchased recently, @@ -1855,28 +1833,15 @@ ThisIsAI ;========================= ;displaying name of the weapon ;========================= + mwa #statusBuffer+24 weaponPointer ; from 24th char on screen ldx TankNr lda ActiveWeapon,x - sta temp ;get back number of the weapon - mva #0 temp+1 - ; times 16 (because this is length of weapon name) - ldy #3 ; shift left 4 times -@ - aslw temp - dey - bpl @- - - adw temp #NamesOfWeapons - ldy #15 -@ - lda (temp),y - sta statusBuffer+24,y - dey - bpl @- + jsr DisplayWeaponName ;========================= ;displaying name of the defence weapon (if active) ;========================= + mwa #statusBuffer+40+40+23 weaponPointer ; where to display the lda AutoDefenseFlag,x ; Auto Defense symbol (space or "A" in inverse) bpl @+ lda #char_computer ; Auto Defense symbol @@ -1892,26 +1857,11 @@ ThisIsAI lda #space sta statusBuffer+80+22 sta statusBuffer+80+39 - mwa #emptyLine temp - jmp ClearingOnly + ; lda #0 ; #space == #0 + tay + jsr DisplayWeaponName.ClearingOnly ActiveDefence - sta temp ;get back number of the weapon - mva #0 temp+1 - ; times 16 (because this is length of weapon name) - ldy #3 ; shift left 4 times -@ - aslw temp - dey - bpl @- - - adw temp #NamesOfWeapons -ClearingOnly - ldy #15 -@ - lda (temp),y - sta statusBuffer+40+40+23,y - dey - bpl @- + jsr DisplayWeaponName ;========================= ;displaying the energy of a tank @@ -2070,5 +2020,45 @@ AngleDisplay rts .endp +;------------------------------------------------- +.proc DisplayWeaponName +; nr of weapon in A, address to put in weaponPointer +@weapon_index = temp + sta @weapon_index ;get back number of the weapon + +@inverse_counter = temp+1 + + mwa #0 @inverse_counter + tay ; ldy #0 + mwa #(NamesOfWeapons-1) LineAddress4x4 + +@ + inw LineAddress4x4 + lda (LineAddress4x4),y + spl:inc @inverse_counter + lda @weapon_index + beq zeroth_talk ; special treatment of talk #0 + cmp @inverse_counter + bne @- + + inw LineAddress4x4 ; we were pointing at the char with inverse, must go 1 further +zeroth_talk + + ; now copy text to screen + dey ; ldy #-1 +@ + iny + lda (LineAddress4x4),y + sta (weaponPointer),y + bpl @- + and #%01111111 ; remove reverse +clearingOnly + sta (weaponPointer),y + lda #0 ; clean the rest + iny:cpy #16 ; weapon name is max 16 chars + bne clearingonly + rts +.endp + .endif \ No newline at end of file diff --git a/constants.asm b/constants.asm index 0264bd3..ab2b5f9 100644 --- a/constants.asm +++ b/constants.asm @@ -478,57 +478,57 @@ WeaponSymbols .by $5e ;ind_Auto_Defense ;_46 .by $7c ;ind_Spy_Hard ;_47 -; Names of weapons (16 chars long) +; Names of weapons (max 16 chars long) NamesOfWeapons ;the comment is an index in the tables - dta d"Baby Missile " ; 0 - dta d"Missile " ; 1 - dta d"Baby Nuke " ; 2 - dta d"Nuke " ; 3 - dta d"LeapFrog " ; 4 - dta d"Funky Bomb " ; 5 - dta d"MIRV " ; 6 - dta d"Death's Head " ; 7 - dta d"Napalm " ; 8 - dta d"Hot Napalm " ; 9 - dta d"Tracer " ; 10 - dta d"Smoke Tracer " ; 11 - dta d"Baby Roller " ; 12 - dta d"Roller " ; 13 - dta d"Heavy Roller " ; 14 - dta d"Riot Charge " ; 15 - dta d"Riot Blast " ; 16 - dta d"Riot Bomb " ; 17 - dta d"Heavy Riot Bomb " ; 18 - dta d"Baby Digger " ; 19 - dta d"Digger " ; 20 - dta d"Heavy Digger " ; 21 - dta d"Sandhog " ; 22 - dta d"Heavy Sandhog " ; 23 - dta d"Dirt Clod " ; 24 - dta d"Dirt Ball " ; 25 - dta d"Ton of Dirt " ; 26 - dta d"Liquid Dirt " ; 27 - dta d"Dirt Charge " ; 28 - dta d"Stomp " ; 29 - dta d"Best F...g Gifts" ; 30 - dta d"Laser " ; 31 + dta d"Baby Missil", d"e"* ; 0 + dta d"Missil", d"e"* ; 1 + dta d"Baby Nuk", d"e"* ; 2 + dta d"Nuk", d"e"* ; 3 + dta d"LeapFro", d"g"* ; 4 + dta d"Funky Bom", d"b"* ; 5 + dta d"MIR", d"V"* ; 6 + dta d"Death's Hea", d"d"* ; 7 + dta d"Napal", d"m"* ; 8 + dta d"Hot Napal", d"m"* ; 9 + dta d"Trace", d"r"* ; 10 + dta d"Smoke Trace", d"r"* ; 11 + dta d"Baby Rolle", d"r"* ; 12 + dta d"Rolle", d"r"* ; 13 + dta d"Heavy Rolle", d"r"* ; 14 + dta d"Riot Charg", d"e"* ; 15 + dta d"Riot Blas", d"t"* ; 16 + dta d"Riot Bom", d"b"* ; 17 + dta d"Heavy Riot Bom", d"b"* ; 18 + dta d"Baby Digge", d"r"* ; 19 + dta d"Digge", d"r"* ; 20 + dta d"Heavy Digge", d"r"* ; 21 + dta d"Sandho", d"g"* ; 22 + dta d"Heavy Sandho", d"g"* ; 23 + dta d"Dirt Clo", d"d"* ; 24 + dta d"Dirt Bal", d"l"* ; 25 + dta d"Ton of Dir", d"t"* ; 26 + dta d"Liquid Dir", d"t"* ; 27 + dta d"Dirt Charg", d"e"* ; 28 + dta d"Stom", d"p"* ; 29 + dta d"Best F...g Gift", d"s"* ; 30 + dta d"Lase", d"r"* ; 31 ;------defensives - dta d"White Flag " ; 32 - dta d"Battery " ; 33 - dta d"Hovercraft " ; 34 - dta d"Parachute " ; 35 - no energy - dta d"Strong Parachute" ; 36 - with energy (earlier Battery) - dta d"Mag Deflector " ; 37 - with shield and energy - dta d"Shield " ; 38 - shield for one shot - no energy - dta d"Heavy Shield " ; 39 - shield with energy - dta d"Force Shield " ; 40 - shield with energy and parachute - dta d"Bouncy Castle " ; 41 - with shield and energy - dta d"Long Schlong " ; 42 - dta d"Nuclear Winter " ; 43 - dta d"Lazy Boy " ; 44 - dta d"Lazy Darwin " ; 45 - dta d"Auto Defense " ; 46 - dta d"Spy Hard " ; 47 + dta d"White Fla", d"g"* ; 32 + dta d"Batter", d"y"* ; 33 + dta d"Hovercraf", d"t"* ; 34 + dta d"Parachut", d"e"* ; 35 - no energy + dta d"Strong Parachut", d"e"* ; 36 - with energy (earlier Battery) + dta d"Mag Deflecto", d"r"* ; 37 - with shield and energy + dta d"Shiel", d"d"* ; 38 - shield for one shot - no energy + dta d"Heavy Shiel", d"d"* ; 39 - shield with energy + dta d"Force Shiel", d"d"* ; 40 - shield with energy and parachute + dta d"Bouncy Castl", d"e"* ; 41 - with shield and energy + dta d"Long Schlon", d"g"* ; 42 + dta d"Nuclear Winte", d"r"* ; 43 + dta d"Lazy Bo", d"y"* ; 44 + dta d"Lazy Darwi", d"n"* ; 45 + dta d"Auto Defens", d"e"* ; 46 + dta d"Spy Har", d"d"* ; 47 DefensiveEnergy = *-number_of_offensives ; to fake the table for ALL weapons .by 00 ; White Flag diff --git a/grafproc.asm b/grafproc.asm index 93ee844..2d0a06a 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1599,7 +1599,7 @@ NotHigher ; all text start from `talk` and end with an inverse. ; we go through the `talk`, count number of inverses. ; if equal to TextNumberOff, it is our text, printit - inverse_counter = temp + inverse_counter = temp+1 tya tax ; save Y diff --git a/scorch.bin b/scorch.bin index 6043a47bcee809c321f85991b756af4c638304fc..8fa429780fd2d5adde3feee7b4d0f736baa9fbb3 100644 GIT binary patch delta 7319 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 A#sB~S delta 7713 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 R<(;JN;#zrU&+x?&_TP^L!YTj& diff --git a/scorchC64.prg b/scorchC64.prg index bd4a785b444fe650fbb2e7389d46ffd039ab9882..183ee445ee229b559aae4e88324b9fcf3c406496 100644 GIT binary patch delta 5662 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 s@gBUUEr=5D8BA@HdsC+lVa_>FcJ@=e@ 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