Last Opty. Return of last of the texts. Now we have 0 bytes free :)

This commit is contained in:
Pecusx
2023-10-09 22:45:27 +02:00
parent 260ac2845d
commit cb8cd83cd9
10 changed files with 31 additions and 44 deletions
+3 -3
View File
@@ -64,7 +64,7 @@ NameScreen5
dta d"INV"* dta d"INV"*
dta d" - Shape " dta d" - Shape "
dta d"Return"* dta d"Return"*
dta d" - Proceed " dta d" - Proceed" ; two spaces in nex text
.ELIF TARGET = 5200 .ELIF TARGET = 5200
dta d" " dta d" "
dta d"(5)"* dta d"(5)"*
@@ -73,12 +73,12 @@ NameScreen5
dta d" - Diffic. " dta d" - Diffic. "
dta d" " dta d" "
dta d"FIRE"* dta d"FIRE"*
dta d" - Proceed " dta d" - Proceed " ; two spaces in nex text
.ENDIF .ENDIF
WeaponsDescription WeaponsDescription
; 0123456789012345678901234567890123456789 ; 0123456789012345678901234567890123456789
.IF TARGET = 800 .IF TARGET = 800
dta d" " dta d" " ; common part of this and previous text
dta $fe ; left arrow symbol dta $fe ; left arrow symbol
dta d"/" dta d"/"
dta d"Tab"* dta d"Tab"*
+22 -35
View File
@@ -230,13 +230,11 @@ _inverter
; clean inversion otherwise ; clean inversion otherwise
lda (temp),y lda (temp),y
and #$7f ; clear the top bit and #$7f ; clear the top bit
sta (temp),y
bpl @+ ; JMP bpl @+ ; JMP
invertme invertme
lda (temp),y lda (temp),y
ora #$80 ; set the top bit ora #$80 ; set the top bit
sta (temp),y @ sta (temp),y
@
; next character in an option ; next character in an option
iny iny
rts rts
@@ -333,7 +331,7 @@ GoToActivation
sta COLOR1 ; set color of header text sta COLOR1 ; set color of header text
ldy #0 ldy #0
sty COLBAKS ; set color of background sty COLBAKS ; set color of background
lda tanknr txa ; TankNr
:3 asl ; 8 chars per name :3 asl ; 8 chars per name
tax tax
NextChar03 NextChar03
@@ -482,7 +480,7 @@ ListChange
lda WhichList lda WhichList
eor #%10000000 ; flip WhichList eor #%10000000 ; flip WhichList
sta WhichList sta WhichList
bne DeffensiveSelected bmi DeffensiveSelected
mwa #ListOfWeapons WeaponsListDL mwa #ListOfWeapons WeaponsListDL
lda isInventory lda isInventory
@@ -687,15 +685,14 @@ WeHaveOffset
sta xbyte ; multiplier (temporarily here, it will be erased anyway) sta xbyte ; multiplier (temporarily here, it will be erased anyway)
lda #$00 ; lda #$00 ;
sta xbyte+1 ; higher byte of the Result sta xbyte+1 ; higher byte of the Result
ldx #$05 ; 2^5 ldy #$05 ; 2^5
@ asl xbyte @ asl xbyte
rol xbyte+1 rol xbyte+1
dex dey
bne @- bne @-
; Y = 0 now
; add to the address of the list ; add to the address of the list
adw xbyte #ListOfWeapons adw xbyte #ListOfWeapons
ldy #0
ClearList1 ClearList1
cpw xbyte #ListOfWeapons1End cpw xbyte #ListOfWeapons1End
beq ListCleared1 beq ListCleared1
@@ -712,15 +709,14 @@ ListCleared1
sta xbyte ; multiplier (temporarily here, it will be erased anyway) sta xbyte ; multiplier (temporarily here, it will be erased anyway)
lda #$00 ; lda #$00 ;
sta xbyte+1 ; higher byte of the Result sta xbyte+1 ; higher byte of the Result
ldx #$05 ; 2^5 ldy #$05 ; 2^5
@ asl xbyte @ asl xbyte
rol xbyte+1 rol xbyte+1
dex dey
bne @- bne @-
; Y = 0 now
; add to the address of the list ; add to the address of the list
adw xbyte #ListOfDefensiveWeapons adw xbyte #ListOfDefensiveWeapons
ldy #0
ClearList2 ClearList2
cpw xbyte #ListOfDefensiveWeaponsEnd cpw xbyte #ListOfDefensiveWeaponsEnd
beq ListCleared2 beq ListCleared2
@@ -785,15 +781,11 @@ Suprise ; get a random weapon
bcc GetRandomDefensive bcc GetRandomDefensive
GetRandomOffensive GetRandomOffensive
randomize ind_Missile last_offensive randomize ind_Missile last_offensive
;cmp #ind_Buy_me ; buy me do not buy buy me :)
;beq GetRandomOffensive
tay tay
bne NoSuprise ; Y always <> 0 bne NoSuprise ; Y always <> 0
GetRandomDefensive GetRandomDefensive
randomize ind_Battery last_defensive randomize ind_Battery last_defensive
tay tay
; lda WeaponUnits,y ; check if weapon exist
; beq GetRandomDefensive
NoSuprise NoSuprise
lda TanksWeaponsTableL,x lda TanksWeaponsTableL,x
@@ -802,14 +794,13 @@ NoSuprise
sta weaponPointer+1 sta weaponPointer+1
clc clc
lda (weaponPointer),y ; and we have number of posessed bullets of the weapon lda (weaponPointer),y ; and we have number of posessed bullets of the weapon
adc WeaponUnits,y adc WeaponUnits,y ; and we added appropriate number of bullets
sta (weaponPointer),y ; and we added appropriate number of bullets cmp #100 ; but there should be no more than 99 bullets
cmp #100 ; but there should be no more than 99 bullets
bcc LessThan100 bcc LessThan100
lda #99 lda #99
sta (weaponPointer),y
LessThan100 LessThan100
sta (weaponPointer),y
mva #0 PositionOnTheList ; to move the pointer to the top when no more monies mva #0 PositionOnTheList ; to move the pointer to the top when no more monies
jmp Purchase.AfterPurchase jmp Purchase.AfterPurchase
@@ -908,15 +899,13 @@ DefActivationEnd
ldx tankNr ldx tankNr
lda ActiveDefenceWeapon,x lda ActiveDefenceWeapon,x
beq ?noWeaponActive beq ?noWeaponActive
ldy #0 ; min defensive weapon ldy #number_of_defensives ; maxDefensiveWeapon
@ @
cmp IndexesOfWeaponsL2,y cmp IndexesOfWeaponsL2,y
beq ?weaponfound beq ?weaponfound
iny dey
cpy #number_of_defensives ; maxDefensiveWeapon
bne @- bne @-
; not found apparently? ; Y = 0
; TODO: check border case (the last weapon)
?noWeaponActive ?noWeaponActive
ldy #0 ldy #0
?weaponFound ?weaponFound
@@ -933,15 +922,13 @@ DefActivationEnd
ldx tankNr ldx tankNr
lda ActiveWeapon,x lda ActiveWeapon,x
beq ?noWeaponActive beq ?noWeaponActive
ldy #0 ; min defensive weapon ldy #number_of_offensives ; maxOffensiveWeapon
@ @
cmp IndexesOfWeaponsL1,y cmp IndexesOfWeaponsL1,y
beq ?weaponfound beq ?weaponfound
iny dey
cpy #number_of_offensives ; maxOffensiveWeapon
bne @- bne @-
; not found apparently? ; Y = 0
; TODO: check border case (the last weapon)
?noWeaponActive ?noWeaponActive
ldy #0 ldy #0
?weaponFound ?weaponFound
@@ -1095,14 +1082,14 @@ loop sta (temp2),y
jsr PMoutofScreen jsr PMoutofScreen
; display tank number ; display tank number
ldx tanknr ldx TankNr
lda skillTable,x lda skillTable,x
sta difficultyLevel sta difficultyLevel
lda digits+1,x lda digits+1,x
sta NameScreen2+7 sta NameScreen2+7
; copy existing name and place cursor at end ; copy existing name and place cursor at end
lda TankNr txa ; TankNr
:3 asl :3 asl
tax tax
+2 -2
View File
@@ -53,7 +53,7 @@
dta d"I'M GONNA BREAK YOUR FACE!"^ dta d"I'M GONNA BREAK YOUR FACE!"^
dta d"MAMA SAID KNOCK YOU OUT!"^ dta d"MAMA SAID KNOCK YOU OUT!"^
dta d"I HOPE YOU ENJOY PAIN!"^ dta d"I HOPE YOU ENJOY PAIN!"^
; dta d"HOW'D YOU LIKE ONE ACROSS YOUR LIPS?"^ ;(sanford and son) dta d"HOW'D YOU LIKE ONE ACROSS YOUR LIPS?"^ ;(sanford and son)
;---------------------------- ;----------------------------
dta d"PARTING IS SUCH SWEET SORROW... NOT!"^ dta d"PARTING IS SUCH SWEET SORROW... NOT!"^
dta d"UGH!"^ dta d"UGH!"^
@@ -118,7 +118,7 @@
dta d"CALL 1-900-SUE-TANK."^ dta d"CALL 1-900-SUE-TANK."^
dta d"YOU BIG DUMMY!"^ ;(sanford and son) dta d"YOU BIG DUMMY!"^ ;(sanford and son)
LEND LEND
NumberOfOffensiveTexts=53 NumberOfOffensiveTexts=54
NumberOfDeffensiveTexts=62 NumberOfDeffensiveTexts=62
.endp .endp
hoverFull dta d"MY HOVERCRAFT IS FULL OF EELS!"^ hoverFull dta d"MY HOVERCRAFT IS FULL OF EELS!"^
+2 -2
View File
@@ -1748,8 +1748,8 @@ DOTOldLowestValue
.endp .endp
;-------------------------------------------------------- ;--------------------------------------------------------
.proc DisplayTankNameAbove ; .proc DisplayTankNameAbove ; TankNr in X
lda tankNr txa ; TankNr
:3 asl ; *8 :3 asl ; *8
clc clc
adc #<TanksNames adc #<TanksNames
+1 -1
View File
@@ -30,7 +30,7 @@
;--------------------------------------------------- ;---------------------------------------------------
.macro build .macro build
dta d"1.42" ; number of this build (4 bytes) dta d"1.43" ; number of this build (4 bytes)
.endm .endm
.macro RMTSong .macro RMTSong
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -24,7 +24,7 @@
;--------------------------------------------------- ;---------------------------------------------------
.macro build .macro build
dta d"1.42" ; number of this build (4 bytes) dta d"1.43" ; number of this build (4 bytes)
.endm .endm
.macro RMTSong .macro RMTSong
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.