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)
{
if (gb->debug_stopped) return;
if (!gb->n_watchpoints) return;
/* Try any-bank breakpoint */
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)
{
if (gb->debug_stopped) return;
if (!gb->n_watchpoints) return;
/* Try any-bank breakpoint */
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)
{
/* 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();
if (!gb->turbo_dont_skip && nanoseconds <= gb->last_vblank + FRAME_LENGTH) {
if (nanoseconds <= gb->last_vblank + FRAME_LENGTH) {
return;
}
gb->last_vblank = nanoseconds;