Mercurial > repos > blastem
comparison menu.s68 @ 961:750995b587a0
Save State menu option is now fully functional. Load state sort of works, but is mostly broken.
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 17 Apr 2016 23:50:41 -0700 |
parents | 0abfecaaf5c8 |
children | e2d7067ea2d8 |
comparison
equal
deleted
inserted
replaced
960:0abfecaaf5c8 | 961:750995b587a0 |
---|---|
190 mouse_buf rs.b 3 | 190 mouse_buf rs.b 3 |
191 mouse_shown rs.b 1 | 191 mouse_shown rs.b 1 |
192 last_mbuttons rs.b 1 | 192 last_mbuttons rs.b 1 |
193 num_menu rs.b 1 | 193 num_menu rs.b 1 |
194 num_slots rs.b 1 | 194 num_slots rs.b 1 |
195 port_off rs.b 1 | |
195 | 196 |
196 | 197 |
197 int_6: | 198 int_6: |
198 dmasrc sprite_list, DMA_SRC_68K | 199 dmasrc sprite_list, DMA_SRC_68K |
199 ;set DMA length | 200 ;set DMA length |
351 move.b (selected).w, d0 | 352 move.b (selected).w, d0 |
352 add.w d0, d0 | 353 add.w d0, d0 |
353 add.w d0, d0 | 354 add.w d0, d0 |
354 tst.b num_menu.w | 355 tst.b num_menu.w |
355 bne .select_menu_button | 356 bne .select_menu_button |
357 tst.b num_slots.w | |
358 bne .select_save_slot | |
356 lea page_index.w, a2 | 359 lea page_index.w, a2 |
357 move.l (0, a2, d0.w), a2 | 360 move.l (0, a2, d0.w), a2 |
358 tst.b (-1, a2) | 361 tst.b (-1, a2) |
359 bne enter_dir | 362 bne enter_dir |
360 ;regular file | 363 ;regular file |
366 .select_menu_button: | 369 .select_menu_button: |
367 movea.l menu_functions.w, a2 | 370 movea.l menu_functions.w, a2 |
368 move.l (0, a2, d0.w), a2 | 371 move.l (0, a2, d0.w), a2 |
369 addq #6, a7 | 372 addq #6, a7 |
370 jmp (a2) | 373 jmp (a2) |
374 .select_save_slot: | |
375 lea menu_port, a3 | |
376 moveq #0, d0 | |
377 move.b port_off.w, d0 | |
378 add.w d0, a3 | |
379 move.b selected.w, d0 | |
380 move.l d0, (a3) | |
381 addq #6, a7 | |
382 jmp show_pause_menu | |
383 | |
371 enter_dir: | 384 enter_dir: |
372 lea menu_port+4, a3 | 385 lea menu_port+4, a3 |
373 move.l a2, (a3) | 386 move.l a2, (a3) |
374 .wait_complete | 387 .wait_complete |
375 tst.w (a3) | 388 tst.w (a3) |
975 .done | 988 .done |
976 move.b d6, num_slots.w | 989 move.b d6, num_slots.w |
977 rts | 990 rts |
978 | 991 |
979 save_state: | 992 save_state: |
993 move.b #(5*4), port_off.w | |
980 bsr show_save_slots | 994 bsr show_save_slots |
981 .wait | 995 .wait |
982 stop #$2500 | 996 stop #$2500 |
983 bra .wait | 997 bra .wait |
984 | 998 |
985 load_state: | 999 load_state: |
1000 move.b #(6*4), port_off.w | |
986 bsr show_save_slots | 1001 bsr show_save_slots |
987 .wait | 1002 .wait |
988 stop #$2500 | 1003 stop #$2500 |
989 bra .wait | 1004 bra .wait |
990 | 1005 |