RIP-Comm / clementine

Gameboy Advance emulator.
MIT License
49 stars 13 forks source link

Thumb: Fix `Mov Shifted Reg` op status flags #187

Closed AlessioC31 closed 1 year ago

AlessioC31 commented 1 year ago

We were not setting all the status flags after the mov operation.

The set_flags method was only setting the C flag because the shift function returns a ArithmeticOpResult with only result and carry. Now we explicitly set the status flags.

This error is due to bad design of the flags passing mechanism we have in place now and we should review it to make it better.