From 7edd09d623a2448bb8323b1fd9ca315a896debdf Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Tue, 23 Jun 2020 01:34:20 -0400 Subject: [PATCH] mist: initial fireplace book implementation going to have to redo how this is done --- mist/TODO | 12 +++--- mist/books/Makefile | 5 ++- mist/books/fireplace.book | 26 +++++++++++++ mist/books/mechanical.book | 4 +- mist/books/selenitic.book | 4 +- mist/books/stoneship.book | 4 +- mist/octagon_bookshelf.s | 79 ++++++++++++++++++++++++++++++++++---- 7 files changed, 113 insertions(+), 21 deletions(-) create mode 100644 mist/books/fireplace.book diff --git a/mist/TODO b/mist/TODO index f5cbb002..997e3843 100644 --- a/mist/TODO +++ b/mist/TODO @@ -1,15 +1,15 @@ For release 1.0 + LOADER - -- better loader - -- save/load games - -- sound loader + -- save game + -- sound loader (into language card?) + MIST (split off ship-up/ship-down?) -- fix catherine letter (bg, grab from other side) + also make it a location/graphic like half messages -- constellation puzzle/ship raising -- marker switches + DENTIST -- all of it -+ CABIN (split off?) ++ CABIN -- safe puzzle -- boiler -- up/down in tree @@ -28,10 +28,10 @@ For release 1.0 + CHANNEL -- hook up water valves at least - -- hook up stairway and elevator1 + -- hook up stairway + ARBOR - -- all of it + -- finish level Done: + MECHE diff --git a/mist/books/Makefile b/mist/books/Makefile index 2dc60362..7110264c 100644 --- a/mist/books/Makefile +++ b/mist/books/Makefile @@ -11,11 +11,14 @@ all: octagon_books.inc #### octagon_books.inc: \ - channelwood.lzsa stoneship.lzsa mechanical.lzsa selenitic.lzsa + channelwood.lzsa stoneship.lzsa mechanical.lzsa selenitic.lzsa \ + fireplace.lzsa echo "channelwood_book_lzsa: .incbin \"channelwood.lzsa\"" > octagon_books.inc echo "stoneship_book_lzsa: .incbin \"stoneship.lzsa\"" >> octagon_books.inc echo "mechanical_book_lzsa: .incbin \"mechanical.lzsa\"" >> octagon_books.inc echo "selenitic_book_lzsa: .incbin \"selenitic.lzsa\"" >> octagon_books.inc + echo "fireplace_book_lzsa: .incbin \"fireplace.lzsa\"" >> octagon_books.inc + %.gr: %.book diff --git a/mist/books/fireplace.book b/mist/books/fireplace.book new file mode 100644 index 00000000..a5bc7fe8 --- /dev/null +++ b/mist/books/fireplace.book @@ -0,0 +1,26 @@ +# 300 pages +#0 1 2 3 +#123456789012345678901234567890123456789 + : + : + : + ------------- : ------------- + : : : : : : : : : : : : : : : + ------------- : ------------- + : : : : : : : : : : : : : : : + ------------- : ------------- + : : : : : : : : : : : : : : : + ------------- : ------------- + : : : : : : : : : : : : : : : + ------------- : ------------- + : : : : : : : : : : : : : : : + ------------- : ------------- + : : : : : : : : : : : : : : : + ------------- : ------------- + 299 : 300 + : + : + : + : + : + : diff --git a/mist/books/mechanical.book b/mist/books/mechanical.book index 00800dc8..0b5ea538 100644 --- a/mist/books/mechanical.book +++ b/mist/books/mechanical.book @@ -1,5 +1,5 @@ -#0 1 2 3 -#12345678901234567890123457890123456789 +#0 1 2 3 +#123456789012345678901234567890123456789 : -- THE SKY IS DARK : /=/ GRAY WITH INCESSANT : :: diff --git a/mist/books/selenitic.book b/mist/books/selenitic.book index 0579a7ba..0bc15549 100644 --- a/mist/books/selenitic.book +++ b/mist/books/selenitic.book @@ -1,5 +1,5 @@ -#0 1 2 3 -#12345678901234567890123457890123456789 +#0 1 2 3 +#123456789012345678901234567890123456789 : -- I DO NOT FEEL : _______/===\ ALTOGETHER WELCOME : < : [] > diff --git a/mist/books/stoneship.book b/mist/books/stoneship.book index 6805b38b..8effa06e 100644 --- a/mist/books/stoneship.book +++ b/mist/books/stoneship.book @@ -1,5 +1,5 @@ -#0 1 2 3 -#12345678901234567890123457890123456789 +#0 1 2 3 +#123456789012345678901234567890123456789 : -- EMMIT, BRANCH, : CONSTELLATIONS AND WILL LIVE ON : O diff --git a/mist/octagon_bookshelf.s b/mist/octagon_bookshelf.s index 5675707f..e46ee766 100644 --- a/mist/octagon_bookshelf.s +++ b/mist/octagon_bookshelf.s @@ -27,11 +27,11 @@ top_shelf: middle_shelf: cpx #13 - bcc read_burnt_book + bcc read_burnt_book ; blt cpx #18 - bcc read_selenitic - cpx #30 - bcc read_burnt_book + bcc read_selenitic ; blt + cpx #28 + bcc read_burnt_book ; blt bcs read_fireplace bottom_shelf: @@ -44,10 +44,6 @@ bottom_shelf: read_burnt_book: jmp all_done_book -read_fireplace: - ; FIXME - jmp all_done_book - read_selenitic: lda #fireplace_book_lzsa + sta getsrc_smc+2 ; LZSA_SRC_HI + + lda #$c ; load to page $c00 + jsr decompress_lzsa2_fast + + jsr gr_copy_to_current + + + ldy #8 +fp_book_outer_loop: + + lda gr_offsets,Y + sta fp_book_smc+1 + lda gr_offsets+1,Y + clc + adc DRAW_PAGE + sta fp_book_smc+2 + + lda $2000,Y + sta TEMPY + + ldx #5 +fp_book_inner_loop: + + ror TEMPY + bcc fp_space + lda #' '|$80 + jmp fp_book_smc +fp_space: + lda #' '&$3f + +fp_book_smc: + sta $400,X + + inx + inx + cpx #17 + bne fp_book_inner_loop + + iny + iny + iny + iny + cpy #32 + bne fp_book_outer_loop + + jsr page_flip + +wait_fireplace_book: + lda KEYPRESS + bpl wait_fireplace_book + bit KEYRESET + + + jmp all_done_book + + ;========================= ; change rotation ;=========================