mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-28 14:30:52 +00:00
ds: more music
issues with the cycle-counting parts :(
This commit is contained in:
parent
58a5a1707b
commit
17800ad425
@ -6,18 +6,15 @@
|
|||||||
|
|
||||||
credits:
|
credits:
|
||||||
|
|
||||||
;===================
|
|
||||||
; init screen
|
|
||||||
; jsr TEXT
|
|
||||||
; jsr HOME
|
|
||||||
bit KEYRESET
|
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; init vars
|
; init vars
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
sta FRAME
|
sta FRAME
|
||||||
|
sta FRAME_PLAY_OFFSET
|
||||||
|
sta FRAME_PLAY_PAGE
|
||||||
|
jsr update_pt3_play
|
||||||
|
|
||||||
lda #<credits_text
|
lda #<credits_text
|
||||||
sta CREDITS_POINTERL
|
sta CREDITS_POINTERL
|
||||||
@ -170,8 +167,16 @@ credits_loop:
|
|||||||
; -10 -- keypress
|
; -10 -- keypress
|
||||||
; -12 -- call/return of draw code
|
; -12 -- call/return of draw code
|
||||||
; -446 -- do_words
|
; -446 -- do_words
|
||||||
|
;-1239 -- play music
|
||||||
|
; -8 -- wrap
|
||||||
;=======
|
;=======
|
||||||
; 2804
|
; 1557 //2804
|
||||||
|
|
||||||
|
lda FRAME_PLAY_PAGE ; 3
|
||||||
|
and #$3 ; 2
|
||||||
|
sta FRAME_PLAY_PAGE ; 3
|
||||||
|
jsr play_frame_compressed ; 6+1233
|
||||||
|
|
||||||
|
|
||||||
pad_time:
|
pad_time:
|
||||||
|
|
||||||
@ -351,12 +356,14 @@ pad_time:
|
|||||||
; WAIT for VBLANK to finish
|
; WAIT for VBLANK to finish
|
||||||
;============================
|
;============================
|
||||||
|
|
||||||
; Try X=61 Y=9 cycles=2800 R4
|
; want 1557
|
||||||
nop
|
|
||||||
|
; Try X=3 Y=74 cycles=1555R2
|
||||||
|
|
||||||
nop
|
nop
|
||||||
|
|
||||||
ldy #9 ; 2
|
ldy #74 ; 2
|
||||||
tloop1: ldx #61 ; 2
|
tloop1: ldx #3 ; 2
|
||||||
tloop2: dex ; 2
|
tloop2: dex ; 2
|
||||||
bne tloop2 ; 2nt/3
|
bne tloop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
|
@ -63,24 +63,18 @@ demosplash2019:
|
|||||||
; start irq music
|
; start irq music
|
||||||
;========================
|
;========================
|
||||||
|
|
||||||
; cli ; enable interrupts
|
cli ; enable interrupts
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
; opening book scene
|
; opening book scene
|
||||||
;============================
|
;============================
|
||||||
nop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
jsr open_book
|
jsr open_book
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
; starbase scene
|
; starbase scene
|
||||||
;===========================
|
;===========================
|
||||||
|
|
||||||
; nop
|
|
||||||
; nop
|
|
||||||
; nop
|
|
||||||
|
|
||||||
jsr starbase
|
jsr starbase
|
||||||
|
|
||||||
;============================
|
;============================
|
||||||
@ -93,18 +87,12 @@ demosplash2019:
|
|||||||
; escape scene
|
; escape scene
|
||||||
;===========================
|
;===========================
|
||||||
|
|
||||||
; nop
|
|
||||||
; nop
|
|
||||||
; nop
|
|
||||||
jsr escape
|
jsr escape
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
; book scene
|
; book scene
|
||||||
;===========================
|
;===========================
|
||||||
|
|
||||||
; nop
|
|
||||||
; nop
|
|
||||||
; nop
|
|
||||||
jsr end_book
|
jsr end_book
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
@ -116,8 +104,8 @@ demosplash2019:
|
|||||||
; wait wait wait
|
; wait wait wait
|
||||||
|
|
||||||
; jsr wait_until_keypressed
|
; jsr wait_until_keypressed
|
||||||
;repeat_ending:
|
repeat_ending:
|
||||||
; jmp repeat_ending
|
jmp repeat_ending
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -128,8 +116,8 @@ wait_until_keypressed:
|
|||||||
lda KEYPRESS
|
lda KEYPRESS
|
||||||
bpl wait_until_keypressed
|
bpl wait_until_keypressed
|
||||||
bit KEYRESET
|
bit KEYRESET
|
||||||
; rts
|
rts
|
||||||
jmp demosplash2019
|
|
||||||
|
|
||||||
; Apple II intro
|
; Apple II intro
|
||||||
.include "appleII_intro.s"
|
.include "appleII_intro.s"
|
||||||
|
@ -7,11 +7,18 @@
|
|||||||
|
|
||||||
escape:
|
escape:
|
||||||
|
|
||||||
;===================
|
;==================
|
||||||
; init screen
|
; setup music
|
||||||
; jsr TEXT
|
|
||||||
; jsr HOME
|
; we are roughly at the beginning of pattern 0x19
|
||||||
bit KEYRESET
|
|
||||||
|
lda #19
|
||||||
|
sta current_pattern_smc+1
|
||||||
|
lda #0
|
||||||
|
sta current_line_smc+1
|
||||||
|
|
||||||
|
; setup 4 frames
|
||||||
|
jsr pt3_write_lc_4
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; init vars
|
; init vars
|
||||||
@ -62,6 +69,11 @@ escape:
|
|||||||
jsr create_update_type2
|
jsr create_update_type2
|
||||||
jsr setup_update_type2
|
jsr setup_update_type2
|
||||||
|
|
||||||
|
;==========================================
|
||||||
|
; replace bottom with call to music player
|
||||||
|
|
||||||
|
; lda #20
|
||||||
|
; sta $9800+
|
||||||
|
|
||||||
;=============================
|
;=============================
|
||||||
; Load graphic page0
|
; Load graphic page0
|
||||||
|
@ -270,6 +270,8 @@ apple_iic:
|
|||||||
; bypass the firmware interrupt handler
|
; bypass the firmware interrupt handler
|
||||||
; should we do this on IIe too? probably faster
|
; should we do this on IIe too? probably faster
|
||||||
|
|
||||||
|
done_apple_detect:
|
||||||
|
|
||||||
sei ; disable interrupts
|
sei ; disable interrupts
|
||||||
lda $c08b ; disable ROM (enable language card)
|
lda $c08b ; disable ROM (enable language card)
|
||||||
lda $c08b
|
lda $c08b
|
||||||
@ -282,7 +284,7 @@ apple_iic:
|
|||||||
sta interrupt_smc
|
sta interrupt_smc
|
||||||
sta interrupt_smc+1
|
sta interrupt_smc+1
|
||||||
|
|
||||||
done_apple_detect:
|
|
||||||
|
|
||||||
|
|
||||||
;=========================
|
;=========================
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
; ZZ points to offset from pointer
|
; ZZ points to offset from pointer
|
||||||
|
|
||||||
|
|
||||||
;D000 ;0 $9000,$9100,$9200 = A Low (reg0)
|
;D0 F1 ;0 $9000,$9100,$9200 = A Low (reg0)
|
||||||
;D100 ;1 $9300,$9400,$9500 = A high (reg1) [top], B high (reg3) [bottom]
|
;D1 F2 ;1 $9300,$9400,$9500 = A high (reg1) [top], B high (reg3) [bottom]
|
||||||
;D200 ;2 $9600,$9700,$9800 = B Low (reg2)
|
;D2 F3 ;2 $9600,$9700,$9800 = B Low (reg2)
|
||||||
;D300 ;3 $9900,$9A00,$9B00 = C Low (reg4)
|
;D3 F4 ;3 $9900,$9A00,$9B00 = C Low (reg4)
|
||||||
;D400 ;4 $9C00,$9D00,$9E00 = Envelope Shape (r13) [top], C high (reg5) [bot]
|
;D4 F5 ;4 $9C00,$9D00,$9E00 = Envelope Shape (r13) [top], C high (reg5) [bot]
|
||||||
;D500 ;5 $9F00,$A000,$A100 = Noise (r6), bit7 = don't change envelope
|
;D5 F6 ;5 $9F00,$A000,$A100 = Noise (r6), bit7 = don't change envelope
|
||||||
;D600 ;6 $A200,$A300,$A400 = Enable (r7)
|
;D6 F7 ;6 $A200,$A300,$A400 = Enable (r7)
|
||||||
;D700 ;7 $A500,$A600,$A700 = A amp (r8), bit 5 of r8,r9,r10
|
;D7 F8 ;7 $A500,$A600,$A700 = A amp (r8), bit 5 of r8,r9,r10
|
||||||
;D800 ;8 $A800,$A900,$AA00 = C amp (r10) [top], B amp (r9) [bottom]
|
;D8 F9 ;8 $A800,$A900,$AA00 = C amp (r10) [top], B amp (r9) [bottom]
|
||||||
;D900 ;9 $AB00,$AC00,$AD00 = ENV low (r11)
|
;D9 FA ;9 $AB00,$AC00,$AD00 = ENV low (r11)
|
||||||
;DA00 ;a $AE00,$AF00,$B000 = ENV high (r12)
|
;DA FB ;a $AE00,$AF00,$B000 = ENV high (r12)
|
||||||
|
|
||||||
|
|
||||||
pt3_write_frame:
|
pt3_write_frame:
|
||||||
@ -154,33 +154,5 @@ r12_wrsmc:
|
|||||||
;=============================
|
;=============================
|
||||||
; Register 13: already handled
|
; Register 13: already handled
|
||||||
|
|
||||||
|
|
||||||
.if 0
|
|
||||||
|
|
||||||
no_frame_wrap:
|
|
||||||
; -1
|
|
||||||
; delay 72+1-3=70
|
|
||||||
lda #43 ; 70-2-25=43
|
|
||||||
jsr delay_a
|
|
||||||
|
|
||||||
jmp done_frame_wrap ; 3
|
|
||||||
frame_wrap:
|
|
||||||
inc r0_smc+2 ; 6
|
|
||||||
inc r1_smc+2 ; 6
|
|
||||||
inc r2_smc+2 ; 6
|
|
||||||
inc r4_smc+2 ; 6
|
|
||||||
inc r5_smc+2 ; 6
|
|
||||||
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
|
|
||||||
done_frame_wrap:
|
|
||||||
|
|
||||||
.endif
|
|
||||||
rts ; 6
|
rts ; 6
|
||||||
|
|
||||||
|
@ -61,6 +61,8 @@ lc_frame_decode_loop:
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
;========================
|
||||||
|
;
|
||||||
pt3_set_pages:
|
pt3_set_pages:
|
||||||
lda FRAME_PAGE
|
lda FRAME_PAGE
|
||||||
asl
|
asl
|
||||||
|
Loading…
x
Reference in New Issue
Block a user