Orkie / dolos2x

GP2X Emulator
MIT License
1 stars 0 forks source link

Consider implementing libretro API #1

Open minexew opened 3 years ago

minexew commented 3 years ago

By providing the emulator as a libretro code, you can benefit from a lot of work that has been done on the front-ends over the years. (controllers support, remapping, save states, video scaling & filters etc.)

The "reference" RetroArch front-end is big and comprehensive, but tiny lightweight front-ends exist as well.

(I have written https://github.com/minexew/GA330-libretro, but I'm not affiliated with libretro in any way)

Orkie commented 3 years ago

Still trying to get the thing working at this point! I'm interested to see you're also using Unicorn - does any of the A330 code you run make use of the MMU? I'm having some problems with memory hooks which appear not to fire when a physical address is accessed via a virtual address (i.e. MMIO), and was wondering how other people had dealt with that.

minexew commented 3 years ago

Unfortunately, I am just emulating a flat address space -- tbh I don't know if the measly CC1800 even has a MMU! I was able to get away with basically ignoring MMIO (more specifically, mapping it as plain RAM); while GA330 userspace code does access it, it doesn't seem to be important. As for the proprietary OS, i just HLE the shit out of it.

Orkie commented 3 years ago

I think it'll be easier to just get Linux to boot than to try to do HLE in this case, alas! Maybe I'll have a play with some of the unmerged PRs in the Unicorn repo.

On the original issue, I'll certainly have a look at libretro if/when I get beyond the bootloader - I don't want to spend my time dealing with boring stuff like joysticks!

minexew commented 3 years ago

Good luck! :)