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