Move INI/CFG/MAP files to config dir.
This commit is contained in:
13
archie.c
13
archie.c
@@ -107,7 +107,7 @@ char *archie_get_floppy_name(char i)
|
||||
|
||||
void archie_save_config(void)
|
||||
{
|
||||
FileSave(CONFIG_FILENAME, &config, sizeof(config));
|
||||
FileSaveConfig(CONFIG_FILENAME, &config, sizeof(config));
|
||||
}
|
||||
|
||||
void archie_send_file(unsigned char id, char *name)
|
||||
@@ -252,7 +252,6 @@ static void archie_kbd_reset(void)
|
||||
|
||||
void archie_init(void)
|
||||
{
|
||||
fileTYPE file;
|
||||
char i;
|
||||
|
||||
archie_debugf("init");
|
||||
@@ -262,15 +261,15 @@ void archie_init(void)
|
||||
strcpy(config.rom_img, "RISCOS.ROM");
|
||||
|
||||
// try to load config from card
|
||||
if (FileOpen(&file, CONFIG_FILENAME))
|
||||
int size = FileLoadConfig(CONFIG_FILENAME, 0, 0);
|
||||
if (size>0)
|
||||
{
|
||||
if (file.size == sizeof(archie_config_t))
|
||||
if (size == sizeof(archie_config_t))
|
||||
{
|
||||
FileReadAdv(&file, &config, sizeof(archie_config_t));
|
||||
FileLoadConfig(CONFIG_FILENAME, &config, sizeof(archie_config_t));
|
||||
}
|
||||
else
|
||||
archie_debugf("Unexpected config size %d != %d", file.size, sizeof(archie_config_t));
|
||||
FileClose(&file);
|
||||
archie_debugf("Unexpected config size %d != %d", size, sizeof(archie_config_t));
|
||||
}
|
||||
else
|
||||
archie_debugf("No %s config found", CONFIG_FILENAME);
|
||||
|
||||
16
config.c
16
config.c
@@ -260,15 +260,15 @@ unsigned char LoadConfiguration(char *filename)
|
||||
filename = configfilename;
|
||||
}
|
||||
|
||||
fileTYPE file;
|
||||
// load configuration data
|
||||
if (FileOpen(&file, filename)) {
|
||||
FileClose(&file);
|
||||
int size = FileLoadConfig(filename, 0, 0);
|
||||
if(size>0)
|
||||
{
|
||||
BootPrint("Opened configuration file\n");
|
||||
printf("Configuration file size: %s, %lu\n", file.name, file.size);
|
||||
if (file.size == sizeof(config))
|
||||
printf("Configuration file size: %s, %lu\n", filename, size);
|
||||
if (size == sizeof(config))
|
||||
{
|
||||
if (FileLoad(filename, &tmpconf, sizeof(tmpconf)))
|
||||
if (FileLoadConfig(filename, &tmpconf, sizeof(tmpconf)))
|
||||
{
|
||||
// check file id and version
|
||||
if (strncmp(tmpconf.id, config_id, sizeof(config.id)) == 0) {
|
||||
@@ -288,7 +288,7 @@ unsigned char LoadConfiguration(char *filename)
|
||||
}
|
||||
else printf("Cannot load configuration file\n");
|
||||
}
|
||||
else printf("Wrong configuration file size: %lu (expected: %lu)\n", file.size, sizeof(config));
|
||||
else printf("Wrong configuration file size: %lu (expected: %lu)\n", size, sizeof(config));
|
||||
}
|
||||
if (!result) {
|
||||
BootPrint("Can not open configuration file!\n");
|
||||
@@ -489,5 +489,5 @@ unsigned char SaveConfiguration(char *filename)
|
||||
// use slot-based filename if none provided
|
||||
filename = configfilename;
|
||||
}
|
||||
return FileSave(filename, &config, sizeof(config));
|
||||
return FileSaveConfig(filename, &config, sizeof(config));
|
||||
}
|
||||
|
||||
50
file_io.c
50
file_io.c
@@ -14,6 +14,7 @@
|
||||
#include "osd.h"
|
||||
#include "fpga_io.h"
|
||||
#include "menu.h"
|
||||
#include "errno.h"
|
||||
|
||||
int nDirEntries = 0;
|
||||
struct dirent DirItem[1000];
|
||||
@@ -203,8 +204,7 @@ unsigned long FileWriteSec(fileTYPE *file, void *pBuffer)
|
||||
return FileWriteAdv(file, pBuffer, 512);
|
||||
}
|
||||
|
||||
|
||||
unsigned char FileSave(char *name, void *pBuffer, int size)
|
||||
int FileSave(char *name, void *pBuffer, int size)
|
||||
{
|
||||
sprintf(full_path, "%s/%s", getRootDir(), name);
|
||||
int fd = open(full_path, O_WRONLY | O_CREAT | O_TRUNC | O_SYNC, S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
@@ -215,14 +215,22 @@ unsigned char FileSave(char *name, void *pBuffer, int size)
|
||||
}
|
||||
|
||||
int ret = write(fd, pBuffer, size);
|
||||
close(fd);
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("FileSave(write) File:%s, error: %d.\n", full_path, ret);
|
||||
return 0;
|
||||
}
|
||||
|
||||
close(fd);
|
||||
return 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int FileSaveConfig(char *name, void *pBuffer, int size)
|
||||
{
|
||||
char path[256] = { CONFIG_DIR"/" };
|
||||
strcat(path, name);
|
||||
return FileSave(path, pBuffer, size);
|
||||
}
|
||||
|
||||
int FileLoad(char *name, void *pBuffer, int size)
|
||||
@@ -240,20 +248,35 @@ int FileLoad(char *name, void *pBuffer, int size)
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("FileLoad(fstat) File:%s, error: %d.\n", full_path, ret);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = read(fd, pBuffer, size ? size : st.st_size);
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("FileLoad(write) File:%s, error: %d.\n", full_path, ret);
|
||||
close(fd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!pBuffer)
|
||||
{
|
||||
close(fd);
|
||||
return (int)st.st_size;
|
||||
}
|
||||
|
||||
ret = read(fd, pBuffer, size ? size : st.st_size);
|
||||
close(fd);
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
printf("FileLoad(read) File:%s, error: %d.\n", full_path, ret);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int FileLoadConfig(char *name, void *pBuffer, int size)
|
||||
{
|
||||
char path[256] = { CONFIG_DIR"/" };
|
||||
strcat(path, name);
|
||||
return FileLoad(path, pBuffer, size);
|
||||
}
|
||||
|
||||
int FileCanWrite(char *name)
|
||||
{
|
||||
sprintf(full_path, "%s/%s", getRootDir(), name);
|
||||
@@ -437,6 +460,11 @@ void FindStorage(void)
|
||||
{
|
||||
printf("Using SD card as a root device\n");
|
||||
}
|
||||
|
||||
sprintf(full_path, "%s/"CONFIG_DIR, getRootDir());
|
||||
DIR* dir = opendir(full_path);
|
||||
if (dir) closedir(dir);
|
||||
else if (ENOENT == errno) mkdir(full_path, S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
}
|
||||
|
||||
int de_cmp(const void *e1, const void *e2)
|
||||
|
||||
10
file_io.h
10
file_io.h
@@ -55,11 +55,15 @@ unsigned long FileReadSec(fileTYPE *file, void *pBuffer);
|
||||
unsigned long FileWriteAdv(fileTYPE *file, void *pBuffer, unsigned long length);
|
||||
unsigned long FileWriteSec(fileTYPE *file, void *pBuffer);
|
||||
|
||||
|
||||
int FileCanWrite(char *name);
|
||||
|
||||
unsigned char FileSave(char *name, void *pBuffer, int size);
|
||||
int FileLoad(char *name, void *pBuffer, int size);
|
||||
int FileSave(char *name, void *pBuffer, int size);
|
||||
int FileLoad(char *name, void *pBuffer, int size); // supply pBuffer = 0 to get the file size without loading
|
||||
|
||||
//save/load from config dir
|
||||
#define CONFIG_DIR "config"
|
||||
int FileSaveConfig(char *name, void *pBuffer, int size);
|
||||
int FileLoadConfig(char *name, void *pBuffer, int size); // supply pBuffer = 0 to get the file size without loading
|
||||
|
||||
void AdjustDirectory(char *path);
|
||||
int ScanDirectory(char* path, unsigned long mode, char *extension, unsigned char options);
|
||||
|
||||
4
input.c
4
input.c
@@ -461,7 +461,7 @@ void finish_map_setting()
|
||||
|
||||
char name[32];
|
||||
sprintf(name, "input_%04x_%04x.map", input[mapping_dev].vid, input[mapping_dev].pid);
|
||||
FileSave(name, &input[mapping_dev].map, sizeof(input[mapping_dev].map));
|
||||
FileSaveConfig(name, &input[mapping_dev].map, sizeof(input[mapping_dev].map));
|
||||
}
|
||||
|
||||
uint16_t get_map_vid()
|
||||
@@ -640,7 +640,7 @@ static void input_cb(struct input_event *ev, int dev)
|
||||
{
|
||||
char name[32];
|
||||
sprintf(name, "input_%04x_%04x.map", input[dev].vid, input[dev].pid);
|
||||
if (!FileLoad(name, &input[dev].map, sizeof(input[dev].map)))
|
||||
if (!FileLoadConfig(name, &input[dev].map, sizeof(input[dev].map)))
|
||||
{
|
||||
memset(&input[dev].map, 0, sizeof(input[dev].map));
|
||||
}
|
||||
|
||||
4
menu.c
4
menu.c
@@ -1116,7 +1116,7 @@ void HandleUI(void)
|
||||
char *filename = user_io_create_config_name();
|
||||
unsigned long status = user_io_8bit_set_status(0, 0);
|
||||
iprintf("Saving config to %s\n", filename);
|
||||
FileSave(filename, &status, 4);
|
||||
FileSaveConfig(filename, &status, 4);
|
||||
menustate = MENU_8BIT_MAIN1;
|
||||
menusub = 0;
|
||||
}
|
||||
@@ -2390,7 +2390,7 @@ void HandleUI(void)
|
||||
char *filename = user_io_create_config_name();
|
||||
unsigned long status = user_io_8bit_set_status(0, 0xffffffff);
|
||||
iprintf("Saving config to %s\n", filename);
|
||||
FileSave(filename, &status, 4);
|
||||
FileSaveConfig(filename, &status, 4);
|
||||
menustate = MENU_8BIT_MAIN1;
|
||||
menusub = 0;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ const ini_var_t mist_ini_vars[] = {
|
||||
|
||||
// mist ini config
|
||||
const ini_cfg_t mist_ini_cfg = {
|
||||
"MiSTer.ini",
|
||||
CONFIG_DIR"/MiSTer.ini",
|
||||
mist_ini_sections,
|
||||
mist_ini_vars,
|
||||
(int)(sizeof(mist_ini_sections) / sizeof(ini_section_t)),
|
||||
|
||||
14
tos.c
14
tos.c
@@ -1121,8 +1121,6 @@ unsigned long tos_system_ctrl(void)
|
||||
|
||||
void tos_config_init(void)
|
||||
{
|
||||
fileTYPE file;
|
||||
|
||||
// set default values
|
||||
config.system_ctrl = TOS_MEMCONFIG_4M | TOS_CONTROL_BLITTER;
|
||||
memcpy(config.tos_img, "TOS.IMG", 12);
|
||||
@@ -1132,14 +1130,14 @@ void tos_config_init(void)
|
||||
config.video_adjust[0] = config.video_adjust[1] = 0;
|
||||
|
||||
// try to load config
|
||||
if (FileOpen(&file, CONFIG_FILENAME))
|
||||
int size = FileLoadConfig(CONFIG_FILENAME, 0, 0);
|
||||
if (size>0)
|
||||
{
|
||||
tos_debugf("Configuration file size: %lu (should be %lu)", file.size, sizeof(tos_config_t));
|
||||
if (file.size == sizeof(tos_config_t))
|
||||
tos_debugf("Configuration file size: %lu (should be %lu)", size, sizeof(tos_config_t));
|
||||
if (size == sizeof(tos_config_t))
|
||||
{
|
||||
FileReadAdv(&file, &config, file.size);
|
||||
FileLoadConfig(CONFIG_FILENAME, &config, size);
|
||||
}
|
||||
FileClose(&file);
|
||||
}
|
||||
|
||||
// ethernet is auto detected later
|
||||
@@ -1149,5 +1147,5 @@ void tos_config_init(void)
|
||||
// save configuration
|
||||
void tos_config_save(void)
|
||||
{
|
||||
FileSave(CONFIG_FILENAME, &config, sizeof(tos_config_t));
|
||||
FileSaveConfig(CONFIG_FILENAME, &config, sizeof(tos_config_t));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user