changeset 946:6b90ec50daf3

Get "Load ROM" menu option working correctly
author Michael Pavone <pavone@retrodev.com>
date Sat, 19 Mar 2016 17:40:17 -0700
parents 67f738bda7e2
children d29722e3359c 5e4fb650de58
files menu.s68
diffstat 1 files changed, 37 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- 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