static void parse_cmdline_and_init_file (int argc, TCHAR **argv) { _tcscpy (optionsfile, _T("")); #ifdef OPTIONS_IN_HOME { TCHAR *home = getenv ("HOME"); if (home != NULL && strlen (home) < 240) { _tcscpy (optionsfile, home); _tcscat (optionsfile, _T("/")); } } #endif parse_cmdline_2 (argc, argv); _tcscat (optionsfile, restart_config); if (! target_cfgfile_load (&currprefs, optionsfile, 0, default_config)) { write_log (_T("failed to load config '%s'\n"), optionsfile); #ifdef OPTIONS_IN_HOME /* sam: if not found in $HOME then look in current directory */ _tcscpy (optionsfile, restart_config); target_cfgfile_load (&currprefs, optionsfile, 0, default_config); #endif } fixup_prefs (&currprefs); parse_cmdline (argc, argv); // fixup_prefs (&currprefs); //fixup after cmdline }
static void gui_to_prefs (void) { /* Always copy our prefs to changed_prefs, ... */ changed_prefs = workprefs; /* filesys hack */ currprefs.mountitems = changed_prefs.mountitems; memcpy (&currprefs.mountconfig, &changed_prefs.mountconfig, MOUNT_CONFIG_SIZE * sizeof (struct uaedev_config_info)); fixup_prefs (&changed_prefs); //updatewinfsmode (&changed_prefs); }
static void parse_cmdline_and_init_file (int argc, TCHAR **argv) { _tcscpy (optionsfile, ""); #ifdef OPTIONS_IN_HOME { TCHAR *home = getenv ("HOME"); if (home != NULL && strlen (home) < 240) { _tcscpy (optionsfile, home); _tcscat (optionsfile, "/"); } } #endif parse_cmdline_2 (argc, argv); _tcscat (optionsfile, restart_config); if (! target_cfgfile_load (&currprefs, optionsfile, 0, default_config)) { write_log ("failed to load config '%s'\n", optionsfile); #ifdef OPTIONS_IN_HOME /* sam: if not found in $HOME then look in current directory */ char *saved_path = strdup (optionsfile); strcpy (optionsfile, OPTIONSFILENAME); if (!target_cfgfile_load (&currprefs, optionsfile, 0) ) { /* If not in current dir either, change path back to home * directory - so that a GUI can save a new config file there */ strcpy (optionsfile, saved_path); } free (saved_path); #endif } fixup_prefs (&currprefs); parse_cmdline (argc, argv); fixup_prefs (&currprefs); //fixup after cmdline }
// Handler for the XM_NOTIFY message HRESULT COptionsScene::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHandled ) { switch(m_GroupJoy.GetCurSel()) { case 0: memset (&changed_prefs.jports[0], 0, sizeof (struct jport)); memset (&changed_prefs.jports[1], 0, sizeof (struct jport)); changed_prefs.jports[0].id = JSEM_MICE; changed_prefs.jports[1].id = JSEM_JOYS; changed_prefs.mouse_settings[0]->enabled = 1; config_changed = 1; inputdevice_config_change(); break; case 1: memset (&changed_prefs.jports[0], 0, sizeof (struct jport)); memset (&changed_prefs.jports[1], 0, sizeof (struct jport)); changed_prefs.jports[0].id = JSEM_JOYS + 1; changed_prefs.jports[1].id = JSEM_JOYS; changed_prefs.mouse_settings[1]->enabled = 0; config_changed = 1; inputdevice_config_change(); break; case 2: memset (&changed_prefs.jports[0], 0, sizeof (struct jport)); memset (&changed_prefs.jports[1], 0, sizeof (struct jport)); changed_prefs.jports[0].id = JSEM_MICE; changed_prefs.jports[1].id = JSEM_MICE + 1; changed_prefs.mouse_settings[0]->enabled = 0; changed_prefs.mouse_settings[1]->enabled = 1; config_changed = 1; inputdevice_config_change(); break; } switch(m_GroupCPU.GetCurSel()) { case 0: changed_prefs.cpu_model = 68000; check_prefs_changed_cpu(); break; case 1: changed_prefs.cpu_model = 68010; check_prefs_changed_cpu(); break; case 2: changed_prefs.cpu_model = 68020; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 0; break; case 3: changed_prefs.cpu_model = 68020; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 1; break; case 4: changed_prefs.cpu_model = 68030; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 0; break; case 5: changed_prefs.cpu_model = 68040; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 0; break; } switch (m_GroupChipset.GetCurSel()) { case 0: changed_prefs.chipset_mask = 0; break; case 1: changed_prefs.chipset_mask = CSMASK_ECS_AGNUS; break; case 2: changed_prefs.chipset_mask = CSMASK_ECS_DENISE; break; case 3: changed_prefs.chipset_mask = (CSMASK_ECS_AGNUS | CSMASK_ECS_DENISE); break; case 4: changed_prefs.chipset_mask = (CSMASK_AGA | CSMASK_ECS_AGNUS | CSMASK_ECS_DENISE); break; } switch(m_GroupChipMem.GetCurSel()) { case 0: m_GroupFast.SetEnable(true); changed_prefs.chipmem_size = 0x80000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 1: m_GroupFast.SetEnable(true); changed_prefs.chipmem_size = 0x100000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 2: m_GroupFast.SetEnable(true); changed_prefs.chipmem_size = 0x200000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 3: m_GroupFast.SetCurSel(0); m_GroupFast.SetEnable(false); changed_prefs.fastmem_size = 0x00; changed_prefs.chipmem_size = 0x400000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 4: m_GroupFast.SetCurSel(0); m_GroupFast.SetEnable(false); changed_prefs.chipmem_size = 0x800000; changed_prefs.fastmem_size = 0x00; changed_prefs.bogomem_size = 0x0; memory_reset(); break; } switch (m_GroupFast.GetCurSel()) { case 0x00000000: changed_prefs.fastmem_size = 0x00000000; memory_reset(); break; case 0x100000: changed_prefs.fastmem_size = 0x100000; memory_reset(); break; case 0x200000: changed_prefs.fastmem_size = 0x200000; memory_reset(); break; case 0x400000: changed_prefs.fastmem_size = 0x400000; memory_reset(); break; case 0x800000: changed_prefs.fastmem_size = 0x800000; memory_reset(); break; } switch(m_GroupBogoMem.GetCurSel()) { case 0: changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 1: changed_prefs.bogomem_size = 0x80000; memory_reset(); break; case 2: changed_prefs.bogomem_size = 0x100000; memory_reset(); break; case 3: changed_prefs.bogomem_size = 0x180000; memory_reset(); break; case 4: changed_prefs.bogomem_size = 0x1c0000; memory_reset(); break; } switch(m_GroupFast.GetCurSel()) { case 0: changed_prefs.fastmem_size = 0x00; memory_reset(); break; case 1: changed_prefs.fastmem_size = 0x100000; memory_reset(); break; case 2: changed_prefs.fastmem_size = 0x200000; memory_reset(); break; case 3: changed_prefs.fastmem_size = 0x400000; memory_reset(); break; case 4: changed_prefs.fastmem_size = 0x800000; memory_reset(); break; } switch(m_GroupZ3Fast.GetCurSel()) { case 0: changed_prefs.z3fastmem_size = 0x00; memory_reset(); break; case 1: changed_prefs.z3fastmem_size = 0x800000; memory_reset(); break; case 2: changed_prefs.z3fastmem_size = 0x2000000; memory_reset(); break; case 3: changed_prefs.z3fastmem_size = 0x4000000; memory_reset(); break; case 4: changed_prefs.z3fastmem_size = 0x8000000; memory_reset(); break; } switch(m_GroupRTG.GetCurSel()) { case 0: changed_prefs.gfxmem_size = 0x00; memory_reset(); break; case 1: changed_prefs.gfxmem_size = 0x800000; memory_reset(); break; case 2: changed_prefs.gfxmem_size = 0x2000000; memory_reset(); break; case 3: changed_prefs.gfxmem_size = 0x4000000; memory_reset(); break; case 4: changed_prefs.gfxmem_size = 0x8000000; memory_reset(); break; } if (m_FasterRTG.IsChecked()) { changed_prefs.picasso96_nocustom = 1; check_prefs_changed_gfx(); } else { changed_prefs.picasso96_nocustom = 0; check_prefs_changed_gfx(); } if (m_BSDSocket.IsChecked()) { currprefs.socket_emu = 1; } else { currprefs.socket_emu = 0; } if (m_Picasso96.IsChecked()) { currprefs.picasso96_modeflags = 212; check_prefs_changed_gfx(); } else { currprefs.picasso96_modeflags = 0; check_prefs_changed_gfx(); } if (m_DriveClick.IsChecked()) { changed_prefs.floppyslots[0].dfxclick = -1; changed_prefs.dfxclickvolume = 33; changed_prefs.dfxclickchannelmask = 0xFFFF; check_prefs_changed_audio (); driveclick_check_prefs(); } else { changed_prefs.floppyslots[0].dfxclick = 0; check_prefs_changed_audio (); driveclick_check_prefs(); } if (m_24BitAddressing.IsChecked()) { changed_prefs.address_space_24 = 1; check_prefs_changed_custom (); } else { changed_prefs.address_space_24 = 0; check_prefs_changed_custom (); } if (m_CycleExact.IsChecked()) { changed_prefs.cpu_cycle_exact = 1; check_prefs_changed_custom (); check_prefs_changed_gfx(); } else { changed_prefs.cpu_cycle_exact = 0; check_prefs_changed_custom (); check_prefs_changed_gfx(); } if (m_ImmediateBlits.IsChecked()) { changed_prefs.immediate_blits = 1; check_prefs_changed_custom (); check_prefs_changed_gfx(); } else { changed_prefs.immediate_blits = 0; check_prefs_changed_custom (); check_prefs_changed_gfx(); } if (m_ShowLeds.IsChecked()) { currprefs.leds_on_screen = 1; } else { currprefs.leds_on_screen = 0; } if( XuiControlIsBackButton( hObjPressed ) ) { config_changed = 1; fixup_prefs (&currprefs); this->NavigateBack(); } bHandled = TRUE; return S_OK; }
static int real_main2 (int argc, TCHAR **argv) { #ifdef USE_SDL int result = (SDL_Init (SDL_INIT_TIMER | SDL_INIT_JOYSTICK | SDL_INIT_NOPARACHUTE) == 0); if (result) atexit (SDL_Quit); #endif set_config_changed (); if (restart_config[0]) { default_prefs (&currprefs, 0); fixup_prefs (&currprefs); } if (! graphics_setup ()) { write_log (_T("Graphics Setup Failed\n")); exit (1); } if (restart_config[0]) parse_cmdline_and_init_file (argc, argv); else currprefs = changed_prefs; // uae_inithrtimer (); if (!machdep_init ()) { write_log (_T("Machine Init Failed.\n")); restart_program = 0; return -1; } if (console_emulation) { consolehook_config (&currprefs); fixup_prefs (&currprefs); } if (! setup_sound ()) { write_log (_T("Sound driver unavailable: Sound output disabled\n")); currprefs.produce_sound = 0; } inputdevice_init (); changed_prefs = currprefs; no_gui = ! currprefs.start_gui; if (restart_program == 2) no_gui = 1; else if (restart_program == 3) no_gui = 0; restart_program = 0; if (! no_gui && currprefs.start_gui) { int err = gui_init (); currprefs = changed_prefs; set_config_changed (); if (err == -1) { write_log (_T("Failed to initialize the GUI\n")); return -1; } else if (err == -2) { return 1; } } memset (&gui_data, 0, sizeof gui_data); gui_data.cd = -1; gui_data.hd = -1; gui_data.md = -1; #ifdef NATMEM_OFFSET init_shm (); #endif #ifdef PICASSO96 picasso_reset (); #endif fixup_prefs (&currprefs); #ifdef RETROPLATFORM rp_fixup_options (&currprefs); #endif changed_prefs = currprefs; target_run (); /* force sound settings change */ currprefs.produce_sound = 0; savestate_init (); keybuf_init (); /* Must come after init_joystick */ memory_hardreset (2); memory_reset (); #ifdef AUTOCONFIG native2amiga_install (); #endif custom_init (); /* Must come after memory_init */ #ifdef SERIAL_PORT serial_init (); #endif DISK_init (); reset_frame_rate_hack (); init_m68k (); /* must come after reset_frame_rate_hack (); */ gui_update (); if (graphics_init ()) { #ifdef DEBUGGER setup_brkhandler (); if (currprefs.start_debugger && debuggable ()) activate_debugger (); #endif if (!init_audio ()) { if (sound_available && currprefs.produce_sound > 1) { write_log (_T("Sound driver unavailable: Sound output disabled\n")); } currprefs.produce_sound = 0; } start_program (); } return 0; }
static int real_main2 (int argc, TCHAR **argv) { #ifdef USE_SDL SDL_Init (SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK | SDL_INIT_NOPARACHUTE); #endif set_config_changed (); if (restart_config[0]) { default_prefs (&currprefs, true, 0); fixup_prefs (&currprefs, true); } if (! graphics_setup ()) { exit (1); } #ifdef NATMEM_OFFSET //preinit_shm (); #endif if (restart_config[0]) parse_cmdline_and_init_file (argc, argv); else currprefs = changed_prefs; if (!machdep_init ()) { restart_program = 0; return -1; } if (console_emulation) { consolehook_config (&currprefs); fixup_prefs (&currprefs, true); } if (! setup_sound ()) { write_log (_T("Sound driver unavailable: Sound output disabled\n")); currprefs.produce_sound = 0; } inputdevice_init (); changed_prefs = currprefs; no_gui = ! currprefs.start_gui; if (restart_program == 2) no_gui = 1; else if (restart_program == 3) no_gui = 0; restart_program = 0; if (! no_gui) { int err = gui_init (); currprefs = changed_prefs; set_config_changed (); if (err == -1) { write_log (_T("Failed to initialize the GUI\n")); return -1; } else if (err == -2) { return 1; } } memset (&gui_data, 0, sizeof gui_data); gui_data.cd = -1; gui_data.hd = -1; gui_data.md = (currprefs.cs_cd32nvram || currprefs.cs_cdtvram) ? 0 : -1; logging_init (); /* Yes, we call this twice - the first case handles when the user has loaded a config using the cmd-line. This case handles loads through the GUI. */ #ifdef NATMEM_OFFSET init_shm (); #endif #ifdef WITH_LUA uae_lua_init (); #endif #ifdef PICASSO96 picasso_reset (); #endif #if 0 #ifdef JIT if (!(currprefs.cpu_model >= 68020 && currprefs.address_space_24 == 0 && currprefs.cachesize)) canbang = 0; #endif #endif fixup_prefs (&currprefs, true); #ifdef RETROPLATFORM rp_fixup_options (&currprefs); #endif changed_prefs = currprefs; target_run (); /* force sound settings change */ currprefs.produce_sound = 0; savestate_init (); keybuf_init (); /* Must come after init_joystick */ memory_hardreset (2); memory_reset (); #ifdef AUTOCONFIG native2amiga_install (); #endif custom_init (); /* Must come after memory_init */ #ifdef SERIAL_PORT serial_init (); #endif DISK_init (); #ifdef WITH_PPC uae_ppc_reset(true); #endif reset_frame_rate_hack (); init_m68k (); /* must come after reset_frame_rate_hack (); */ gui_update (); if (graphics_init (true)) { setup_brkhandler (); if (currprefs.start_debugger && debuggable ()) activate_debugger (); if (!init_audio ()) { if (sound_available && currprefs.produce_sound > 1) { write_log (_T("Sound driver unavailable: Sound output disabled\n")); } currprefs.produce_sound = 0; } start_program (); } return 0; }
static int real_main2 (int argc, TCHAR **argv) { #ifdef USE_SDL SDL_Init (SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK | SDL_INIT_NOPARACHUTE); #endif config_changed = 1; if (restart_config[0]) { default_prefs (&currprefs, 0); fixup_prefs (&currprefs); } if (! graphics_setup ()) { exit (1); } #ifdef NATMEM_OFFSET preinit_shm (); #endif if (restart_config[0]) parse_cmdline_and_init_file (argc, argv); else currprefs = changed_prefs; if (!machdep_init ()) { restart_program = 0; return -1; } if (console_emulation) { consolehook_config (&currprefs); fixup_prefs (&currprefs); } if (! setup_sound ()) { write_log (L"Sound driver unavailable: Sound output disabled\n"); currprefs.produce_sound = 0; } inputdevice_init (); changed_prefs = currprefs; no_gui = ! currprefs.start_gui; if (restart_program == 2) no_gui = 1; else if (restart_program == 3) no_gui = 0; restart_program = 0; if (! no_gui) { int err = gui_init (); currprefs = changed_prefs; config_changed = 1; if (err == -1) { write_log (L"Failed to initialize the GUI\n"); return -1; } else if (err == -2) { return 1; } } logging_init (); /* Yes, we call this twice - the first case handles when the user has loaded a config using the cmd-line. This case handles loads through the GUI. */ #ifdef NATMEM_OFFSET init_shm (); #endif #ifdef JIT if (!(currprefs.cpu_model >= 68020 && currprefs.address_space_24 == 0 && currprefs.cachesize)) canbang = 0; #endif fixup_prefs (&currprefs); changed_prefs = currprefs; target_run (); /* force sound settings change */ currprefs.produce_sound = 0; #ifdef AUTOCONFIG rtarea_setup (); #endif #ifdef FILESYS rtarea_init (); uaeres_install (); hardfile_install (); #endif savestate_init (); #ifdef SCSIEMU scsi_reset (); scsidev_install (); #endif #ifdef SANA2 netdev_install (); #endif #ifdef UAESERIAL uaeserialdev_install (); #endif keybuf_init (); /* Must come after init_joystick */ #ifdef AUTOCONFIG expansion_init (); #endif #ifdef FILESYS filesys_install (); #endif memory_init (); memory_reset (); #ifdef AUTOCONFIG #if defined (BSDSOCKET) bsdlib_install (); #endif emulib_install (); uaeexe_install (); native2amiga_install (); #endif custom_init (); /* Must come after memory_init */ #ifdef SERIAL_PORT serial_init (); #endif DISK_init (); reset_frame_rate_hack (); init_m68k (); /* must come after reset_frame_rate_hack (); */ gui_update (); if (graphics_init ()) { setup_brkhandler (); if (currprefs.start_debugger && debuggable ()) activate_debugger (); if (!init_audio ()) { if (sound_available && currprefs.produce_sound > 1) { write_log (L"Sound driver unavailable: Sound output disabled\n"); } currprefs.produce_sound = 0; } start_program (); } return 0; }
static int real_main2 (int argc, TCHAR **argv) { #if (defined (_WIN32) || defined (_WIN64)) && !defined (NO_WIN32_EXCEPTION_HANDLER) extern int EvalException (LPEXCEPTION_POINTERS blah, int n_except); __try #endif { #ifdef USE_SDL int result = (SDL_Init (SDL_INIT_TIMER | SDL_INIT_JOYSTICK | SDL_INIT_NOPARACHUTE) == 0); if (result) atexit (SDL_Quit); #endif config_changed = 1; if (restart_config[0]) { default_prefs (&currprefs, 0); fixup_prefs (&currprefs); } if (! graphics_setup ()) { write_log ("Graphics Setup Failed\n"); exit (1); } #ifdef NATMEM_OFFSET preinit_shm (); #endif if (restart_config[0]) parse_cmdline_and_init_file (argc, argv); else currprefs = changed_prefs; uae_inithrtimer (); if (!machdep_init ()) { write_log ("Machine Init Failed.\n"); restart_program = 0; return -1; } if (console_emulation) { consolehook_config (&currprefs); fixup_prefs (&currprefs); } if (! setup_sound ()) { write_log ("Sound driver unavailable: Sound output disabled\n"); currprefs.produce_sound = 0; } inputdevice_init (); changed_prefs = currprefs; no_gui = ! currprefs.start_gui; if (restart_program == 2) no_gui = 1; else if (restart_program == 3) no_gui = 0; restart_program = 0; if (! no_gui) { int err = gui_init (); currprefs = changed_prefs; config_changed = 1; if (err == -1) { write_log ("Failed to initialize the GUI\n"); return -1; } else if (err == -2) { return 1; } } #ifdef NATMEM_OFFSET init_shm (); #endif #ifdef JIT if (!(currprefs.cpu_model >= 68020 && currprefs.address_space_24 == 0 && currprefs.cachesize)) canbang = 0; #endif fixup_prefs (&currprefs); changed_prefs = currprefs; target_run (); /* force sound settings change */ currprefs.produce_sound = 0; #ifdef AUTOCONFIG /* Install resident module to get 8MB chipmem, if requested */ rtarea_setup (); #endif #ifdef FILESYS rtarea_init (); uaeres_install (); hardfile_install (); #endif savestate_init (); #ifdef SCSIEMU scsi_reset (); scsidev_install (); #endif #ifdef SANA2 netdev_install (); #endif #ifdef UAESERIAL uaeserialdev_install (); #endif keybuf_init (); /* Must come after init_joystick */ #ifdef AUTOCONFIG expansion_init (); #endif #ifdef FILESYS filesys_install (); #endif target_startup_sequence (&currprefs); memory_init (); memory_reset (); #ifdef AUTOCONFIG #if defined (BSDSOCKET) bsdlib_install (); #endif emulib_install (); uaeexe_install (); native2amiga_install (); #endif custom_init (); /* Must come after memory_init */ #ifdef SERIAL_PORT serial_init (); #endif DISK_init (); reset_frame_rate_hack (); init_m68k (); /* must come after reset_frame_rate_hack (); */ gui_update (); if (graphics_init ()) { #ifdef DEBUGGER setup_brkhandler (); if (currprefs.start_debugger && debuggable ()) activate_debugger (); #endif if (!init_audio ()) { if (sound_available && currprefs.produce_sound > 1) { write_log ("Sound driver unavailable: Sound output disabled\n"); } currprefs.produce_sound = 0; } start_program (); } } #if (defined (_WIN32) || defined (_WIN64)) && !defined (NO_WIN32_EXCEPTION_HANDLER) #ifdef JIT __except( EvalException( GetExceptionInformation(), GetExceptionCode() ) ) #else __except (DummyException (GetExceptionInformation (), GetExceptionCode ())) #endif { // EvalException does the good stuff... } #endif return 0; }
void real_main (int argc, char **argv) { FILE *hf; #ifdef USE_SDL SDL_Init (SDL_INIT_EVERYTHING | SDL_INIT_NOPARACHUTE); #endif default_prefs (&currprefs); #ifdef SYSTEM_CFGDIR scan_configs (SYSTEM_CFGDIR); #endif /* Can be overriden in graphics_setup, although there's not much of a point. Fullscreen modes are filled in by graphics_setup. */ gfx_windowed_modes = default_windowed_modes; n_windowed_modes = sizeof default_windowed_modes / sizeof *default_windowed_modes; if (! graphics_setup ()) { exit (1); } rtarea_init (); hardfile_install (); scsidev_install (); parse_cmdline_and_init_file (argc, argv); machdep_init (); init_gtod (); if (! setup_sound ()) { write_log ("Sound driver unavailable: Sound output disabled\n"); currprefs.produce_sound = 0; } inputdevice_init (); changed_prefs = currprefs; no_gui = ! currprefs.start_gui; if (! no_gui) { int err = gui_init (1); currprefs = changed_prefs; if (err == -1) { write_log ("Failed to initialize the GUI\n"); } else if (err == -2) { exit (0); } } if (sound_available && currprefs.produce_sound > 1 && ! init_audio ()) { write_log ("Sound driver unavailable: Sound output disabled\n"); currprefs.produce_sound = 0; } fixup_prefs (&currprefs); changed_prefs = currprefs; #ifdef SYSTEM_ROMDIR scan_roms (SYSTEM_ROMDIR, ROMLOC_SYSTEM); #endif scan_roms (currprefs.path_rom, ROMLOC_USER); /* Install resident module to get 8MB chipmem, if requested */ rtarea_setup (); keybuf_init (); /* Must come after init_joystick */ expansion_init (); memory_init (); filesys_install (); bsdlib_install (); emulib_install (); uaeexe_install (); native2amiga_install (); custom_init (); /* Must come after memory_init */ serial_init (); DISK_init (); reset_frame_rate_hack (); init_m68k(); /* must come after reset_frame_rate_hack (); */ gui_update (); if (graphics_init ()) { reset_drawing (); setup_brkhandler (); if (currprefs.start_debugger && debuggable ()) activate_debugger (); start_program (); } leave_program (); }