void nes_reset(NES *nes) { joypad_reset(&(nes->pad)); mmc_reset (&(nes->mmc)); ppu_reset (&(nes->ppu)); apu_reset (&(nes->apu)); cpu_reset (&(nes->cpu)); }
// 内部函数实现 static void nes_do_reset(NES *nes) { // mmc need reset first mmc_reset(&(nes->mmc)); // reset cpu & ppu & apu cpu_reset(&(nes->cpu)); ppu_reset(&(nes->ppu)); apu_reset(&(nes->apu)); // reset joypad joypad_reset(&(nes->pad)); // reset replay replay_reset(&(nes->replay)); // restart ndb ndb_set_debug(&(nes->ndb), NDB_DEBUG_MODE_RESTART); }