diff --git a/games/sb/asplode_head.s b/games/sb/asplode_head.s index ff568563..0b28862d 100644 --- a/games/sb/asplode_head.s +++ b/games/sb/asplode_head.s @@ -107,27 +107,40 @@ asplode_loop: done_extra_sprites: -.if 0 - ;========================== - ; draw SPLODE - ;========================== - lda #splode_sprite - sta INH - lda #23 - sta SPRITE_X - lda #133 - sta SPRITE_Y - jsr hgr_draw_sprite_big -.endif - - ; play sound -; jsr play_asplode jsr flip_page + + ldx FRAME + cpx #17 + bne sound_check_head +sound_check_your: + ; play sound + ldy #0 + beq do_play_asplode + +sound_check_head: + cpx #23 + bne sound_check_a + ldy #1 + bne do_play_asplode +sound_check_a: + cpx #29 + bne sound_check_splode + ldy #2 + bne do_play_asplode + +sound_check_splode: + cpx #34 + bne sound_check_done + ldy #3 + +do_play_asplode: + jsr play_asplode + +sound_check_done: + inc FRAME lda FRAME cmp #35 diff --git a/games/sb/duck_pond.s b/games/sb/duck_pond.s index a8f6a75f..8ba89622 100644 --- a/games/sb/duck_pond.s +++ b/games/sb/duck_pond.s @@ -177,12 +177,21 @@ was_space: check_bracket: cmp #'S' - bne done_keyboard + bne check_escape jsr score_inc_d1 lda #$ff sta D1_XSPEED + jmp done_keyboard + +check_escape: + cmp #27 + bne done_keyboard + + lda #0 + sta WHICH_LOAD + rts done_keyboard: diff --git a/games/sb/play_asplode.s b/games/sb/play_asplode.s index 0ae41428..4ac37e74 100644 --- a/games/sb/play_asplode.s +++ b/games/sb/play_asplode.s @@ -1,5 +1,5 @@ ASPLODE_SAMPLE = $D000 -ASPLODE_LENGTH = 28 +ASPLODE_LENGTH = 28 ; $1C play_asplode: ; only avail if language card @@ -19,10 +19,13 @@ play_asplode: lda #ASPLODE_SAMPLE + + lda sound_parts,Y ; #>ASPLODE_SAMPLE sta BTC_H - ldx #ASPLODE_LENGTH ; 28 pages long??? + lda sound_len,Y + tax + ;ldx #ASPLODE_LENGTH ; 28 pages long??? jsr play_audio ; read ROM/no-write @@ -32,3 +35,18 @@ play_asplode: done_play_asplode: rts + + +sound_parts: + .byte $D0 ; your + .byte $D8 ; head + .byte $E0 ; a + .byte $E1 ; splode + .byte $D0 ; whole thing + +sound_len: + .byte $8 + .byte $8 + .byte $6 + .byte $10 + .byte 28