int main(int argc, char *argv[]) { xenon_make_it_faster(XENON_SPEED_FULL); InitVideo(); usb_init(); usb_do_poll(); xenon_ata_init(); xenon_sound_init(); SetupPads(); mount_all_devices(); // Set defaults DefaultSettings(); // Initialize font system InitFreeType((u8*)font_ttf, font_ttf_size); browserList = (BROWSERENTRY *)malloc(sizeof(BROWSERENTRY)*MAX_BROWSER_SIZE); while (1) // main loop { MainMenu(MENU_GAMESELECTION); EmuLaunch(); if(EmuRunning) MainMenu(MENU_GAME); else MainMenu(MENU_GAMESELECTION); if(EmuRunning) EmuResume(); else EmuLaunch(); if(EmuConfigRequested) { EmuConfigRequested = 0; break; } if(EmuResetRequested) { EmuResetRequested = 0; EmuReset(); } } return 0; }
void Hw::SystemInit(int flags){ if(init_flags==0){ xenon_make_it_faster(XENON_SPEED_FULL); if(flags & INIT_SOUND){ } if(flags & INIT_VIDEO){ } if(flags & INIT_USB){ usb_init(); usb_do_poll(); } if(flags & INIT_NETWORK){ network_init(); } if(flags & INIT_ATA){ xenon_ata_init(); } if(flags & INIT_ATAPI){ xenon_atapi_init(); } if(flags & INIT_FILESYSTEM){ mount_all_devices(); findDevices(); } if(flags & INIT_SFCX){ sfcx_init(); } init_flags = flags; } }
/** * Compare all data in the user's backup. * This function will mount filesystems, compare afioballs and biggiefiles, * and show the user the differences. * @param bkpinfo The backup information structure. Passed to other functions. * @param mountlist The mountlist containing partitions to mount. * @param raidlist The raidlist containing the user's RAID devices. * @return The number of errors/differences found. */ int compare_mode(struct s_bkpinfo *bkpinfo, struct mountlist_itself *mountlist, struct raidlist_itself *raidlist) { int retval = 0; long q; char *tmp; malloc_string(tmp); /************************************************************************** * also deletes tmp/filelist.full & tmp/biggielist.txt _and_ tries to * * restore them from start of tape, if available * **************************************************************************/ assert(bkpinfo != NULL); assert(mountlist != NULL); assert(raidlist != NULL); while (get_cfg_file_from_archive(bkpinfo)) { if (!ask_me_yes_or_no ("Failed to find config file/archives. Choose another source?")) { fatal_error("Unable to find config file/archives. Aborting."); } interactively_obtain_media_parameters_from_user(bkpinfo, FALSE); } read_cfg_file_into_bkpinfo(g_mondo_cfg_file, bkpinfo); g_current_media_number = 1; mvaddstr_and_log_it(1, 30, "Comparing Automatically"); iamhere("Pre-MAD"); retval = mount_all_devices(mountlist, FALSE); iamhere("Post-MAD"); if (retval) { unmount_all_devices(mountlist); return (retval); } if (bkpinfo->backup_media_type == tape || bkpinfo->backup_media_type == udev) { retval += compare_to_tape(bkpinfo); } else if (bkpinfo->backup_media_type == cdstream) { retval += compare_to_cdstream(bkpinfo); } else { retval += compare_to_CD(bkpinfo); } if (retval) { mvaddstr_and_log_it(g_currentY++, 0, "Warning - differences found during the compare phase"); } retval += unmount_all_devices(mountlist); if (count_lines_in_file("/tmp/changed.txt") > 0) { mvaddstr_and_log_it(g_currentY++, 0, "Differences found while files were being compared."); streamline_changes_file("/tmp/changed.files", "/tmp/changed.txt"); if (count_lines_in_file("/tmp/changed.files") <= 0) { mvaddstr_and_log_it(g_currentY++, 0, "...but they were logfiles and temporary files. Your archives are fine."); log_to_screen ("The differences were logfiles and temporary files. Your archives are fine."); } else { q = count_lines_in_file("/tmp/changed.files"); sprintf(tmp, "%ld significant difference%s found.", q, (q != 1) ? "s" : ""); mvaddstr_and_log_it(g_currentY++, 0, tmp); log_to_screen(tmp); strcpy(tmp, "Type 'less /tmp/changed.files' for a list of non-matching files"); mvaddstr_and_log_it(g_currentY++, 0, tmp); log_to_screen(tmp); log_msg(2, "calling popup_changelist_from_file()"); popup_changelist_from_file("/tmp/changed.files"); log_msg(2, "Returning from popup_changelist_from_file()"); } } else { log_to_screen ("No significant differences were found. Your backup is perfect."); } kill_petris(); paranoid_free(tmp); return (retval); }