diff --git a/games/keen/common_defines.inc b/games/keen/common_defines.inc index 8e945fa8..a63ab3ab 100644 --- a/games/keen/common_defines.inc +++ b/games/keen/common_defines.inc @@ -2,7 +2,7 @@ LOAD_TITLE = 0 LOAD_MARS = 1 LOAD_KEEN1 = 2 LOAD_KEEN2 = 3 - +LOAD_STORY = 18 tiles = $9000 big_tilemap = $9400 diff --git a/games/keen/loader.s b/games/keen/loader.s index c5357965..2b20b178 100644 --- a/games/keen/loader.s +++ b/games/keen/loader.s @@ -216,6 +216,7 @@ filenames: .word keen14_filename .word keen15_filename .word keen16_filename + .word story_filename engine_filename: .byte "ENGINE",0 @@ -255,7 +256,8 @@ keen15_filename: .byte "LEVEL15",0 keen16_filename: .byte "LEVEL16",0 - +story_filename: + .byte "STORY",0 ;=================================================== diff --git a/games/keen/story.s b/games/keen/story.s index 8ea0417b..3d854e3e 100644 --- a/games/keen/story.s +++ b/games/keen/story.s @@ -51,11 +51,32 @@ load_background: jsr full_decomp -wait_until_keypress: - lda KEYPRESS - bpl wait_until_keypress + jsr wait_until_keypress - bit KEYRESET + + bit SET_TEXT + bit PAGE1 + + ldy #0 + lda gr_offsets,Y + sta INL + iny + lda gr_offsets,Y + sta INH + + lda #story_data + sta OUTH + + ldy #39 +inner_text_loop: + lda (OUTL),Y + sta (INL),Y + dey + bpl inner_text_loop + + jsr wait_until_keypress lda #LOAD_TITLE @@ -129,4 +150,10 @@ really_done_keyloop: rts +wait_until_keypress: + lda KEYPRESS + bpl wait_until_keypress + bit KEYRESET + rts + diff --git a/games/keen/title.s b/games/keen/title.s index 5d869d12..bb6f4e1c 100644 --- a/games/keen/title.s +++ b/games/keen/title.s @@ -212,7 +212,9 @@ init_vars: sta MARS_X sta MARS_Y - lda #LOAD_MARS + lda #LOAD_STORY + +; lda #LOAD_MARS sta WHICH_LOAD ; assume new game (mars map) rts