diff --git a/games/sb/Makefile b/games/sb/Makefile index 0b4bb857..d37f2e7f 100644 --- a/games/sb/Makefile +++ b/games/sb/Makefile @@ -61,6 +61,8 @@ asplode.o: asplode.s zx02_optim.s \ asplode_graphics/sb_title.hgr.zx02 \ asplode_graphics/sb_zone.hgr.zx02 \ asplode_graphics/sb_sprites.inc \ + asplode_sound/asplode.btc.zx02 \ + audio.s play_asplode.s \ hgr_sprite_big.s cycle_colors.s \ zp.inc hardware.inc ca65 -o asplode.o asplode.s -l asplode.lst @@ -117,7 +119,7 @@ title.o: title.s zx02_optim.s \ zp.inc hardware.inc \ hgr_logo_scroll.s audio.s hgr_sprite.s \ hgr_sprite_big.s hgr_copy_fast.s \ - purple.s lc_detect.s hgr_tables.s \ + play_purple.s lc_detect.s hgr_tables.s \ title_sound/purple.btc.zx02 \ title_graphics/czmg4ap_title.hgr.zx02 \ title_graphics/videlectrix_top.hgr.zx02 \ diff --git a/games/sb/asplode.s b/games/sb/asplode.s index 8c8d2f8b..72f2d9ef 100644 --- a/games/sb/asplode.s +++ b/games/sb/asplode.s @@ -34,6 +34,33 @@ strongbadzone_start: sta HGR_PAGE jsr hgr_make_tables + + ;========================== + ; Load Sound + ;=========================== + + lda SOUND_STATUS + and #SOUND_IN_LC + beq done_load_sound + + ; read/write RAM, use $d000 bank1 + bit $C083 + bit $C083 + + lda #sound_data + sta ZX0_src+1 + + lda #$D0 + + jsr full_decomp + + ; read ROM/no-write + bit $C082 + + +done_load_sound: ;========================== ; Load Title ;=========================== @@ -89,7 +116,7 @@ load_background: sta ZX0_src+1 - lda #$80 + lda #$A0 jsr full_decomp @@ -270,6 +297,9 @@ check_keypress: cmp #'D' ; shield right beq shield_right + cmp #'X' + beq asplode_asplode + cmp #8 ; left beq move_left @@ -309,7 +339,11 @@ adjust_shield: sta SHIELD_COUNT jmp main_loop +asplode_asplode: + jsr play_asplode + + jmp main_loop ;========================== ; done game @@ -334,6 +368,8 @@ wait_until_keypress: .include "hgr_sprite_big.s" .include "cycle_colors.s" .include "hgr_copy_fast.s" + .include "audio.s" + .include "play_asplode.s" .include "asplode_graphics/sb_sprites.inc" @@ -343,6 +379,8 @@ title_data: comp_data: .incbin "asplode_graphics/sb_zone.hgr.zx02" +sound_data: + .incbin "asplode_sound/asplode.btc.zx02" shield_sprites_l: .byte ASPLODE_SAMPLE + sta BTC_H + + ldx #ASPLODE_LENGTH ; 28 pages long??? + jsr play_audio + + ; read ROM/no-write + + bit $c082 + +done_play_asplode: + rts + diff --git a/games/sb/purple.s b/games/sb/play_purple.s similarity index 100% rename from games/sb/purple.s rename to games/sb/play_purple.s diff --git a/games/sb/qload.s b/games/sb/qload.s index 8fb0b4a1..4a0c49ee 100644 --- a/games/sb/qload.s +++ b/games/sb/qload.s @@ -183,7 +183,7 @@ sector_array: length_array: - .byte 40, 16, 16, 40 ; TITLE, DUCK, ROOF, ASPLODE + .byte 40, 16, 16, 48 ; TITLE, DUCK, ROOF, ASPLODE .byte 32, 32, 32 ; TARGET, CLIFF, RAT diff --git a/games/sb/title.s b/games/sb/title.s index a6342688..0202d9c5 100644 --- a/games/sb/title.s +++ b/games/sb/title.s @@ -300,7 +300,7 @@ load_new_program: .include "hgr_tables.s" .include "hgr_logo_scroll.s" .include "audio.s" - .include "purple.s" + .include "play_purple.s" .include "lc_detect.s" .include "title_graphics/title_sprites.inc" .include "hgr_sprite.s"