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
+4 -3
View File
@@ -56,9 +56,10 @@ pmg1 .ds $0300
main1 main1
lda SplashTypeFlag lda SplashTypeFlag
beq old_splash cmp #200 ; (0 - 100 ; first splash , 101 - 200 ; second splash , 201 - 255 ; KAZ)
rts bcs this_splashK ; KAZ splash
old_splash rts ; next splash
this_splashK
jsr init_song jsr init_song
; ; copy system font to $a000 ; ; copy system font to $a000
+4 -60
View File
@@ -70,11 +70,11 @@ mother
main main
.IF CART_VERSION .IF CART_VERSION
lda random lda random
and #%11100000 ; Old splash probability 1/8
sta SplashTypeFlag sta SplashTypeFlag
bne new_splash cmp #100 ; (0 - 100 ; first splash , 101 - 200 ; second splash , 201 - 255 ; KAZ)
rts ; KAZ splash :) bcc this_splash ; first splash
new_splash rts ; next splash
this_splash
.ENDIF .ENDIF
/* /*
mva #00 ManualLangFlag ; no manual page mva #00 ManualLangFlag ; no manual page
@@ -105,9 +105,6 @@ new_splash
LOOP lda vcount ;synchronization for the first screen (picture) line LOOP lda vcount ;synchronization for the first screen (picture) line
cmp #$02 cmp #$02
;sta colpf0
;sta colpm0
;sta colbak
bne LOOP bne LOOP
mva #%00111110 dmactl ;set new screen width mva #%00111110 dmactl ;set new screen width
@@ -186,10 +183,6 @@ s0 lda #$03
lda skctl ; ANY KEY lda skctl ; ANY KEY
and #$04 and #$04
bne skp bne skp
/* lda kbcode
cmp #$25 ; "M" key
bne stop
mva #01 ManualLangFlag ; english manual page */
stop mva #$00 pmcntl ;PMG disabled stop mva #$00 pmcntl ;PMG disabled
tax tax
sta:rne hposp0,x+ sta:rne hposp0,x+
@@ -212,38 +205,6 @@ stop mva #$00 pmcntl ;PMG disabled
mva #$40 nmien ;only NMI interrupts, DLI disabled mva #$40 nmien ;only NMI interrupts, DLI disabled
cli ;IRQ enabled cli ;IRQ enabled
/* lda ManualLangFlag
beq waitkey2release
; and now display manual language selection screen
mva <lngDL dlptrs
mva >lngDL dlptrs+1
mva #%00111110 dmactls ;set new screen width
; wait for key
waitkey2
lda skctl ; ANY KEY
and #$04
bne waitkey2
lda kbcode
cmp #$2A ; "E" key
bne notEng
mva #01 ManualLangFlag ; english manual page
bne endsplash
notEng
cmp #$0A ; "P" key
bne waitkey2
mva #02 ManualLangFlag ; polish manual page
endsplash
;no glitching please (issue #67)
lda #0
sta $D400 ;dmactl
sta $022F ;dmactls
waitkey2release
lda skctl ; ANY KEY
and #$04
beq waitkey2release
*/
rts ;return to ... DOS rts ;return to ... DOS
skp skp
@@ -271,23 +232,6 @@ byt3 brk
org $8000 ; fixed address of music routine and data 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
;---
/* lngDL
.byte $70,$70,$70,$70,$70
.byte $47
.word LngTitle
.byte $70,$70
.byte $42
.word LngList
.byte $50,$02
.byte $41
.word lngDL
LngTitle
dta d" select language "*
LngList
dta d" E - English Manual "
dta d" P - Polska instrukcja " */
;--- ;---
.MACRO ANTIC_PROGRAM .MACRO ANTIC_PROGRAM
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -4,11 +4,11 @@
; Initial values ; Initial values
lda #$DB lda #$DB
sta COLOR0 sta colpf0
lda #$61 lda #$61
sta COLOR1 sta colpf1
lda #$D8 lda #$D8
sta COLOR2 sta colpf2
lda #$00 lda #$00
sta COLBAK sta COLBAK
lda #$BF lda #$BF
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -4,11 +4,11 @@
; Initial values ; Initial values
lda #$DB lda #$DB
sta COLOR0 sta colpf0
lda #$61 lda #$61
sta COLOR1 sta colpf1
lda #$D8 lda #$D8
sta COLOR2 sta colpf2
lda #$00 lda #$00
sta COLBAK sta COLBAK
lda #$BF lda #$BF
+141 -90
View File
@@ -3,10 +3,20 @@
/* Mode: GED- (bitmap mode) */ /* Mode: GED- (bitmap mode) */
/***************************************/ /***************************************/
icl "no_name.h" ;icl "no_name.h"
icl "output.png.opt.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 fcnt .ds 2
fadr .ds 2 fadr .ds 2
@@ -19,17 +29,17 @@ byt2 .ds 1
zc .ds ZCOLORS zc .ds ZCOLORS
* --- BASIC switch OFF org $1fff
org $2000\ mva #$ff portb\ rts\ ini $2000 SplashTypeFlag .ds 1 */
* --- MAIN PROGRAM * --- MAIN PROGRAM
org $2010 org $2010
IFT PIC_HEIGHT>=204 IFT PIC_HEIGHT>=204
scr ins "output.png.mic", 0, 8160 scr3 ins "output.png.mic", 0, 8160
:16 .byte 0 :16 .byte 0
ins "output.png.mic" , +8160 ins "output.png.mic" , +8160
ELS ELS
scr ins "output.png.mic" scr3 ins "output.png.mic"
EIF EIF
.ifdef nil_used .ifdef nil_used
@@ -37,42 +47,63 @@ nil :8*40 brk
eif eif
.ALIGN $0400 .ALIGN $0400
ant ANTIC_PROGRAM scr,ant ant3 ANTIC_PROGRAM3 scr3,ant3
fnt fnt3
ift USESPRITES ift USESPRITES
.ALIGN $0800 .ALIGN $0800
.ds $0300 .ds $0300
pmg SPRITES pmg3 SPRITES3
eif eif
main FontSplash3
* --- init PMG ins '../../artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt'
ift USESPRITES mother3
mva >pmg pmbase ;missiles and players data address ; dta d" The Mother of All Games "
mva #$03 pmcntl ;enable players and missiles dta d" Unknown Father of All Team Games "
eif
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 // // RASTER PROGRAM //
//////////////////// ////////////////////
; jmp line239 ; 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 cmp #$02
bne LOOP bne LOOP3
mva #%00111110 dmactl ;set new screen width mva #%00111110 dmactl ;set new screen width
mva <ant dlptr mva <ant dlptr
@@ -81,34 +112,37 @@ LOOP lda vcount ;synchronization for the first screen line
icl "output.png.opt.ini" icl "output.png.opt.ini"
;--- wait 18 cycles ;--- wait 18 cycles
jsr _rts jsr _rts3
inc byt3 inc byt33
;--- set global offset (23 cycles) ;--- set global offset (23 cycles)
jsr _rts jsr _rts3
cmp byt3\ pha:pla cmp byt33\ pha:pla
;--- empty line ;--- empty line
jsr wait54cycle jsr wait54cycle3
inc byt2 inc byt2
.local
icl "output.png.opt" icl "output.png.opt"
.endl
raster_program_end raster_program_end3
lda >fnt+$400*$00 lda >FontSplash3
sta chbase sta chbase
c0 lda #$00 sta chbas
sta colbak c03 lda #$00
c1 lda #$00 sta colbak
sta color0 c13 lda #$00
c2 lda #$00 sta colpf0
sta color1 c23 lda #$02
c3 lda #$00 sta colpf1
sta color2 c33 lda #$08
c4 lda #$00 sta colpf2
sta color3 c43 lda #$00
s0 lda #$03 sta colpf3
s03 lda #$03
sta sizep0 sta sizep0
sta sizep1 sta sizep1
sta sizep2 sta sizep2
@@ -119,64 +153,81 @@ s0 lda #$03
mva #$28 hposm1 mva #$28 hposm1
mva #$d0 hposm2 mva #$d0 hposm2
mva #$d8 hposm3 mva #$d8 hposm3
mva #$02 pmcntl mva #$02 GRACTL
lda #$14 lda #$14
sta gtictl sta PRIOR
//-------------------- //--------------------
// EXIT // EXIT
//-------------------- //--------------------
lda trig0 ; FIRE #0 lda trig0 ; FIRE #0
beq stop beq stop3
lda trig1 ; FIRE #1 lda trig1 ; FIRE #1
beq stop beq stop3
lda consol ; START lda consol ; START
and #1 and #1
beq stop beq stop3
lda skctl ; ANY KEY lda skctl ; ANY KEY
and #$04 and #$04
bne skp bne skp3
stop3 mva #$00 GRACTL ;PMG disabled
tax
sta:rne hposp0,x+
stop mva #$00 pmcntl ;PMG disabled ; silent
tax lda #0
sta:rne hposp0,x+ ldx #8
@ sta POKEY,x
sta POKEY2,x ; stereo
dex
bpl @-
mva #$ff portb ;ROM switch on ;no glitching please (issue #67)
mva #$40 nmien ;only NMI interrupts, DLI disabled lda #0
cli ;IRQ enabled 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 :2 inc byt2
wait44cycle wait44cycle3
inc byt3 inc byt33
nop nop
wait36cycle wait36cycle3
inc byt3 inc byt33
jsr _rts jsr _rts3
wait18cycle wait18cycle3
inc byt3 inc byt33
_rts rts _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+$0000+#*40)
:+8 dta $4e,a(:1+$0140+#*40) :+8 dta $4e,a(:1+$0140+#*40)
:+8 dta $4e,a(:1+$0280+#*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+$1B80+#*40)
:+8 dta $4e,a(:1+$1CC0+#*40) :+8 dta $4e,a(:1+$1CC0+#*40)
:+8 dta $4e,a(:1+$1E00+#*40) :+8 dta $4e,a(:1+$1E00+#*40)
:+4 dta $4e,a(:1+$1F40+#*40) ; :+4 dta $4e,a(:1+$1F40+#*40)
:+4 dta $4e,a(:1+$1FF0+#*40) ; :+4 dta $4e,a(:1+$1FF0+#*40)
:+8 dta $4e,a(:1+$2090+#*40) ; :+8 dta $4e,a(:1+$2090+#*40)
:+8 dta $4e,a(:1+$21D0+#*40) ; :+8 dta $4e,a(:1+$21D0+#*40)
:+8 dta $4e,a(:1+$2310+#*40) ; :+8 dta $4e,a(:1+$2310+#*40)
:+8 dta $4e,a(:1+$2450+#*40) ; :+8 dta $4e,a(:1+$2450+#*40)
dta $41,a(:2) dta $00
dta $42,a(mother3)
dta $41,a(:2)
.ENDM .ENDM
CL
.MACRO ZPINIT ;ZCOLORS = 0
.ENDM
ZCOLORS = 0
;--- ;---
run main ini main3
;--- ;---
opt l- opt l-
.MACRO SPRITES .MACRO SPRITES3
.local
icl "output.png.pmg" icl "output.png.pmg"
.endl
.ENDM .ENDM
USESPRITES = 1 ;USESPRITES = 1
+1
View File
@@ -204,6 +204,7 @@ FirstZpageVariable = $4f
.IF SPLASH = 1 .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 = 1 .IF CART_VERSION = 1
icl 'artwork/splash_v3/splash3.asm' ; new2 splash screen
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 .ELSE
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.