bool emu_load_cart(const char *file_name) { FILE *f = fopen(file_name, "rb"); if (f) { // Détermine la taille du fichier unsigned size = get_file_size(f); // Garde pour les sauvegardes d'état strcpy(emu_file_name, file_name); // Au moins un tableau couvrant la map 0000-7FFF... size = max(size, 0x8000); // Et multiple d'une page (arrondissement à la page supérieure) size = ((size + 0x3FFF) / 0x4000) * 0x4000; mem_rom = malloc(size); // La cartouche préparée, prépare le CPU cpu_init(); lcd_init(); sound_init(); mem_init(); // Charge le contenu fread(mem_rom, size, 1, f); fclose(f); // Démarrage mbc_init(size); load_sram(); // Color-It ColorIt_init(file_name, mem_rom); return true; } return false; }
void gb_init(void) { lcd_init(); rom_init(); apu_init();// ROMより後に作られたし mbc_init(); cpu_init(); sgb_init(); cheat_init(); apu_reset(); mbc_reset(); //target=NULL; renderer_init(); gb_reset(); hook_ext=false; use_gba=false; }
void gb_init(void) { lcd_init(); rom_init(); apu_init();// ROMより後に作られたし mbc_init(); cpu_init(); sgb_init(); #ifdef CHEAT_SUPPORT cheat_init(); #endif apu_reset(); mbc_reset(); //target=NULL; gbe_init(); gb_reset(); hook_ext=false; use_gba=false; }