diff --git a/games/ootw/Makefile b/games/ootw/Makefile index 35741193..4fac4760 100644 --- a/games/ootw/Makefile +++ b/games/ootw/Makefile @@ -86,12 +86,12 @@ ootw_side3.dsk: ./qboot/QBOOT_DISK3 ./qboot/QLOAD \ $(DOS33_RAW) ootw_side3.dsk 0 2 ./qboot/QBOOT_DISK3 1 1 $(DOS33_RAW) ootw_side3.dsk 0 4 ./qboot/QBOOT_DISK3 2 1 $(DOS33_RAW) ootw_side3.dsk 1 0 ./qboot/QLOAD 0 14 - $(DOS33_RAW) ootw_side3.dsk 2 0 ./ootw_c11/OOTW_C11 0 38 - $(DOS33_RAW) ootw_side3.dsk 5 0 ./ootw_c12/OOTW_C12 0 38 - $(DOS33_RAW) ootw_side3.dsk 8 0 ./ootw_c13/OOTW_C13 0 39 - $(DOS33_RAW) ootw_side3.dsk 11 0 ./ootw_c14/OOTW_C14 0 38 - $(DOS33_RAW) ootw_side3.dsk 13 0 ./ootw_c15/OOTW_C15 0 97 - $(DOS33_RAW) ootw_side3.dsk 20 0 ./ending/ENDING 0 90 + $(DOS33_RAW) ootw_side3.dsk 2 0 ./ootw_c11/OOTW_C11 0 0 5 + $(DOS33_RAW) ootw_side3.dsk 5 0 ./ootw_c12/OOTW_C12 0 0 8 + $(DOS33_RAW) ootw_side3.dsk 8 0 ./ootw_c13/OOTW_C13 0 0 11 + $(DOS33_RAW) ootw_side3.dsk 11 0 ./ootw_c14/OOTW_C14 0 0 15 + $(DOS33_RAW) ootw_side3.dsk 15 0 ./ootw_c15/OOTW_C15 0 0 22 + $(DOS33_RAW) ootw_side3.dsk 22 0 ./ending/ENDING 0 0 35 #### diff --git a/games/ootw/ootw_c14/ootw_c14.s b/games/ootw/ootw_c14/ootw_c14.s index c706ab4b..47af14c5 100644 --- a/games/ootw/ootw_c14/ootw_c14.s +++ b/games/ootw/ootw_c14/ootw_c14.s @@ -15,6 +15,28 @@ ootw_c14: ; Initializing when entering level for first time + ;=========================== + ; Enable graphics + + bit LORES + bit SET_GR + bit FULLGR + + bit KEYRESET + + ;=========================== + ; Setup pages (is this necessary?) + + lda #0 + sta DRAW_PAGE + lda #4 + sta DISP_PAGE + + ;======================================================== + ; run tank intro + ;======================================================== + + jsr tank_intro ;======================================================== ; RESTART: called when restarting level (after game over) @@ -513,9 +535,47 @@ end_message: .include "../door.s" .include "../collision.s" +.include "../gr_overlay.s" +.include "../gr_run_sequence2.s" + ; room backgrounds .include "graphics/l14_arena/ootw_c14_arena.inc" ; sprites .include "../sprites/physicist.inc" .include "../sprites/alien.inc" + +;============================== +; tank intro + +tank_intro: + lda #tank_intro_sequence + sta INTRO_LOOPH + + jmp run_sequence + +; rts + +tank_intro_sequence: + .byte 255 ; load to bg + .word inside_bg_lzsa ; this + .byte 128+11 ; .word inside03_lzsa ; (3) + .byte 128+11 ; .word inside04_lzsa ; (3) + .byte 128+11 ; .word inside05_lzsa ; (3) + .byte 128+11 ; .word inside06_lzsa ; (3) + .byte 128+11 ; .word inside07_lzsa ; (3) + .byte 128+11 ; .word inside08_lzsa ; (3) + .byte 128+11 ; .word inside09_lzsa ; (3) + .byte 128+11 ; .word inside10_lzsa ; (3) + .byte 128+11 ; .word inside11_lzsa ; (3) + .byte 128+11 ; .word inside12_lzsa ; (3) + .byte 128+11 ; .word inside13_lzsa ; (3) + .byte 128+11 ; .word inside14_lzsa ; (3) + .byte 128+11 ; .word inside15_lzsa ; (3) + .byte 128+11 ; .word inside16_lzsa ; (3) + .byte 128+11 ; .word inside17_lzsa ; (3) + .byte 128+11 ; .word inside18_lzsa ; (3) + .byte 0 ; ending + diff --git a/games/ootw/qboot/qload.s b/games/ootw/qboot/qload.s index 8f94f8c8..43601f2f 100644 --- a/games/ootw/qboot/qload.s +++ b/games/ootw/qboot/qload.s @@ -196,8 +196,8 @@ track_array: .byte 2,11,17,25 ; INTRO,C1,C2,C3 .byte 26,30, 2, 5 ; C4,C5,C6,C7 .byte 8,11,14, 2 ; C8,C9,C10,C11 - .byte 5, 8,11,13 ; C12,C13,C14,C15 - .byte 20 ; ENDING + .byte 5, 8,11,15 ; C12,C13,C14,C15 + .byte 22 ; ENDING .byte 99,0 ; TITLE,FIRST_SECTOR @@ -214,7 +214,7 @@ length_array: .byte 137, 95,125, 14 ; INTRO,C1,C2,C3 .byte 62, 41, 38, 38 ; C4,C5,C6,C7 .byte 39, 38, 38, 38 ; C8,C9,C10,C11 - .byte 38, 39, 38, 97 ; C12,C13,C14,C15 + .byte 38, 39, 44, 97 ; C12,C13,C14,C15 .byte 90 ; ENDING .byte 1, 1 ; TITLE,FIRST_SECTOR