mirror of https://github.com/mgba-emu/mgba.git
GBA: Slightly optimize GBAProcessEvents
This commit is contained in:
parent
be42f298da
commit
564f58c7fb
2
CHANGES
2
CHANGES
|
@ -1,6 +1,8 @@
|
|||
0.5.0: (Future)
|
||||
Bugfixes:
|
||||
- VFS: Fix reading 7z archives without rewinding first
|
||||
Misc:
|
||||
- GBA: Slightly optimize GBAProcessEvents
|
||||
|
||||
0.4.0: (2016-02-02)
|
||||
Features:
|
||||
|
|
|
@ -205,16 +205,7 @@ void GBASkipBIOS(struct GBA* gba) {
|
|||
}
|
||||
|
||||
static void GBAProcessEvents(struct ARMCore* cpu) {
|
||||
do {
|
||||
struct GBA* gba = (struct GBA*) cpu->master;
|
||||
int32_t cycles = cpu->nextEvent;
|
||||
int32_t nextEvent = INT_MAX;
|
||||
int32_t testEvent;
|
||||
#ifndef NDEBUG
|
||||
if (cycles < 0) {
|
||||
GBALog(gba, GBA_LOG_FATAL, "Negative cycles passed: %i", cycles);
|
||||
}
|
||||
#endif
|
||||
|
||||
gba->bus = cpu->prefetch[1];
|
||||
if (cpu->executionMode == MODE_THUMB) {
|
||||
|
@ -226,6 +217,16 @@ static void GBAProcessEvents(struct ARMCore* cpu) {
|
|||
gba->springIRQ = 0;
|
||||
}
|
||||
|
||||
do {
|
||||
int32_t cycles = cpu->nextEvent;
|
||||
int32_t nextEvent = INT_MAX;
|
||||
int32_t testEvent;
|
||||
#ifndef NDEBUG
|
||||
if (cycles < 0) {
|
||||
GBALog(gba, GBA_LOG_FATAL, "Negative cycles passed: %i", cycles);
|
||||
}
|
||||
#endif
|
||||
|
||||
testEvent = GBAVideoProcessEvents(&gba->video, cycles);
|
||||
if (testEvent < nextEvent) {
|
||||
nextEvent = testEvent;
|
||||
|
|
Loading…
Reference in New Issue