int main (int argc, char **argv) { struct nes_rom rom; int i; if (argc < 2) { printf ("Need a filename! %i\n", argc); return 0; } for (i = 1; i < argc; i++) { rom = load_nes_rom (argv[i]); free_rom (&rom); } return 0; }
void read_all_rom() { char str[256]; room *rom; long offset; FILE *fp; /* open ascii source file */ fp=fopen(room_file, "r"); if ( fp == NULL ) { printf("Cannot open %s, room_file\n" ); return; } while(!feof(fp)) { offset = ftell(fp); if (EOF == fscanf(fp, "%s", str)) break; fseek(fp, offset, 0); /* 0=SEEK_SET ? */ if (strcmp(str, "#begrom") == 0) { rom = (room *)malloc(sizeof(room)); if ( rom ) { zero(rom, sizeof(room)); if (read_room(fp, rom)) printf("Error reading ascii room. Continuing.\n"); else if (save_rom_to_file((int)rom->rom_num, rom)) printf("Error saving binary room %d to file", rom->rom_num); else printf("Room #%d:'%s' converted to binary.\n", (int)rom->rom_num, rom->name); free_rom(rom); } } } return; }
void write_all_rom() { HFINDFILE hff; char filename[256]; room *rom; FILE *fp; int n=0; fp = fopen( room_file, "w"); if ( fp != NULL ) { hff = find_first_file(get_room_path(), filename, 256); if ( hff ) { do { if ( filename[0] != '.' ) { if (load_rom_from_file( atoi(&filename[1]), &rom)) printf("Unable to read binary room %d. Continuing.\n", atoi(&filename[1]) ); else { n++; write_room(fp, rom); free_rom(rom); } } } while( find_next_file( hff, filename, 256 )); close_find_file(hff); } fclose(fp); } }
int infogb_close() { free_rom(); free_memory(); return 1; }