Cycle-accuracy for the GBA is more like a long-term goal. I would still have to come up with a host of hardware tests that determine whether an emulator is accurate to the original handheld or not. It certainly isn't going to happen overnight, but that's the end direction I want to take GBE+. GBE+ is far from cycle-accurate atm however. DMAs aren't clocked at all (so they happen "instantly" as far as the emulated game is concerned), some instructions don't have any timing at all, not all Wait States are emulated, and SWIs happen "instantly" too. But the system for emulating the GBA cycle-by-cycle is already established; it's just a matter of clocking things correctly.
When I import the old GBE project, the GB and GBC systems will not immediately be cycle accurate, but I do want to make it as cycle-accurate as possible. The code needs to be revamped and reworked to run on a cycle-by-cycle basis (like GBE+ does now for GBA emulation). Like most emulators, the old GBE project was cycle-based (but not cycle-accurate), in that it executed stuff, then counted how many cycles it took, then take actions like such as memory accesses later instead of on the specific cycle it should happen on.
Now, I know people like mudlord would take me to task for pursuing cycle-accuracy, but in reality, it's just easier for me to deal with emulating a system cycle-by-cycle (and for that matter, pixel-by-pixel). I've found it doesn't cover up nearly half the mistakes I made when it comes to timing. It's not like cycle-accuracy will suddenly improve the emulator with magic and rainbows (it could conceivably help with some demos) but for the most part it isn't going make the emulation experience any better. Internally, code-wise, it just makes for a more structured emulator, at least that's my opinion.
When I import the old GBE project, the GB and GBC systems will not immediately be cycle accurate, but I do want to make it as cycle-accurate as possible. The code needs to be revamped and reworked to run on a cycle-by-cycle basis (like GBE+ does now for GBA emulation). Like most emulators, the old GBE project was cycle-based (but not cycle-accurate), in that it executed stuff, then counted how many cycles it took, then take actions like such as memory accesses later instead of on the specific cycle it should happen on.
Now, I know people like mudlord would take me to task for pursuing cycle-accuracy, but in reality, it's just easier for me to deal with emulating a system cycle-by-cycle (and for that matter, pixel-by-pixel). I've found it doesn't cover up nearly half the mistakes I made when it comes to timing. It's not like cycle-accuracy will suddenly improve the emulator with magic and rainbows (it could conceivably help with some demos) but for the most part it isn't going make the emulation experience any better. Internally, code-wise, it just makes for a more structured emulator, at least that's my opinion.