diff --git a/linker_scripts/apple2_1400.inc b/linker_scripts/apple2_1400.inc index e8175c27..b6fa9f9a 100644 --- a/linker_scripts/apple2_1400.inc +++ b/linker_scripts/apple2_1400.inc @@ -1,6 +1,6 @@ MEMORY { ZP: start = $00, size = $1A, type = rw; - RAM: start = $1400, size = $8E00, file = %O; + RAM: start = $1400, size = $AC00, file = %O; } SEGMENTS { diff --git a/mist/Makefile b/mist/Makefile index 4e731db7..77be43d9 100644 --- a/mist/Makefile +++ b/mist/Makefile @@ -11,15 +11,15 @@ all: mist.dsk mist.dsk: HELLO LOADER MIST_TITLE MIST MECHE cp empty.dsk mist.dsk $(DOS33) -y mist.dsk SAVE A HELLO - $(DOS33) -y mist.dsk BSAVE -a 0x800 LOADER + $(DOS33) -y mist.dsk BSAVE -a 0x1000 LOADER $(DOS33) -y mist.dsk BSAVE -a 0x4000 MIST_TITLE - $(DOS33) -y mist.dsk BSAVE -a 0x1000 MIST - $(DOS33) -y mist.dsk BSAVE -a 0x1000 MECHE + $(DOS33) -y mist.dsk BSAVE -a 0x1400 MIST + $(DOS33) -y mist.dsk BSAVE -a 0x1400 MECHE ### LOADER: loader.o - ld65 -o LOADER loader.o -C ../linker_scripts/apple2_800.inc + ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1000.inc loader.o: loader.s ca65 -o loader.o loader.s -l loader.lst @@ -42,7 +42,7 @@ mist_title.o: mist_title.s zp.inc hardware.inc \ #### MIST: mist.o - ld65 -o MIST mist.o -C ../linker_scripts/apple2_1000.inc + ld65 -o MIST mist.o -C ../linker_scripts/apple2_1400.inc mist.o: mist.s zp.inc hardware.inc \ graphics_island/mist_graphics.inc \ @@ -55,13 +55,14 @@ mist.o: mist.s zp.inc hardware.inc \ brother_books.s \ keyboard.s \ draw_pointer.s \ + end_level.s \ gr_copy.s audio.s text_print.s decompress_fast_v2.s ca65 -o mist.o mist.s -l mist.lst #### MECHE: meche.o - ld65 -o MECHE meche.o -C ../linker_scripts/apple2_1000.inc + ld65 -o MECHE meche.o -C ../linker_scripts/apple2_1400.inc meche.o: meche.s zp.inc hardware.inc \ graphics_meche/meche_graphics.inc \ diff --git a/mist/brother_books.s b/mist/brother_books.s index fc5e9754..a4f276ed 100644 --- a/mist/brother_books.s +++ b/mist/brother_books.s @@ -58,13 +58,15 @@ red_book_loop: jsr page_flip + ; FIXME +.if 0 lda #audio_red_page sta BTC_H ldx #21 ; 21 pages long??? jsr play_audio - +.endif ; lda #100 ; jsr WAIT diff --git a/mist/end_level.s b/mist/end_level.s new file mode 100644 index 00000000..16f2ab3e --- /dev/null +++ b/mist/end_level.s @@ -0,0 +1,24 @@ + + +end_level: + + ; set WHICH_LOAD first + + bit TEXTGR + jsr clear_bottom + + lda #loading_message + sta OUTH + + jsr move_and_print + + jsr page_flip + + ; exit back to loader + + rts + +loading_message: +.byte 0,20,"LOADING...",0 diff --git a/mist/keyboard.s b/mist/keyboard.s index 52a86318..0671d08f 100644 --- a/mist/keyboard.s +++ b/mist/keyboard.s @@ -241,8 +241,6 @@ done_turning: rts -exit_level: - rts diff --git a/mist/loader.s b/mist/loader.s index 59962dce..45312a54 100644 --- a/mist/loader.s +++ b/mist/loader.s @@ -85,9 +85,9 @@ load_intro: jmp actual_load load_other: - lda #<$1000 + lda #<$1400 sta entry_smc+1 - lda #>$1000 + lda #>$1400 sta entry_smc+2 actual_load: diff --git a/mist/mist.s b/mist/mist.s index 263388b3..c988b5a3 100644 --- a/mist/mist.s +++ b/mist/mist.s @@ -24,6 +24,7 @@ mist_start: lda #0 sta DRAW_PAGE + sta LEVEL_OVER ; init cursor @@ -51,9 +52,12 @@ mist_start: sta CLOCK_HOUR jsr clock_inside_reset - lda #0 - sta GEAR_OPEN +; lda #0 +; sta GEAR_OPEN + lda #1 + sta GEAR_OPEN + jsr open_the_gear not_first_time: @@ -138,8 +142,28 @@ nothing_special: inc FRAMEH room_frame_no_oflo: + ;==================================== + ; check level over + ;==================================== + + lda LEVEL_OVER + bne really_exit jmp game_loop +really_exit: + jmp end_level + + + +exit_level: + lda #2 + sta WHICH_LOAD + + lda #$ff + sta LEVEL_OVER + + rts + ;========================== ; includes @@ -159,6 +183,7 @@ room_frame_no_oflo: .include "graphics_island/mist_graphics.inc" + .include "end_level.s" ; puzzles @@ -184,8 +209,8 @@ room_frame_no_oflo: ;.align $100 -audio_red_page: -.incbin "audio/red_page.btc" +;audio_red_page: +;.incbin "audio/red_page.btc" audio_link_noise: .incbin "audio/link_noise.btc" diff --git a/mist/zp.inc b/mist/zp.inc index 6caaaf99..2e0e0211 100644 --- a/mist/zp.inc +++ b/mist/zp.inc @@ -70,6 +70,7 @@ CLOCK_MIDDLE = $90 CLOCK_BOTTOM = $91 CLOCK_LAST = $92 ANIMATE_FRAME = $93 +LEVEL_OVER = $94 DISP_PAGE = $ED ; ALL DRAW_PAGE = $EE ; ALL