Splash is optional now.

This commit is contained in:
Pecusx
2023-11-06 14:31:52 +01:00
parent aed31b821e
commit 939365a009
4 changed files with 37 additions and 9 deletions
+13 -4
View File
@@ -109,6 +109,8 @@ EndOfUnPlot
.proc plot ;plot (xdraw, ydraw, color) .proc plot ;plot (xdraw, ydraw, color)
; color == 1 --> put pixel ; color == 1 --> put pixel
; color == 0 --> erase pixel ; color == 0 --> erase pixel
; xdraw (word) - X coordinate
; ydraw (word) - Y coordinate
; this is one of the most important routines in the whole ; this is one of the most important routines in the whole
; game. If you are going to speed up the game, start with ; game. If you are going to speed up the game, start with
; plot - it is used by every single effect starting from explosions ; plot - it is used by every single effect starting from explosions
@@ -165,9 +167,11 @@ ClearPlot
.proc ExPlot ;ExPlot (EplotX, EplotY) .proc ExPlot ;ExPlot (EplotX, EplotY)
; EOR plot: ; EOR plot:
; Inverts color of a pixel ; Inverts color of a pixel
; EplotX (word) - X coordinate
; EplotY (byte) - Y coordinate
; Note: No coordinate control!!! ; Note: No coordinate control!!!
; With off-screen coordinates, it can damage main program. ; With off-screen coordinates, it can damage main program.
; only for ingame meteors ; only for ingame meteors - for Atari only
; ----------------------------------------- ; -----------------------------------------
; let's calculate coordinates from xdraw and ydraw ; let's calculate coordinates from xdraw and ydraw
;xbyte = xbyte/8 ;xbyte = xbyte/8
@@ -195,8 +199,10 @@ ClearPlot
; ----------------------------------------- ; -----------------------------------------
.proc point_plot .proc point_plot
; ----------------------------------------- ; -----------------------------------------
; checks state of the pixel (coordinates in xdraw and ydraw) ; checks state of the pixel (coordinates in xdraw and ydraw)
; result is in A (zero or appropriate bit is set) ; xdraw (word) - X coordinate
; ydraw (word) - Y coordinate
; result is in A (zero or appropriate bit is set)
; let's calculate coordinates from xdraw and ydraw ; let's calculate coordinates from xdraw and ydraw
@@ -227,6 +233,9 @@ ClearPlot
;-------------------------------------------------- ;--------------------------------------------------
.proc drawmountains .proc drawmountains
;-------------------------------------------------- ;--------------------------------------------------
; draw mountains from mountaintable
; ClearSky - $ff Crear sky during drawmountains, 0 - no clear sky
mwa #0 xdraw mwa #0 xdraw
mwa #mountaintable modify ; mountaintable pointer mwa #mountaintable modify ; mountaintable pointer
mva #1 color mva #1 color
@@ -424,7 +433,7 @@ NothingToFall
;-------------------------------------------------- ;--------------------------------------------------
.proc SoilDownTurbo .proc SoilDownTurbo
;-------------------------------------------------- ;--------------------------------------------------
; fast SoilDown froc - test ; fast SoilDown proc
jsr ClearTanks jsr ClearTanks
NoClearTanks NoClearTanks
jsr CalcAndDrawMountains jsr CalcAndDrawMountains
+9 -4
View File
@@ -101,6 +101,8 @@ EndOfUnPlot
.proc plot ;plot (xdraw, ydraw, color) .proc plot ;plot (xdraw, ydraw, color)
; color == 1 --> put pixel ; color == 1 --> put pixel
; color == 0 --> erase pixel ; color == 0 --> erase pixel
; xdraw (word) - X coordinate
; ydraw (word) - Y coordinate
; this is one of the most important routines in the whole ; this is one of the most important routines in the whole
; game. If you are going to speed up the game, start with ; game. If you are going to speed up the game, start with
; plot - it is used by every single effect starting from explosions ; plot - it is used by every single effect starting from explosions
@@ -154,8 +156,10 @@ ClearPlot
; ----------------------------------------- ; -----------------------------------------
.proc point_plot .proc point_plot
; ----------------------------------------- ; -----------------------------------------
; checks state of the pixel (coordinates in xdraw and ydraw) ; checks state of the pixel (coordinates in xdraw and ydraw)
; result is in A (zero or appropriate bit is set) ; xdraw (word) - X coordinate
; ydraw (word) - Y coordinate
; result is in A (zero or appropriate bit is set)
; let's calculate coordinates from xdraw and ydraw ; let's calculate coordinates from xdraw and ydraw
@@ -185,6 +189,7 @@ ClearPlot
;-------------------------------------------------- ;--------------------------------------------------
.proc drawmountains .proc drawmountains
;-------------------------------------------------- ;--------------------------------------------------
; draw mountains from mountaintable
mwa #0 xdraw mwa #0 xdraw
mwa #mountaintable modify mwa #mountaintable modify
mva #1 color mva #1 color
@@ -305,10 +310,10 @@ NoMountain
;-------------------------------------------------- ;--------------------------------------------------
.proc SoilDownTurbo .proc SoilDownTurbo
;-------------------------------------------------- ;--------------------------------------------------
; fast SoilDown froc - test ; fast SoilDown proc
jsr ClearTanks jsr ClearTanks
NoClearTanks NoClearTanks
; jsr CalcAndDrawMountains ; jsr CalcAndDrawMountains - to do (now Atari only)
jmp DrawTanks jmp DrawTanks
;rts ;rts
.endp .endp
+15 -1
View File
@@ -15,6 +15,8 @@
.def TARGET = 800 ; 5200 .def TARGET = 800 ; 5200
.ENDIF .ENDIF
;--------------------------------------------------- ;---------------------------------------------------
.def SPLASH = 0
; if 0 - no splash screens
.def CART_VERSION = 0 .def CART_VERSION = 0
; if 1 - dual splash screen ; if 1 - dual splash screen
.def METEORS = 1 .def METEORS = 1
@@ -186,10 +188,22 @@ FirstZpageVariable = $50
.IF TARGET = 800 .IF TARGET = 800
icl 'Atari/lib/ATARISYS.ASM' icl 'Atari/lib/ATARISYS.ASM'
icl 'Atari/lib/MACRO.ASM' icl 'Atari/lib/MACRO.ASM'
.IF SPLASH = 1
icl 'artwork/splash_v2/splash.asm' ; new splash screen and musix icl 'artwork/splash_v2/splash.asm' ; new splash screen and musix
.IF CART_VERSION .IF CART_VERSION = 1
icl 'artwork/splash_v1/splash.asm' ; old splash screen (plays music from new splash) icl 'artwork/splash_v1/splash.asm' ; old splash screen (plays music from new splash)
.ENDIF .ENDIF
.ELSE
; no splash.... dark screean and BASIC off
ORG $2000
mva #0 dmactls ; dark screen
mva #$ff portb
; and wait one frame :)
seq:wait ; or waitRTC ?
mva #$ff portb ; BASIC off
rts
ini $2000
.ENDIF
; icl 'Atari/Manual/manual.asm' ; manuals display ; icl 'Atari/Manual/manual.asm' ; manuals display
.ELIF TARGET = 5200 .ELIF TARGET = 5200
OPT h-f+ ; no headers, single block --> cart bin file OPT h-f+ ; no headers, single block --> cart bin file
BIN
View File
Binary file not shown.