CE-Programming / CEmu

Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
https://ce-programming.github.io/CEmu
Other
1.05k stars 77 forks source link

Revision M+ support #461

Closed calc84maniac closed 7 months ago

calc84maniac commented 1 year ago

Makes the following changes to support new hardware on rev M+ and lay groundwork for future Python support and LCD improvements:

calc84maniac commented 1 year ago

I've discovered an unusual bug in rev M emulation, which I think is a blocker on this PR.

Basically, the issue is that if you turn off the calculator while emulating rev M, linking stops working. This issue persists through resets and state saves/loads, and even when resetting into another revision. The only way to restore linking is to reload the ROM.

I did a git bisect, and found that this issue exists even back in @jacobly0's first commit, which leads me to believe it's something related to different code paths (in the boot code?) executed on rev M. But I don't understand why the problem persists through resets and other revisions. Perhaps there's some USB register that's never getting reset? I would appreciate if an expert on linking could look into this issue.

calc84maniac commented 10 months ago

Finally fixed the outstanding USB issue, last call for reviews / sanity testing

adriweb commented 7 months ago

@calc84maniac said it's ready and people have tested it without issues so far, let's merge :)