RIP-Comm / clementine

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

UI: Add `MemoryInspector` #111

Open AlessioC31 opened 1 year ago

AlessioC31 commented 1 year ago

Added a new UiTool to read values from memory.

I don't like very much how it is implemented but it was the only way (or at least the only one I found) to make it work since we have Gba<T: Cpu> and Cpu trait didn't have any method to access memory and memory is stored into an Rc<RefCell<>>.

Please tell me if you think it could be implemented in a better way (maybe without returning Ref? But I think it's needed since InternalMemory is managed by a RefCell).

It's very simple because I want to use it to debug an issue we may have in the instruction implementations. In the future, we could show a matrix with all the values and so on but for now I think this does the job.

gallottino commented 1 year ago

In my refactor in #110 I removed T from GBA and I moved all the hardware outside the cpu so every UI tools can access it easly

AlessioC31 commented 1 year ago

In my refactor in #110 I removed T from GBA and I moved all the hardware outside the cpu so every UI tools can access it easly

Yep I saw it! Now we need to decide which one should we merge first :D

I'm okay with keeping this in pause and merge yours first and then I rebase. I can use this branch in any case to debug

AlessioC31 commented 1 year ago

I converted it to draft while we wait for #111 to be merged

guerinoni commented 1 year ago

Agreed! We will come back to this after other PR's will be merged!