[心得] 王子傳奇在DOSBox沒音效的問題

看板Old-Games (懷舊遊戲 - 經典遊戲 - 老遊戲)作者 ( °Д°)時間10年前 (2016/02/02 13:28), 10年前編輯推噓19(19013)
留言32則, 15人參與, 最新討論串1/2 (看更多)
一年多前翻出王子傳奇來玩,再次注意到這沒有音效的問題。 記得以前在DOS玩的時候是有音效的,怎麼DOSBox就沒音效,只有音樂。 於是玩沒多久就放棄再玩下去,決定找出問題所在,可以的話就解決它。 先是從驅動下手,灌了聲霸卡驅動,改遊戲音效設定,怎麼搞都一樣只有音樂。 後來發現DOSBox裡面的DOS是舊版的5.0,不是6.22。 在DOSBox裡灌了個6.22,結果還是一樣沒音效,不過戰鬥中音樂會當掉的問題解決了。 沒辦法,再往別的方向去找,這次換不同模擬器來試試。 VirtualBox、VMware、Virtual PC都給他試試。 有音效沒音樂、有音樂沒音效、有音樂又有音效但是畫面會切變兩個、速度太快難控制。 總之問題沒比DOSBox少,不過倒是發現有些有音效,看來是模擬器的問題了。 雖然知道是模擬器問題,但換的模擬器沒一個能正常玩的,問題還是沒解決。 不過DOSBox是開源的,有音效的VirtualBox也是,也許比較一下能發現什麼。 載了DOSBox原始碼,照著網上的方式改設定編譯後,確定能執行。 開始在聲霸卡硬體模擬上修改做測試,試著找出問題在哪。 試著試著,我發現王子傳奇開啟時會測試音效卡是否能使用,而問題就出在這。 它送出了一個不完整的命令,所以音效測試失敗。 比較了DOSBox和VirtualBox的音效卡,發現DOSBox在重置音效卡命令的模擬上有bug。 收到不完整的命令後,遊戲又送了一個重置的命令,但是這個命令沒被正確的執行。 王子傳奇本身的奇怪行為加上模擬器模擬的bug,湊在一起才造成遊戲沒有音效的問題。 加了一行程式碼,讓它能確實重置。再開遊戲…有音效了啊!!!!!!! 總算能再次聽到遊戲的音效了啊,太感動了啊! 趕快寫封e-mail給DOSBox團隊,希望這修正能被加入,以後大家玩王子傳奇就有音效了。 我也很快的收到回信,說是會先在private builds測試,沒問題的話再加入main code。 一年過去了,始終沒看到DOSBox有修正這問題… 所以,po這篇讓有需要的人載吧。 https://drive.google.com/open?id=0BxowH2d0uLvxWnh4Zk1UbEdJNlU 重編譯過的執行檔,是Windows下執行的,其它系統請自行編譯。 你要先載DOSBox 0.74,然後解壓縮這zip檔蓋掉裡面的執行檔。 建議再在DOSBox裡弄個DOS 6.22,這樣玩起來音樂才不會在戰鬥中當掉。 編出來的檔比原來的小很多,我也不知道為什麼… 我沒灌防毒軟體,要是載了發現這檔有毒告訴我一下XD http://pastebin.com/HHpLhErS 這是修改的部分原始碼。 路徑是dosbox-0.74\src\hardware\sblaster.cpp 想自行編譯的可以照註解//Add this line.那行加進去。 GUN license有做修改要開放修改後的原始碼,不知道這樣做算不算是開放了? 以上,祝各位遊戲愉快,謝謝收看。 補充:非官方的DOSBox SVN據說已於數個月前修正了這問題了。 消息來源遊戲基地 http://www.gamebase.com.tw/forum/30032/topic/98265301/1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.184.186 ※ 文章網址: https://www.ptt.cc/bbs/Old-Games/M.1454390881.A.65D.html ※ 編輯: Lighdark (1.168.184.186), 02/02/2016 13:32:10

