Fixed the third batch of problems.
This commit is contained in:
@@ -581,6 +581,9 @@ void t3100e_ems_out(uint16_t addr, uint8_t val, void *p)
|
||||
struct t3100e_ems_regs *regs = (struct t3100e_ems_regs *)p;
|
||||
int pg = port_to_page(addr);
|
||||
|
||||
if (pg == -1)
|
||||
return;
|
||||
|
||||
regs->page_exec[pg & 3] = t3100e_ems_execaddr(regs, pg, val);
|
||||
t3100e_log("EMS: page %d %02x -> %02x [%06x]\n",
|
||||
pg, regs->page[pg], val, regs->page_exec[pg & 3]);
|
||||
|
||||
@@ -882,7 +882,8 @@ machine_xt_t1000_init(const machine_t *model)
|
||||
if (f != NULL) {
|
||||
t1000.romdrive = malloc(T1000_ROMSIZE);
|
||||
if (t1000.romdrive) {
|
||||
memset(t1000.romdrive, 0xff, T1000_ROMSIZE);
|
||||
memset(t1000.romdrive, 0xff, T1000_ROMSIZE);
|
||||
if (fread(t1000.romdrive, 1, T1000_ROMSIZE, f) != T1000_ROMSIZE)
|
||||
fatal("machine_xt_t1000_init(): Error reading DOS ROM data\n");
|
||||
}
|
||||
fclose(f);
|
||||
@@ -1016,11 +1017,14 @@ static void
|
||||
static void
|
||||
t1000_configsys_load(void)
|
||||
{
|
||||
FILE *f;
|
||||
int size;
|
||||
|
||||
memset(t1000.t1000_nvram, 0x1a, sizeof(t1000.t1000_nvram));
|
||||
f = plat_fopen(nvr_path(L"t1000_config.nvr"), L"rb");
|
||||
if (f != NULL) {
|
||||
if (f != NULL) {
|
||||
size = sizeof(t1000.t1000_nvram);
|
||||
if (fread(t1000.t1000_nvram, size, 1, f) != size)
|
||||
fatal("t1000_configsys_load(): Error reading data\n");
|
||||
fclose(f);
|
||||
}
|
||||
@@ -1030,10 +1034,13 @@ static void
|
||||
static void
|
||||
t1000_configsys_save(void)
|
||||
{
|
||||
FILE *f;
|
||||
int size;
|
||||
|
||||
f = plat_fopen(nvr_path(L"t1000_config.nvr"), L"wb");
|
||||
if (f != NULL) {
|
||||
if (f != NULL) {
|
||||
size = sizeof(t1000.t1000_nvram);
|
||||
if (fwrite(t1000.t1000_nvram, 1, size, f) != size)
|
||||
fatal("t1000_configsys_save(): Error writing data\n");
|
||||
fclose(f);
|
||||
}
|
||||
@@ -1043,11 +1050,14 @@ static void
|
||||
static void
|
||||
t1200_state_load(void)
|
||||
{
|
||||
FILE *f;
|
||||
int size;
|
||||
|
||||
memset(t1000.t1200_nvram, 0, sizeof(t1000.t1200_nvram));
|
||||
f = plat_fopen(nvr_path(L"t1200_state.nvr"), L"rb");
|
||||
if (f != NULL) {
|
||||
if (f != NULL) {
|
||||
size = sizeof(t1000.t1200_nvram);
|
||||
if (fread(t1000.t1200_nvram, 1, size, f) != size)
|
||||
fatal("t1200_state_load(): Error reading data\n");
|
||||
fclose(f);
|
||||
}
|
||||
@@ -1057,10 +1067,13 @@ static void
|
||||
static void
|
||||
t1200_state_save(void)
|
||||
{
|
||||
FILE *f;
|
||||
int size;
|
||||
|
||||
f = plat_fopen(nvr_path(L"t1200_state.nvr"), L"wb");
|
||||
if (f != NULL) {
|
||||
if (f != NULL) {
|
||||
size = sizeof(t1000.t1200_nvram);
|
||||
if (fwrite(t1000.t1200_nvram, 1, size, f) != size)
|
||||
fatal("t1200_state_save(): Error writing data\n");
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user