mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
nicer sources
This commit is contained in:
+22
-20
@@ -1,17 +1,19 @@
|
||||
; @com.wudsn.ide.lng.mainsourcefile=scorch.asm
|
||||
;Atari 8-bit Scorched Earth source code
|
||||
|
||||
;Atari 8-bit Scorch source code
|
||||
;---------------------------------------------------
|
||||
;by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski
|
||||
;Warsaw 2000, 2001, 2002, 2003, 2009, 2012, 2013
|
||||
;Miami & Warsaw 2022, 2023
|
||||
|
||||
;WARNING! requires mads compiled on 2023-09-13 or later
|
||||
;atari800 -5200 -cart ${outputFilePath} -cart-type 4
|
||||
;atari800 -run ${outputFilePath}
|
||||
|
||||
;---------------------------------------------------
|
||||
.IFNDEF TARGET
|
||||
.def TARGET = 800 ; 5200
|
||||
.ENDIF
|
||||
;WARNING! requires mads compiled on 2023-06-03 or later
|
||||
;atari800 -5200 -cart ${outputFilePath} -cart-type 4
|
||||
;atari800 -run ${outputFilePath}
|
||||
;---------------------------------------------------
|
||||
.def CART_VERSION = 0
|
||||
; if 1 - dual splash screen
|
||||
@@ -24,7 +26,7 @@
|
||||
; (direct writes to screen memory - atari only :) )
|
||||
;---------------------------------------------------
|
||||
|
||||
OPT r+ ; saves 10 bytes, and probably work :) : https://github.com/tebe6502/Mad-Assembler/issues/10
|
||||
OPT r+ ; saves 10 bytes, and probably works :) https://github.com/tebe6502/Mad-Assembler/issues/10
|
||||
|
||||
;---------------------------------------------------
|
||||
.macro build
|
||||
@@ -54,16 +56,10 @@ AdditionalZPvariables = $20
|
||||
|
||||
FirstZpageVariable = $51
|
||||
.zpvar DliColorBack .byte = FirstZpageVariable
|
||||
.zpvar FirstKeypressDelay .byte
|
||||
.zpvar ClearSky .byte ; $ff - Crear sky during drawmountains, 0 - no clear sky
|
||||
.zpvar PaddleState .byte ; old state 2nd button for 2 buttons joysticks
|
||||
.zpvar GradientNr .byte
|
||||
.zpvar GradientColors .word
|
||||
.zpvar WindChangeInRound .byte ; wind change after each turn (not round only) flag
|
||||
; (0 - round only, >0 - each turn)
|
||||
.zpvar RandomMountains .byte ; mountains type change after each turn flag
|
||||
; (0 - round only, >0 - each turn)
|
||||
.zpvar FastSoilDown .byte ; 0 - standard, >0 - fast
|
||||
.zpvar JoystickNumber .byte
|
||||
.zpvar LazyFlag .byte ; 7 bit - run Lazy Darwin, 6 bit - run Lazy Boy or Darwin (!) after inventory
|
||||
; 0 - nothing
|
||||
@@ -77,7 +73,6 @@ FirstZpageVariable = $51
|
||||
.zpvar CharCode .byte
|
||||
.zpvar fontind .word
|
||||
.zpvar tanknr .byte
|
||||
.zpvar TankSequencePointer .byte
|
||||
.zpvar oldplot .word
|
||||
.zpvar xc .word
|
||||
.zpvar temp .word ; temporary word for the most embeded loops only
|
||||
@@ -110,7 +105,6 @@ FirstZpageVariable = $51
|
||||
.zpvar dliCounter .byte
|
||||
.zpvar pressTimer .byte
|
||||
.zpvar NTSCcounter .byte
|
||||
.zpvar IsEndOfTheFallFlag .byte ;for small speedup ground falling
|
||||
.zpvar sfx_effect .byte
|
||||
.zpvar RMT_blocked .byte
|
||||
.zpvar ScrollFlag .byte
|
||||
@@ -142,6 +136,14 @@ FirstZpageVariable = $51
|
||||
.zpvar HitFlag .byte ; $ff when missile hit ground, $00 when no hit,
|
||||
; $01-$06 tank index+1 when hit tank
|
||||
.zpvar PositionOnTheList .byte ; pointer position on the list being displayed
|
||||
.zpvar FirstKeypressDelay .byte
|
||||
.zpvar IsEndOfTheFallFlag .byte ;for small speedup ground falling
|
||||
.zpvar TankSequencePointer .byte
|
||||
.zpvar WindChangeInRound .byte ; wind change after each turn (not round only) flag
|
||||
; (0 - round only, >0 - each turn)
|
||||
.zpvar RandomMountains .byte ; mountains type change after each turn flag
|
||||
; (0 - round only, >0 - each turn)
|
||||
.zpvar FastSoilDown .byte ; 0 - standard, >0 - fast
|
||||
.zpvar XHit .word
|
||||
.zpvar delta .word
|
||||
.zpvar HowMuchToFall .byte
|
||||
@@ -429,7 +431,7 @@ getKeyAfterWait
|
||||
lda kbcode
|
||||
cmp #@kbcode._none
|
||||
beq checkJoyGetKey
|
||||
and #$3f ;CTRL and SHIFT ellimination
|
||||
and #$3f ; CTRL and SHIFT ellimination
|
||||
cmp #@kbcode._esc ; 28 ; ESC
|
||||
bne getkeyend
|
||||
mvy #$80 escFlag
|
||||
@@ -471,7 +473,7 @@ SelectPressed
|
||||
lda #@kbcode._tab ; Select key
|
||||
bne getkeyend
|
||||
JoyButton
|
||||
lda #@kbcode._ret ;Return key
|
||||
lda #@kbcode._ret ; Return key
|
||||
getkeyend
|
||||
ldy #0
|
||||
sty ATRACT ; reset atract mode
|
||||
@@ -558,7 +560,6 @@ checkForHuman ; if all in skillTable other than 0 then switch to DEMO MODE
|
||||
dex
|
||||
bpl checkForHuman
|
||||
; no people, just wait a bit
|
||||
;pause 150
|
||||
ldy #75
|
||||
jmp PauseYFrames
|
||||
; rts
|
||||
@@ -781,16 +782,17 @@ EndofBFGDLI
|
||||
.ECHO "Bytes left: ",$b000-*
|
||||
|
||||
|
||||
org $b000 ;address of RMT module
|
||||
org $b000 ; address of RMT module
|
||||
MODUL
|
||||
;RMT module is standard Atari binary file already
|
||||
ins "artwork/sfx/scorch_str9-NTSC.rmt",+6 ;include music RMT module
|
||||
; RMT module is standard Atari binary file already
|
||||
; include music RMT module:
|
||||
ins "artwork/sfx/scorch_str9-NTSC.rmt",+6
|
||||
MODULEND
|
||||
;----------------------------------------------
|
||||
icl 'constants_top.asm'
|
||||
;----------------------------------------------
|
||||
|
||||
.ECHO "Bytes on top left: ",$bfe8-* ;ROM_SETTINGS-*
|
||||
.ECHO "Bytes on top left: ",$bfe8-* ; ROM_SETTINGS-*
|
||||
.IF TARGET = 800
|
||||
run FirstSTART
|
||||
.ELIF TARGET = 5200
|
||||
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user