Another splash

This commit is contained in:
Pecusx
2026-01-02 19:53:49 +01:00
parent 3b4a57917d
commit 5bedb6364e
10 changed files with 1950 additions and 1953 deletions
+141 -90
View File
@@ -3,10 +3,20 @@
/* Mode: GED- (bitmap mode) */
/***************************************/
icl "no_name.h"
icl "output.png.opt.h"
;icl "no_name.h"
;icl "output.png.opt.h"
org $00
/* ; --- dmsc LZSS player routine on zero page
org $80
chn_copy .ds 9
chn_pos .ds 9
bptr .ds 2
cur_pos .ds 1
chn_bits .ds 1
bit_data .ds 1
; ---
fcnt .ds 2
fadr .ds 2
@@ -19,17 +29,17 @@ byt2 .ds 1
zc .ds ZCOLORS
* --- BASIC switch OFF
org $2000\ mva #$ff portb\ rts\ ini $2000
org $1fff
SplashTypeFlag .ds 1 */
* --- MAIN PROGRAM
org $2010
IFT PIC_HEIGHT>=204
scr ins "output.png.mic", 0, 8160
scr3 ins "output.png.mic", 0, 8160
:16 .byte 0
ins "output.png.mic" , +8160
ELS
scr ins "output.png.mic"
scr3 ins "output.png.mic"
EIF
.ifdef nil_used
@@ -37,42 +47,63 @@ nil :8*40 brk
eif
.ALIGN $0400
ant ANTIC_PROGRAM scr,ant
ant3 ANTIC_PROGRAM3 scr3,ant3
fnt
fnt3
ift USESPRITES
.ALIGN $0800
.ds $0300
pmg SPRITES
pmg3 SPRITES3
eif
main
* --- init PMG
FontSplash3
ins '../../artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt'
ift USESPRITES
mva >pmg pmbase ;missiles and players data address
mva #$03 pmcntl ;enable players and missiles
eif
mother3
; dta d" The Mother of All Games "
dta d" Unknown Father of All Team Games "
lda:cmp:req $14 ;wait 1 frame
main3
.IF CART_VERSION
lda SplashTypeFlag
cmp #100 ; (0 - 100 ; first splash , 101 - 200 ; second splash , 201 - 255 ; KAZ)
bcc not_this
cmp #200
bcc this_splash2 ; second splash
not_this
rts ; next splash
this_splash2
.ENDIF
sei ;stop interrups
mva #$00 nmien ;stop all interrupts
mva #$fe portb ;switch off ROM to get 16k more ram
ZPINIT
jsr init_song
* --- init PMG
ift USESPRITES
mva >pmg3 pmbase ;missiles and players data address
mva #$03 GRACTL ;enable players and missiles
eif
lda:cmp:req $14 ;wait 1 frame
sei ;stop interrups
mva #$00 nmien ;stop all interrupts
mva #$fe portb ;switch off ROM to get 16k more ram
ZPINIT
////////////////////
// RASTER PROGRAM //
////////////////////
; jmp line239
jmp raster_program_end
jmp raster_program_end3
LOOP lda vcount ;synchronization for the first screen line
LOOP3 lda vcount ;synchronization for the first screen line
cmp #$02
bne LOOP
bne LOOP3
mva #%00111110 dmactl ;set new screen width
mva <ant dlptr
@@ -81,34 +112,37 @@ LOOP lda vcount ;synchronization for the first screen line
icl "output.png.opt.ini"
;--- wait 18 cycles
jsr _rts
inc byt3
jsr _rts3
inc byt33
;--- set global offset (23 cycles)
jsr _rts
cmp byt3\ pha:pla
jsr _rts3
cmp byt33\ pha:pla
;--- empty line
jsr wait54cycle
jsr wait54cycle3
inc byt2
.local
icl "output.png.opt"
.endl
raster_program_end
raster_program_end3
lda >fnt+$400*$00
sta chbase
c0 lda #$00
sta colbak
c1 lda #$00
sta color0
c2 lda #$00
sta color1
c3 lda #$00
sta color2
c4 lda #$00
sta color3
s0 lda #$03
lda >FontSplash3
sta chbase
sta chbas
c03 lda #$00
sta colbak
c13 lda #$00
sta colpf0
c23 lda #$02
sta colpf1
c33 lda #$08
sta colpf2
c43 lda #$00
sta colpf3
s03 lda #$03
sta sizep0
sta sizep1
sta sizep2
@@ -119,64 +153,81 @@ s0 lda #$03
mva #$28 hposm1
mva #$d0 hposm2
mva #$d8 hposm3
mva #$02 pmcntl
mva #$02 GRACTL
lda #$14
sta gtictl
sta PRIOR
//--------------------
// EXIT
//--------------------
lda trig0 ; FIRE #0
beq stop
lda trig0 ; FIRE #0
beq stop3
lda trig1 ; FIRE #1
beq stop
lda trig1 ; FIRE #1
beq stop3
lda consol ; START
and #1
beq stop
lda consol ; START
and #1
beq stop3
lda skctl ; ANY KEY
and #$04
bne skp
lda skctl ; ANY KEY
and #$04
bne skp3
stop3 mva #$00 GRACTL ;PMG disabled
tax
sta:rne hposp0,x+
stop mva #$00 pmcntl ;PMG disabled
tax
sta:rne hposp0,x+
; silent
lda #0
ldx #8
@ sta POKEY,x
sta POKEY2,x ; stereo
dex
bpl @-
mva #$ff portb ;ROM switch on
mva #$40 nmien ;only NMI interrupts, DLI disabled
cli ;IRQ enabled
;no glitching please (issue #67)
lda #0
sta $D400 ;dmactl
sta $022F ;dmactls
rts ;return to ... DOS
skp
mva #$ff portb ;ROM switch on
mva #$40 nmien ;only NMI interrupts, DLI disabled
cli ;IRQ enabled
rts ;return to ... DOS
skp3
//--------------------
jsr play_frame
jmp LOOP
jmp LOOP3
;---
wait54cycle
wait54cycle3
:2 inc byt2
wait44cycle
inc byt3
wait44cycle3
inc byt33
nop
wait36cycle
inc byt3
jsr _rts
wait18cycle
inc byt3
_rts rts
wait36cycle3
inc byt33
jsr _rts3
wait18cycle3
inc byt33
_rts3 rts
byt3 brk
byt33 brk
; org $8000 ; fixed address of music routine and data
; icl "../splash_v2/lzss_player.asm" ; player (and data) for splash music
;---
.MACRO ANTIC_PROGRAM
.MACRO ANTIC_PROGRAM3
:+8 dta $4e,a(:1+$0000+#*40)
:+8 dta $4e,a(:1+$0140+#*40)
:+8 dta $4e,a(:1+$0280+#*40)
@@ -202,30 +253,30 @@ byt3 brk
:+8 dta $4e,a(:1+$1B80+#*40)
:+8 dta $4e,a(:1+$1CC0+#*40)
:+8 dta $4e,a(:1+$1E00+#*40)
:+4 dta $4e,a(:1+$1F40+#*40)
:+4 dta $4e,a(:1+$1FF0+#*40)
:+8 dta $4e,a(:1+$2090+#*40)
:+8 dta $4e,a(:1+$21D0+#*40)
:+8 dta $4e,a(:1+$2310+#*40)
:+8 dta $4e,a(:1+$2450+#*40)
dta $41,a(:2)
; :+4 dta $4e,a(:1+$1F40+#*40)
; :+4 dta $4e,a(:1+$1FF0+#*40)
; :+8 dta $4e,a(:1+$2090+#*40)
; :+8 dta $4e,a(:1+$21D0+#*40)
; :+8 dta $4e,a(:1+$2310+#*40)
; :+8 dta $4e,a(:1+$2450+#*40)
dta $00
dta $42,a(mother3)
dta $41,a(:2)
.ENDM
CL
.MACRO ZPINIT
.ENDM
ZCOLORS = 0
;ZCOLORS = 0
;---
run main
ini main3
;---
opt l-
.MACRO SPRITES
.MACRO SPRITES3
.local
icl "output.png.pmg"
.endl
.ENDM
USESPRITES = 1
;USESPRITES = 1