Mercurial > repos > blastem
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 |