Random splasch on start

Only if compiled for Cart
This commit is contained in:
Pecusx
2023-07-28 12:45:24 +02:00
parent 8a3cc57687
commit d60284a6ff
4 changed files with 60 additions and 61 deletions
+44 -58
View File
@@ -10,61 +10,55 @@
; --- dmsc LZSS player routine on zero page
org $80
chn_copy .ds 9
/* chn_copy .ds 9
chn_pos .ds 9
bptr .ds 2
cur_pos .ds 1
chn_bits .ds 1
bit_data .ds 1
bit_data .ds 1 */
org $00
fcnt .ds 2
/* fcnt .ds 2
fadr .ds 2
fhlp .ds 2
cloc .ds 1
regA .ds 1
regX .ds 1
regY .ds 1
WIDTH = 40
HEIGHT = 30
regY .ds 1 */
; --- BASIC switch OFF
org $2000\ mva #$ff portb\ rts\ ini $2000
; --- MAIN PROGRAM
org $2000
ant dta $C2,a(scr)
ant1 dta $C2,a(scr1)
dta $02,$82,$02,$02,$82,$02,$82,$02,$82,$02,$02,$02,$82,$02,$82,$82
dta $02,$02,$82,$02,$02,$82,$02,$02,$82,$82,$02,$82,$22
;dta $42,a(verline)
dta $41,a(ant)
dta $41,a(ant1)
;verline
; :37 dta d" "
; dta build
scr ins "Scorch50.scr"
scr1 ins "Scorch50.scr"
.ds 0*40
.ALIGN $0400
fnt ins "Scorch50.fnt"
fnt1 ins "Scorch50.fnt"
ift USESPRITES
.ALIGN $0800
pmg .ds $0300
ift FADECHR = 0
SPRITES
els
.ds $500
eif
eif
main
pmg1 .ds $0300
SPRITES1
main1
lda SplashTypeFlag
bpl old_splash
rts
old_splash
jsr init_song
; ; copy system font to $a000
@@ -82,10 +76,8 @@ main
; --- init PMG
ift USESPRITES
mva >pmg pmbase ;missiles and players data address
mva >pmg1 pmbase ;missiles and players data address
mva #$03 GRACTL ;enable players and missiles
eif
lda:cmp:req $14 ;wait 1 frame
@@ -115,22 +107,23 @@ main
mva #$c0 nmien ;switch on NMI+DLI again
_lp lda trig0 ; FIRE #0
beq stop
;_stp jmp _stp
_lp1 lda trig0 ; FIRE #0
beq stop1
lda trig1 ; FIRE #1
beq stop
beq stop1
lda consol ; START
and #1
beq stop
beq stop1
lda skctl
and #$04
bne _lp ;wait to press any key; here you can put any own routine
bne _lp1 ;wait to press any key; here you can put any own routine
stop
stop1
cli
vmain sysvbv,6
@@ -180,14 +173,14 @@ c9 lda #$14
dli2
sta regA
lda >fnt+$400*$01
lda >fnt1+$400*$01
sta wsync ;line=24
sta chbase
DLINEW dli3 1 0 0
dli3
sta regA
lda >fnt+$400*$02
lda >fnt1+$400*$02
sta wsync ;line=48
sta chbase
sta wsync ;line=49
@@ -234,7 +227,7 @@ x13 lda #$A9
dli4
sta regA
lda >fnt+$400*$03
lda >fnt1+$400*$03
sta wsync ;line=80
sta chbase
DLINEW dli5 1 0 0
@@ -242,7 +235,7 @@ dli4
dli5
sta regA
stx regX
lda >fnt+$400*$04
lda >fnt1+$400*$04
sta wsync ;line=112
sta chbase
sta wsync ;line=113
@@ -288,7 +281,7 @@ dli6
sta regA
stx regX
sty regY
lda >fnt+$400*$05
lda >fnt1+$400*$05
sta wsync ;line=136
sta chbase
sta wsync ;line=137
@@ -337,7 +330,7 @@ c14 lda #$04
dli7
sta regA
lda >fnt+$400*$06
lda >fnt1+$400*$06
sta wsync ;line=160
sta chbase
DLINEW dli8 1 0 0
@@ -346,7 +339,7 @@ dli8
sta regA
stx regX
sty regY
lda >fnt+$400*$07
lda >fnt1+$400*$07
sta wsync ;line=184
sta chbase
sta wsync ;line=185
@@ -438,7 +431,7 @@ dli9
sta regA
stx regX
sty regY
lda >fnt+$400*$08
lda >fnt1+$400*$08
c36 ldx #$0A
sta wsync ;line=216
sta chbase
@@ -482,7 +475,7 @@ c42 ldx #$00
sta wsync ;line=223
sta colpf1
stx colpf2
lda >fnt+$400*$01
lda >fnt1+$400*$01
s18 ldx #$50
x30 ldy #$44
sta wsync ;line=224
@@ -505,7 +498,7 @@ c45 lda #$0E
dli10
sta regA
lda >fnt+$400*$00
lda >fnt1+$400*$00
sta wsync ;line=232
sta chbase
;DLINEW dli11 1 0 0
@@ -530,12 +523,7 @@ dli10
; ---
CHANGES = 1
FADECHR = 0
SCHR = 127
dliv = $0200
dliv1 = $0200
; ---
@@ -554,7 +542,7 @@ VBL
;sta nmist ;reset NMI flag
mwa #ant dlptr ;ANTIC address program
mwa #ant1 dlptr ;ANTIC address program
mva #@dmactl(standard|dma|lineX1|players|missiles) dmactl ;set new screen width
@@ -562,7 +550,7 @@ VBL
; Initial values
lda >fnt+$400*$00
lda >fnt1+$400*$00
sta chbase
c0 lda #$00
sta colbak
@@ -611,29 +599,29 @@ x7 lda #$A6
c8 lda #$00
sta colpf0
mwa #DLI.dli_start dliv ;set the first address of DLI interrupt
mwa #DLI.dli_start dliv1 ;set the first address of DLI interrupt
;this area is for yours routines
jsr play_frame
quit
lda regA
ldx regX
ldy regY
jmp sysvbv
.endp
icl "..\splash_v2\lzss_player.asm" ; player (and data) for splash music
music1
; icl "..\splash_v2\lzss_player.asm" ; player (and data) for splash music
; ---
ini main
ini main1
; ---
opt l-
.MACRO SPRITES
.MACRO SPRITES1
missiles
.he 00 00 00 00 00 00 00 00 03 03 C3 03 03 03 03 03
.he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
@@ -721,12 +709,10 @@ player3
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
.ENDM
USESPRITES = 1
.MACRO DLINEW
mva <:1 dliv
mva <:1 dliv1
ift [>?old_dli]<>[>:1]
mva >:1 dliv+1
mva >:1 dliv1+1
eif
ift :2
+10 -1
View File
@@ -32,6 +32,7 @@ zc .ds ZCOLORS
org $600
ManualLangFlag .ds 1
SplashTypeFlag .ds 1
* --- BASIC switch OFF
org $2000\ mva #$ff portb\ rts\ ini $2000
@@ -69,6 +70,13 @@ mother
dta d" Father Unknown of All Games "
main
.IF CART_VERSION
lda random
bmi new_splash
sta SplashTypeFlag
rts ; KAZ splash :)
new_splash
.ENDIF
mva #00 ManualLangFlag ; no manual page
jsr init_song
@@ -159,7 +167,7 @@ s0 lda #$03
lda #$14
sta gtictl
; jmp stop
//--------------------
// EXIT
//--------------------
@@ -259,6 +267,7 @@ _rts rts
byt3 brk
org $8000 ; fixed address of music routine and data
icl "lzss_player.asm" ; player (and data) for splash music
;---
+6 -2
View File
@@ -13,6 +13,8 @@
;atari800 -5200 -cart ${outputFilePath} -cart-type 4
;atari800 -run ${outputFilePath}
;---------------------------------------------------
.def CART_VERSION = 0
; if 1 - dual splash screen
.def XCORRECTION_FOR_PM = 0
; if 1 - active x position of tanks correction fo PMG
.def FASTER_GRAF_PROCS = 1
@@ -159,8 +161,10 @@ FirstZpageVariable = $54
.IF TARGET = 800
icl 'Atari/lib/ATARISYS.ASM'
icl 'Atari/lib/MACRO.ASM'
icl 'artwork/splash_v2/splash.asm' ; splash screen and musix
; icl 'artwork/splash_v1/splash.asm' ; splash screen and musix
icl 'artwork/splash_v2/splash.asm' ; new splash screen and musix
.IF CART_VERSION
icl 'artwork/splash_v1/splash.asm' ; old splash screen (plays music from new splash)
.ENDIF
; icl 'Atari/Manual/manual.asm' ; manuals display
.ELIF TARGET = 5200
OPT h-f+ ; no headers, single block --> cart bin file
BIN
View File
Binary file not shown.