dosbox官方網(wǎng)站
http://www.dosbox.com/MSdos系統(tǒng)80年代的兄弟們應(yīng)該都熟悉,在這個系統(tǒng)上出現(xiàn)了很多的經(jīng)典游戲,比如”紅警啊,仙劍,毀滅公爵,沙丘,軒轅劍,等等,很多經(jīng)典游戲“,不過很可惜的是,有些游戲因為兼容性的問題,只能在DOS上玩,難不成我們玩游戲還要裝個DOS系統(tǒng)?
dosbox出現(xiàn)了,它完全的滿足了你的需求.
dosbox模擬器的效能大奔騰400MHZ的CPU模擬后能流暢運行為386設(shè)計的游戲,所以大多數(shù)的DOS游戲都是可以玩的
dosbox的安裝
安裝無非2種,在ubuntu下比較簡單
sudo apt-get install dosbox #不過版本稍微有點老,是0.72
想要新版本的去官方網(wǎng)站自己下個源代碼編譯
http://www.dosbox.com/編譯還是老樣子
configure #一般報錯的話,請仔細(xì)通過查看報錯信息來解決,一般都是SDL開發(fā)包沒裝。
make
make install其實,源代碼編譯的方法百遍不離其一,最重要的線索的就是編譯出錯時提出的信息,這是你解決問題的最好途徑,如果說,你在編譯的時候出錯,卻沒有報出任何錯誤信息,別擔(dān)心,這不是你的問題。那是作者的編程水平問題。
如果大家對于源代碼編譯安裝不熟悉的話,推薦看這篇文章
viewtopic.php?f=56&t=151146先說說這個模擬器的快捷鍵吧
ALT-ENTER 全屏模式
CTRL-F1 開始鍵盤布局
CTRL-F4 轉(zhuǎn)換已載入的虛擬驅(qū)動器,作用是更新所有改動過的作為虛擬驅(qū)動器的目錄
CTRL-F5 抓圖,以PNG格式保存,路徑設(shè)置見之后描述
CTRL-F6 開始錄制聲音,以WAV格式保存,再次按下中止
CTRL-ALT-F7 開始記錄OPL命令,同樣再次按下中止
CTRL-ALT-F8 開始錄制最初的MIDI命令,再次按下中止。
CTRL-F7 減少跳幀
CTRL-F8 增加跳幀
CTRL-F9 關(guān)閉DOSBOX
CTRL-F10 鎖定/解鎖鼠標(biāo)
CTRL-F11 減少cpUCycle
CTRL-F12 增加cpucycle然后,我們說說dosbox的核心配置文件,我挑一些主要參數(shù)說說
配置文件一般都在/home/用戶目錄/.dosbox/目錄下
memsize=16 #這里設(shè)定dosbox模擬dos用的內(nèi)存大小,在當(dāng)年16MB內(nèi)存已經(jīng)是海量內(nèi)存了
[render]下
frameskip=0 #這里主要調(diào)節(jié)跳幀,0表示不跳幀,如果機(jī)器比較爛的話,可以考慮一下將這個數(shù)值調(diào)大,不過,作為參考,我這臺thinkpad t60配置很爛,一樣很流暢.
ASPect=false #象素高寬比,默認(rèn)false是1:1,如果不是有特殊需要就不要去更改。
scaler=normal2x # 畫面優(yōu)化選項:備選參數(shù)none,normal2x,advmame2x,advmame3x,advinterp2x,interp2x,tv2x分別對應(yīng)"無","2倍柔化","advanceMAME二倍柔化","andvanceMAME三倍柔化","加強(qiáng)型雙線性過濾","雙線性過濾","TV模式"。
[cpu]
core=normal #這里面有幾個備選參數(shù)simple,normal,full,dynamic,對應(yīng)簡易,通常,完全,動態(tài)調(diào)整。
cycles=5000 #這里就是CPU的頻率了??茨銠C(jī)器的好壞拉,一般設(shè)到10000以上的時候基本上沒有什么明顯的速度提升了。主要還是看機(jī)器的性能~~~
[mixer]
nosound=false #靜音模式
rate=22050 #采樣率:默認(rèn)是22MHZ,如果想聽CD的音質(zhì),比如仙劍CD版,可以嘗試調(diào)到44100
blocksize=2048 #塊大?。涸酱笤侥芨纳坡曇敉nD的現(xiàn)象。不過也會帶來副作用--延遲。
prebuffer=10 #緩沖:播放時緩沖多少毫秒,聲音卡的話可以考慮加大數(shù)值,但是相應(yīng)的,系統(tǒng)資源占用加大。
[midi]
mpu401=true # 是否進(jìn)行MPU-401模擬,想聽MIDI就要設(shè)置為true。
intelligent=true #智慧處理模式,使用默認(rèn)
device=default #選擇接受MPU-401發(fā)出的MIDI訊號的設(shè)備,備用參數(shù):alsa,oss,win32,coreaudio,none,如果游戲無法發(fā)聲,請自己嘗試換不同的參數(shù)
[sblaster]
type=sb16
# 選擇進(jìn)行模擬的soundblaster型號:none,sb1,sb2,sbpro1,sbpro2,sb16
base=220
irq=7
dma=1
hdma=5
mixer=true
oplmode=auto
# 以上6條是能否發(fā)聲的關(guān)鍵,游戲中的設(shè)置應(yīng)該跟這里一樣。以仙劍為例:base對應(yīng)游戲設(shè)置程序install.exe中的I/O port;IRQ,DMA分別一一對應(yīng)。
oplrate=22050
# 這個是模擬音頻的采樣率,也可以提高到44100,不過效果改觀不大。
[dos]
xms=true
ems=false
# 針對仙劍的運行,關(guān)閉了EMS。不要動這個參數(shù)。
[modem]
modem=false
# 進(jìn)行MODEM模擬,聯(lián)機(jī)游戲用,如果需要使用MODEM連接,就打開。
comport=2
# 端口,使用默認(rèn)
listenport=23
# 連入端口,使用默認(rèn)
[directserial]
directserial=false
# 直接電纜連接,也是聯(lián)機(jī)游戲用的,如果需要使用直接電纜連接,就打開。
comport=1
# DOSBOX中的端口,使用默認(rèn)
realport=COM1
# 主機(jī)的端口,按實際情況設(shè)置
defaultbps=1200
# 標(biāo)準(zhǔn)傳輸速率(bps)
parity=N
# 奇偶校驗,備選參數(shù):N,E,O
bytesize=8
# 每個數(shù)據(jù)包的大小,備選參數(shù):5,8
stopbit=1
# 停制位點,使用默認(rèn)。備選參數(shù):1,2
[ipx]
ipx=false
# IPX協(xié)議連接,聯(lián)機(jī)游戲用,如需要請選擇true
[autoexec]
# 這里是dosbox啟動后啟動加載的命令,如果你不想每次進(jìn)入dosbox都要手動掛載盤符,就可以將命令打在這里。
下面說說dosbox的一些使用方法
主要是掛載的一些例子:
比如,我們需要創(chuàng)建個dosbox的虛擬硬盤c:
所以我們需要將真實磁盤的一部分掛載上去,變成dosbox可用的虛擬磁盤
比如
我們先在真實的磁盤里創(chuàng)建個文件夾吧
mkdir -p /home/mrzx/111/
touch /home/mrzx/111/dosbox.txt打開dosbox
sudo dosbox在dosbox掛載真實的磁盤,并將這部分當(dāng)成dosbox中的c盤
mount c: /home/mrzx/111然后我們跳轉(zhuǎn)到c:
dir查看一下,是不是發(fā)現(xiàn)有dosbox.txt文件阿?
(大家的dos命令還沒有忘記吧?)
那么我們安裝dos游戲如何安裝的?大家心里有數(shù)了嗎?
下面說說如何掛載光盤?
一些比如說很經(jīng)典的游戲,比如仙劍dos光盤版.
我下了光盤鏡像為img的,所以思路是這樣的。
首先
將img轉(zhuǎn)換成iso,然后呢,在將iso掛載起來,最后在dosbox里掛載就可以了。
我們說下幾個轉(zhuǎn)換工具吧
ccd2iso #可以將img轉(zhuǎn)換成iso
bchunk #可以將cue,bin轉(zhuǎn)換成iso
轉(zhuǎn)換方法
ccd2iso xxxx.img xxxx.iso
bchunk xxxx.bin xxxx.iso
bchunk xxxx.bin xxxx.cue xxxx.iso將轉(zhuǎn)好的iso鏡像掛載到光驅(qū)上有2種辦法,這里我順便給大家介紹一下
一種是
通過mount -o loop的方法,另外一種是
通過losetup,然后在mount的方法。實現(xiàn)的目的都是一樣,但是有區(qū)別
例子:
mount -t iso9660 -o loop /home/mrzx/Pal.iso /mnt/iso/#解釋下參數(shù)
-t 表示指定用什么格式?后面跟著iso9660是種iso鏡像格式
-o loop 表示就是把一個文件模擬成一個設(shè)備,典型的就是iso文件,這樣掛載上去的時候,iso會被作為一個設(shè)備文件掛載到/mnt/iso/的目錄上
losetup的作用循環(huán)設(shè)備
可把文件虛擬成區(qū)塊設(shè)備,籍以模擬整個文件系統(tǒng),讓用戶得以將其視為硬盤驅(qū)動器,光驅(qū)或軟驅(qū)等設(shè)備,并掛入當(dāng)作目錄來使用。
例子:
首先呢
/dev/里目錄預(yù)設(shè)了loop的7個文件,你可以隨時調(diào)用,
losetup /dev/loop0 /home/mrzx/Pal.iso#這是什么意思呢?意思就是將Pal.iso 變成一個設(shè)備文件,對應(yīng)的設(shè)備名叫l(wèi)oop0,放在/dev/目錄下
第2個應(yīng)用:
這時候,mount在組合進(jìn)來使用
mount /dev/loop0 /mnt#什么意思?意思就是將剛才的光盤鏡像掛載到/mnt下(這時候的光盤鏡像,系統(tǒng)已經(jīng)認(rèn)為是設(shè)備文件了,linux下雖然將所有東西文件化,但文件還是分類的,請大家學(xué)習(xí)linux基礎(chǔ)篇.)
它們之間的
區(qū)別就在于,通過losetup的設(shè)備文件可以fdisk,而且呢losetup這個工具是在/sbin/目錄下,這意為著什么?
最后,我們開始用dosbox虛擬出一個光盤
剛才我們所有的光盤鏡像都掛載到真實的/mnt目錄下了吧?
所以我們在dosbox下在掛載一次
mount d: /mnt/ -t cdrom -usecd 0 -apsi -label PAL#我來解釋一下吧d代表dosbox下的盤符,
/mnt/是指真實系統(tǒng)下的文件夾(剛才不是把光盤鏡像掛載到這個目錄下嗎?)
-t cdrom 表示掛載的d:是光盤設(shè)備,
-usecd 0 表示掛載的第1個驅(qū)動器,只是個驅(qū)動器名而已,如果是-usecd 1的話,就是第2個驅(qū)動器,
-apsi 指定光驅(qū)用高級SCSI編程接口,windows98用的就是這個
-label 這是指光盤標(biāo)簽,一般有的DOS游戲安裝時找不到光盤,設(shè)定個光盤標(biāo)簽試試?后面的PAL是我隨便起的.
當(dāng)然了,你也可以這樣掛
mount d; /mnt -t cdrom -usecd 0 -ioctl -label PAL大家現(xiàn)在看明白了嗎?
唯一的區(qū)別就是后面的-ioctl,因為在windows xp下用的不是-apsi接口了,而是-ioctl.當(dāng)然了,linux下,你用哪個都行了。
最后到d:盤下,安裝dos游戲即可.仙劍的光盤版安裝文件為install.exe
好了,dosbox的介紹結(jié)束,更詳細(xì)請參考官方站點的手冊.