File:  [RetroPC.NET] / np2 / win9xc / sysmng.cpp
Revision 1.6: download - view: text, annotated - select for diffs
Sun Mar 20 17:58:20 2005 JST (20 years, 7 months ago) by yui
Branches: MAIN
CVS tags: VER_0_82_x64, VER_0_82, VER_0_81A, VER_0_81, HEAD
support profiler (T.Yui)

#include	"compiler.h"
#include	"np2.h"
#include	"sysmng.h"
#include	"cpucore.h"
#include	"pccore.h"


	UINT	sys_updates;


// ----

static struct {
	UINT32	tick;
	UINT32	clock;
	UINT32	draws;
	SINT32	fps;
	SINT32	khz;
} workclock;

void sysmng_workclockreset(void) {

	workclock.tick = GETTICK();
	workclock.clock = CPU_CLOCK;
	workclock.draws = drawcount;
}

static BOOL workclockrenewal(void) {

	SINT32	tick;

	tick = GETTICK() - workclock.tick;
	if (tick < 2000) {
		return(FALSE);
	}
	workclock.tick += tick;
	workclock.fps = ((drawcount - workclock.draws) * 10000) / tick;
	workclock.draws = drawcount;
	workclock.khz = (CPU_CLOCK - workclock.clock) / tick;
	workclock.clock = CPU_CLOCK;
	return(TRUE);
}

void sysmng_updatecaption(void) {

	TCHAR	title[256];
	TCHAR	work[32];

	if (workclockrenewal()) {
		milstr_ncpy(title, szAppCaption, NELEMENTS(title));
		wsprintf(work, _T(" - %u.%1uFPS"),
									workclock.fps / 10, workclock.fps % 10);
		milstr_ncat(title, work, sizeof(title));
		wsprintf(work, _T(" %2u.%03uMHz"),
								workclock.khz / 1000, workclock.khz % 1000);
		milstr_ncat(title, work, NELEMENTS(title));
		SetWindowText(hWndMain, title);
	}
}


RetroPC.NET-CVS <cvs@retropc.net>