Files
scorch_src/display.asm
T
Pecusx 91b613f166 Shield witch parachute added
Only for test.
Now all players has active Shield with energy (99) and witch parachute before game.
Alo added display name of active defensive weapon on statusbar, and some fixes.
2022-06-09 09:46:09 +02:00

177 lines
4.7 KiB
NASM

; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
.IF *>0 ;this is a trick that prevents compiling this file alone
;-----------------------------------------------------
;-------------display-lists---------------------------
;-----------------------------------------------------
PurchaseDL
.byte $70,$70,$20
.byte $42+$80
.word textbuffer2
.byte $02,$10,$42
MoreUpdl
.word EmptyLine
.byte 0,$42
WeaponsListDL
.word ListOfWeapons
:15 .byte 0,2
.byte 0, $42
MoreDownDL
.word EmptyLine
.byte $10,$42
.word WeaponsDescription
.byte 2
.byte $41
.word PurchaseDL
;------------------------
OptionsDL
:5 .byte $70
.byte $42
.word OptionsScreen
.byte $30,$02,$02,$70
:maxOptions .by $02,$10
.byte $41
.word OptionsDL
;------------------------
;Enter names of tanks DL
NameDL
:5 .byte $70
.byte $42
.word NameScreen
.byte $30
.byte $02,$30+$80,$02
.byte $10,$02,$02,$02,$30,$02,$02
.byte $41
.word NameDL
; -------------------------------------------------
dl ; MAIN game display list
.byte 0
.byte $42
.word textbuffer
.byte $02, $02 +$80 ;DLI
.byte $10 ; 2 blank lines
.byte $4f
.word display ; 1 line
:76 .by $0f ;76
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:13 .by $0f ;13
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:8 .by $0f ;8
.by $4f ;1
.wo display+$0ff0
:2 .by $0f ;2
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:9 .by $0f ;9
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:8 .by $0f ;8
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:7 .by $0f ;7
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:6 .by $0f ;6
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:5 .by $0f ;5
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:4 .by $0f ;4
.by $0f+$80 ; DLI (black bar) ;2
.by $0f+$80 ; DLI
:3 .by $0f ;3
.by $0f+$80 ; DLI (black to end);1
:38 .byte $0f ;35 ..... = 200
.by $4f
.wo LastLine ; additional line of ground
.byte $41
.word dl
;-----------------------------------------------
;Screen displays go first to avoid crossing 4kb barrier
;-----------------------------------------------
OptionsScreen
dta d"Welcome to Scorch ver. "
build ; 3 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 5K 8K 10K "
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 "
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
ListOfDefensiveWeapons
:16 dta d" "
ListOfDefensiveWeaponsEnd ;constant useful when clearing
WeaponsDescription
dta d" "
dta d"Tab"*
dta d" - Defensive/Offensive weapon "
dta d" "
dta d"Space"*
dta d" - Purchase "
dta d"Return"*
dta d" - Finish "
EmptyLine
dta d" "
LastLine
:40 dta $00
; -------------------------------------------------
.ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!!
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: "
dta d"----------------------------------------"
.endif