コード例 #1
0
ファイル: osint.c プロジェクト: visy/vecx
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;
}
コード例 #2
0
ファイル: libretro.c プロジェクト: matthewbauer/libretro-vecx
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;
}
コード例 #3
0
ファイル: libretro.c プロジェクト: matthewbauer/libretro-vecx
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;
}
コード例 #4
0
ファイル: osint.c プロジェクト: nzeemin/nzeemin-opensrc
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;
}
コード例 #5
0
ファイル: osint.c プロジェクト: libretro/libretro-vecx
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;
}
コード例 #6
0
ファイル: libretro.c プロジェクト: matthewbauer/libretro-vecx
void retro_reset(void)
{
	vecx_reset();
	e8910_init_sound();
}