02/02 15:45, , 1F
可以試非官方版的,修正不少官版的bug
02/02 15:45, 1F

02/02 16:05, , 2F
之前有試過了,那個音效卡的bug沒有修正。
02/02 16:05, 2F

02/02 16:06, , 3F
一般不要像王子傳奇那樣送出不完整命令的話,也不會發作
02/02 16:06, 3F

02/02 16:07, , 4F
所以很難會發現這個問題吧…
02/02 16:07, 4F

02/02 17:32, , 5F
有心鑽研 推
02/02 17:32, 5F

02/02 18:10, , 6F
是的...推努力研究 XD
02/02 18:10, 6F

02/02 19:22, , 7F
剛測試的確音效跟音樂都有了,推一個
02/02 19:22, 7F

02/02 21:59, , 8F
推!!專業級辛苦測試
02/02 21:59, 8F

02/03 16:31, , 9F
好懷念的遊戲...
02/03 16:31, 9F

02/04 13:19, , 10F
帥暴了,大大您幸苦了
02/04 13:19, 10F

02/04 17:06, , 11F
用心推
02/04 17:06, 11F

02/05 00:08, , 12F
一直卡在聲音的問題!!終於可以享受這款遊戲了!!!
02/05 00:08, 12F

02/05 00:18, , 13F
不過如果0.74版會當為什麼不直接用6.22@@?
02/05 00:18, 13F

02/05 00:23, , 14F
DOSBox開發團隊是基於什麼理由選擇DOS 5.0並不清楚。
02/05 00:23, 14F

02/05 00:26, , 15F
戰鬥中音樂當掉不過是這遊戲個案,其他遊戲還滿正常的。
02/05 00:26, 15F

02/05 00:27, , 16F
總之還留著能灌6.22的彈性在,不是什麼大問題。
02/05 00:27, 16F

02/05 13:36, , 17F
太厲害了,推
02/05 13:36, 17F

02/05 15:30, , 18F
喔我把dosbox跟dos搞混了
02/05 15:30, 18F

02/05 21:36, , 19F
話說最新的dos是8.0欸 會不會最好?
02/05 21:36, 19F

02/05 22:18, , 20F
DOS 8.0是Windows ME或2000以上內建的版本。
02/05 22:18, 20F

02/05 22:19, , 21F
單純的DOS最後一版就是6.22
02/05 22:19, 21F

02/05 22:57, , 22F
推 Hacker 精神! (*≧∀°)b☆
02/05 22:57, 22F

02/09 12:39, , 23F
這太專業 不推不行
02/09 12:39, 23F

02/10 18:02, , 24F
在遊戲基地看到DOSBox SVN版,數月前已經修正這問題了。
02/10 18:02, 24F
※ 編輯: Lighdark (36.232.24.211), 02/10/2016 18:05:41

02/10 20:11, , 25F
太好了 我看灌6.22的說明複雜到想吐= =
02/10 20:11, 25F

02/10 21:04, , 26F
6.22跟音效沒關聯啦,是音樂有關。
02/10 21:04, 26F

02/10 21:05, , 27F
SVN版是用幾版的DOS並不清楚,音樂會不會當不清楚。
02/10 21:05, 27F

02/10 21:07, , 28F
灌6.22我也頭痛了好一會,卡在產生磁碟影像檔。
02/10 21:07, 28F

02/10 21:08, , 29F
最後是用別版去生成影像檔再來灌的。
02/10 21:08, 29F

02/11 09:08, , 30F
有心
02/11 09:08, 30F

02/15 17:49, , 31F
淚推~之前在板上反映這問題但沒人理我QQ
02/15 17:49, 31F

04/11 22:49, , 32F
啪啪(還是拍拍?)
04/11 22:49, 32F
文章代碼(AID): #1Mi3vXPT (Old-Games)
文章代碼(AID): #1Mi3vXPT (Old-Games)