Beispiel #1
0
int __stdcall WinMain(HINSTANCE hi, HINSTANCE hpi, LPSTR cmd, int cm)
{
	_qdgdfv_additional_int_info = (int) hi;
#else
int main(void)
{
#endif
	filp_startup();

	_qdgdfa_16_bit = 1;
	_qdgdfv_scale = 2;
	_qdgdfv_scale2x = 1;
	_qdgdfv_screen_x_size = 320;
	_qdgdfv_screen_y_size = 240;
	strcpy(_qdgdfv_window_title, "Freaks 2002 " VERSION);
/*	  strcpy(_qdgdfa_window_title,_qdgdfv_window_title);
*/ _qdgdfv_use_logger = 1;
	strcpy(_qdgdfv_logger_file, "fr2002.log");

	_qdgdfa_sound = 1;

	map_startup();

	filp_exec("\"$home_dir/config.filp\" load");
	filp_exec("'./setup.filp' load");

	qdgdfa_startup();
	qdgdfv_startup();

	render_startup();
	game_startup();
	misc_startup();

	for (;;) {
		if (main_menu())
			break;

		game_main_loop();
	}

	qdgdfv_shutdown();
	qdgdfa_shutdown();
	filp_shutdown();

	printf("qdgdfv version: %s\nqdgdfa version: %s\n", _qdgdfv_version, _qdgdfa_version);

	return 0;
}
Beispiel #2
0
// this is called from the event queue to start the app 
// return >0 if there is an error doing firstrun init
u8 app_launch(u8 firstrun) {
  u32 waitForCard;

  print_dbg("\r\n app launch");
  print_dbg("\r\n firstrun: ");
  print_dbg_ulong(firstrun);

  if(firstrun) {
    // it is the first run.
    // need to copy audio module binary from sdcard to internal flash.
    render_boot("first run. waiting for SDcard...");
    render_update();
  
    print_dbg("\r\n SD check... ");
    while (!sd_mmc_spi_mem_check()) {
      waitForCard++;
    }
    print_dbg("\r\nfound SD card. ");

    render_boot("found sdcard.. reading DSP...");
    render_update();

    // search for our dsp and load it
    // return success (0 == fail)
    if( files_search_dsp() ) {
      ;;
    } else {
      screen_clear();
      return 0;
    }

  } else {

    // firstrun pattern was set, so there should be a blackfin executable in flash.
    // read from flash to RAM
    render_boot("loading flash to RAM...");
    render_update();
    flash_read_ldr();
    
    render_boot( "booting DSP from flash...");
    render_update();
    // reboot DSP from RAM
    bfin_load_buf();
  }

  render_boot("waiting for bfin init...      ");
  render_update();

  bfin_wait_ready();

  // set encoder sensitivity
  set_enc_thresh(3, 16);
  delay_ms(20);

  // enable audio
  render_boot("run                       ");
  render_update();
  bfin_enable();

  // enable timers
  init_app_timers();

  render_startup();
  render_update();

  // set app event handlers
  mix_assign_event_handlers();

  return 1;
}