From 6c06f149ecbccf88b5fe7abaa36f4151963ada74 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Tue, 19 Apr 2022 21:36:44 -0400 Subject: [PATCH] lemm: update levels to be playable --- games/lemm/Makefile | 27 ++- games/lemm/hr_graphics/l6_rr.png | Bin 5281 -> 5315 bytes games/lemm/hr_graphics/l7_floppy.png | Bin 22692 -> 23195 bytes games/lemm/hr_level6.s | 305 +++++++++++++++++++++++++++ games/lemm/hr_level7.s | 305 +++++++++++++++++++++++++++ 5 files changed, 634 insertions(+), 3 deletions(-) create mode 100644 games/lemm/hr_level6.s create mode 100644 games/lemm/hr_level7.s diff --git a/games/lemm/Makefile b/games/lemm/Makefile index 97258ae4..312c4202 100644 --- a/games/lemm/Makefile +++ b/games/lemm/Makefile @@ -40,7 +40,7 @@ lemm.dsk: QBOOT QLOAD LEMM \ hr_lemm.dsk: QBOOT QLOAD HR_LEMM \ HR_LEVEL1 HR_LEVEL2 HR_LEVEL3 HR_LEVEL4 HR_LEVEL5 \ - LEVEL6 LEVEL7 LEVEL8 LEVEL9 LEVEL10 + HR_LEVEL6 HR_LEVEL7 LEVEL8 LEVEL9 LEVEL10 cp $(EMPTY_DISK) hr_lemm.dsk $(DOS33_RAW) hr_lemm.dsk 0 0 QBOOT 0 1 $(DOS33_RAW) hr_lemm.dsk 0 2 QBOOT 1 1 @@ -52,8 +52,8 @@ hr_lemm.dsk: QBOOT QLOAD HR_LEMM \ $(DOS33_RAW) hr_lemm.dsk 12 0 HR_LEVEL3 0 0 $(DOS33_RAW) hr_lemm.dsk 15 0 HR_LEVEL4 0 0 $(DOS33_RAW) hr_lemm.dsk 18 0 HR_LEVEL5 0 0 - $(DOS33_RAW) hr_lemm.dsk 21 0 LEVEL6 0 0 - $(DOS33_RAW) hr_lemm.dsk 24 0 LEVEL7 0 0 + $(DOS33_RAW) hr_lemm.dsk 21 0 HR_LEVEL6 0 0 + $(DOS33_RAW) hr_lemm.dsk 24 0 HR_LEVEL7 0 0 $(DOS33_RAW) hr_lemm.dsk 27 0 LEVEL8 0 0 $(DOS33_RAW) hr_lemm.dsk 30 0 LEVEL9 0 0 $(DOS33_RAW) hr_lemm.dsk 33 0 LEVEL10 0 0 @@ -400,6 +400,27 @@ hr_level5.o: hr_level5.s zp.inc hardware.inc qload.inc lemm.inc \ hr_graphics/graphics_hr_level5.inc ca65 -o hr_level5.o hr_level5.s -l hr_level5.lst +#### + +HR_LEVEL6: hr_level6.o + ld65 -o HR_LEVEL6 hr_level6.o -C ../../linker_scripts/apple2_9000.inc + +hr_level6.o: hr_level6.s zp.inc hardware.inc qload.inc lemm.inc \ + release_lemming.s \ + hr_graphics/graphics_hr_level6.inc + ca65 -o hr_level6.o hr_level6.s -l hr_level6.lst + +#### + +HR_LEVEL7: hr_level7.o + ld65 -o HR_LEVEL7 hr_level7.o -C ../../linker_scripts/apple2_9000.inc + +hr_level7.o: hr_level7.s zp.inc hardware.inc qload.inc lemm.inc \ + release_lemming.s \ + hr_graphics/graphics_hr_level7.inc + ca65 -o hr_level7.o hr_level7.s -l hr_level7.lst + + diff --git a/games/lemm/hr_graphics/l6_rr.png b/games/lemm/hr_graphics/l6_rr.png index a1dcc08b6067280397147517caff7a055dd375ff..4a56be28bd4f58407a4b34b3f71113709bfe23ce 100644 GIT binary patch delta 4720 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 + sta level_preview_h_smc+1 + + lda #level6_intro_text + sta intro_text_smc_h+1 + + + ;============== + ; set up music + ;============== + + lda #0 + sta CURRENT_CHUNK + sta DONE_PLAYING + sta BASE_FRAME_L + sta BUTTON_LOCATION + + ; set up first song + + lda #music8_parts_l + sta chunk_l_smc+2 + + lda #music8_parts_h + sta chunk_h_smc+2 + + + lda #$D0 + sta CHUNK_NEXT_LOAD ; Load at $D0 + jsr load_song_chunk + + lda #$D0 ; music starts at $d000 + sta CHUNK_NEXT_PLAY + sta BASE_FRAME_H + + lda #1 + sta LOOP + sta CURRENT_CHUNK + + + + ;======================= + ; show title screen + ;======================= + + jsr intro_level + + ;======================= + ; Load Graphics + ;======================= + + lda #$20 + sta HGR_PAGE + jsr hgr_make_tables + + bit SET_GR + bit PAGE0 + bit HIRES + bit FULLGR + + lda #hr_level6_lzsa + sta getsrc_smc+2 ; LZSA_SRC_HI + + lda #$20 + + jsr decompress_lzsa2_fast + + lda #hr_level6_lzsa + sta getsrc_smc+2 ; LZSA_SRC_HI + + lda #$40 + + jsr decompress_lzsa2_fast + + + ;======================= + ; Setup cursor + ;======================= + + lda #$FF + sta OVER_LEMMING + lda #10 + sta CURSOR_X + lda #100 + sta CURSOR_Y + + ;======================= + ; init vars + ;======================= + + lda #10 + sta LEMMINGS_TO_RELEASE + + ; set up time + + lda #$5 + sta TIME_MINUTES + lda #$00 + sta TIME_SECONDS + sta TIMER_COUNT ; 1/50 + + jsr init_level + + jsr update_remaining_all + + ;======================= + ; Play "Let's Go" + ;======================= + + jsr play_letsgo + + + ;=================== + ;=================== + ; Main Loop + ;=================== + ;=================== +l6_main_loop: + + ;========================= + ; load next chunk of music + ; if necessary + ;========================= + + jsr load_music + + + ;========================= + ; open door + ;========================= + + lda DOOR_OPEN + bne l6_door_is_open + + jsr draw_door + +l6_door_is_open: + + ;====================== + ; release lemmings + ;====================== + + jsr release_lemming + + ;====================== + ; animate flames + ;====================== + + + jsr draw_flames + + jsr update_timer + + ; main drawing loop + + jsr erase_lemming + + jsr erase_pointer + + jsr move_lemmings + + jsr draw_lemming + + jsr handle_keypress + + jsr draw_pointer + + ; wait a bit + + lda #$f0 + jsr wait + + inc FRAMEL + + lda LEVEL_OVER + bne l6_level_over + + jmp l6_main_loop + + +l6_level_over: + + rts + + +.include "update_timer.s" + +.include "hr_graphics/graphics_hr_level6.inc" + + +music8_parts_h: + .byte >lemm8_part1_lzsa,>lemm8_part2_lzsa,>lemm8_part3_lzsa + .byte >lemm8_part4_lzsa,>lemm8_part5_lzsa,>lemm8_part6_lzsa + .byte $00 + +music8_parts_l: + .byte hr_level7_preview_lzsa + sta level_preview_h_smc+1 + + lda #level7_intro_text + sta intro_text_smc_h+1 + + + ;============== + ; set up music + ;============== + + lda #0 + sta CURRENT_CHUNK + sta DONE_PLAYING + sta BASE_FRAME_L + sta BUTTON_LOCATION + + ; set up first song + + lda #music8_parts_l + sta chunk_l_smc+2 + + lda #music8_parts_h + sta chunk_h_smc+2 + + + lda #$D0 + sta CHUNK_NEXT_LOAD ; Load at $D0 + jsr load_song_chunk + + lda #$D0 ; music starts at $d000 + sta CHUNK_NEXT_PLAY + sta BASE_FRAME_H + + lda #1 + sta LOOP + sta CURRENT_CHUNK + + + + ;======================= + ; show title screen + ;======================= + + jsr intro_level + + ;======================= + ; Load Graphics + ;======================= + + lda #$20 + sta HGR_PAGE + jsr hgr_make_tables + + bit SET_GR + bit PAGE0 + bit HIRES + bit FULLGR + + lda #hr_level7_lzsa + sta getsrc_smc+2 ; LZSA_SRC_HI + + lda #$20 + + jsr decompress_lzsa2_fast + + lda #hr_level7_lzsa + sta getsrc_smc+2 ; LZSA_SRC_HI + + lda #$40 + + jsr decompress_lzsa2_fast + + + ;======================= + ; Setup cursor + ;======================= + + lda #$FF + sta OVER_LEMMING + lda #10 + sta CURSOR_X + lda #100 + sta CURSOR_Y + + ;======================= + ; init vars + ;======================= + + lda #10 + sta LEMMINGS_TO_RELEASE + + ; set up time + + lda #$5 + sta TIME_MINUTES + lda #$00 + sta TIME_SECONDS + sta TIMER_COUNT ; 1/50 + + jsr init_level + + jsr update_remaining_all + + ;======================= + ; Play "Let's Go" + ;======================= + + jsr play_letsgo + + + ;=================== + ;=================== + ; Main Loop + ;=================== + ;=================== +l7_main_loop: + + ;========================= + ; load next chunk of music + ; if necessary + ;========================= + + jsr load_music + + + ;========================= + ; open door + ;========================= + + lda DOOR_OPEN + bne l7_door_is_open + + jsr draw_door + +l7_door_is_open: + + ;====================== + ; release lemmings + ;====================== + + jsr release_lemming + + ;====================== + ; animate flames + ;====================== + + + jsr draw_flames + + jsr update_timer + + ; main drawing loop + + jsr erase_lemming + + jsr erase_pointer + + jsr move_lemmings + + jsr draw_lemming + + jsr handle_keypress + + jsr draw_pointer + + ; wait a bit + + lda #$f0 + jsr wait + + inc FRAMEL + + lda LEVEL_OVER + bne l7_level_over + + jmp l7_main_loop + + +l7_level_over: + + rts + + +.include "update_timer.s" + +.include "hr_graphics/graphics_hr_level7.inc" + + +music8_parts_h: + .byte >lemm8_part1_lzsa,>lemm8_part2_lzsa,>lemm8_part3_lzsa + .byte >lemm8_part4_lzsa,>lemm8_part5_lzsa,>lemm8_part6_lzsa + .byte $00 + +music8_parts_l: + .byte