mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
177 lines
4.7 KiB
NASM
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
|