comparison menu.s68 @ 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 5e4fb650de58
comparison
equal deleted inserted replaced
945:67f738bda7e2 946:6b90ec50daf3
737 ;init scroll table 737 ;init scroll table
738 vdpaccess $0, VDP_VRAM_WRITE 738 vdpaccess $0, VDP_VRAM_WRITE
739 move.w #0, (a0) 739 move.w #0, (a0)
740 move.w #0, (a0) 740 move.w #0, (a0)
741 741
742 ;init vertical scroll RAM 742
743 vdpaccess $0, VDP_VSRAM_WRITE
744 move.w #-4, (a0)
745 move.w #0, (a0)
746
747 ;load tiles 743 ;load tiles
748 vdpaccess $800, VDP_VRAM_WRITE 744 vdpaccess $800, VDP_VRAM_WRITE
749 lea font(pc), a2 745 lea font(pc), a2
750 move.w #((buttonend-font)/4 - 1), d0 746 move.w #((buttonend-font)/4 - 1), d0
751 tloop: 747 tloop:
770 ;right arrow 766 ;right arrow
771 move.l #$01080500, (a2)+ 767 move.l #$01080500, (a2)+
772 move.l #$887F01AA, (a2)+ 768 move.l #$887F01AA, (a2)+
773 move.b #2, num_sprites.w 769 move.b #2, num_sprites.w
774 770
775 771 show_main_menu:
776 772 bsr clear_screen
773 ;init vertical scroll RAM
774 vdpaccess $0, VDP_VSRAM_WRITE
775 move.w #-4, (a0)
776 move.w #0, (a0)
777
778 moveq #8, d6
779 move.l #main_menu_func, menu_functions.w
780 lea main_menu(pc), a5
781 bsr draw_menu
782 bra gamepad_setup
783
784
777 menu_start: 785 menu_start:
786 ;init vertical scroll RAM
787 vdpaccess $0, VDP_VSRAM_WRITE
788 move.w #0, (a0)
789 move.w #0, (a0)
790
791 ;reset arrow position
792 move.w #$0108, sprite_list.w
793 move.w #$0108, (sprite_list + 8).w
794 move.w #$0086, (sprite_list + 6).w
795 move.w #$01AA, (sprite_list + 6 + 8).w
796
797 ;reset selection
798 move.b #0, selected.w
799
800
778 lea page_pointers.w, a5 801 lea page_pointers.w, a5
779 lea dir_buffer, a6 802 lea dir_buffer, a6
780 move.l a6, (a5)+ 803 move.l a6, (a5)+
781 move.l a5, page_stack.w 804 move.l a5, page_stack.w
782 lea menu_port, a2 805 lea menu_port, a2
785 wait_complete: 808 wait_complete:
786 tst.w (a2) 809 tst.w (a2)
787 bne wait_complete 810 bne wait_complete
788 811
789 render_page: 812 render_page:
790
791
792 show_main_menu:
793 bsr clear_screen 813 bsr clear_screen
794 814
795 move.l #$40860002, d3 815 ;clear menu state
796 move.l d3, (a1) 816 move.b #0, num_menu.w
797 move.l d3, base_cmd.w 817
798
799 moveq #8, d6
800 move.l #main_menu_func, menu_functions.w
801 lea main_menu(pc), a5
802 bsr draw_menu
803 bra gamepad_setup
804
805
806 show_file_list:
807 ;init scroll table 818 ;init scroll table
808 vdpaccess $0, VDP_VRAM_WRITE 819 vdpaccess $0, VDP_VRAM_WRITE
809 move.w #0, (a0) 820 move.w #0, (a0)
810 move.w #4, (a0) 821 move.w #4, (a0)
822
823 move.l #$40860002, d3
824 move.l d3, (a1)
825 move.l d3, base_cmd.w
811 826
812 827
813 move.b #0, more_pages.w 828 move.b #0, more_pages.w
814 lea page_index.w, a3 829 lea page_index.w, a3
815 moveq #MAX_DISPLAY-1, d7 830 moveq #MAX_DISPLAY-1, d7
1035 dc.b "Exit", 0 1050 dc.b "Exit", 0
1036 dc.b 0 1051 dc.b 0
1037 1052
1038 align 1 1053 align 1
1039 main_menu_func: 1054 main_menu_func:
1040 dc.l show_file_list 1055 dc.l menu_start
1041 dc.l show_about 1056 dc.l show_about
1042 dc.l exit 1057 dc.l exit
1043 1058
1044 about_menu: 1059 about_menu:
1045 dc.b "Return", 0 1060 dc.b "Return", 0