許多膾炙人口的JRPG皆來自於當年
後來網路資源豐富加速了人們交流的腳步
於是在對岸就有許多漢化組以無償的形式漢化了許多當年的經典JRPG
讓我們可以藉由模擬器還原當年的感動!
不過也有個奇怪的現象
就是當年能夠順利運行諸多漢化Rom的模擬器
在版本的更新之後反而不能正常或正確模擬出漢化後的內文,導致出現亂碼....
這是個讓人不解的情況
因為常理來說,模擬器不應該是越來越完善嗎?
再爬文之後才發現...其實這真的是有原因的.....
若照正常的SFC程式設計來說....
對於漢化後的遊戲,其記憶體所能夠並呈現的文本量是遠遠不夠的!
所以漢化版採用了一項特別的技術「強刷顯存」來支援更多的漢字顯示
雖然SFC硬體本身不支援這種操作
但早期的模擬器們並沒有加入相關限制
全力模擬每一行程式碼的所呈現效果
(大概是出於運行效率的考慮吧?畢竟發行版本的遊戲不太可能加入這種本應無效的操作)
所以早期模擬器也就能夠順利運行各式各樣的漢化Rom
不過隨著電腦性能的提升和SFC模擬水準的進步
精確的再現實體機性能成為了各大SFC模擬器的最終目標
於是這項硬體本身不允許的操作理所當然的被過濾掉了....
這也就是造成我們所看到的亂碼問題最大原因!
時至今日,幾乎所有還在維護的SFC模擬器都引入了這個限制
所幸有些模擬器已經提供了高級選項「 BlockInvalidVRAMAccess」
可以手動關閉這個過濾的選項
因此使用上需要留意一下。
Snex9x 的情況
- 在選項中找到[設置]-[系統]
- 找到[限制無效的VRAM進程]並將之切換到[關閉]
- 以記事本打開snes9x.conf 或 snes9x.cfg
- 找出[Settings]
BlockInvalidVRAMAccess並改成BlockInvalidVRAMAccess=FALSE - 存檔後重啟模擬器即可
RetroArch的情況
- 載入該遊戲後呼叫RetroArch選單
- 進入[核心選項] > [Emulation Hacks] > [Block Invalid VRAM Access]
- 將[Block Invalid VRAM Access]關閉
- 返回上一層選單,並進入[管理核心選項](Overrides)
- 選擇[儲存為遊戲核心選項
保存遊戲複寫],意思是針對這個遊戲保存此項設定 - 退出RetroArch模擬器後重啟即可(如果有開啟自動讀取隨時記錄的話,請於載入遊戲後再重開遊戲即可。)
謝謝你 Snes9X參照你的方式順利解決!!!
回覆刪除能幫上忙太好了~^^
刪除最近也發生這個問題火紋的漢化一直出問題,~~~感謝你,解決我的疑問,想說復古掌機都沒有的問題怎麼新的I7電腦會發生,太棒了
回覆刪除非常開心能夠幫到您!^^
刪除同上我後來又買了一台安卓掌機,也是出現亂碼,也是找到你的方法解決~全網最清楚的解說,RP3+安裝天馬出現的,謝謝你
回覆刪除很高興幫助到您~^^
刪除我一直找不到Block Invalid VRAM Access在RetroArch的哪邊可以貼個圖片給我看嗎
回覆刪除RetroArch的部分,我已根據最新的版本進行更正,你再看看應該是能夠找到。
刪除作者已經移除這則留言。
回覆刪除謝謝您的教學.太實用了.特別的感恩!!
回覆刪除很高興能幫上忙喔!^^
刪除全网就你说的最清楚,感谢!
回覆刪除感謝您的支持~希望有幫上忙!^^
刪除感谢你,对岸的朋友!看了你的文章才知道设置完要先退出retro arch才有用,不退出ra的话一直重载rom没有效果。这一晚上的努力没有白费,可以玩天外魔镜zero了
回覆刪除這遊戲我也有玩過!預祝您順利通關!
刪除