summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--menu.c12
-rw-r--r--menu.s6831
2 files changed, 32 insertions, 11 deletions
diff --git a/menu.c b/menu.c
index e24d986..b978b90 100644
--- a/menu.c
+++ b/menu.c
@@ -64,8 +64,8 @@ void copy_to_guest(m68k_context *m68k, uint32_t guest_addr, char *src, size_t to
break;
}
}
- src[1] = *cur;
- *src = cur[1];
+ dst[1] = *cur;
+ *dst = cur[1];
}
}
@@ -256,15 +256,15 @@ void * menu_write_w(uint32_t address, void * context, uint16_t value)
modtime = get_modification_time(fname);
free(fname);
if (modtime) {
- cur += strftime(cur, end-cur, "Quick - %c", localtime_r(&modtime, &ltime));
- } else if ((end-cur) > strlen("Quick - EMPTY")){
- cur += strlen(strcpy(cur, "Quick - EMPTY"));
+ cur += strftime(cur, end-cur, "Quick - %c", localtime_r(&modtime, &ltime));
+ } else if ((end-cur) > strlen("Quick - EMPTY")){
+ cur += strlen(strcpy(cur, "Quick - EMPTY"));
}
//advance past the null terminator for this entry
cur++;
if (cur < end) {
//terminate the list
- *cur = 0;
+ *(cur++) = 0;
}
}
} else {
diff --git a/menu.s68 b/menu.s68
index 602da07..18c1b3e 100644
--- a/menu.s68
+++ b/menu.s68
@@ -933,16 +933,37 @@ resume:
move.l #2, menu_port+12
bra show_pause_menu
+show_save_slots:
+ lea dir_buffer, a6
+ lea menu_port+16, a3
+ move.l a6, (a3)
+.waitdone:
+ tst.w (a3)
+ bne .waitdone
+ bsr clear_screen
+ moveq #0, d0
+
+ moveq #2, d7
+.slotloop
+ tst.b (a6)
+ beq .done
+ moveq #2, d1
+ move.w d7, d2
+ bsr print_string_fixed
+ addq #2, d7
+ bra .slotloop
+.done
+ rts
+
save_state:
- ;TODO: Implement me
- move.l #0, menu_port+16
+ bsr show_save_slots
.forever
bra .forever
load_state:
- ;TODO: Implement me
- move.l #0, menu_port+16
- bra save_state
+ bsr show_save_slots
+.forever
+ bra .forever
about_text:
dc.b "BlastEm v0.4.0", 0