zer0x64 / nsec-2022-gband

Apache License 2.0
2 stars 0 forks source link

CPU #13

Open zer0x64 opened 2 years ago

zer0x64 commented 2 years ago

@OliPro007 Was there more things you wanted to do, or do we close this issue and create more specific ones for what's missing? (for instance, the behavior for STOP)

OliPro007 commented 2 years ago

I think the only things left would be STOP, though not exactly sure how it behaves on GBC, the double speed switch wouldn't be very effective if it stopped the cpu... other than that I think the only thing that could be missing is DMG compatibility mode, where we shouldn't do / use stuff that is GBC only, or DMG vs GBC default register values.

I guess those can be made in more specific tasks, the CPU should be usable as it is. STOP is pretty much only a bool that stops everything (and does weird things to LCD according to docs), but it seems like the joypad can still wake it up, unrelated to interrupts contrary to HALT. Considering everything is stopped, that means the joypad event would have to come from the emulator and not from the CPU.