home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 3
/
FreeSoftwareCollection3pd199x-jp.img
/
pao
/
ms_dos
/
swatch
/
src
/
tsw.c
< prev
next >
Wrap
Text File
|
1980-01-02
|
2KB
|
114 lines
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <process.h>
#define TRUE 1
#define FALSE 0
#define ZERO 0
#define MODE 1 /* MODE : 1 - インターバルタイマ ; 2 - VSYNC */
extern int23_init() ;
extern int23_release() ;
extern ITcount ;
extern int ITIMER_init() ;
extern int ITIMER_release() ;
extern Vcount ;
extern int VSYNC_init( void ) ;
extern int VSYNC_release( void ) ;
void main( int ac, char *av[] )
{
int c ;
unsigned int secph, sec, min, hour ;
char cmdline[128] ;
unsigned short count ;
printf("TSW.EXE v0.50 (c) パオパオ 1990. ") ;
printf("<< Copyright (C) Y.Hirata 1990. >>\n") ;
if ( ac < 2 ) {
printf("\nプログラム実行速度計測プログラム(インターバルタイマ使用)\n") ;
printf("使用方法 : TSW プログラム名 引数 ・・・・・\n") ;
exit( 1 ) ;
}
int23_init() ;
/*
** インターバルタイマによる測定
*/
#if MODE == 1
ITcount = 0 ;
ITIMER_init() ;
strcpy( cmdline,"command /c" ) ;
for ( c=1; c<ac; c++ ) {
strcat( cmdline," " ) ;
strcat( cmdline,av[c] ) ;
}
strcat( cmdline,NULL ) ;
ITcount = 0 ;
system( cmdline ) ;
count = ITcount ;
ITIMER_release() ;
secph = count % 100 ;
sec = count / 100 ;
min = sec / 60 ;
hour = min / 60 ;
sec %= 60 ;
min %= 60 ;
printf("\n\x1b[33m") ;
printf("elaps time : %02d:%02d:%02d.%02d ( Interval-Timer Count:%d )\x1b[m\n",hour,min,sec,secph,count) ;
#endif
/*
** VSYNC による測定
*/
#if MODE == 2
Vcount = 0 ;
VSYNC_init() ;
strcpy( cmdline,"command /c" ) ;
for ( c=1; c<ac; c++ ) {
strcat( cmdline," " ) ;
strcat( cmdline,av[c] ) ;
}
strcat( cmdline,NULL ) ;
Vcount = 0 ;
system( cmdline ) ;
count = Vcount ;
VSYNC_release() ;
secph = ((count%60)*1000) / 60 ;
/* 四捨五入 */
if ( secph % 10 < 5 )
secph /= 10 ;
else
secph = secph / 10 + 1 ;
sec = count / 60 ;
min = sec / 60 ;
hour = min / 60 ;
sec %= 60 ;
min %= 60 ;
printf("\n\x1b[33m") ;
printf("elaps time : %02d:%02d:%02d.%02d ( VSYNC Count:%d )\x1b[m\n",hour,min,sec,secph,count) ;
#endif
int23_release() ;
}