[心得] dosbox+wine玩老遊戲(三國志5+6)

看板Linux作者 (柔弱氣質偽少女)時間4年前 (2019/09/16 22:26), 編輯推噓4(4017)
留言21則, 7人參與, 4年前最新討論串1/1
因為幫光碟機換了皮帶所以就有了這篇心得XD 本篇所有操作都在 Arch Linux 下進行 //cd 首先從把三國志5+6遊戲光碟弄成 cue 檔開始(為了CD音軌) # pacman -S cdrdao (有裝的可以略過) $ cdrdao read-cd --datafile SAN5.bin --driver generic-mmc:0x20000 --device /dev/sr0 --read-raw SAN5.toc $ toc2cue SAN5.toc SAN5.cue $ cdrdao read-cd --datafile SAN6.bin --driver generic-mmc:0x20000 --device /dev/sr0 --read-raw SAN6.toc $ toc2cue SAN6.toc SAN6.cue 等它跑完(大概要一點時間 可以喝餅吃茶XD https://www.dosbox.com/wiki/Cuesheet (參考這邊來讀取有CD音軌的遊戲光碟 使用時設備名稱記得改) 順利讀取完後可以得到下面這6個檔案 SAN5.bin SAN5.cue SAN5.toc SAN6.bin SAN6.cue SAN6.toc //dosbox 接下來從三國志5開始 # pacman -S dosbox (一樣有裝的可以略過) vim ~/.dosbox/dosbox-0.74-3.conf [sdl] 的部份 把"autolock=true" 改成 "autolock=false" 這個沒改的話滑鼠遊標會有點問題 [autoexec] mount c /path/folder (看要讓 dosbox 存取哪邊) imgmount d /path/SAN5.cue -t iso (一樣記得改路徑) https://www.dosbox.com/wiki/MOUNT (參考這邊來掛載) 然後就是啟動 doxbox 然後就安裝遊戲執行 其實這邊沒什麼要特別注意的地方 畢竟 dosbox 已經算是很成熟的軟體 //wine # pacman -S wine-staging (一樣有裝的可以略過 或是選裝穩定版的 wine 我覺得用起來差不多) # pacman -S lib32-nvidia-utils (顯示卡是 nvidia 的 所以裝這個) # pacman -S lib32-libpulse (裝這個才可以用 plasma 的音量控制) wine 頭一次裝好後就得從設定它開始 $ WINEARCH=win32 WINEDEBUG=-all winecfg (把 wine 環境設成 win32 然後也關掉除錯訊息) WINEARCH=win32 只要初次建立環境時加上去就可以 參考下面網址 https://wiki.archlinux.org/index.php/Wine#WINEARCH 其實也有文章說就算建 win64 環境也可以跑 32bit 的程式 不過為了避免增加除錯的影響因素 還是選建 win32 的環境 WINEDEBUG=-all 雖然可以直接 export 放進 env 不過畢竟用 wine 還是可能會遇到要除錯的時候 所以還是選擇執行時加這個比較方便 https://wiki.winehq.org/FAQ#I_get_lots_of_.22fixme:.22_messages_in_the_terminal_and_Wine_runs_a_bit_slow 等 wine 建立好環境後 在 Applications 頁面裡的 Windows Version: 選 Windows 7 就可以 雖然老遊戲可能會覺得要設 XP 相容性會比較好(這邊設成 XP 一樣會卡住 後面會講) 不過 設成 7 還是能動我就沒設成 XP 了(因為我還有用 wine 跑其它東西) 接下來準備安裝三國志6 雖然 wine 可以直接 mount iso 可是為了 CD 音軌 還是要再裝 cdemu 才行 # pacman -S cdemu-client (一樣有裝的可以略過) # systemctl start cdemu-daemon.service (裝好後開啟服務) https://wiki.archlinux.org/index.php/CDemu 然後參考這篇來掛載遊戲光碟 $ cdemu load 0 /path/SAN6.cue (掛載光碟) $ cdemu unload 0 (退出光碟) $ cdemu status (顯示狀態) 記得不要用 sudo 掛載 用一般使用者就可以 不然只會得到 error 訊息 https://bbs.archlinux.org/viewtopic.php?id=224428 像這篇一樣XD $ cdemu device-mapping 用這個看一下設備名稱然後隨便找個目錄 mount 它 然後就是進掛載的目錄安裝遊戲 $ WINEDEBUG=-all LANG=ja_JP.UTF-8 wine setup.exe 因為我的三國志6是日文版的 所以加上 LANG=ja_JP.UTF-8 中文版的要改用 LANG=zh_TW.UTF-8 然後就是等它安裝好 安裝好後雖然 wine 也會幫你建好 menu 不過它是根據系統 locale 建立的 像我平常都用 en_US.utf8 直接跑會亂碼 $ WINEDEBUG=-all LANG=ja_JP.UTF-8 wine SAN6.EXE (記得先到安裝位置再執行 ~/.wine/drive_c/Program\ Files/KOEI/San6/) 所以還是用這樣來跑遊戲 也方便除錯 然後一執行就會發現跳出無法播放開頭影片 這樣是正常的(按確定後就可以進入遊戲) 因為 wine 無法處理 反斜線 的問題 不過也因為如此 要是開頭動畫能播放 反而會進不了遊戲 會卡住XD 但是想看開頭動畫的也可以用 wine 去掛載遊戲目錄 可是這樣遊戲會卡在開頭 所以還是直接略過開頭動畫 三國志5執行畫面 https://images.plurk.com/3t28usyuObCOrBHSeb89Bi.png
三國志6執行畫面 https://images.plurk.com/3dYa07LzUbhuMMDhzgcL1r.png
https://www.ptt.cc/bbs/Koei/M.1434674265.A.A43.html 至於這篇有人提到的 在 win7 執行 6代 可能會有的問題 目前我簡單試玩後是沒遇到 等玩一陣子後再看看會不會發生 只有遇到開頭動畫卡住和有些武將名稱會方塊字的問題 這個推測是utf8編碼的問題 畢竟三國志6是2000年前的 windows 程式 也許得用 ja_JP.EUC-JP 執行才能正常顯示某些缺字 再找時間用這個跑看看能不能解決 不能的話大概就是字型的關係 最後要來講一下 wine 的字型 雖然可以用 winetricks 來安裝常用字型 不過還是覺得用 windows 提供的 比較不會遇到奇怪的問題 以前用 wine 玩 ro 調半天 字型就是很小 裝 windows 字型就秒解XD 心血來潮把遊戲光碟拿出來裝的簡單心得大概就這樣 應該沒什麼遺漏的地方XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.246.92 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1568643969.A.ABB.html

