LV. 29
GP 161

【心得】[2009.06.22更新版,仍需補完]用現在的電腦跑炎龍單機的解決方案

樓主 PlayerLin playerlin1
GP2 BP-
LAST UPDATE : 2009.08.03 01:13 - 修正某個壞掉的連結。
由於代管版主跑去管別的版了,所以本來打算開新的一篇的想法就打消了...囧rz

目前基本上很少人還在使用那三不五時就會突然"暈倒"的M$ Windows 95/98/Me(更別說只有單工、純文字、簡單圖形的MS-DOS...)了吧,Windows 2000/XP目前算是主流...
Vista以後的就別說了,M$是不會再提高NTVDM的相容性了。
不過目前有DOSBOX已經很夠了,或是裝了虛擬機器軟體(VMware/Virtual PC等)也行。

不過呢,因為Win2000 / XP本身Windows NT核心架構的關係,
對DOS的支援就不像Windows 9x系統一樣,是很有限的。
(NT核心已經脫離MS-DOS的內核,完全是一個新的系統,就像是原生Mac OS或是Linux那樣,所以更加穩定。)

炎龍單機系列皆是以MS-DOS相容程式規格撰寫而成,所以理論上Windows NT/2000以後的系統都不支援,無法正確執行。(可以執行,但可能會出現某些怪問題)

但基本上因為當時使用者習慣的關係,雖然不支援DOS但為了部份有執行DOS程式需求的電腦能順利轉換平台。所以,就有提供了DOS模擬程式NTVDM。
但基本上,許多DOS程式使用的程式控制指令都不會被NT核心接受(尤其是直接控制I/O、系統硬體存取類、大多數的中斷位址等的指令)即使接受,也會受到限制而無法跟原來相同。

所以也就是會出現 明明在Win 9x下完全正常無問題的遊戲
到了Win 2000 or Win XP就會有事沒事跳出,
或是無聲音 無畫面 甚至突然會當掉的情況。

(更嚴重的可能會像這一篇一樣,出現無法繼續遊戲的情況...
運氣好可能換一套遊戲或用DOSBOX玩然後讀取前幾關的紀錄再玩一次,運氣不好的話...得重頭開始玩...。
不過這只是少數的例子而已,出現的機率不高,也僅限定部分破解版的遊戲才會發生。)

雖然Win XP的NTVDM有稍微提高DOS支援度,但實際上仍舊有限...

不過,不在意這些的玩家,即使玩著無音樂音效的炎龍單機也是玩的很高興的. :)
本人在此主題,將提到一些於新電腦(Win NT OS or Non-Windows OS)執行單機炎龍的解決方案..
(雖然也不多,可能也不一定都有效,或是由於本人系統的關係無法完全實行...等
所以,以下的方法,可能需要其他高手的補完...。)

另外這些方法不一定只限於炎龍單機,其他純DOS遊戲也可能完全或部分適用!


1.直接執行於Windows NT OS
(Win2000, WinXP 及以後的如果NTVDM還存在的系統...64Bit版本已經拔掉NTVDM,
DOSBOX或是虛擬機是唯一解。)
這應該是最簡單的方法:於檔案總管中雙按遊戲主程式執行,
直接以系統上附的DOS模擬器-NTVDM來執行(執行時你會看到DOS視窗出現)。

此方法只要遊戲檔案齊全的話,就可以正確地執行!
但,某些情況下,很有可能會出錯而無法順利執行。

A. 執行時出現
"DOS/16M error: [8] cannot open file 'F:\FD2\¬ó└SñG\FD2.EXE'" 然後跳回桌面 或 什麼都沒有顯示就跳回桌面(炎二/炎外)


解:此問題通常都是因為為了方便而引起的。
我知道部分習慣Windows系統操作方式的使用者會把目錄或檔名以中文字來命名。
然後,也將遊戲目錄取名成中文檔名。更或是直接丟在系統的桌面下雙按執行。
在某些情況下,也許這問題不會發生。可是...通常這問題一發生時也很難立刻發現...

