mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-21 06:39:46 +02:00
41747cfadd
Weapon of death now is from special table (not fully random value). Added last line of ground for better experience.
176 lines
4.6 KiB
NASM
Executable File
176 lines
4.6 KiB
NASM
Executable File
; @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,$2
|
|
.byte $10,2,2,2,$30,2,2
|
|
.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
|
|
; -------------------------------------------------
|
|
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 Toosser Chooser "
|
|
dta d" Spoiler Cyborg Unknown "
|
|
dta d" "
|
|
dta d"Tab"*
|
|
dta d" - Player/Difficulty level "
|
|
dta d" "
|
|
dta d"Return"*
|
|
dta d" - Proceed "
|
|
;---------------------------------------------------
|
|
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 $ff
|
|
;-----------------------------------------------
|
|
textbuffer
|
|
; 0123456789012345678901234567890123456789
|
|
dta d"Player: "
|
|
dta d"Energy: 99 Angle: <32> Force: 1000 "
|
|
dta d" Round: 50 Wind: <22> "
|
|
textbuffer2
|
|
dta d"Player: ******** Cash: 00000 "
|
|
dta d"----------------------------------------"
|
|
|
|
|
|
.endif
|