diff --git a/games/keen/hello.bas b/games/keen/hello.bas index 36ef72c3..dd7c2782 100644 --- a/games/keen/hello.bas +++ b/games/keen/hello.bas @@ -1,5 +1,5 @@ 5 HOME -10 PRINT "LOADING KEEN V0.04" +10 PRINT "LOADING KEEN V0.06" 20 PRINT " KEEN1 PROOF-OF-CONCEPT DEMAKE" 30 PRINT:PRINT 70 PRINT "BASED ON KEEN1 BY ID" diff --git a/games/keen/level1.s b/games/keen/level1.s index 5edb74f9..996caf01 100644 --- a/games/keen/level1.s +++ b/games/keen/level1.s @@ -277,3 +277,4 @@ level1_levelover: level1_data_zx02: .incbin "maps/level1_map.zx02" +oracle_message: diff --git a/games/keen/level1_items.s b/games/keen/level1_items.s index c20aedfb..9c4683b1 100644 --- a/games/keen/level1_items.s +++ b/games/keen/level1_items.s @@ -123,6 +123,9 @@ check_item: lda (INL),Y do_check_item: + cmp #26 + beq was_oracle + cmp #27 bcc done_check_item ; not an item cmp #32 @@ -197,6 +200,37 @@ at_door: done_check_door: rts +was_oracle: + lda ORACLE_SPOKEN + bne done_oracle + + inc ORACLE_SPOKEN + + bit TEXTGR + + jsr clear_bottom + + lda #oracle_message + sta OUTH + + jsr move_and_print + jsr move_and_print + jsr move_and_print + + jsr page_flip + +wait_oracle: + lda KEYPRESS + bpl wait_oracle + bit KEYRESET + + bit FULLGR + +done_oracle: + + rts ;============================= diff --git a/games/keen/level2.s b/games/keen/level2.s index 791c0b93..5b9082f3 100644 --- a/games/keen/level2.s +++ b/games/keen/level2.s @@ -39,6 +39,7 @@ level2_start: sta KEEN_FALLING sta KEEN_SHOOTING sta KEYCARDS + sta ORACLE_SPOKEN ; debug @@ -278,3 +279,9 @@ level1_levelover: level1_data_zx02: .incbin "maps/level2_map.zx02" + +oracle_message: + ; 012345678901234567890123456789012345678 + .byte 2,21,"YOU HEAR IN YOUR MIND:",0 + .byte 2,22,"IT IS TOO BAD THAT YOU CANNOT READ",0 + .byte 2,23,"THE STANDARD GALACTIC ALPHABET, HUMAN",0 diff --git a/games/keen/maps/level2_map.png b/games/keen/maps/level2_map.png index 65952223..3145c7a9 100644 Binary files a/games/keen/maps/level2_map.png and b/games/keen/maps/level2_map.png differ diff --git a/games/keen/release/keen1_lores.dsk b/games/keen/release/keen1_lores.dsk new file mode 100644 index 00000000..11319f8e Binary files /dev/null and b/games/keen/release/keen1_lores.dsk differ diff --git a/games/keen/zp.inc b/games/keen/zp.inc index 67a46168..c362cd76 100644 --- a/games/keen/zp.inc +++ b/games/keen/zp.inc @@ -144,6 +144,7 @@ INITIAL_SOUND = $A4 PLAY_END_SOUND = $A5 APPLEII_MODEL = $A6 CURRENT_LEVEL = $A7 +ORACLE_SPOKEN = $A8 WHICH_SLOT = $DA JS_BUTTON_STATE = $DB