[問題] 電玩模擬器是怎麼寫出來的? - 模擬器

Agnes avatar
By Agnes
at 2008-09-03T11:44

Table of Contents

※ 引述《BillyJr (Billy Jr.)》之銘言:
: : 方法1:廠商有公佈or流出電玩的spec.
: : 聽說當年GBA模擬器能那麼快寫出來,就是規格外洩
: : 但那些規格未知的電玩模擬器是怎麼寫的?
: 當時的 GBA 其實是根據 GBA 的遊戲開發套件寫的,至於算不算外洩 hmm..
: 只要有完整的遊戲開發套件跟過人的毅力基本上都能把主機模擬的不錯 像是
: PS、SS、N64 其實都有很完整的遊戲開發套件資料 (遊戲額外保護不算)
======
有開發套件指的就是底層的硬體與基本的 function library 及簡單的範
例已經有了.
需要使用模擬器的技術應該是不能(不可以)製造底層的硬體, 在受限下,
需要用其他類似的硬體代替, 但模擬對象的硬體與底層軟體功能不是很清
楚, 所以就從開發討件的 function library 來揣測底層的功能規格, 再
用現成已知已有的硬體與底層軟體來合成.
基本上講, 就是造一層中間層的軟體, 使電玩軟體與底層硬體軔體銜接.

: : 方法2:拆解硬體,然後寫出模擬器
: : 覺得這方法根本是天方夜譚 = =
: 這不是天方夜譚.. 相反的比例佔了很大,說個模擬器的黑暗面好了.. 其實在
: 96~2000 年開始模擬器走向蓬勃發展的那段時間,幕後很大的黑手其實來至於
: 遊戲盜版/破解商的資源,因為有這些硬體破解的資料,才能支援那一卡車特殊
: 晶片、保護的遊戲,而且最重要的,單純只靠開發套件,沒有辦法模擬到令人
: 滿意的準確度,有很多很細微的調整不會在開發套件上,主機開發廠商也不會
: 告訴你,你只能靠自己反像追蹤測試,這裡面包括了 FC、SFC、SEGA MD ...
: 尤其是 FC .. 即使到了今天還是有誤差.. SFC 在 bsnes 上已經有接近一百分
: 的硬體模擬了,只是要有一百分硬體模擬速度在我雙核的電腦上,跑不到30fps
======
這應該是指的被模擬的電玩硬體裝置有獨家的 IC chip set , 同時具有獨家
的特異功能(譬如畫某種圖的特異速度), 因此就想要用類似的硬體零件合成
來逼近. 或者是這特異功能也可能是底層(軟)韌體的演算法, 但必須重寫一
套來配合硬體, 所以就用 "追蹤測試" 來記錄被模擬對象執行時的處理步驟.
模擬器再提供出類似步驟的功能.
基本上, 這還是在提供出相同的 function library 或 function unit 給上層
的電玩應用軟體來使用.

: : 方法3:軟體逆向工程
: : 例如藉由廠商公佈電玩支援的指令集、API....等
: : 然後分析這些指令、API對應到的機碼,藉此寫出模擬器
: : 不過這方法是我亂想到的,不知道可行嗎?
: 其實這也算是蠻大一部份的,尤其是一開始完全沒資料的情況下,從遊戲做逆向
: 工程的模擬其實很多,優點是很快就能看到一些東西模擬出來,缺點是準確性差
: 大部分的 arcade 遊戲模擬都是用這方法的,其中 PGM、CPS2、CPS3 大家應該
: 比較熟悉,不過用這方法模擬的有一個比較大的問題就是.. 只能追求遊戲能玩
: 就好... ohh.. 忘了說,在大家不知道有發表的 A'can 也是用這方法模擬的,
: A'can 其實有在之前某一版的 Mess (lynx 版) 支援過.. 但現在拿掉了