09/17 01:57, 4年前 , 1F
推啊,wine 玩老遊戲愈來愈好用了
09/17 01:57, 1F

09/17 10:13, 4年前 , 2F
推Arch XD
09/17 10:13, 2F

09/17 14:17, 4年前 , 3F
推阿!!CD音軌的處理我以前都不懂,原來可以這樣作!
09/17 14:17, 3F

09/17 21:48, 4年前 , 4F
現在還能搞到三國志的光碟也算很強了...
09/17 21:48, 4F

09/17 22:19, 4年前 , 5F
傳家寶吧 XD
09/17 22:19, 5F

09/22 12:01, 4年前 , 6F
用ja_JP.EUC-JP試了一下 結果還是會缺字XD
09/22 12:01, 6F

09/22 15:53, 4年前 , 7F
ja_JP.sjis
09/22 15:53, 7F

09/22 20:14, 4年前 , 8F
locale.gen沒這個 是要自己新增嗎?
09/22 20:14, 8F

09/22 20:37, 4年前 , 9F
localedef -f SHIFT_JIS -i ja_JP ja_JP.sjis
09/22 20:37, 9F

09/22 20:47, 4年前 , 10F
對,要自己新增
09/22 20:47, 10F

09/22 20:50, 4年前 , 11F
/var/lib/locales/supported.d/ja
09/22 20:50, 11F

09/22 20:50, 4年前 , 12F
ja_JP.SJIS SJIS
09/22 20:50, 12F

09/22 20:50, 4年前 , 13F
新增這行後locale-gen
09/22 20:50, 13F

09/22 22:45, 4年前 , 14F
character map `SHIFT_JIS' is not ASCII compatible,
09/22 22:45, 14F

09/22 22:45, 4年前 , 15F
locale not ISO C compliant 用localedef只出現這行
09/22 22:45, 15F

09/22 22:46, 4年前 , 16F
至於/var/lib/下沒有locales這個目錄 也要自建嗎?
09/22 22:46, 16F

09/22 22:52, 4年前 , 17F
用localedef有sjis了 不小心又多跑一次loacle-gen清掉它
09/22 22:52, 17F

09/22 22:53, 4年前 , 18F
不過用sjis跑還是有缺字問題 感謝以上
09/22 22:53, 18F

09/23 00:15, 4年前 , 19F
我這是Ubuntu的路徑,記得以前好像不一樣但是我忘了
09/23 00:15, 19F

09/23 00:15, 4年前 , 20F
反正就看你的locale在哪邊就去哪邊改
09/23 00:15, 20F

10/12 07:39, 4年前 , 21F
建64bit環境跑32bit程式 測試後沒問題(不過樣本數不多XD
10/12 07:39, 21F
文章代碼(AID): #1TVvk1gx (Linux)