|
|
| version 1.4, 2003/10/21 11:22:05 | version 1.12, 2007/11/11 07:11:27 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "np2.h" | #include "np2.h" |
| #include "oemtext.h" | |
| #include "dosio.h" | #include "dosio.h" |
| #include "sysmng.h" | #include "sysmng.h" |
| #include "i286.h" | #include "cpucore.h" |
| #include "pccore.h" | #include "pccore.h" |
| #include "fddfile.h" | #include "fddfile.h" |
| UINT sys_updates; | UINT sys_updates; |
| // ---- | // ---- |
| static char title[512]; | static OEMCHAR title[512]; |
| static char clock[64]; | static OEMCHAR clock[64]; |
| static struct { | static struct { |
| UINT32 tick; | UINT32 tick; |
| Line 26 static struct { | Line 26 static struct { |
| void sysmng_workclockreset(void) { | void sysmng_workclockreset(void) { |
| workclock.tick = GETTICK(); | workclock.tick = GETTICK(); |
| workclock.clock = I286_CLOCK; | workclock.clock = CPU_CLOCK; |
| workclock.draws = drawcount; | workclock.draws = drawcount; |
| } | } |
| Line 41 BOOL sysmng_workclockrenewal(void) { | Line 41 BOOL sysmng_workclockrenewal(void) { |
| workclock.tick += tick; | workclock.tick += tick; |
| workclock.fps = ((drawcount - workclock.draws) * 10000) / tick; | workclock.fps = ((drawcount - workclock.draws) * 10000) / tick; |
| workclock.draws = drawcount; | workclock.draws = drawcount; |
| workclock.khz = (I286_CLOCK - workclock.clock) / tick; | workclock.khz = (CPU_CLOCK - workclock.clock) / tick; |
| workclock.clock = I286_CLOCK; | workclock.clock = CPU_CLOCK; |
| return(TRUE); | return(TRUE); |
| } | } |
| void sysmng_updatecaption(BYTE flag) { | void sysmng_updatecaption(UINT8 flag) { |
| char work[512]; | OEMCHAR work[512]; |
| if (flag & 1) { | if (flag & 1) { |
| title[0] = '\0'; | title[0] = '\0'; |
| if (fdd_diskready(0)) { | if (fdd_diskready(0)) { |
| milstr_ncat(title, " FDD1:", sizeof(title)); | milstr_ncat(title, OEMTEXT(" FDD1:"), NELEMENTS(title)); |
| milstr_ncat(title, file_getname((char *)fdd_diskname(0)), | milstr_ncat(title, file_getname(fdd_diskname(0)), |
| sizeof(title)); | NELEMENTS(title)); |
| } | } |
| if (fdd_diskready(1)) { | if (fdd_diskready(1)) { |
| milstr_ncat(title, " FDD2:", sizeof(title)); | milstr_ncat(title, OEMTEXT(" FDD2:"), NELEMENTS(title)); |
| milstr_ncat(title, file_getname((char *)fdd_diskname(1)), | milstr_ncat(title, file_getname(fdd_diskname(1)), |
| sizeof(title)); | NELEMENTS(title)); |
| } | } |
| } | } |
| if (flag & 2) { | if (flag & 2) { |
| clock[0] = '\0'; | clock[0] = '\0'; |
| if (np2oscfg.DISPCLK & 2) { | if (np2oscfg.DISPCLK & 2) { |
| if (workclock.fps) { | if (workclock.fps) { |
| SPRINTF(clock, " - %u.%1uFPS", | OEMSPRINTF(clock, OEMTEXT(" - %u.%1uFPS"), |
| workclock.fps / 10, workclock.fps % 10); | workclock.fps / 10, workclock.fps % 10); |
| } | } |
| else { | else { |
| milstr_ncpy(clock, " - 0FPS", sizeof(clock)); | milstr_ncpy(clock, OEMTEXT(" - 0FPS"), NELEMENTS(clock)); |
| } | } |
| } | } |
| if (np2oscfg.DISPCLK & 1) { | if (np2oscfg.DISPCLK & 1) { |
| SPRINTF(work, " %2u.%03uMHz", | OEMSPRINTF(work, OEMTEXT(" %2u.%03uMHz"), |
| workclock.khz / 1000, workclock.khz % 1000); | workclock.khz / 1000, workclock.khz % 1000); |
| if (clock[0] == '\0') { | if (clock[0] == '\0') { |
| milstr_ncpy(clock, " -", sizeof(clock)); | milstr_ncpy(clock, OEMTEXT(" -"), NELEMENTS(clock)); |
| } | } |
| milstr_ncat(clock, work, sizeof(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_ncpy(work, np2oscfg.titles, NELEMENTS(work)); |
| milstr_ncat(work, title, sizeof(work)); | milstr_ncat(work, title, NELEMENTS(work)); |
| milstr_ncat(work, clock, sizeof(work)); | milstr_ncat(work, clock, NELEMENTS(work)); |
| SetWindowText(hWndMain, work); | #if defined(OSLANG_UTF8) |
| TCHAR tchr[512]; | |
| oemtotchar(tchr, NELEMENTS(tchr), work, -1); | |
| SetWindowText(g_hWndMain, tchr); | |
| #else | |
| SetWindowText(g_hWndMain, work); | |
| #endif | |
| } | } |