diff --git a/games/lemm/lemm.s b/games/lemm/lemm.s index ef8a8357..f64591f1 100644 --- a/games/lemm/lemm.s +++ b/games/lemm/lemm.s @@ -235,9 +235,11 @@ play_level5: load_song_chunk: ldx CURRENT_CHUNK - lda music_parts_l,X +chunk_l_smc: + lda music6_parts_l,X sta getsrc_smc+1 ; LZSA_SRC_LO - lda music_parts_h,X +chunk_h_smc: + lda music6_parts_h,X sta getsrc_smc+2 ; LZSA_SRC_HI bne load_song_chunk_good @@ -340,3 +342,23 @@ lemm5_part4_lzsa: lemm5_part5_lzsa: .incbin "music/lemm5.part5.lzsa" +music6_parts_h: + .byte >lemm6_part1_lzsa,>lemm6_part2_lzsa,>lemm6_part3_lzsa + .byte >lemm6_part4_lzsa,>lemm6_part5_lzsa,$00 + +music6_parts_l: + .byte music_parts_l + sta chunk_l_smc+2 + + lda #music_parts_h + sta chunk_h_smc+2 + + lda #$D0 sta CHUNK_NEXT_LOAD ; Load at $D0 jsr load_song_chunk @@ -23,6 +36,8 @@ do_level1: sta LOOP sta CURRENT_CHUNK + + ;======================= ; show title screen ;======================= diff --git a/games/lemm/level5.s b/games/lemm/level5.s index 5b388b9f..556c8916 100644 --- a/games/lemm/level5.s +++ b/games/lemm/level5.s @@ -11,6 +11,19 @@ do_level5: sta BASE_FRAME_L sta BUTTON_LOCATION + ; set up first song + + lda #music6_parts_l + sta chunk_l_smc+2 + + lda #music6_parts_h + sta chunk_h_smc+2 + + lda #$D0 sta CHUNK_NEXT_LOAD ; Load at $D0 jsr load_song_chunk @@ -179,7 +192,7 @@ l5_door_is_open: l5_done_release_lemmings: - jsr draw_flames +; jsr draw_flames lda TIMER_COUNT cmp #$50 diff --git a/games/lemm/music/Makefile b/games/lemm/music/Makefile index f3b143e2..faae0741 100644 --- a/games/lemm/music/Makefile +++ b/games/lemm/music/Makefile @@ -4,13 +4,20 @@ YM_TO_YM5 = ~/research/vmw-meter.git/ay-3-8910/conversion_tools/ym_to_ym5 RAW_INTERLEAVE = ~/research/vmw-meter.git/ay-3-8910/conversion_tools/raw_interleave all: lemm5.part1.lzsa lemm5.part2.lzsa lemm5.part3.lzsa \ - lemm5.part4.lzsa lemm5.part5.lzsa + lemm5.part4.lzsa lemm5.part5.lzsa \ + lemm6.part1.lzsa lemm6.part2.lzsa lemm6.part3.lzsa \ + lemm6.part4.lzsa lemm6.part5.lzsa + # lemm5.part6.lzsa \ # lemm5.part7.lzsa lemm5.part8.lzsa lemm5.raw: lemm5.ym $(YM5_TO_RAW) ./lemm5.ym > lemm5.raw +lemm6.raw: lemm6.ym + $(YM5_TO_RAW) ./lemm6.ym > lemm6.raw + +#### lemm5.part1: lemm5.raw $(RAW_INTERLEAVE) -m 11 -c 512 ./lemm5 @@ -30,6 +37,28 @@ lemm5.part4.lzsa: lemm5.part4 lemm5.part5.lzsa: lemm5.part5 $(LZSA) -r -f2 lemm5.part5 lemm5.part5.lzsa +#### + +lemm6.part1: lemm6.raw + $(RAW_INTERLEAVE) -m 11 -c 512 ./lemm6 + +lemm6.part1.lzsa: lemm6.part1 + $(LZSA) -r -f2 lemm6.part1 lemm6.part1.lzsa + +lemm6.part2.lzsa: lemm6.part2 + $(LZSA) -r -f2 lemm6.part2 lemm6.part2.lzsa + +lemm6.part3.lzsa: lemm6.part3 + $(LZSA) -r -f2 lemm6.part3 lemm6.part3.lzsa + +lemm6.part4.lzsa: lemm6.part4 + $(LZSA) -r -f2 lemm6.part4 lemm6.part4.lzsa + +lemm6.part5.lzsa: lemm6.part5 + $(LZSA) -r -f2 lemm6.part5 lemm6.part5.lzsa + +#### + #lemm5.part6: lemm5.raw # dd conv=notrunc if=lemm5.raw of=lemm5.part6 bs=4096 count=1 seek=5 skip=5 diff --git a/games/lemm/music/lemm6.ym b/games/lemm/music/lemm6.ym new file mode 100644 index 00000000..6025931f Binary files /dev/null and b/games/lemm/music/lemm6.ym differ