clementine icon indicating copy to clipboard operation
clementine copied to clipboard

Where is the starting point?

Open gallottino opened this issue 2 years ago • 1 comments

Hi guys! Just some stream of thoughts about how to proceed: We need to define all the components used by the emulator. The cool fact of Gameboy is that it has different components, so we can divide our tasks really well. I'll try to list all the components:

Emulation Stuff:

  • [ ] CPU (ARM Mode, THUMB Mode, CGB Mode, DMG Mode)
  • [ ] Memory
  • [x] Cartridge ( Header, ROM)
  • [ ] Video
  • [ ] I/O
  • [ ] Sound
  • [ ] Controls

Debug Stuff:

I think it could be nice for us and also for homebrewing developer to have a nice graphical debugger in the emulator. Many other GBA emulators have tried to build something in this sense, but every attempt now seems old and I think that it could be done better:

  • [ ] Memory viewer (ASCII, Hex, Tile)
  • [ ] OPCode execution step by step
  • [ ] CPU Register viewer
  • [ ] Sound wave and memory viewer (In this sense I have a lot of ideas, but it too early to discuss about)
  • [ ] Joypad mapping customization

Maybe I'm missing something (I wrote just the basic things), but I think that it can be a very good starting point. For each of these we could create an issue with discussion and we could divide better the tasks.

We need also to discuss about the contribute guidelines and issues triage. If I understood correctly we are starting with this technology stack:

  • [x] Rust
  • [x] egui as gui-library (we can discuss about OpenGL for rendering if we want to take a look about performance, but for now I think it is better keep it simple)

Let me know! Feel free to comment about it or to mess everything up.

gallottino avatar Aug 31 '22 17:08 gallottino