逆向工程(reverse engineering) 跟 emulation 是不相同方向的兩種技術, 兩者都
可以達到與某已知對象相容的作用. 但逆向工程主要是從拆解已知系統的組件開始,
取得功能關係後再還原原來的設計圖, 最後取得整個原設計的高階抽象意念, 主要
是還原原來的設計構想, 設計圖與文件. 有了還原的設計圖就幾乎可以照抄照做,
但也可以是類似性的模仿, emulation 是從模仿構思做起, 但實現的組件與作法可
以不同, 甚至是使用通用的裝置, 使用通用的程序步驟, 但在功能上要模仿出特定
的功能, 進一步有更突出的效用.

MAME 是使用 emulator 技術來模擬 arcade machine 讓原來的電玩 ROM 程式可以
類似的再現. 假如原設計規格與設計圖(流程)已消失, 原來的硬體平台也不再重造,
emalator 的技術是想讓電玩 ROM 程式在 PC 機以模擬形式在不同的平台再現. 這
類電玩多數是 video game , 速度要求不高下, 可以使用 PC game 平台來模擬.

做模擬器的總是有個模仿的對象, 對象的規格與設計不清楚下, 就不容易做出同樣
的功能動作, 因此逆向工程的某些技術就難免要使用到. 不過, 透過現在的網路互
動, 有使用過原裝產品者就能指出模擬器表現的差異, 只要指出狀況, 做模擬器的
自然能抓出問題改進, 所以不必進行澈底完全的逆向工程工作.




--

All Comments

Zanna avatar
By Zanna
at 2008-09-06T20:09
好文推
Daniel avatar
By Daniel
at 2008-09-09T14:39
push
Sarah avatar
By Sarah
at 2008-09-11T08:25
推先看後~~
Daph Bay avatar
By Daph Bay
at 2008-09-12T00:39
推好文
Faithe avatar
By Faithe
at 2008-09-13T19:56
GOOD!!
Noah avatar
By Noah
at 2008-09-15T04:10
推好文
Edith avatar
By Edith
at 2008-09-16T03:21
很多字推!

問一款FC棒球遊戲的名字

Agatha avatar
By Agatha
at 2008-09-02T21:25
我記得是namco出的 特徵是 畫面一開始是一顆大白球向左加上擊中球的聲音 我還記得打擊的時候 可以換代打 而且有4個人可以換 我以前都用巨人隊 巨人隊有一個全壘打超多的代打 比先發都多 我都以為他是王貞治 N社出過的棒球遊戲就以Famista系列最有名囉 但是我用Famista去搜尋 只有搜到89~94 ...

以前的攻略本 秘笈

Eartha avatar
By Eartha
at 2008-09-02T18:48
→ tyrany:前幾年有人在炒作有些貴到離譜09/02 16:16 推 jeff0811:有看過影子傳說一本賣到6000的,那時候在巴哈引起騷動 09/02 16:47 如果我沒記錯的話 這就算是某宅站的經典事件之一 說簡單點就是有個呆子想藉這種蠢手法炒一筆 結果被其他火大的有志之士反將一軍 不過中招的無 ...

RockNES 5.00 beta 13

Oscar avatar
By Oscar
at 2008-09-02T12:58
09/01/2008 - Fixed mapper 13 (Videomation). - SaveRAM 6000h-7FFFh reset with 00h instead of FFh (mapper 16). - Improved Game Genie support, ...

以前的攻略本 秘笈

Enid avatar
By Enid
at 2008-09-02T11:35
sorry不是遊戲本身的問題 但是玩遊戲的時候就會想起以前也買過很多秘笈 現在大概早就絕版 不過很想去搜尋以前的感覺 不知道現在還有沒有地方可以找到這種古早的東西 有人會有一樣的感覺想去收集以前的東西嗎 - ...

FC遊戲 魔界島

Anthony avatar
By Anthony
at 2008-09-01T21:03
◎.求檔前請先參閱板規,並請依照格式撰寫(本文可用 Ctrl+y 消去) ______________________________________________________________________________ 遊戲平台:紅白機 內容陳述:航海尋寶遊戲,冒險動作類 心得回憶:不知道 ...