(在Win9x機器下視窗化的MS-DOS模式是反而看的到這問題導致的差別!)

舉例來說吧... 如果你的遊戲目錄是 C:\炎龍2\
那我保證,執行時一定會出現上述的錯誤訊息而無法執行。
其實就是因為中文字引起的問題!

原因很簡單:中文字在電腦系統中是由2個半形Ascii碼組成的雙位元組(Double-Bytes)文字
(你可以用WinHEX, WinCV等可看檔案內容的16進位值之類的程式來查看。)

而部份中文字的某個半形Ascii碼是屬於小寫英文字母,
如 "龍" 字(big5)是 0x73C0 (在HEX程式中看到的是CO 73)
而73h 是小寫英文字 "s" 。其實正常情況下也不會出錯,
可是炎龍二代跟外傳的主程式執行時會以大寫英文模式去找遊戲目錄檔名...
這時問題就來了...
因程式運作關係,"龍"字中符號部份(Hex:C0)仍舊不變
但小寫英文 "s"(Hex:73h) 會改變成大寫...
就變成了"S" (Hex:53h) => 所以字就改變成 0x53C0 的 "靦"......

結果程式以為遊戲目錄在"C:\炎靦2\",那當然就是找不到檔案了...orz
(在英美歐語系等 單位元組 程式中,常常會出現到了雙位元環境下就運作失常的情況,原因可能就是雙位元文字處理上的問題...只要目錄名稱的雙位元組文字中,不
含有小寫英文文字的話,則仍然正常。)

通常這問題會發生在從網路上下載的遊戲而不是正版
正版安裝時通常都會設定在 "C:\FLAME2\" 等全大寫英文名稱的目錄下.
所以通常都不會發生此問題.

此問題在Win9x下甚至DOS一樣會發生
所以解決方法很簡單:放在全英文名稱的目錄下.
避免使用到任何雙位元組的文字即可避免.
(現在應該比較少人犯了...但是還是有不少第一次玩的人把遊戲丟在'我的文件'、'桌面'或是在根目錄開'新資料夾'等等... 這幾個例子有可能會發生類似的狀況...
雖然可以自己試試看,不過個人仍不建議這樣做。囧rz)


B.順利進入遊戲 但是 再看完開頭的劇情之後進入第一關後 想要儲存戰況時就跳出遊戲 或是 每關卡的第一回合儲存戰況時都會跳出

此問題是由於NTVDM不相容部份遊戲程式指令碼而引起,無法修正。
只能避免於第一回合時記錄,或是到網路上隨便下載別人的紀錄檔
(二代:fd2.sav,外傳:fde.sav),然後先放在遊戲目錄下,進入遊戲後再重新開始遊戲,等進入戰場後應該就可以儲存了。

二代
外傳


C. 當我使用珊的轟雷術(我可能記錯名稱 若錯誤請指正!)時 遊戲跳出回到桌面

此問題跟B.一樣,但比較少見? 也許是某版本的遊戲才出現此現象?!
目前依據回報資訊來看...比較常出現於第一版的遊戲(攻擊、防禦、速度術版本)

