diff --git a/Atari/gr_basics.asm b/Atari/gr_basics.asm index 5a75e8e..4aea4f4 100644 --- a/Atari/gr_basics.asm +++ b/Atari/gr_basics.asm @@ -109,6 +109,8 @@ EndOfUnPlot .proc plot ;plot (xdraw, ydraw, color) ; color == 1 --> put pixel ; color == 0 --> erase pixel +; xdraw (word) - X coordinate +; ydraw (word) - Y coordinate ; this is one of the most important routines in the whole ; game. If you are going to speed up the game, start with ; plot - it is used by every single effect starting from explosions @@ -165,9 +167,11 @@ ClearPlot .proc ExPlot ;ExPlot (EplotX, EplotY) ; EOR plot: ; Inverts color of a pixel +; EplotX (word) - X coordinate +; EplotY (byte) - Y coordinate ; Note: No coordinate control!!! ; 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 ;xbyte = xbyte/8 @@ -195,8 +199,10 @@ ClearPlot ; ----------------------------------------- .proc point_plot ; ----------------------------------------- - ; checks state of the pixel (coordinates in xdraw and ydraw) - ; result is in A (zero or appropriate bit is set) +; checks state of the pixel (coordinates in xdraw and ydraw) +; 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 @@ -227,6 +233,9 @@ ClearPlot ;-------------------------------------------------- .proc drawmountains ;-------------------------------------------------- +; draw mountains from mountaintable +; ClearSky - $ff Crear sky during drawmountains, 0 - no clear sky + mwa #0 xdraw mwa #mountaintable modify ; mountaintable pointer mva #1 color @@ -424,7 +433,7 @@ NothingToFall ;-------------------------------------------------- .proc SoilDownTurbo ;-------------------------------------------------- -; fast SoilDown froc - test +; fast SoilDown proc jsr ClearTanks NoClearTanks jsr CalcAndDrawMountains diff --git a/C64/gr_basics.asm b/C64/gr_basics.asm index 831d814..7ce418c 100644 --- a/C64/gr_basics.asm +++ b/C64/gr_basics.asm @@ -101,6 +101,8 @@ EndOfUnPlot .proc plot ;plot (xdraw, ydraw, color) ; color == 1 --> put pixel ; color == 0 --> erase pixel +; xdraw (word) - X coordinate +; ydraw (word) - Y coordinate ; this is one of the most important routines in the whole ; game. If you are going to speed up the game, start with ; plot - it is used by every single effect starting from explosions @@ -154,8 +156,10 @@ ClearPlot ; ----------------------------------------- .proc point_plot ; ----------------------------------------- - ; checks state of the pixel (coordinates in xdraw and ydraw) - ; result is in A (zero or appropriate bit is set) +; checks state of the pixel (coordinates in xdraw and ydraw) +; 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 @@ -185,6 +189,7 @@ ClearPlot ;-------------------------------------------------- .proc drawmountains ;-------------------------------------------------- +; draw mountains from mountaintable mwa #0 xdraw mwa #mountaintable modify mva #1 color @@ -305,10 +310,10 @@ NoMountain ;-------------------------------------------------- .proc SoilDownTurbo ;-------------------------------------------------- -; fast SoilDown froc - test +; fast SoilDown proc jsr ClearTanks NoClearTanks -; jsr CalcAndDrawMountains +; jsr CalcAndDrawMountains - to do (now Atari only) jmp DrawTanks ;rts .endp diff --git a/scorch.asm b/scorch.asm index e760d74..858b940 100644 --- a/scorch.asm +++ b/scorch.asm @@ -15,6 +15,8 @@ .def TARGET = 800 ; 5200 .ENDIF ;--------------------------------------------------- +.def SPLASH = 0 +; if 0 - no splash screens .def CART_VERSION = 0 ; if 1 - dual splash screen .def METEORS = 1 @@ -186,10 +188,22 @@ FirstZpageVariable = $50 .IF TARGET = 800 icl 'Atari/lib/ATARISYS.ASM' icl 'Atari/lib/MACRO.ASM' + .IF SPLASH = 1 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) .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 .ELIF TARGET = 5200 OPT h-f+ ; no headers, single block --> cart bin file diff --git a/scorch.xex b/scorch.xex index 8b87228..bc90e94 100644 Binary files a/scorch.xex and b/scorch.xex differ