mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
Rearranging display.asm and fix for Long Schlong activation :)
This commit is contained in:
+129
-112
@@ -1,10 +1,58 @@
|
|||||||
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
||||||
|
|
||||||
.IF *>0 ;this is a trick that prevents compiling this file alone
|
.IF *>0 ;this is a trick that prevents compiling this file alone
|
||||||
|
; -------------------------------------------------
|
||||||
|
; .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
||||||
|
;-----------------------------------------------
|
||||||
|
;------------------------
|
||||||
|
; start of "variables" (RAM)
|
||||||
|
; ---------------
|
||||||
|
OptionsHere
|
||||||
|
; 0123456789012345678901234567890123456789
|
||||||
|
dta d"Players : 2 3 4 5 6 "
|
||||||
|
dta d"Cash : none 2K 8K 12K 20K "
|
||||||
|
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
||||||
|
dta d"Wind : 1B 3B 5B 7B 9B "
|
||||||
|
dta d"Rounds : 10 20 30 40 50 "
|
||||||
|
dta d"Missiles : slug slow norm fast hare "
|
||||||
|
dta d"Seppuku : nevr rare norm oftn alws "
|
||||||
|
dta d"Mountains: NL BE CZ CH NP "
|
||||||
|
OptionsScreenEnd
|
||||||
|
;-----------------------------------------------
|
||||||
|
ListOfWeapons
|
||||||
|
:36 dta d" "
|
||||||
|
ListOfWeapons1End
|
||||||
|
ListOfDefensiveWeapons
|
||||||
|
:16 dta d" "
|
||||||
|
ListOfDefensiveWeaponsEnd ;constant useful when clearing
|
||||||
|
NameScreen
|
||||||
|
dta d" Enter names of players "
|
||||||
|
dta d" Tank 01 Name:"
|
||||||
|
NameAdr
|
||||||
|
dta d" "
|
||||||
|
dta d" Human/Atari (difficulty level) "
|
||||||
|
dta d" "
|
||||||
|
NamesOfLevels
|
||||||
|
dta d" HUMAN Moron Shooter "
|
||||||
|
dta d" Poolshark Tosser Chooser "
|
||||||
|
dta d" Spoiler Cyborg Unknown "
|
||||||
|
dta d" "
|
||||||
|
dta d"Tab"*
|
||||||
|
dta d" - Player/Difficulty level "
|
||||||
|
dta d" "
|
||||||
|
dta d"Return"*
|
||||||
|
dta d" - Proceed "
|
||||||
|
;---------------------------------------------------
|
||||||
|
textbuffer
|
||||||
|
; 0123456789012345678901234567890123456789
|
||||||
|
dta d"Player: "
|
||||||
|
dta d"Energy: Angle: Force: "
|
||||||
|
dta d"Round: Wind: "
|
||||||
|
textbuffer2
|
||||||
|
dta d"Player: Cash: 0 " ; ZERO TO MAKE YOU RICHER ON THE SCREEN
|
||||||
|
|
||||||
;-----------------------------------------------------
|
; DLs fragments (modified by game code)
|
||||||
;-------------display-lists---------------------------
|
; all Purchase DL :)
|
||||||
;-----------------------------------------------------
|
|
||||||
PurchaseDL
|
PurchaseDL
|
||||||
.byte $70
|
.byte $70
|
||||||
.byte $47
|
.byte $47
|
||||||
@@ -31,6 +79,75 @@ PurActDescAddr
|
|||||||
.byte $41
|
.byte $41
|
||||||
.word PurchaseDL
|
.word PurchaseDL
|
||||||
;------------------------
|
;------------------------
|
||||||
|
DLCreditsFragm
|
||||||
|
.byte $60+$80
|
||||||
|
.byte $42+$20 ; VSCRL
|
||||||
|
DLCreditsAddr
|
||||||
|
.word Credits
|
||||||
|
:6 .byte $02+$20
|
||||||
|
.byte $02
|
||||||
|
.byte $41
|
||||||
|
.word GameOverDL
|
||||||
|
;------------------------
|
||||||
|
; end of "variables" (RAM)
|
||||||
|
; ---------------
|
||||||
|
; start of "constants" (ROM)
|
||||||
|
;-----------------------------------------------
|
||||||
|
;Screen displays go first to avoid crossing 4kb barrier
|
||||||
|
;-----------------------------------------------
|
||||||
|
OptionsScreen
|
||||||
|
dta d"Welcome to Scorch v. "
|
||||||
|
build ; 4 bytes from scorch.asm (fancy method) :)
|
||||||
|
dta d" (un)2000-2022"
|
||||||
|
dta d" Please select option with cursor keys "
|
||||||
|
dta d" and press (Return) to proceed "
|
||||||
|
MoreUp
|
||||||
|
dta d" "
|
||||||
|
dta 92,92,92
|
||||||
|
dta d" more "
|
||||||
|
dta 92,92,92
|
||||||
|
dta d" "
|
||||||
|
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
||||||
|
MoreDown
|
||||||
|
dta d" "
|
||||||
|
dta 93,93,93
|
||||||
|
dta d" more "
|
||||||
|
dta 93,93,93
|
||||||
|
dta d" "
|
||||||
|
WeaponsDescription
|
||||||
|
dta d" "
|
||||||
|
dta d"Tab"*
|
||||||
|
dta d" - Defensive/Offensive weapon "
|
||||||
|
PurchaseDescription
|
||||||
|
dta d" "
|
||||||
|
dta d"Space"*
|
||||||
|
dta d" - Purchase "
|
||||||
|
dta d"Return"*
|
||||||
|
dta d" - Finish "
|
||||||
|
ActivateDescription
|
||||||
|
dta d" "
|
||||||
|
dta d"Space"*
|
||||||
|
dta d" - Activate "
|
||||||
|
dta d"Return"*
|
||||||
|
dta d" - Finish "
|
||||||
|
EmptyLine
|
||||||
|
dta d" "
|
||||||
|
;---------------------------------------------------
|
||||||
|
OptionsTitle
|
||||||
|
dta d" scorch "*
|
||||||
|
DifficultyTitle
|
||||||
|
dta d" difficulty "*
|
||||||
|
PurchaseTitle
|
||||||
|
dta d" weapons purchase "
|
||||||
|
InventoryTitle
|
||||||
|
dta d" weapons activate "*
|
||||||
|
GameOverTitle
|
||||||
|
dta d" game over "*
|
||||||
|
GameOverTitle2
|
||||||
|
dta d" Player Points Hits Earned Money "
|
||||||
|
;-----------------------------------------------------
|
||||||
|
;-------------display-lists---------------------------
|
||||||
|
;-----------------------------------------------------
|
||||||
OptionsDL
|
OptionsDL
|
||||||
.byte $70
|
.byte $70
|
||||||
.byte $47
|
.byte $47
|
||||||
@@ -39,7 +156,10 @@ OptionsDL
|
|||||||
.byte $42
|
.byte $42
|
||||||
.word OptionsScreen
|
.word OptionsScreen
|
||||||
.byte $30,$02,$02,$70
|
.byte $30,$02,$02,$70
|
||||||
:maxOptions .by $02,$10
|
.byte $42
|
||||||
|
.word OptionsHere
|
||||||
|
.byte $10
|
||||||
|
:maxOptions-1 .by $02,$10
|
||||||
:(9-maxOptions) .by $70,$10
|
:(9-maxOptions) .by $70,$10
|
||||||
.byte $80
|
.byte $80
|
||||||
.byte $4f
|
.byte $4f
|
||||||
@@ -110,66 +230,6 @@ dl ; MAIN game display list
|
|||||||
.byte $41
|
.byte $41
|
||||||
.word dl
|
.word dl
|
||||||
;-----------------------------------------------
|
;-----------------------------------------------
|
||||||
;Screen displays go first to avoid crossing 4kb barrier
|
|
||||||
;-----------------------------------------------
|
|
||||||
OptionsScreen
|
|
||||||
dta d"Welcome to Scorch v. "
|
|
||||||
build ; 4 bytes from scorch.asm (fancy method) :)
|
|
||||||
dta d" (un)2000-2022"
|
|
||||||
dta d" Please select option with cursor keys "
|
|
||||||
dta d" and press (Return) to proceed "
|
|
||||||
OptionsHere
|
|
||||||
; 0123456789012345678901234567890123456789
|
|
||||||
dta d"Players : 2 3 4 5 6 "
|
|
||||||
dta d"Cash : none 2K 8K 12K 20K "
|
|
||||||
dta d"Gravity : 0.2G 0.5G 1G 2G 4G "
|
|
||||||
dta d"Wind : 1B 3B 5B 7B 9B "
|
|
||||||
dta d"Rounds : 10 20 30 40 50 "
|
|
||||||
dta d"Missiles : slug slow norm fast hare "
|
|
||||||
dta d"Seppuku : nevr rare norm oftn alws "
|
|
||||||
dta d"Mountains: NL BE CZ CH NP "
|
|
||||||
OptionsScreenEnd
|
|
||||||
;-----------------------------------------------
|
|
||||||
MoreUp
|
|
||||||
dta d" "
|
|
||||||
dta 92,92,92
|
|
||||||
dta d" more "
|
|
||||||
dta 92,92,92
|
|
||||||
dta d" "
|
|
||||||
MoreDown
|
|
||||||
dta d" "
|
|
||||||
dta 93,93,93
|
|
||||||
dta d" more "
|
|
||||||
dta 93,93,93
|
|
||||||
dta d" "
|
|
||||||
ListOfWeapons
|
|
||||||
:36 dta d" "
|
|
||||||
ListOfWeapons1End
|
|
||||||
;GameOverResults ; reuse after game (remember to clear on start new)
|
|
||||||
ListOfDefensiveWeapons
|
|
||||||
:16 dta d" "
|
|
||||||
ListOfDefensiveWeaponsEnd ;constant useful when clearing
|
|
||||||
WeaponsDescription
|
|
||||||
dta d" "
|
|
||||||
dta d"Tab"*
|
|
||||||
dta d" - Defensive/Offensive weapon "
|
|
||||||
PurchaseDescription
|
|
||||||
dta d" "
|
|
||||||
dta d"Space"*
|
|
||||||
dta d" - Purchase "
|
|
||||||
dta d"Return"*
|
|
||||||
dta d" - Finish "
|
|
||||||
ActivateDescription
|
|
||||||
dta d" "
|
|
||||||
dta d"Space"*
|
|
||||||
dta d" - Activate "
|
|
||||||
dta d"Return"*
|
|
||||||
dta d" - Finish "
|
|
||||||
EmptyLine
|
|
||||||
dta d" "
|
|
||||||
; -------------------------------------------------
|
|
||||||
; .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
|
|
||||||
;-----------------------------------------------
|
|
||||||
GameOverResults = display+$0ff0 ; reuse after game
|
GameOverResults = display+$0ff0 ; reuse after game
|
||||||
Credits = GameOverResults +(6*40)
|
Credits = GameOverResults +(6*40)
|
||||||
CreditsLastLine = Credits + (41*40)
|
CreditsLastLine = Credits + (41*40)
|
||||||
@@ -195,52 +255,9 @@ GameOverDL
|
|||||||
.byte $42
|
.byte $42
|
||||||
.word GameOverResults
|
.word GameOverResults
|
||||||
:5 .byte $00+$80,$02
|
:5 .byte $00+$80,$02
|
||||||
.byte $70+$80
|
.byte $01
|
||||||
.byte $42+$20 ; VSCRL
|
.word DLCreditsFragm
|
||||||
DLCreditsAddr
|
; ---------------
|
||||||
.word Credits
|
; end of "constants" (ROM)
|
||||||
:6 .byte $02+$20
|
;-----------------------------------------------
|
||||||
.byte $02
|
|
||||||
.byte $41
|
|
||||||
.word GameOverDL
|
|
||||||
|
|
||||||
NameScreen
|
|
||||||
dta d" Enter names of players "
|
|
||||||
dta d" Tank 01 Name:"
|
|
||||||
NameAdr
|
|
||||||
dta d" "
|
|
||||||
dta d" Human/Atari (difficulty level) "
|
|
||||||
dta d" "
|
|
||||||
NamesOfLevels
|
|
||||||
dta d" HUMAN Moron Shooter "
|
|
||||||
dta d" Poolshark Tosser Chooser "
|
|
||||||
dta d" Spoiler Cyborg Unknown "
|
|
||||||
dta d" "
|
|
||||||
dta d"Tab"*
|
|
||||||
dta d" - Player/Difficulty level "
|
|
||||||
dta d" "
|
|
||||||
dta d"Return"*
|
|
||||||
dta d" - Proceed "
|
|
||||||
;---------------------------------------------------
|
|
||||||
textbuffer
|
|
||||||
; 0123456789012345678901234567890123456789
|
|
||||||
dta d"Player: "
|
|
||||||
dta d"Energy: Angle: Force: "
|
|
||||||
dta d"Round: Wind: "
|
|
||||||
textbuffer2
|
|
||||||
dta d"Player: Cash: 0 " ; ZERO TO MAKE YOU RICHER ON THE SCREEN
|
|
||||||
; dta d"----------------------------------------"
|
|
||||||
;---------------------------------------------------
|
|
||||||
OptionsTitle
|
|
||||||
dta d" scorch "*
|
|
||||||
DifficultyTitle
|
|
||||||
dta d" difficulty "*
|
|
||||||
PurchaseTitle
|
|
||||||
dta d" weapons purchase "
|
|
||||||
InventoryTitle
|
|
||||||
dta d" weapons activate "*
|
|
||||||
GameOverTitle
|
|
||||||
dta d" game over "*
|
|
||||||
GameOverTitle2
|
|
||||||
dta d" Player Points Hits Earned Money "
|
|
||||||
.endif
|
.endif
|
||||||
+9
-2
@@ -214,6 +214,15 @@ START
|
|||||||
; for the round #1 shooting sequence is random
|
; for the round #1 shooting sequence is random
|
||||||
|
|
||||||
MainGameLoop
|
MainGameLoop
|
||||||
|
; first set default barrel lengths (fix for Long Schlong activation :) )
|
||||||
|
; we must do it before purchase/activate
|
||||||
|
ldx #(MaxPlayers-1)
|
||||||
|
SettingBarrel
|
||||||
|
lda #StandardBarrel ; standard barrel length
|
||||||
|
sta BarrelLength,x
|
||||||
|
dex
|
||||||
|
bpl SettingBarrel
|
||||||
|
|
||||||
jsr CallPurchaseForEveryTank
|
jsr CallPurchaseForEveryTank
|
||||||
|
|
||||||
; issue #72 (glitches when switches)
|
; issue #72 (glitches when switches)
|
||||||
@@ -394,8 +403,6 @@ SettingEnergies
|
|||||||
sta Energy,x
|
sta Energy,x
|
||||||
sta eXistenZ,x
|
sta eXistenZ,x
|
||||||
sta LASTeXistenZ,x
|
sta LASTeXistenZ,x
|
||||||
lda #StandardBarrel ; standard barrel length
|
|
||||||
sta BarrelLength,x
|
|
||||||
; anything in eXistenZ table means that this tank exist
|
; anything in eXistenZ table means that this tank exist
|
||||||
; in the given round
|
; in the given round
|
||||||
lda #<1000
|
lda #<1000
|
||||||
|
|||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user