Skip to content

Commit b741ee1

Browse files
committed
report framerate changes (for svga)
see #18
1 parent eb216b4 commit b741ee1

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

src/vid_svga.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,7 @@ void svga_recalctimings(svga_t *svga)
449449
printf("total %f on %i cycles off %i cycles frame %i sec %i %02X\n",disptime*crtcconst,svga->dispontime,svga->dispofftime,(svga->dispontime+svga->dispofftime)*svga->vtotal,(svga->dispontime+svga->dispofftime)*svga->vtotal*70,svga->seqregs[1]);
450450
451451
pclog("svga->render %08X\n", svga->render);*/
452+
report_framerate_change((unsigned long long)(cpuclock * (float)(1ull << 32) / svga->clock), (unsigned long long)(svga->vtotal * disptime * svga->char_width));
452453
}
453454

454455
extern int cyc_total;

src/video.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,8 @@ uint8_t rotatevga[8][256];
508508
int frames = 0;
509509
int video_frames = 0;
510510
int video_refresh_rate = 0;
511+
int framerate_numerator = 1;
512+
int framerate_denominator = 1;
511513

512514
int fullchange;
513515

@@ -1266,3 +1268,20 @@ void cgapal_rebuild(int display_type, int contrast)
12661268
break;
12671269
}
12681270
}
1271+
1272+
void report_framerate_change(unsigned long long num, unsigned long long denom)
1273+
{
1274+
int print = 0;
1275+
if (num != framerate_numerator)
1276+
{
1277+
framerate_numerator = num;
1278+
print = 1;
1279+
}
1280+
if (denom != framerate_denominator)
1281+
{
1282+
framerate_denominator = denom;
1283+
print = 1;
1284+
}
1285+
if (print)
1286+
fprintf(stdout, "Setting framerate: %d / %d = %.14lf\n", num, denom, (double)num / denom);
1287+
}

src/video.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ int video_get_video_from_internal_name(char *s);
3333
int video_is_mda();
3434
int video_is_cga();
3535
int video_is_ega_vga();
36+
void report_framerate_change(unsigned long long num, unsigned long long denom);
3637

3738
extern int video_fullscreen, video_fullscreen_scale, video_fullscreen_first;
3839
extern int video_force_aspect_ration;

0 commit comments

Comments
 (0)