為什麼紅白機上推出的能夠存檔的遊戲在你存檔並選擇結束遊戲後要讓你「按下並按住複位鍵,再關閉電源」?

FC 上的很多 JRPG 都能看到類似這樣的說明。存檔結束後遊戲一般會問你選擇繼續遊戲還是結束遊戲,如果選擇結束遊戲,遊戲則會出現類似「按下並按住複位鍵,再關閉電源」這樣的字幕。在後來的遊戲上就比較少看到了,請問這是基於什麼目的才會在遊戲中添加這樣的說明?

PS:動物之森每一部都要求你存檔結束後關機。如果沒有照做,下次打開遊戲,會被一個叫 Reset(複位) 的鼴鼠罵個半死之後才能讓你進入遊戲,這又是為什麼呢?


一言不合No Cash。

SRAM Protection via Reset Button

The Reset button is also important for some games with battery backed SRAM: The consoles cartridge bus becomes unstable during power-off, so that SRAM content may get overwritten randomly.

As workaround, some games prompt the user to hold down the reset button during power-off (eg. Maniac Mansion, MMC1). Other games include mappers that can enable/disable SRAM, and don"t need that trick (eg. Kirby"s Adventure, MMC3).

按照EveryNes文檔中的說明,關機時卡帶匯流排是不穩定的,可能造成SRAM區被隨機寫入,導致存檔損壞。

部分遊戲因此提示你按住RESET關機(注意是按住,而不是按下),按住RESET時,CPU持續收到複位信號,使其保持初始狀態,而不使關機時的不穩定造成執行意外指令進而掉檔。

但也不是所有的遊戲都要這麼做,部分Mapper具有自主控制SRAM的能力,就可以在需要讀寫存檔時打開SRAM,不需要時關閉,這樣的遊戲就不需要按住RESET關機(比如卡比夢之泉)。之後的使用類似存儲方式的遊戲機與卡帶的做法應該與此類似。

參考資料:NES Specifications


第一個問題孟德爾已經解答了,我就不再重複了

第二個問題的邏輯很簡單,載入成功後先在存檔區域做個記錄(flag),當正常保存退出時將記錄刪去。這樣在載入時只要發現了原來就有記錄的話就說明上次沒有正常關機退出。


有人查到了

儲存是SRAM區,為了避免關機時脈衝影響內存所以先複位一下。

Why is it needed to hold reset when powering off the NES?

但是你一說我想起來了,日式文字遊戲在存檔之後都會問你是繼續遊戲還是退出。

現在這個設計比較少見了,而在美國遊戲我基本就沒見過這個設計。


推薦閱讀:

為什麼NES的卡帶比FC的大,但是容量卻更低?
FC上的哪些遊戲是你玩的酣暢淋漓的?
小霸王的射擊模擬是如何實現的?
小霸王等遊戲機真的會把把電視「打壞」嗎?
FC上《忍者龍劍傳》4-2的BGM為何被稱為神曲?

TAG:遊戲 | 家用主機遊戲 | 任天堂Nintendo | 紅白機FamilyComputer,FC |