Thanks for the feedback.
Can you point out MAME quirks that you'd abstract in a different way?
Also, I wonder, how would you implement something like an emulator library in C without callbacks? You could use C++ with abstract base classes but that's essentially the same thing, just different syntactic sugar.
I checked out libretro, as far as I can tell it is very similar to libmame in approach, except of course it only handles a limited set of systems (NES and friends) so it can be considerably simpler than libmame. It's also callback based. Oh, and, the header file libretro.h is very poorly commented, which is a pet peeve of mine. You'll notice that libmame.h is heavily commented.
For what it's worth, I have also written some other API layers to build on libmame. I tried to generalize as much as I could so that other emulators could be plugged in. It's not ready for prime time yet.
Edited by Bryan Ischo (05/08/12 05:10 AM)
|