# HG changeset patch # User Michael Pavone # Date 1458434417 25200 # Node ID 6b90ec50daf3d0d3402c1c62a03fb1d45f9bbb2b # Parent 67f738bda7e27e047ac7e64ea96fb701245f00b1 Get "Load ROM" menu option working correctly diff -r 67f738bda7e2 -r 6b90ec50daf3 menu.s68 --- a/menu.s68 Mon Mar 14 09:39:27 2016 -0700 +++ b/menu.s68 Sat Mar 19 17:40:17 2016 -0700 @@ -739,11 +739,7 @@ move.w #0, (a0) move.w #0, (a0) - ;init vertical scroll RAM - vdpaccess $0, VDP_VSRAM_WRITE - move.w #-4, (a0) - move.w #0, (a0) - + ;load tiles vdpaccess $800, VDP_VRAM_WRITE lea font(pc), a2 @@ -772,9 +768,36 @@ move.l #$887F01AA, (a2)+ move.b #2, num_sprites.w +show_main_menu: + bsr clear_screen + ;init vertical scroll RAM + vdpaccess $0, VDP_VSRAM_WRITE + move.w #-4, (a0) + move.w #0, (a0) + moveq #8, d6 + move.l #main_menu_func, menu_functions.w + lea main_menu(pc), a5 + bsr draw_menu + bra gamepad_setup + + +menu_start: + ;init vertical scroll RAM + vdpaccess $0, VDP_VSRAM_WRITE + move.w #0, (a0) + move.w #0, (a0) + + ;reset arrow position + move.w #$0108, sprite_list.w + move.w #$0108, (sprite_list + 8).w + move.w #$0086, (sprite_list + 6).w + move.w #$01AA, (sprite_list + 6 + 8).w + + ;reset selection + move.b #0, selected.w -menu_start: + lea page_pointers.w, a5 lea dir_buffer, a6 move.l a6, (a5)+ @@ -787,28 +810,20 @@ bne wait_complete render_page: - - -show_main_menu: bsr clear_screen - - move.l #$40860002, d3 - move.l d3, (a1) - move.l d3, base_cmd.w - moveq #8, d6 - move.l #main_menu_func, menu_functions.w - lea main_menu(pc), a5 - bsr draw_menu - bra gamepad_setup - - -show_file_list: + ;clear menu state + move.b #0, num_menu.w + ;init scroll table vdpaccess $0, VDP_VRAM_WRITE move.w #0, (a0) move.w #4, (a0) + move.l #$40860002, d3 + move.l d3, (a1) + move.l d3, base_cmd.w + move.b #0, more_pages.w lea page_index.w, a3 @@ -1037,7 +1052,7 @@ align 1 main_menu_func: - dc.l show_file_list + dc.l menu_start dc.l show_about dc.l exit