rewrite the emulator to use UTF-8 internally

This commit is contained in:
David Hrdlička
2021-03-14 20:35:01 +01:00
parent 56d62de4fe
commit dfbbe08a07
146 changed files with 1507 additions and 1457 deletions

View File

@@ -69,7 +69,7 @@ typedef struct flash_t
} flash_t;
static wchar_t flash_path[1024];
static char flash_path[1024];
static uint8_t
@@ -200,22 +200,11 @@ catalyst_flash_init(const device_t *info)
FILE *f;
int l;
flash_t *dev;
wchar_t *machine_name, *flash_name;
dev = malloc(sizeof(flash_t));
memset(dev, 0, sizeof(flash_t));
l = strlen(machine_get_internal_name_ex(machine))+1;
machine_name = (wchar_t *) malloc(l * sizeof(wchar_t));
mbstowcs(machine_name, machine_get_internal_name_ex(machine), l);
l = wcslen(machine_name)+5;
flash_name = (wchar_t *)malloc(l*sizeof(wchar_t));
swprintf(flash_name, l, L"%ls.bin", machine_name);
if (wcslen(flash_name) <= 1024)
wcscpy(flash_path, flash_name);
else
wcsncpy(flash_path, flash_name, 1024);
sprintf(flash_path, "%s.bin", machine_get_internal_name_ex(machine));
mem_mapping_disable(&bios_mapping);
mem_mapping_disable(&bios_high_mapping);
@@ -227,15 +216,12 @@ catalyst_flash_init(const device_t *info)
dev->command = CMD_RESET;
f = nvr_fopen(flash_path, L"rb");
f = nvr_fopen(flash_path, "rb");
if (f) {
fread(dev->array, 0x20000, 1, f);
fclose(f);
}
free(flash_name);
free(machine_name);
return dev;
}
@@ -246,7 +232,7 @@ catalyst_flash_close(void *p)
FILE *f;
flash_t *dev = (flash_t *)p;
f = nvr_fopen(flash_path, L"wb");
f = nvr_fopen(flash_path, "wb");
fwrite(dev->array, 0x20000, 1, f);
fclose(f);