為什麼大金剛 64 需要超過 4 MB 的記憶體?
眾所周知,N64 Donkey Kong 遊戲在 4 MB 記憶體版本上存在遊戲破壞錯誤。他們需要包含擴展記憶體,以免發生錯誤。
我可以想像在電腦和仿真時代,我們現在應該對為什麼會發生這個錯誤有一個相當不錯的想法。如中,將 ram 限制為 4 MB,查看嘗試訪問外部的內容以及原因。
可悲的是,這可能很難弄清楚,我可以想像,在開發切換到 8 MB 的那一刻,他們實際上開始使用更多的記憶體,因為它無論如何都在那裡。
有誰知道到底是什麼,差點把那場比賽拉下來?
有誰知道到底是什麼,差點把那場比賽拉下來?
不幸的是,實際問題可能永遠不會被知道,至少不會很快。我將詳細說明幾個技術原因,我認為這些原因在客觀上足以作為我回答的基礎。
阻止診斷該故障的主要問題是硬體架構的基本問題,如何使用軟體強制一個架構執行另一個架構往往非常困難,有時甚至完全不可能。這就是為什麼模擬器通常很難開發,很難很好地開發,而且幾乎不可能開發得如此好,以至於它們可以毫無問題地執行給定平台的所有遊戲。這就是為什麼有這麼多蹩腳/未完成/廢棄的模擬器程序而很少有出色的模擬器程序的原因。
第二個問題是模擬器實際上並不模擬控制台的硬體組件和晶片組。他們只是複制了足夠多的組件的高級功能,以便他們能夠玩遊戲。即使是被認為“完美”的仿真器也只是周期精確(正確的時序),這對於玩遊戲來說已經足夠了,但仍然不是 100% 的硬體仿真(晶片精確仿真)。
大金剛故障一定是遊戲中編碼的記憶體管理和 N64 的實際記憶體控制單元之間出現了一些異常錯誤的結果,這意味著要嘗試在 PC 上通過仿真對其進行調試,我們需要晶片-準確的仿真可以完全模擬 N64 極其複雜的現實協處理器、時髦的 9 位記憶體匯流排和其他所有組件中的每個邏輯晶片。不幸的是,這在目前的技術下實際上是不可能的。
大多數人會認為現代 PC 無法模擬 20 年曆史的任天堂硬體的想法似乎很瘋狂。然而,英特爾架構 PC 和 N64 在處理數據的方式上大相徑庭,以至於 PC 額外的 CPU 核心、指數級更快的時鐘和數千倍的 RAM 甚至不足以 100% 準確地模擬計算能力N64的內部邏輯。事實上,高端 PC 甚至無法為 SNES 甚至 NES 進行晶片精確的仿真。英特爾 CPU 並不是為此而設計的。眾所周知,即使是一個週期精確的 N64 仿真器也會在低於 i7 的任何設備上變得不穩定。
最後,為了好玩,假設這些技術限制明天神奇地消失了,有人遞給我們一個完美的模擬器,用於測試和調試。我仍然願意打賭不會發現故障的真正原因。您必須考慮到我們談論的是 Rare 在其鼎盛時期的事實。這款遊戲是由可以說是最有才華和最有能力為 N64 編寫軟體的開發人員編寫的,除了設計它的工程師之外,他們比世界上任何其他人都更熟悉硬體本身的最細微的細節。他們會從內到外了解遊戲記憶體管理邏輯的各個方面,因為他們確實為它設計和編寫了程式碼。為了讓他們完全避開神秘故障,讓 Rare 說“
如果世界上最重要的 DK64 軟體專家無法修復它,而實際上他們的工作就是修復它,我懷疑其他人會發現原因,除非他們完全是偶然發生的。