keen: more work on keen sounds

This commit is contained in:
Vince Weaver 2024-04-03 00:28:18 -04:00
parent 97ca5079af
commit c766a3bdff
3 changed files with 2361 additions and 56 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,49 +0,0 @@
LVLDONESND:
.byte 36,4 ; 662.9
.byte 0,9 ; 0.0
.byte 36,6 ; 662.9
.byte 0,8 ; 0.0
.byte 36,6 ; 662.9
.byte 0,15 ; 0.0
.byte 93,2 ; 261.7
.byte 94,5 ; 258.3
.byte 0,10 ; 0.0
.byte 82,12 ; 296.8
.byte 83,1 ; 292.4
.byte 0,7 ; 0.0
.byte 149,1 ; 164.3
.byte 139,10 ; 176.0
.byte 140,1 ; 174.4
.byte 139,1 ; 176.0
.byte 0,6 ; 0.0
.byte 183,1 ; 134.4
.byte 181,1 ; 135.3
.byte 0,4 ; 0.0
.byte 184,6 ; 133.5
.byte 0,7 ; 0.0
.byte 170,1 ; 144.1
.byte 169,1 ; 145.2
.byte 0,2 ; 0.0
.byte 171,3 ; 143.1
.byte 170,3 ; 144.1
.byte 169,1 ; 145.2
.byte 0,9 ; 0.0
.byte 156,1 ; 156.6
.byte 158,1 ; 155.4
.byte 0,3 ; 0.0
.byte 159,3 ; 154.2
.byte 158,4 ; 155.4
.byte 0,11 ; 0.0
.byte 135,1 ; 180.8
.byte 137,1 ; 179.2
.byte 0,3 ; 0.0
.byte 134,28 ; 182.4
.byte 0,12 ; 0.0
.byte 206,4 ; 119.1
.byte 205,5 ; 119.8
.byte 206,1 ; 119.1
.byte 205,4 ; 119.8
.byte 0,11 ; 0.0
.byte 12,5 ; 1988.6
.byte 255,255

View File

@ -1,19 +1,34 @@
SOUND_OFFSET = $F0
SOUND_OFFSET = $F0
WHICH_SOUND = $F1
INL = $FE
INH = $FF
KEYPRESS = $C000
KEYRESET = $C010
KEYPRESS = $C000
KEYRESET = $C010
test_keen:
lda #0
sta WHICH_SOUND
next_sound:
ldy WHICH_SOUND
lda sounds_low,Y
sta INL
lda sounds_high,Y
cmp #$FF
beq test_keen ; reset
sta INH
ldy #0
sty SOUND_OFFSET
play_loop:
ldy SOUND_OFFSET
lda LVLDONESND,Y
lda (INL),Y
sta speaker_frequency
iny
lda LVLDONESND,Y
lda (INL),Y
cmp #$FF
beq play_done
@ -23,6 +38,10 @@ play_loop:
sta speaker_duration
iny
bne no_wrap
inc INH
no_wrap:
sty SOUND_OFFSET
jsr speaker_tone
@ -36,10 +55,38 @@ play_done:
bit KEYRESET
jmp test_keen
inc WHICH_SOUND
jmp next_sound
.include "redbook_sound.s"
.include "lvldone.inc"
.include "ck1_sounds.inc"
sounds_low:
.byte <WLDWALKSND,<WLDBLOCKSND<WLDENTERSND,<KEENWALKSND
.byte <KEENBLOKSND,<KEENJUMPSND,<KEENLANDSND,<KEENDIESND
.byte <GOTBONUSSND,<GOTITEMSND,<GOTPARTSND,<KEENFIRESND
.byte <KEENPOGOSND,<POGOJUMPSND,<LVLDONESND,<GAMEOVERSND
.byte <HISCORESND,<TELEPORTSND,<CHUNKSMASH,<GOINDOORSND
.byte <BUMPHEADSND,<USEKEYSND,<CANNONFIRE,<SLAMSND
.byte <CLICKSND,<CRYSTALSND,<PLUMMETSND,<EXTRAMANSND
.byte <YORPBUMPSND,<KEENWLK2SND,<YORPBOPSND,<GETCARDSND
.byte <DOOROPENSND,<YORPSCREAM,<GARGSCREAM,<GUNCLICK
.byte <SHOTHIT,<TANKFIRE,<vortscream,<keencicle
.byte <keensleft,<EARTHPOW,$FF
sounds_high:
.byte >WLDWALKSND,>WLDBLOCKSND>WLDENTERSND,>KEENWALKSND
.byte >KEENBLOKSND,>KEENJUMPSND,>KEENLANDSND,>KEENDIESND
.byte >GOTBONUSSND,>GOTITEMSND,>GOTPARTSND,>KEENFIRESND
.byte >KEENPOGOSND,>POGOJUMPSND,>LVLDONESND,>GAMEOVERSND
.byte >HISCORESND,>TELEPORTSND,>CHUNKSMASH,>GOINDOORSND
.byte >BUMPHEADSND,>USEKEYSND,>CANNONFIRE,>SLAMSND
.byte >CLICKSND,>CRYSTALSND,>PLUMMETSND,>EXTRAMANSND
.byte >YORPBUMPSND,>KEENWLK2SND,>YORPBOPSND,>GETCARDSND
.byte >DOOROPENSND,>YORPSCREAM,>GARGSCREAM,>GUNCLICK
.byte >SHOTHIT,>TANKFIRE,>vortscream,>keencicle
.byte >keensleft,>EARTHPOW,$FF