Misc optimizations, especially for the tester

This commit is contained in:
Lior Halphon 2016-09-30 01:09:44 +03:00
parent 3ac3eccebb
commit 5565c096c7
2 changed files with 4 additions and 2 deletions

View File

@ -1393,6 +1393,7 @@ static bool _GB_debugger_test_write_watchpoint(GB_gameboy_t *gb, value_t addr, u
void GB_debugger_test_write_watchpoint(GB_gameboy_t *gb, uint16_t addr, uint8_t value) void GB_debugger_test_write_watchpoint(GB_gameboy_t *gb, uint16_t addr, uint8_t value)
{ {
if (gb->debug_stopped) return; if (gb->debug_stopped) return;
if (!gb->n_watchpoints) return;
/* Try any-bank breakpoint */ /* Try any-bank breakpoint */
value_t full_addr = (VALUE_16(addr)); value_t full_addr = (VALUE_16(addr));
@ -1438,6 +1439,7 @@ static bool _GB_debugger_test_read_watchpoint(GB_gameboy_t *gb, value_t addr)
void GB_debugger_test_read_watchpoint(GB_gameboy_t *gb, uint16_t addr) void GB_debugger_test_read_watchpoint(GB_gameboy_t *gb, uint16_t addr)
{ {
if (gb->debug_stopped) return; if (gb->debug_stopped) return;
if (!gb->n_watchpoints) return;
/* Try any-bank breakpoint */ /* Try any-bank breakpoint */
value_t full_addr = (VALUE_16(addr)); value_t full_addr = (VALUE_16(addr));

View File

@ -216,9 +216,9 @@ static void nsleep(uint64_t nanoseconds)
void display_vblank(GB_gameboy_t *gb) void display_vblank(GB_gameboy_t *gb)
{ {
/* Called every Gameboy vblank. Does FPS-capping and calls user's vblank callback if Turbo Mode allows. */ /* Called every Gameboy vblank. Does FPS-capping and calls user's vblank callback if Turbo Mode allows. */
if (gb->turbo) { if (gb->turbo && !gb->turbo_dont_skip) {
int64_t nanoseconds = get_nanoseconds(); int64_t nanoseconds = get_nanoseconds();
if (!gb->turbo_dont_skip && nanoseconds <= gb->last_vblank + FRAME_LENGTH) { if (nanoseconds <= gb->last_vblank + FRAME_LENGTH) {
return; return;
} }
gb->last_vblank = nanoseconds; gb->last_vblank = nanoseconds;