mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 08:54:51 +00:00
ds: sound on first scene at least
This commit is contained in:
parent
c0cae15565
commit
3a57302641
@ -9,7 +9,7 @@ appleII_intro:
|
|||||||
; init screen
|
; init screen
|
||||||
; jsr TEXT
|
; jsr TEXT
|
||||||
; jsr HOME
|
; jsr HOME
|
||||||
bit KEYRESET
|
; bit KEYRESET
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; init vars
|
; init vars
|
||||||
@ -159,9 +159,9 @@ page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra)
|
|||||||
; -1174
|
; -1174
|
||||||
; -7 (keypress)
|
; -7 (keypress)
|
||||||
; -3 (jump)
|
; -3 (jump)
|
||||||
; -1186 (play_music)
|
; -1239 (play_music)
|
||||||
; =====
|
; =====
|
||||||
; 2179
|
; 2126 2179
|
||||||
|
|
||||||
jsr do_nothing ; 6
|
jsr do_nothing ; 6
|
||||||
|
|
||||||
@ -408,13 +408,18 @@ loop29: dex ; 2
|
|||||||
;==========================
|
;==========================
|
||||||
;==========================
|
;==========================
|
||||||
intro_wipe_done:
|
intro_wipe_done:
|
||||||
lda KEYPRESS ; 4
|
lda FRAME_PLAY_PAGE ; 3
|
||||||
bpl no_keypress2 ; 3
|
cmp #2 ; 2
|
||||||
jmp appleii_done
|
beq appleii_done ; 3
|
||||||
|
; -1
|
||||||
|
|
||||||
|
; lda KEYPRESS ; 4
|
||||||
|
; bpl no_keypress2 ; 3
|
||||||
|
; jmp appleii_done
|
||||||
no_keypress2:
|
no_keypress2:
|
||||||
|
|
||||||
|
|
||||||
jsr play_frame_compressed ; 6+1180
|
jsr play_frame_compressed ; 6+1233
|
||||||
|
|
||||||
jmp display_loop ; 3
|
jmp display_loop ; 3
|
||||||
|
|
||||||
@ -426,13 +431,15 @@ appleii_done:
|
|||||||
;=================================
|
;=================================
|
||||||
; do nothing
|
; do nothing
|
||||||
;=================================
|
;=================================
|
||||||
; and take 2179-12 = 2167 cycles to do it
|
; and take 2126-12 = 2114 cycles to do it
|
||||||
do_nothing:
|
do_nothing:
|
||||||
|
; Try X=21 Y=19 cycles=2110R4
|
||||||
|
|
||||||
; Try X=71 Y=6 cycles=2167
|
nop
|
||||||
|
nop
|
||||||
|
|
||||||
ldy #6 ; 2
|
ldy #19 ; 2
|
||||||
loop1: ldx #71 ; 2
|
loop1: ldx #21 ; 2
|
||||||
loop2: dex ; 2
|
loop2: dex ; 2
|
||||||
bne loop2 ; 2nt/3
|
bne loop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
|
@ -11,6 +11,9 @@ demosplash2019:
|
|||||||
;=========================
|
;=========================
|
||||||
lda #0
|
lda #0
|
||||||
sta DONE_PLAYING
|
sta DONE_PLAYING
|
||||||
|
sta FRAME_PLAY_OFFSET
|
||||||
|
sta FRAME_PLAY_PAGE
|
||||||
|
jsr update_pt3_play
|
||||||
|
|
||||||
jsr mockingboard_init
|
jsr mockingboard_init
|
||||||
jsr pt3_setup_interrupt
|
jsr pt3_setup_interrupt
|
||||||
|
@ -14,11 +14,11 @@
|
|||||||
;DA00 ;a $AE00,$AF00,$B000 = ENV high (r12)
|
;DA00 ;a $AE00,$AF00,$B000 = ENV high (r12)
|
||||||
|
|
||||||
; 3+ 72 + 72 + 83 + 74 + 72 + 77 + 19 + 70 + 74 + 72 +
|
; 3+ 72 + 72 + 83 + 74 + 72 + 77 + 19 + 70 + 74 + 72 +
|
||||||
; 77 + 18 + 82 + 85 + 72 + 72 + 8 + 72 + 6 = 1180
|
; 77 + 18 + 82 + 85 + 72 + 72 + 10 + 123 + 6 = 1233 /////1180
|
||||||
|
|
||||||
play_frame_compressed:
|
play_frame_compressed:
|
||||||
|
|
||||||
ldy FRAME_OFFSET ; 3
|
ldy FRAME_PLAY_OFFSET ; 3
|
||||||
|
|
||||||
; Register 0: A fine
|
; Register 0: A fine
|
||||||
ldx #0 ; 2
|
ldx #0 ; 2
|
||||||
@ -186,33 +186,27 @@ r12_smc:
|
|||||||
; wrap to next
|
; wrap to next
|
||||||
|
|
||||||
iny ; 2
|
iny ; 2
|
||||||
sty FRAME_OFFSET ; 3
|
sty FRAME_PLAY_OFFSET ; 3
|
||||||
|
cpy #59*3 ; FIXME: song specific ; 2
|
||||||
beq frame_wrap ; 3
|
beq frame_wrap ; 3
|
||||||
;==========
|
;==========
|
||||||
; 8
|
; 10
|
||||||
|
|
||||||
no_frame_wrap:
|
no_frame_wrap:
|
||||||
; -1
|
; -1
|
||||||
; delay 72+1-3=70
|
; delay 123+1-3=121
|
||||||
lda #43 ; 70-2-25=43
|
lda #94 ; 2
|
||||||
jsr delay_a
|
jsr delay_a ; 121-2-25=94
|
||||||
|
|
||||||
jmp done_frame_wrap ; 3
|
jmp done_frame_wrap ; 3
|
||||||
frame_wrap:
|
frame_wrap:
|
||||||
inc r0_smc+2 ; 6
|
lda #0 ; 2
|
||||||
inc r1_smc+2 ; 6
|
sta FRAME_PLAY_OFFSET ; 3
|
||||||
inc r2_smc+2 ; 6
|
|
||||||
inc r4_smc+2 ; 6
|
inc FRAME_PLAY_PAGE ; 5
|
||||||
inc r5_smc+2 ; 6
|
jsr update_pt3_play ; 6+107
|
||||||
inc r13_smc+2 ; 6
|
|
||||||
inc r6_smc+2 ; 6
|
|
||||||
inc r7_smc+2 ; 6
|
|
||||||
inc r8_smc+2 ; 6
|
|
||||||
inc r9_smc+2 ; 6
|
|
||||||
inc r11_smc+2 ; 6
|
|
||||||
inc r12_smc+2 ; 6
|
|
||||||
;=====
|
;=====
|
||||||
; 72
|
; 123
|
||||||
done_frame_wrap:
|
done_frame_wrap:
|
||||||
|
|
||||||
|
|
||||||
@ -253,3 +247,54 @@ play_mb_write:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;===========================
|
||||||
|
; update the SMC counters
|
||||||
|
|
||||||
|
; 13+88+6=107
|
||||||
|
|
||||||
|
update_pt3_play:
|
||||||
|
lda FRAME_PLAY_PAGE ; 3
|
||||||
|
asl ; 2
|
||||||
|
asl ; 2
|
||||||
|
asl ; 2
|
||||||
|
asl ; 2
|
||||||
|
tay ; 2
|
||||||
|
;===
|
||||||
|
; 13
|
||||||
|
|
||||||
|
lda music_addr_table+0,Y ; 4
|
||||||
|
sta r0_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+1,Y ; 4
|
||||||
|
sta r1_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+2,Y ; 4
|
||||||
|
sta r2_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+3,Y ; 4
|
||||||
|
sta r4_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+4,Y ; 4
|
||||||
|
sta r13_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+5,Y ; 4
|
||||||
|
sta r6_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+6,Y ; 4
|
||||||
|
sta r7_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+7,Y ; 4
|
||||||
|
sta r8_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+8,Y ; 4
|
||||||
|
sta r9_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+9,Y ; 4
|
||||||
|
sta r11_smc+2 ; 4
|
||||||
|
|
||||||
|
lda music_addr_table+10,Y ; 4
|
||||||
|
sta r12_smc+2 ; 4
|
||||||
|
;==========
|
||||||
|
; 11*8 = 88
|
||||||
|
|
||||||
|
rts ; 6
|
||||||
|
@ -38,6 +38,8 @@ ASTEROID_SPEED = $52
|
|||||||
ASTEROID_X = $53
|
ASTEROID_X = $53
|
||||||
ASTEROID_Y = $54
|
ASTEROID_Y = $54
|
||||||
RANDOM_PTR = $55
|
RANDOM_PTR = $55
|
||||||
|
FRAME_PLAY_OFFSET=$56
|
||||||
|
FRAME_PLAY_PAGE = $57
|
||||||
|
|
||||||
FIRE_Y = $5B
|
FIRE_Y = $5B
|
||||||
SPRITE_XPOS = $5C
|
SPRITE_XPOS = $5C
|
||||||
|
Loading…
Reference in New Issue
Block a user