diff --git a/tfv/tfv.s b/tfv/tfv.s index 92fce7f0..2e9187fb 100644 --- a/tfv/tfv.s +++ b/tfv/tfv.s @@ -87,9 +87,9 @@ exit: .include "tfv_utils.s" .include "tfv_title.s" .include "tfv_textentry.s" -.include "tfv_info.s" .include "tfv_flying.s" .include "tfv_worldmap.s" +.include "tfv_info.s" ;=============================================== ; Variables diff --git a/tfv/tfv_info.s b/tfv/tfv_info.s index 7749a340..c30cba5f 100644 --- a/tfv/tfv_info.s +++ b/tfv/tfv_info.s @@ -1,7 +1,106 @@ game_over: + lda #$a0 + jsr clear_top_a + + bit SET_TEXT + + lda #10 + sta CV + lda #15 + sta CH + + lda #>(game_over_man) + sta OUTH + lda #<(game_over_man) + sta OUTL + + jsr move_and_print + + jsr page_flip + +hang_forever: + jmp hang_forever + rts +game_over_man: + .asciiz "GAME OVER" + +show_map: + + lda DRAW_PAGE + clc + adc #$4 + sta BASH + lda #$00 + sta BASL + + lda #>(map_rle) + sta GBASH + lda #<(map_rle) + sta GBASL + jsr load_rle_gr + + + ; basic_plot(8+((map_x&0x3)*6)+(tfv_x/6), + ; 8+(((map_x&0xc)>>2)*6)+(tfv_y/6)) + + ; horizontal + + lda MAP_X + and #3 + asl + sta TEMP + asl + clc + adc TEMP ; ( MAP_X & 3 ) * 6 + sta TEMP + + lda TFV_X + lsr + lsr + lsr ; TFV/8 + + adc TEMP + adc #8 + sta CH + + ; vertical + + lda MAP_X + and #$c + lsr + sta TEMP + asl + clc + adc TEMP ; ( MAP_X & C ) * 6 + sta TEMP + + lda TFV_Y + lsr + lsr + lsr ; TFV/8 + + adc TEMP + adc #8 + lsr ; divide by 2 as htab_vtab multiplies + sta CV + + jsr htab_vtab + lda #$19 ; red/orange + ldy #0 + sta (BASL),Y + + + jsr page_flip + + jsr wait_until_keypressed + + rts + + + print_help: lda #$a0 jsr clear_top_a diff --git a/tfv/tfv_utils.s b/tfv/tfv_utils.s index 46fb3c91..7f4d6807 100644 --- a/tfv/tfv_utils.s +++ b/tfv/tfv_utils.s @@ -437,10 +437,10 @@ put_sprite_done_draw: ;================================ - ; move_and_print + ; htab_vtab ;================================ ; move to CH/CV -move_and_print: +htab_vtab: lda CV asl tay @@ -454,6 +454,15 @@ move_and_print: sta BASH ; and store it out ; BASH:BASL now points at right place + rts + + ;================================ + ; move_and_print + ;================================ + ; move to CH/CV +move_and_print: + jsr htab_vtab + ;================================ ; print_string ;================================ diff --git a/tfv/tfv_worldmap.s b/tfv/tfv_worldmap.s index 9eab201b..6e84a7a2 100644 --- a/tfv/tfv_worldmap.s +++ b/tfv/tfv_worldmap.s @@ -162,7 +162,7 @@ worldmap_handle_map: cmp #('M') bne worldmap_done_keyboard - ; jsr show_map + jsr show_map inc REFRESH worldmap_done_keyboard: diff --git a/tfv/tfv_zp.inc b/tfv/tfv_zp.inc index b508b1fb..7a77ce84 100644 --- a/tfv/tfv_zp.inc +++ b/tfv/tfv_zp.inc @@ -108,6 +108,7 @@ COLOR_YELLOW EQU 13 COLOR_AQUA EQU 14 COLOR_WHITE EQU 15 +COLOR_BOTH_RED EQU $11 COLOR_BOTH_DARKBLUE EQU $22 COLOR_BOTH_GREY EQU $55 COLOR_BOTH_MEDIUMBLUE EQU $66