Closed hi-ban closed 6 years ago
Why would you build our fork without LIBRETRO?
There are other projects (non-libretro) which use the gambatte core, and i'd like to use an updated gambatte core instead of an old one from 2009. (if possible)
The reasons behind choosing to use an updated one instead of the old one from 2009 are possible new fixes and bootloader support.
What are you trying to do with it, could you compile it with libretro and just make a small libretro wrapper?
Libretro just remaps basic functions in a standardized way so if staticly linked the libretro bindings would just be optimized out.
My intention was to port it to a linux handheld console (GCW Zero), but using a custom menu and features optimized for that handheld. Most (if not all) of the cool libretro stuff (like the shaders) wouldn't work properly on this handheld anyway.
Anyway, i ended up taking the original gambatte core from Sinamas and porting cherry-picked features from the libretro core into the original one.
This fork's only purpose is to serve as a libretro core. That is the only target it's supporting. We want to promote and encourage the use of libretro frontends, of which RetroArch is but one example.
When trying to build core without
__LIBRETRO__
flag, we get the following errors:src/gambatte-memory.h:61:2: error: 'class gambatte::Cartridge' has no member named 'loadSavedata' void loadSavedata() { cart.loadSavedata(); } src/gambatte-memory.h:62:2: error: 'class gambatte::Cartridge' has no member named 'saveSavedata' void loadSavedata() { cart.loadSavedata(); }
Seems that at some point portability was broken. No idea how many more functions are missing, as the build process just stops there.