jingle changes
This commit is contained in:
1 parent
106710d77f
commit
a28b1533cb
1 file changed
+70
-43
@@ -2,6 +2,8 @@
|
||||
;; #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
; XXX invent something pleasant to hear, afterwards size-optimize the code
|
||||
|
||||
m65_chrout_screen_BELL: ; play bell (jingle)
|
||||
|
||||
lda M65_BELLDSBL
|
||||
@@ -9,6 +11,73 @@ m65_chrout_screen_BELL: ; play bell (jingle)
|
||||
|
||||
; Play bell on both left&right secondary SIDs - first reset the SIDs
|
||||
|
||||
jsr m65_chrout_screen_BELL_clear
|
||||
|
||||
lda #$0A ; volume
|
||||
sta SID_SIGVOL + $20
|
||||
sta SID_SIGVOL + $60
|
||||
|
||||
ldx #$04 ; wait loop, to prevent popping sound
|
||||
jsr m65_chrout_screen_BELL_wait
|
||||
|
||||
lda #$23 ; channel 1 - attack/decay
|
||||
sta SID_ATDCY1 + $20
|
||||
sta SID_ATDCY1 + $60
|
||||
|
||||
lda #$91 ; channel 1 - sustain/release
|
||||
sta SID_SUREL1 + $20
|
||||
sta SID_SUREL1 + $60
|
||||
|
||||
lda #$1D ; channel 1 - frequency (HI)
|
||||
sta SID_FREHI1 + $20
|
||||
sta SID_FREHI1 + $60
|
||||
lda #$42 ; channel 3 - frequency (HI)
|
||||
sta SID_FREHI3 + $20
|
||||
sta SID_FREHI3 + $60
|
||||
|
||||
lda #$00 ; channel 1 - frequency (LO)
|
||||
sta SID_FRELO1 + $20
|
||||
sta SID_FRELO1 + $60
|
||||
lda #$00 ; channel 3 - frequency (LO)
|
||||
sta SID_FRELO3 + $20
|
||||
sta SID_FRELO3 + $60
|
||||
|
||||
lda #$10 ; channel 3 - waveform (triangle)
|
||||
sta SID_VCREG3 + $20
|
||||
sta SID_VCREG3 + $60
|
||||
|
||||
lda #$17 ; channel 1 - waveform (triangle), synchronized, modulated
|
||||
sta SID_VCREG1 + $20
|
||||
sta SID_VCREG1 + $60
|
||||
|
||||
ldx #$0F ; wait loop
|
||||
jsr m65_chrout_screen_BELL_wait
|
||||
|
||||
lda #$14 ; stop the jingle
|
||||
sta SID_VCREG1 + $20
|
||||
sta SID_VCREG1 + $60
|
||||
|
||||
ldx #$04 ; wait loop
|
||||
jsr m65_chrout_screen_BELL_wait
|
||||
|
||||
; FALLTROUGH
|
||||
|
||||
m65_chrout_screen_BELL_done:
|
||||
|
||||
jmp m65_chrout_screen_done
|
||||
|
||||
m65_chrout_screen_BELL_wait: ; XXX this can probably be deduplicated
|
||||
|
||||
phx
|
||||
ldx #$FF
|
||||
jsr wait_x_bars
|
||||
plx
|
||||
dex
|
||||
bne m65_chrout_screen_BELL_wait
|
||||
rts
|
||||
|
||||
m65_chrout_screen_BELL_clear:
|
||||
|
||||
ldx #$1F
|
||||
lda #$00
|
||||
@1:
|
||||
@@ -16,49 +85,7 @@ m65_chrout_screen_BELL: ; play bell (jingle)
|
||||
sta __SID_BASE + $60,x
|
||||
dex
|
||||
bpl @1
|
||||
|
||||
lda #$0A ; volume
|
||||
sta SID_SIGVOL + $20
|
||||
sta SID_SIGVOL + $60
|
||||
|
||||
lda #$23 ; channel 1 - attack/decay
|
||||
sta SID_ATDCY1 + $20
|
||||
sta SID_ATDCY1 + $60
|
||||
|
||||
lda #$52 ; channel 1 - sustain/release
|
||||
sta SID_SUREL1 + $20
|
||||
sta SID_SUREL1 + $60
|
||||
|
||||
lda #$1E ; channel 1 - frequency (HI)
|
||||
sta SID_FREHI1 + $20
|
||||
sta SID_FREHI1 + $60
|
||||
|
||||
lda #$00 ; channel 1 - frequency (LO)
|
||||
sta SID_FRELO1 + $20
|
||||
sta SID_FRELO1 + $60
|
||||
|
||||
lda #$11 ; channel 1 - waveform
|
||||
sta SID_VCREG1 + $20
|
||||
sta SID_VCREG1 + $60
|
||||
|
||||
ldx #$0E ; wait loop
|
||||
@2:
|
||||
phx
|
||||
ldx #$FF
|
||||
jsr wait_x_bars
|
||||
plx
|
||||
dex
|
||||
bne @2
|
||||
|
||||
lda #$10 ; stop the jingle
|
||||
sta SID_VCREG1 + $20
|
||||
sta SID_VCREG1 + $60
|
||||
|
||||
; FALLTROUGH
|
||||
|
||||
m65_chrout_screen_BELL_done:
|
||||
|
||||
jmp m65_chrout_screen_done
|
||||
rts
|
||||
|
||||
m65_chrout_esc_G: ; enable bell
|
||||
|
||||
|
||||
Reference in new issue
Block a user