diff options
author | Alcaro | 2014-12-13 22:05:06 +0100 |
---|---|---|
committer | Alcaro | 2014-12-13 22:05:06 +0100 |
commit | 3c1474e99df836dbe81819f50884f0aa2a153e6b (patch) | |
tree | 8a18d4c1f220a2bc37f288b5fe7c8c5a6ea1a2a9 /cpu_orig.c | |
parent | 7e08f8c67b17ac8b1b9a318bede250caecad3818 (diff) | |
download | picogpsp-3c1474e99df836dbe81819f50884f0aa2a153e6b.tar.gz picogpsp-3c1474e99df836dbe81819f50884f0aa2a153e6b.tar.bz2 picogpsp-3c1474e99df836dbe81819f50884f0aa2a153e6b.zip |
Implement idle loop skipping. The framerate on SMA4 is NINE times faster this way!
Diffstat (limited to 'cpu_orig.c')
-rw-r--r-- | cpu_orig.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -3275,6 +3275,8 @@ skip_instruction: /* End of Execute ARM instruction */ cycles_remaining -= cycles_per_instruction; + + if (pc == idle_loop_target_pc && cycles_remaining > 0) cycles_remaining = 0; } while(cycles_remaining > 0); collapse_flags(); @@ -4242,6 +4244,8 @@ thumb_loop: /* End of Execute THUMB instruction */ cycles_remaining -= cycles_per_instruction; + + if (pc == idle_loop_target_pc && cycles_remaining > 0) cycles_remaining = 0; } while(cycles_remaining > 0); collapse_flags(); |