nicer sources

This commit is contained in:
2023-10-01 09:50:42 -04:00
parent c18fc198dc
commit e4bf9e077f
3 changed files with 78 additions and 76 deletions
+22 -20
View File
@@ -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
View File
Binary file not shown.