建議是更換一套遊戲。(不要問我哪裡有,這裡不能講,私下低調來吧 :( )

D.(炎外正版)如何安裝炎外?我執行install卻沒有反應。何解?

炎外的安裝指令比較特別。可以參考這篇
相信應該就可以順利安裝了.

E.(炎一)我的炎一可以執行 但是所有的數字和符號都變成了亂碼...根本就看不懂...怎麼辦?

這個問題真的很有趣...
因為發生的機器有限,而且提出此問題的使用者都沒有說明詳細的規格...
本人也沒遇到過這種機器,此問題即使用DOSBox"可能"也會發生...
解決方法也是未知...

這是熱心玩家提供的亂碼與實際文字的對照表 當做臨時解...

F.我不想玩沒有任何聲音的炎龍...請問該如何設定?

炎一 : 遊戲採自動偵測...
在正常情況下的 NTVDM 環境,遊戲主程式很容易抓不到...
某些運氣好的人可以抓到,但是可能會遇到當機 或是 爆音的情況...

炎二/炎外 : 請用setsound.exe做設定 請參考此篇
如果是支援DOS下發聲的卡 "也許"還有機會成功...
通常現在大多數的卡都無法被設定程式抓到...
(或是可能因NTVDM設定,而可以被抓到,但是卻有怪怪的現象。)

最好的解決方法:用DOSBox吧! 保證100%設定成功又有不錯的音樂音效品質!
(雖然可能因為現在的音效卡/音效晶片而使聲音與以前DOS時代略為不同。)

G.我使用Windows XP/2003/Vista 64位元版本,可是我無法直接執行炎龍或是其他DOS遊戲程式...

很遺憾的,M$在所有64bit OS裡面都拔掉了NTVDM系統。
也就是說,你無法在這些64bit OS裡面執行16位元的DOS/Windows程式。

受影響的系統有:Windows XP Professional x64 Edition(x86-64)、Windows XP 64-bit Edition(IA-64)、Windows Server 2003(x64)和Windows Vista (x64)。
當然,DOSBOX是可以在64bit系統下執行的,也只有這個方法了!

(或許那些直接執行愛好者該慶幸目前64位元系統還沒有普及化...*爆*)

目前已知所有現有和新出的64位元系統都將NTVDM移除。所以是不可能在這些系統上直接執行,只能用DOSBOX或是虛擬機。


2.使用純DOS模擬程式- DOSBox 或相類似之程式使用。

既然炎龍單機是DOS程式,那、使用MS-DOS理論上是最好的!
可是現在的電腦不可能能安裝MS-DOS(就算裝了,可能音效卡/晶片不支援...)
所以,就用模擬的方式吧。

DOSBox 是一套DOS模擬程式,使用SDL-library使得DOSBox可在各種系統平台上
模擬出x86平台的純DOS環境。(DOSBox 的原始碼是可跨平臺(Cross-Platform)的,
不僅支援 Windows 和 Mac 也支援 Liunx 系統。
(目前官網只有這三個系統有支援到最新版.)

軟體官網

目前最新版本是 v0.7.3 經測試,炎龍全系列皆可在此版本下的DOSBox正確執行無誤。(以前的v0.6.3執行炎一時會黑屏,0.6.5以後已經正常.)

除了某些特定破解下載版本的遊戲會在部分情況下出問題外,大部分直接執行產生的問題也不會在DOSBox執行時發生。

DOSBox的使用也還算簡單:
基本上,只要將硬碟中的遊戲目錄掛載近DOSBOX的虛擬磁碟下即可
比如說,想要將存放於實體硬碟的 "C:\FD2" 的炎二掛入DOSBox,只要在執行DOSBOX後出現的提示符號(Z:\>) 輸入 : "mount C:\FD2 c:" <按下Enter>

這樣DOSBox中的"C:\"就是您硬碟中炎二遊戲目錄中所有資料了。

這是我寫的DOSBox教學文...有更詳細的說明(抱歉都一直沒更新...囧)

使用DOSBox通常不會出現如前述中文檔名的問題。在DOSBox中,是無法輸入中文字的
所以即使掛載整個磁碟進去,中文檔名也會成為一堆亂碼,通常情況下一般人也打不出這些碼...間接強迫使用者必須用英文名當為目錄名稱或是直接掛上該目錄成為一個DOSBox的磁碟。
(但如果熟ASCII表或是手邊剛好有ASCII碼表格,倒是可以試著打看看,輸入法:
按住alt鈕後按下數字鍵區的數字,按下的數字為ASCII符號的編碼後放開alt鈕,就會顯示該ASCII符號。如要輸入 "§" 符號的話,則按住 alt 後,壓下鍵盤右方小數字鍵區的數字1、6、7三個鈕,然後放掉alt鈕就會顯示了。如果使用的鍵盤沒有小數字鍵盤區的話,則需要用特殊方式才能使用。)

大部分直接執行所出現的問題在DOSBox下也幾乎不會出現。

H.(炎外)為何我已經用Setsound設定成功了,也有音效,但是就是沒有音樂~感覺怪怪的...

嗯...如果你是用正版,那可能是因為沒有將光碟機掛入DOSBox。
請參考我上面教學文來設定掛載光碟機。若光碟機正確掛載了,則請檢查遊戲目錄下的Disk.no檔案,看看裡面紀錄的 "CDROM at X:" 中的X: 是不是跟你在[DOSBox中的光碟機代號相同。
若不同就無法進入遊戲或是可以進入遊戲但沒有音樂,另也要記得將光碟機的音源線插好。(或是提示請插入CD等)
不過有些機種的光碟機或燒錄器(不管是CD or DVD)即使插上音源線,設定也無誤,但就是沒有音樂播出...
若遇到此情況,我也只能說沒辦法,換一台光碟機或燒錄機吧... orz
(我上一部電腦的DVD光碟機就是這種情況...只好將音源線改插在另一台DVD燒錄機上才會正常...)

I.我用DOSBox來跑炎二感覺好像很慢...有改善的方法嗎?

DOSBox中可以設定CPU Cycle值來控制模擬效能
(請用 Ctrl+F12 提高CPU Cycle值 或用 Ctrl+F11 降低CPU Cycle值)
此值越高 就會耗費較多的CPU時間和資源來模擬
但是此時系統效能就會被干擾
太高的CPU Cycle不僅嚴重干擾系統效能 遊戲也會出現音樂音效跟不上的情況
太低的CPU Cycle雖然可以拿來方便看抓圖(慢動作XD) 但是有時候會造成遊戲當機...

如果加大CPU Cycle還是無法明顯提高效能 則可能是機器配備不足...
Frameskip則是避免使用...如果一定得使用的話 建議升級系統吧|||-.-

DOSBOX v0.7.0之後的版本,預設將會使用全部的CPU能力來模擬。在此情況下,一些奔騰時代的高需求、
高解析度遊戲的執行效能會提高(也包括些當時DOS時代幾個有名的第一人稱射擊或動作、角色扮演等遊戲。)
但是,不是所有程式都適合這麼高的能力,有些人可能會遇到速度變慢的情況。
如果你不喜歡DOSBOX預設用全部的CPU能力的話,你倒是可以做以下的設定。

打開你DOSBOX安裝目錄下,有個dosbox.conf檔案,用記事本之類的程式打開。
然後找到[cpu]段落,並修改為如下所示:

core=normal # CPU核心模擬模式,DOSBOX預設是auto(自動),你可以改成normal(一般)
cycles=8000 # [*]
cycleup=2000 # 每按一次Ctrl+F12所提高的CPU cycle值。
cycledown=10 # 每按一次Ctrl+F11所降低的CPU cycle比例值,根據目前的CPU Cycle值決定。

[*]: CPU Cycle(模擬時每毫秒的指令數量,太高的值將會導致音樂音效不同步或是輸入delay.
我的建議是,一代跟二代大約5000~8000就可以了,外傳的話要雙倍 12000~16000 就很順了。
不過,遊戲內轉場效果(二代的回合轉換、外傳的進入商店等)部份因為需要的量太高,
反而有音樂音效不同步及輸入delay的現象。
(我自己的經驗是要改20000+才會順,但是遊戲開始會輸入delay,音效也不同步...不過可以參考後面的L.項來解決。*sigh*)

除了直接對遊戲程式進行破解加速、跳過效果動畫指令等方式來解決外,沒其他方法可解決。
(修改部分我是不碰,我怕會有其他的後遺症,雖然只是無條件跳躍罷了,但是難說會有其他意想不到的問題會發生也很難說...)

若真的care轉場效果的人,那我也只好建議你不是忍受就是回去用直接執行吧,或者是去找別人破解過的遊戲...
(別問我,我沒有。就算有人提供修改法,我還是不會去做。)

J.為何我執行遊戲時 在進入遊戲時或在戰場選擇儲存紀錄時會跳出遊戲(直接執行) 或是存了之後退出遊戲在進入才發現根本就沒存?(DOSBox)

大概是因為遊戲資料被設定為唯讀狀態.
根據簡單的測試...如果紀錄檔被設定成唯讀
再直接執行狀態下遊戲會因此跳掉 而在DOSBOX下 則是不會跳掉 但是根本就沒有紀錄.
這情況有時會再從光碟將遊戲檔案(未壓縮備份)直接複製出來時會發生
因為唯讀狀態沒有解除.

解決方法很簡單 在檔案總管中將唯讀屬性解除即可
對檔案按右鍵 選內容 就可以看到了.

K.(外傳)為何我玩到24關進入戰場劇情時,突然當機不能繼續,我是用DOSBOX玩的。(DOSBox)

目前已知特定版本的外傳硬碟版遊戲會出現這種窘況...
解決方法就是改用直接執行,等進入第1回合時就記錄,再改回用DOSBox玩。
或是乾脆直接換一套遊戲... :(

L.我提高了CPU Cycle值之後,遊戲的音效變的跟不上遊戲...慢半拍甚至更長...有解決方法嗎?(DOSBox)

此問題本來也困擾我許久,直到剛剛編輯這文章的時候我才在DOSBox說明書上看到解法......||||||| (果然不看懂說明書是有很大的問題啊...||||||)

首先打開您的DOSBox.conf設定文件。
找到裡面[mixer]區段。

有個 "blocksize=2048" ,這個就是問題源頭。
此功能是用來解決音效斷斷續續的問題,但,如果CPU模擬速度夠高的時候,這個設定反而會導致音效跟不上遊戲。(因為緩衝區較大的關係)
當您有遇到此情況的時候,只要將blocksize後面的數字調小即可。

可用的數值根據DOSBox 0.73版的dosbox.conf中提到的是256、512、1024、2048、4096、8192。

我個人是調成最低值256,玩外傳的時候將CPU Cycle調高到20000甚至30000,就沒遇到此現象了,科科! :D

不過如果在玩別的遊戲時卻出現音效斷斷續續的問題的話,則請再調高此值。
而且每部電腦的硬體設置不同,可能有效的數值也不同。

M.我找不到DOSBox.conf設定文件和我抓圖、錄影的檔案 (DOSBox v0.73以後)

此問題參考於PTT oldgames版 novapig (鐵山豬)發的文章。

在DOSBox 0.73以後為了解決某些權限問題,設定檔和抓圖、錄影檔案的放置位置被更改到系統公用位置。

2000/XP 使用者可在 X:\Documents and Settings\<使用者帳戶名稱>\Local Settings\Application Data\DOSBox\

Vista和之後的Win7 則在 X:\Users\<使用者帳戶名稱>"\AppData\Roaming\DOSBox\

X: 代表作業系統所在的磁碟代號。

如果要把設定檔重新建立到DOSBox程式安裝目錄的話,請在DOSBox中下以下指令:
config -writeconf dosbox.conf

===========================================================================
由於這篇是突然一時興起而打的,
有些東西可能沒有說明或有所漏失.
仍需要補完 此上. :)

*Player Lin slaps those STUPIDLY COPYRIGHTS-SHIT and some ridiculous reasons about DO NOT selling FD-series, then f***ing them as f***ing DOOMED HELL.*
2
-
板務人員:歡迎申請板主

精華區有 124 筆文章
目前無人維護,申請組長


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】