Skip to content

Commit 075dfe6

Browse files
committed
show_frame
1 parent 849148f commit 075dfe6

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/brus16_emu.c

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ SDL_AppResult SDL_AppIterate(void *appstate) {
153153
uint64_t delta = ticks - emu->last_ticks;
154154
emu->last_ticks = ticks;
155155
emu->ticks_acc += delta * FPS;
156+
int show_frame = emu->ticks_acc >= SDL_NS_PER_SECOND;
156157
while (emu->ticks_acc >= SDL_NS_PER_SECOND) {
157158
emu->ticks_acc -= SDL_NS_PER_SECOND;
158159
for(int cycles = 0; !emu->cpu.wait; cycles++) {
@@ -166,15 +167,17 @@ SDL_AppResult SDL_AppIterate(void *appstate) {
166167
}
167168
SDL_PutAudioStreamData(emu->stream, samples, sizeof(samples));
168169
}
169-
update_rects(emu);
170-
SDL_SetRenderDrawColor(emu->renderer, 0, 0, 0, 255);
171-
SDL_RenderClear(emu->renderer);
172-
for (int i = 0; i < RECT_NUM; i++) {
173-
uint8_t *rgb = &emu->rect_colors[i * 3];
174-
SDL_SetRenderDrawColor(emu->renderer, rgb[0], rgb[1], rgb[2], 255);
175-
SDL_RenderFillRect(emu->renderer, &emu->rects[i]);
170+
if (show_frame) {
171+
update_rects(emu);
172+
SDL_SetRenderDrawColor(emu->renderer, 0, 0, 0, 255);
173+
SDL_RenderClear(emu->renderer);
174+
for (int i = 0; i < RECT_NUM; i++) {
175+
uint8_t *rgb = &emu->rect_colors[i * 3];
176+
SDL_SetRenderDrawColor(emu->renderer, rgb[0], rgb[1], rgb[2], 255);
177+
SDL_RenderFillRect(emu->renderer, &emu->rects[i]);
178+
}
179+
SDL_RenderPresent(emu->renderer);
176180
}
177-
SDL_RenderPresent(emu->renderer);
178181
return SDL_APP_CONTINUE;
179182
}
180183

0 commit comments

Comments
 (0)