--- np2/win9x/sysmng.cpp 2003/10/16 17:58:48 1.1 +++ np2/win9x/sysmng.cpp 2005/02/09 20:11:35 1.10 @@ -2,17 +2,17 @@ #include "np2.h" #include "dosio.h" #include "sysmng.h" +#include "cpucore.h" #include "pccore.h" #include "fddfile.h" - UINT sys_updates; // ---- -static char title[512]; -static char clock[64]; +static OEMCHAR title[512]; +static OEMCHAR clock[64]; static struct { UINT32 tick; @@ -25,7 +25,7 @@ static struct { void sysmng_workclockreset(void) { workclock.tick = GETTICK(); - workclock.clock = nevent.clock; + workclock.clock = CPU_CLOCK; workclock.draws = drawcount; } @@ -40,49 +40,57 @@ BOOL sysmng_workclockrenewal(void) { workclock.tick += tick; workclock.fps = ((drawcount - workclock.draws) * 10000) / tick; workclock.draws = drawcount; - workclock.khz = (nevent.clock - workclock.clock) / tick; - workclock.clock = nevent.clock; + workclock.khz = (CPU_CLOCK - workclock.clock) / tick; + workclock.clock = CPU_CLOCK; return(TRUE); } -void sysmng_updatecaption(BYTE flag) { +void sysmng_updatecaption(UINT8 flag) { - char work[512]; + OEMCHAR work[512]; if (flag & 1) { title[0] = '\0'; if (fdd_diskready(0)) { - milstr_ncat(title, " FDD1:", sizeof(title)); - milstr_ncat(title, file_getname((char *)fdd_diskname(0)), - sizeof(title)); + milstr_ncat(title, OEMTEXT(" FDD1:"), NELEMENTS(title)); + milstr_ncat(title, file_getname(fdd_diskname(0)), + NELEMENTS(title)); } if (fdd_diskready(1)) { - milstr_ncat(title, " FDD2:", sizeof(title)); - milstr_ncat(title, file_getname((char *)fdd_diskname(1)), - sizeof(title)); + milstr_ncat(title, OEMTEXT(" FDD2:"), NELEMENTS(title)); + milstr_ncat(title, file_getname(fdd_diskname(1)), + NELEMENTS(title)); } } if (flag & 2) { clock[0] = '\0'; if (np2oscfg.DISPCLK & 2) { - SPRINTF(clock, " - %u.%1uFPS", - workclock.fps / 10, workclock.fps % 10); - } - else { - milstr_ncpy(clock, " - 0FPS", sizeof(clock)); + if (workclock.fps) { + OEMSPRINTF(clock, OEMTEXT(" - %u.%1uFPS"), + workclock.fps / 10, workclock.fps % 10); + } + else { + milstr_ncpy(clock, OEMTEXT(" - 0FPS"), NELEMENTS(clock)); + } } if (np2oscfg.DISPCLK & 1) { - SPRINTF(work, " %2u.%03uMHz", + OEMSPRINTF(work, OEMTEXT(" %2u.%03uMHz"), workclock.khz / 1000, workclock.khz % 1000); if (clock[0] == '\0') { - milstr_ncpy(clock, " -", sizeof(clock)); + milstr_ncpy(clock, OEMTEXT(" -"), NELEMENTS(clock)); } milstr_ncat(clock, work, sizeof(clock)); +#if 0 + OEMSPRINTF(work, OEMTEXT(" (debug: OPN %d / PSG %s)"), + opngen.playing, + (psg1.mixer & 0x3f)?OEMTEXT("ON"):OEMTEXT("OFF")); + milstr_ncat(clock, work, NELEMENTS(clock)); +#endif } } - milstr_ncpy(work, np2oscfg.titles, sizeof(work)); - milstr_ncat(work, title, sizeof(work)); - milstr_ncat(work, clock, sizeof(work)); + milstr_ncpy(work, np2oscfg.titles, NELEMENTS(work)); + milstr_ncat(work, title, NELEMENTS(work)); + milstr_ncat(work, clock, NELEMENTS(work)); SetWindowText(hWndMain, work); }