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
lda SplashTypeFlag
beq old_splash
rts
old_splash
cmp #200 ; (0 - 100 ; first splash , 101 - 200 ; second splash , 201 - 255 ; KAZ)
bcs this_splashK ; KAZ splash
rts ; next splash
this_splashK
jsr init_song
; ; copy system font to $a000
+4 -60
View File
@@ -70,11 +70,11 @@ mother
main
.IF CART_VERSION
lda random
and #%11100000 ; Old splash probability 1/8
sta SplashTypeFlag
bne new_splash
rts ; KAZ splash :)
new_splash
cmp #100 ; (0 - 100 ; first splash , 101 - 200 ; second splash , 201 - 255 ; KAZ)
bcc this_splash ; first splash
rts ; next splash
this_splash
.ENDIF
/*
mva #00 ManualLangFlag ; no manual page
@@ -105,9 +105,6 @@ new_splash
LOOP lda vcount ;synchronization for the first screen (picture) line
cmp #$02
;sta colpf0
;sta colpm0
;sta colbak
bne LOOP
mva #%00111110 dmactl ;set new screen width
@@ -186,10 +183,6 @@ s0 lda #$03
lda skctl ; ANY KEY
and #$04
bne skp
/* lda kbcode
cmp #$25 ; "M" key
bne stop
mva #01 ManualLangFlag ; english manual page */
stop mva #$00 pmcntl ;PMG disabled
tax
sta:rne hposp0,x+
@@ -212,38 +205,6 @@ stop mva #$00 pmcntl ;PMG disabled
mva #$40 nmien ;only NMI interrupts, DLI disabled
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
skp
@@ -271,23 +232,6 @@ byt3 brk
org $8000 ; fixed address of music routine and data
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
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -4,11 +4,11 @@
; Initial values
lda #$DB
sta COLOR0
sta colpf0
lda #$61
sta COLOR1
sta colpf1
lda #$D8
sta COLOR2
sta colpf2
lda #$00
sta COLBAK
lda #$BF
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -4,11 +4,11 @@
; Initial values
lda #$DB
sta COLOR0
sta colpf0
lda #$61
sta COLOR1
sta colpf1
lda #$D8
sta COLOR2
sta colpf2
lda #$00
sta COLBAK
lda #$BF
+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
+1
View File
@@ -204,6 +204,7 @@ FirstZpageVariable = $4f
.IF SPLASH = 1
icl 'artwork/splash_v2/splash.asm' ; new splash screen and musix
.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)
.ENDIF
.ELSE
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.