#include #include #include #include #include #include #include #include #include #ifdef M_CORE_GBA #include #endif #ifdef M_CORE_GB #include #endif int main() { struct mCoreThread *threadContext = malloc(sizeof *threadContext); char *file = "/home/sergio/ruby.gba"; struct mCore *core = mCoreFind(file); core->init(core); unsigned int width; unsigned int height; core->desiredVideoDimensions(core, &width, &height); color_t *outputBuffer = malloc((sizeof *outputBuffer) * width * height); core->setVideoBuffer(core, outputBuffer, 240); mCoreInitConfig(core, NULL); if (!core) { fprintf(stderr, "Unable to load core"); return 1; } mCoreLoadFile(core, file); threadContext->core = core; threadContext->userData = NULL; mCoreThreadStart(threadContext); mCoreThreadJoin(threadContext); free(threadContext); }