--- np2/pccore.c 2003/12/19 23:16:06 1.33 +++ np2/pccore.c 2003/12/25 05:07:49 1.36 @@ -1,4 +1,5 @@ #include "compiler.h" +#include "strres.h" #include "dosio.h" #include "soundmng.h" #include "sysmng.h" @@ -83,8 +84,6 @@ void getbiospath(char *path, const char const char *p; p = np2cfg.biospath; - - p = np2cfg.biospath; if (p[0]) { file_cpyname(path, p, maxlen); file_setseparator(path, maxlen); @@ -135,9 +134,18 @@ static void setvsyncclock(void) { pc.vsyncclock = cnt - pc.dispclock; } -static void setpcclock(UINT base, UINT multiple) { +static void setpcclock(const char *modelstr, UINT base, UINT multiple) { + + UINT8 model; - pc.model = PCMODEL_VX; + model = PCMODEL_VX; + if (!milstr_cmp(modelstr, str_VM)) { + model = PCMODEL_VM; + } + else if (!milstr_cmp(modelstr, str_EPSON)) { + model = PCMODEL_EPSON | PCMODEL_VM; + } + pc.model = model; if (base >= ((PCBASECLOCK25 + PCBASECLOCK20) / 2)) { pc.baseclock = PCBASECLOCK25; // 2.5MHz @@ -296,7 +304,7 @@ void pccore_reset(void) { sound_init(); } - setpcclock(np2cfg.baseclock, np2cfg.multiple); + setpcclock(np2cfg.model, np2cfg.baseclock, np2cfg.multiple); sound_changeclock(); beep_changeclock(); nevent_init(); @@ -550,7 +558,7 @@ void pccore_exec(BOOL draw) { CPU_CLEARPREFETCH(); } -#if 1 //ndef TRACE +#if 1 // ndef TRACE if (CPU_REMCLOCK > 0) { if (!(CPU_TYPE & CPUTYPE_V30)) { CPU_EXEC(); @@ -562,7 +570,7 @@ void pccore_exec(BOOL draw) { #else while(CPU_REMCLOCK > 0) { TRACEOUT(("%.4x:%.4x", CPU_CS, CPU_IP)); - i286_step(); + i286x_step(); } #endif nevent_progress(); @@ -577,7 +585,7 @@ void pccore_exec(BOOL draw) { #if defined(TRACE) execcnt++; if (execcnt >= 60) { - TRACEOUT(("resetcnt = %d / pic %d", resetcnt, piccnt)); +// TRACEOUT(("resetcnt = %d / pic %d", resetcnt, piccnt)); execcnt = 0; resetcnt = 0; piccnt = 0;