int main(int argc, char *argv[]){ if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0){ fprintf(stderr, "Failed to initialize SDL: %s\n", SDL_GetError()); exit(-1); } resize(330*3/2, 410*3/2); if(argc > 1) cartfilename = argv[1]; if(argc > 2) load_overlay(argv[2]); init(); e8910_init_sound(); osint_emuloop(); #ifdef EMSCRIPTEN emscripten_set_main_loop(mainloop, 60, 1); #else for(;;)mainloop(); #endif e8910_done_sound(); SDL_Quit(); return 0; }
void retro_init(void) { unsigned level = 5; environ_cb(RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL, &level); e8910_init_sound(); memset(framebuffer, 0, sizeof(framebuffer) / sizeof(framebuffer[0])); point_size = 1; }
bool retro_load_game(const struct retro_game_info *info) { size_t cart_sz; struct retro_input_descriptor desc[] = { { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_LEFT, "Left" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_UP, "Up" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_DOWN, "Down" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_RIGHT, "Right" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_B, "2" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_A, "1" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_X, "3" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_Y, "4" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_LEFT, "Left" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_UP, "Up" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_DOWN, "Down" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_RIGHT, "Right" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_B, "2" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_A, "1" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_X, "3" }, { 1, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_Y, "4" }, }; environ_cb(RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS, desc); /* start with a fresh BIOS copy */ memcpy(rom, bios_data, bios_data_size); /* just memcpy buffer, ROMs are so tiny on Vectrex */ cart_sz = sizeof(cart) / sizeof(cart[0]); if (info->data && info->size > 0 && info->size <= cart_sz) { memset(cart, 0, cart_sz); memcpy(cart, info->data, info->size); vecx_reset(); e8910_init_sound(); return true; } return false; }
int main(int argc, char *argv[]){ #ifndef _WIN32 SDL_putenv("DINGOO_IGNORE_OS_EVENTS=1"); //HACK to fix "push long time on X" problem #endif if (SDL_Init(SDL_INIT_VIDEO) < 0) { fprintf(stderr, "Failed to initialize video: %s\n", SDL_GetError()); exit(-1); } atexit(SDL_Quit); #ifdef _WIN32 SDL_putenv("SDL_VIDEO_WINDOW_POS=300,200"); SDL_WM_SetCaption("Vectrex SDL", "Vectrex SDL"); resize(240, 320, 0); #else resize(320, 240, 1); #endif #ifdef _WIN32 if (argc > 1) cartfilename = argv[1]; #else if (stricmp(argv[0], "ROM.VECX") != 0) // If user selected ROM.VECX cartridge then don't use any cartridge { cartfilename = argv[0]; // In SIM files argv[0] contains the target to be loaded. } #endif init(); e8910_init_sound(); osint_emuloop(); e8910_done_sound(); SDL_Quit(); return 0; }
int main(int argc, char *argv[]){ if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0){ fprintf(stderr, "Failed to initialize SDL: %s\n", SDL_GetError()); exit(-1); } resize(330*3/2, 410*3/2); if(argc > 1) cartfilename = argv[1]; if(argc > 2) load_overlay(argv[2]); init(); e8910_init_sound(); osint_emuloop(); e8910_done_sound(); SDL_Quit(); return 0; }
void retro_reset(void) { vecx_reset(); e8910_init_sound(); }