summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2023-04-23 10:30:44 +0800
committerIan C <ianc@noddybox.co.uk>2023-04-23 10:30:44 +0800
commit62e0729de4b856d1230e5fd2d6558c188386a683 (patch)
treec62ba2584aed4cf19ce0a1592305c806fde9dde9 /source
parentd68d6a14ba9c37eef243d6b739d590ec0f05c6c4 (diff)
Added global last_dir[] to record last file selector dir.HEADmaster
Diffstat (limited to 'source')
-rw-r--r--source/gui.c19
-rw-r--r--source/main.c1
-rw-r--r--source/snapshot.c1
-rw-r--r--source/zx81.c2
4 files changed, 19 insertions, 4 deletions
diff --git a/source/gui.c b/source/gui.c
index bf1feb5..c68fafd 100644
--- a/source/gui.c
+++ b/source/gui.c
@@ -59,6 +59,8 @@ typedef struct
static FSEL_File fsel[FSEL_MAX_FILES];
+char last_dir[FILENAME_MAX] = "sdmc:/ZX81/";
+
static void CheckPath(char *path)
{
@@ -180,7 +182,7 @@ static int LoadDir(const char *path, const char *filter)
if ((dir = opendir(path)))
{
- if (strcmp(path, "/") != 0)
+ if (strcmp(path, "sdmc:/") != 0)
{
strcpy(fsel[no].name, "..");
fsel[no].is_dir = TRUE;
@@ -216,6 +218,21 @@ static int LoadDir(const char *path, const char *filter)
/* ---------------------------------------- PUBLIC INTERFACES
*/
+void GUI_Init(void)
+{
+ DIR *dir;
+
+ if ((dir = opendir(last_dir)))
+ {
+ closedir(dir);
+ }
+ else
+ {
+ strcpy(last_dir, "sdmc:/");
+ }
+}
+
+
int GUI_Menu(const char *opts[])
{
int x,y;
diff --git a/source/main.c b/source/main.c
index 9e4e9b2..fbd7583 100644
--- a/source/main.c
+++ b/source/main.c
@@ -765,6 +765,7 @@ int main(int argc, char *argv[])
gfxInit(GSP_RGB565_OES, GSP_RGB565_OES, false);
FB_Init();
+ GUI_Init();
z80 = Z80Init(ZX81ReadMem,
ZX81WriteMem,
diff --git a/source/snapshot.c b/source/snapshot.c
index b64d309..5be1358 100644
--- a/source/snapshot.c
+++ b/source/snapshot.c
@@ -137,7 +137,6 @@ void SNAP_Save(Z80 *cpu, SnapshotType type)
void SNAP_Load(Z80 *cpu, const char *optional_name, SnapshotType type)
{
- static char last_dir[FILENAME_MAX] = "/";
char file[FILENAME_MAX];
FILE *fp = NULL;
diff --git a/source/zx81.c b/source/zx81.c
index 1335d0b..7626034 100644
--- a/source/zx81.c
+++ b/source/zx81.c
@@ -104,8 +104,6 @@ static int allow_save;
static const Z80Byte *tape_image;
static int tape_len;
-static char last_dir[FILENAME_MAX] = "/";
-
/* The keyboard
*/
static Z80Byte matrix[8];