星期三, 11月 16, 2005

 

DosBox 使用

轉載自 http://www.ntut.edu.tw/~s0310063/dosbox.htm

取得dosbox

到這裡,抓windows版,其他都是給其他作業系統使用的。

設定檔Dosbox.conf

下載後執行安裝,先檢查看看有無dosbox.conf,因為以下的操作皆須編輯dosbox.conf; 沒有的話先執行dosbox,在裡面下config -writeconf dosbox.conf,這樣應該會產生dosbox.conf。

速度的設定

先看[cpu]cycles,這個數字決定dosbox每毫秒執行的指令數,依你的配備來設,可以在遊戲執行中按ctrl+F11和Ctrl+F12來微調。 我是用k7 1600+,這個數字設為7000,太大太小都會變慢,慢慢地試你最適合的數字。 core預設是normal,通常也不須更改;full是相容性更佳,但是較慢;dynamic是速度 最快的,配合它你可以將上面的cycles調高至三倍左右,但是相容性不佳,若有遊戲 執行速度不佳,可以考慮使用dynamic,並將cycles調高,但遊戲可能會crash。

畫面的設定

[SDL]fullscreen,決定了一進入dosbox是否全螢幕,我個人設false,也就是以視窗進行, 在dosbox進行中按alt+enter就可以全螢幕。

同樣是[sdl],output你可以自己設設看,看看喜歡哪一個。若你用視窗的話,hwscale可以調視窗大小, 我的桌面是1024*768,設為1.60,但必須注意,hwscale只在output為opengl或overlay時有效

記憶體

[dosbox]memsize是dosbox裡的記憶體數量,我是設32,dos遊戲應該很夠了。[dos]xmsems, 決定是否使用xms和ems。

硬碟與目錄的掛載

[autoexec]是dosbox類似dos下autoexec.bat的東西,也就是dos開始後會自動執行的東西。在這裡我寫下:

mount c d:\dosbox
c:

意指掛載實體的d:\dosboxdosbox中的c碟,然後自動切到c碟。我是因為dos遊戲全放在d:\dosbox中, 所以這麼設,你視自己情況而定。這些東西當然你也可以每次進入dosbox打一次,麻煩就是了。

安裝遊戲時可能遇到的問題

另外,遊戲安裝的時候常常須要放安裝光碟,這時候可以對mount指令加上-t cdrom的參數, 以表示是要掛載成光碟機。還有,安裝的時候會有一個問題,那就是dosbox預設只留100MB左右的 剩餘空間,遇到後dos時代的遊戲如:阿貓阿狗或金庸群俠傳等,需要超過100MB的空間,便會 在安裝的時候沒有足夠的空間,這時在mount硬碟時要加-size參數,以設定剩餘空間。實作起來就像這樣:

mount d f:\ -t cdrom
mount c d:\dosbox -size 4025,127,16513,1700

第一行是掛載光碟機,實體光碟機是F槽,把它掛載成D槽。第二行是設定剩餘空間,我不太確定後面那些數字 的意義,這樣的設定是870MB,從說明檔看來的,對大部份的遊戲應該夠,根據我的試驗,是從4025*127*1700得來。

2004.12.31修改:上面是0.62(含)版本之前的用法,0.63版可以用更簡單的-freesize參數,
像這樣:

mount c d:\dosbox -freesize 870

其他

dosbox的shell其實比原版dos多了一點東西,最好用的就是unix shell才會 有的自動完成(xp也有,不過比較爛);意思就是,當你在命令提示符號打某個檔案的檔名時, 可以在寫到一半時按下tab,shell會自動找到符合的檔名,幫你補上,這在文字模式的 作業系統是很方便的功能。

其他如[sblaster]base、irq、dma,有些遊戲設音效卡時要用到,到時候再進來查看。

實例:中華職棒二


這是我的D:\dosbox,我將dos遊戲都放在這裡。其中就有cpb2,也就是中華職棒二。


這是我在dosbox.conf裡,關於掛載的設定。將d:\dosbox掛載成dosbox裡的硬碟C


一進入dosbox後會自動切到掛載好的C槽,這是我在dosbox.conf就寫好的。 cd cpb2以進入cpb2目錄,再下cpb2以執行中華職棒二。


 

DOSBOX

DosBox 是一個專門用於模擬dos的虛擬機,效果还不錯,大部分dos遊戲都可以順利執行,不過,速度上因架構的關係, 執行時會感覺有點慢.該程式支持全螢幕和音;可以玩部分使用dos4GW.exe進入保護的遊戲.


DOSBox 由於使用 SDL-library 使得DOSBox 非常容易移植到其他平台. DOSBox 已經被移植到的平台有: Windows, BeOS, Linux, MacOS X, FreeBSD, OS/2

DOSBox 模擬的CPU有 286/386 真實模式/保護模式, 目錄檔案系統/XMS/EMS, 顯示部分有 Tandy/Hercules/CGA/EGA/VGA/VESA , 音效部分有 SoundBlaster/Gravis Ultra Sound card


DosBox 主頁
DosBox 的開發狀況
DOSBox 下載

該程式目前最新的發展是可以支持 Windows 3.1





 

DOSEMU




DOSEMU 顧名思義就是 DOS 的模擬程式, 該程式是執行於Linux之上, ( 雖然這程式也有 FreeBSD的版本 )
而2005年5月20日發佈的開發者版本的DOSEMU 1.3.2 改善了許多看得到的功能喔.

DOSEMU http://www.dosemu.org/
  1. Windows 3.1 現在可以不需要 WINOS2 patches 即可正常工作.
  2. DPMI的改善: 修正了 IF 旗標的虛擬化
  3. 改善 LDT 虛擬化 / 直接 LDT 對DPMI clients 存取
  4. 許多 DPMI 和 PM API translator 修正能夠支援所有的商業化 Borland 開發工具以及其他保護模式的程式. 你會需要Linux kernel 2.6.12-rc3 或更新的版本以得到更可靠的DPMI 支援.
  5. 加入大部分的 DPMI 1.0 API 以及 functionality.
  6. 修正於 gcc 4.0 的錯誤
  7. 使用外部的 XMS driver, 例如 himem.sys 已成為可能.
  8. 加入"INT 15h" PS/2 mouse 界面
  9. 加入某些錄製聲音的支持
  10. 加入2.88M 軟碟支持
  11. serial port的改善
  12. 增加額外的SDL plugin
  13. 終端機/X 改善:
    1. UTF-8 終端機支持
    2. VGA硬體可以在終端機模式被模擬, 如同 在X 模式ㄧ樣
    3. VESA driver 加入, 相容大部分的BIOSes
    4. 加入X-字型
    5. keyboard layout 自動偵測之改善
    6. 圖形化的mouse游標可工作了
    7. 加入鍵盤抓取, 用 Ctrl-Alt-k (在X 模式下)

標籤:


 

開版 test

Xen 是可用於 Linux™ 內核的一種虛擬化技術,讓您可以像在現有環境中一樣安裝並測試新的升級,而不必擔心破壞原有的系統。作者將向您介紹如何使用 Fedora Core 安裝 Xen……

構建一個沙盒,以保持您的應用程序獨立、安全和正確
級別: 初級

%%%%%%%%%%%%%%%%%%%%%%%轉載
Bryan Clark (bclark@redhat.com)
互動設計師, Red Hat
2005 年 4 月

Xen 是可用於 Linux™ 內核的一種虛擬化技術,讓您可以像在現有環境中一樣安裝並測試新的升級,而不必擔心破壞原有的系統。作者將向您介紹如何使用 Fedora Core 安裝 Xen,不過,安裝之後,在任何發行版本上的 Xen 中,所有程序運轉起來都是相同的。了解 Linux 上的虛擬化,知道具有一個用於測試新軟件的沙盒的好處,並練習在同一台 Linux 機器上運行多個虛擬機。
隨著對現有軟件的改進和 bug 修復,開源世界的變化永無止境。要保持軟件總是升級到最新,這可能得作為一份專職的工作。升級軟件最難處理的問題之一是:您永遠不會真正知道升級完成後應 用程序是否還能夠工作。大部分軟件打包系統都具備回滾功能,但通常只有這項功能還不夠;理想情況下,您應該去測試這些新的升級,並在一個不會破壞任何東西 的環境中去嘗試它們。

就像玩耍的小孩子一樣,您希望擁有一個屬於自己的沙盒,在那裡您可以隨意做任何事情。

通常通過 虛擬化(Virtualization)(或者「沙盒(sandbox)」)將同一硬件上的應用程序和系統彼此隔離開來。從硬件模擬到完全硬件虛擬化, Linux 支持很多種不同形式的虛擬化。在不斷增加的虛擬化技術列表中,Xen 是近來最引人注目的技術之一,它由劍橋大學開發。Xen 值得您關注,因為它具有空前的性能與安全性。

初識 Xen
Xen 是在劍橋大學作為一個研究項目被開發出來的,它已經在開源社區中得到了極大的推動。Xen 是一款 半虛擬化(paravirtualizing) VMM(虛擬機監視器,Virtual Machine Monitor),這表示,為了調用系統管理程序,要有選擇地修改操作系統,然而卻不需要修改操作系統上運行的應用程序。雖然 VMWare 等其他虛擬化系統實現了完全的虛擬化(它們不必修改使用中的操作系統),但它們仍需要進行實時的機器代碼翻譯,這會影響性能。

由於 Xen 需要修改操作系統,所以您不能直接讓當前的 Linux 內核在 Xen 系統管理程序中運行,除非它已經移植到了 Xen 架構。不過,如果當前系統可以使用新的已經移植到 Xen 架構的 Linux 內核,那麼您就可以不加修改地運行現有的系統。

圖 1. 簡單的 Xen 架構


獲得 Xen
可以從 Xen 的項目主頁上獲得它的源代碼(請參閱 參考資料 部分的鏈接),但是,如果已經在使用某個 Linux 發行版本,那麼您或許能夠通過軟件包升級或者安裝來獲得 Xen。這些主流發行版本都包含了 Xen:

Fedora Core
SUSE Linux
Debian
可以獲得位於 Gentoo's bugzilla 的實驗用的 e-builds。
檢查您的發行版本 —— 如果它不在這個列表中,那麼您可能只能直接使用源代碼。除了安裝過程特定於發行版本之外,在任何發行版本上,Xen 中的所有工作都是相同的。

使用 Fedora Core
我有一個可以使用的 Fedora Core 3 安裝,為了保持本文的簡潔,我將討論如何在 Fedora Core 上安裝和運行系統。

儘管軟件包只是在最近才開始進行開發,但 Fedora 已經為大量 Xen 用戶所使用。由於有很多人嘗試在 Fedora 上使用 Xen,所以您可能成功地獲得大量的在線幫助。

安裝 Xen
為了幫助您迅速上手和使用,本節著重指出了 參考資料 部分中 Quick Start Guide 的要點。由於 Fedora 中正在融入 Xen 更新,所以隨著時間的推移,Quick Start Guide 將很可能會發生變化,希望 wiki 會保持對這些變化的更新。

首先,為基礎機器(base machine)進行最簡化的服務器安裝。這台基礎機器是您的系統管理程序,將不會運行任何服務器應用程序。您將可以在運行於此機器之上的 Xen 服務器中安裝所需要的軟件包,所以現在不需要安裝想要運行的應用程序。

系統開始運行後,您應該將其更新到 Fedora 的最新開發版本(稱為 rawhide)。要完成此任務,請遍歷 /etc/yum.repos.d/ 目錄中的元素,將除了 fedora-devel.repo 以外的所有元素都改為 enabled=0;將 fedora-devel.repo 改為 enabled=1。

建立了 yum 儲存庫(repository)後,需要將機器更新到 rawhide,以便您可以開始使用最新發布的 Xen。

清單 1. 將 FC3 更新到 rawhide 並安裝 Xen 軟件包

yum update

yum install xen kernel-xen0 kernel-xenU



然後,創建一個將要使用的虛擬文件系統。

清單 2. 格式化並建立 Xen 服務器文件系統

mkdir -p /xen/base
dd if=/dev/zero of=/root/base.img bs=1M count=1 seek=1024
mkfs.ext3 /root/base.img
mount -o loop /root/base.img /xen/base



格式化並掛載 Xen 服務器文件系統之後,下一個步驟是安裝必要的軟件包,以便在這些軟件包上運行某些程序。為了在 Xen 服務器上運行一個 Web 服務器,您應該安裝一組 Web-server 軟件包。(警告: 這將需要一段時間!您可以先運行 yum,然後出去散散步。)

清單 3. 安裝 Xen 服務器軟件包

yum --installroot=/xen/base -y groupinstall web-server
--enablerepo=base --disablerepo=development



(現在應該去散步了。)

現在已經安裝了所有需要的軟件包,不過您應該去查看一個簡單的 fstab 文件,這個文件會告知 Xen 服務器它們將要獲得根(root)設備 sda1,將該設備作為根。根設備實際上是來自系統管理程序的一個虛擬的設備,但您的服務器不會知道這一點。

清單 4. Xen 服務器 fstab 文件

/dev/sda1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0



將這個文件寫入 /xen/base/etc/fstab。如果不是標準的 Fedora 安裝,那麼不會為您創建任何 fstab。預計 Fedora 的未來版本會包含處理此問題的工具。

最後,為了讓系統正確地運行,您應該做一些處理。目前,Xen 使用 initrd 時仍然存在問題,所以,如果想要啟動系統,則需要為自己創建一些設備代碼。然後,為了讓程序平穩運行,刪除 TLS 程序庫會有所幫助,因為目前它們與 Xen 衝突很嚴重。完成這個步驟後,可以卸載這個文件系統。

清單 5. 為開始運行所做的最後的處理

for i in console null zero ; do MAKEDEV -d /xen/base/dev -x $i ; done

mv /lib/tls /lib/tls.disabled
mv /xen/base/lib/tls /xeb/base/lib/tls.disabled

umount /xen/base/



運行 Xen
既然已經細心地手工建立起了客戶系統,那麼您現在就可以真正重新啟動機器,開始使用 Xen 內核。您可能將會看到比平時多得多的打印輸出,並且您還會看到關於 TLS 程序庫(上一節中您刪除的那個會出問題的程序庫)的可怕的消息。

Xen 要求為運行的每個服務器準備配置文件。儘管您可以為所有服務器創建一個惟一的動態配置文件,但我還是建議您創建兩個靜態的配置文件,各用一個。如您所見, 磁盤標籤告訴服務器您的文件映像是 sda1 設備。也指定了您所使用的 xenU 內核,以及服務器客戶將要獲得的內存。

清單 6. Xen 服務器配置文件
/etc/xen/base
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "BaseServer"
nics = 1
disk = ['file:/root/base.img,sda1,w']
root = "/dev/sda1 ro"

/etc/xen/test
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "TestServer"
nics = 1
disk = ['file:/root/test.img,sda1,w']
root = "/dev/sda1 ro"



要啟動並運行服務器,首先要使用命令 xend start 啟動 Xen 服務,然後使用命令 xm create base 通過基本配置文件創建 BaseServer。通過這些步驟,您將進入 Xen 客戶系統中,可以看到該系統已經啟動起來。不論何時,如果您想跳出客戶系統控制台,那麼按下 Ctrl-] 組合鍵就可以直接返回到系統管理程序控制台。

使用 Xen
現在您已經用了一些時間來編輯配置,並建立了運行兩個 Xen 服務器的系統。所有這些艱苦的工作完成後,接下來做什麼?

現在您擁有了一個系統的兩個副本,它們運行相同內核,在同一台機器上被虛擬化。如果 BaseServer 代表的是您希望正常運行 Web 服務的穩定環境,那麼 TestServer 代表的就是 Fedora rawhide 所提供的最新軟件更新。您可以隨意保持對 TestServer 系統的升級,嘗試所有新版本的軟件更新 —— 當您認為它足夠穩定時,可以將 TestServer 作為 BaseServer 來運行。

設置 BaseServer
BaseServer 運行時,是修改將要運行的 httpd 服務的配置的好時機。您應該將 ssl.conf 文件移出 /etc/httpd/conf.d/ 目錄,以此來停用 ssl;否則,您將需要為服務器生成證書。另外,可能需要向系統添加一個 apache 用戶。

Xen 系統管理程序已經自動提供了一個可以使用的虛擬網絡設備。如果您可以在這個設備上運行 dhcp,那麼只需要執行 dhclient eth0,BaseServer 就會獲得 IP 地址。

設置 TestServer
設置了 BaseServer 的配置之後,在 BaseServer 控制台中執行 poweroff 以關閉該實例。如果您已經從 BaseServer 註銷,那麼可以使用 xm console BaseServer 重新進入它。

現在,通過 cp /root/base.img /root/test.img 複製基礎映像,以便獲得同一文件系統的副本。當運行 xm create -c test 時,它會運行與 BaseServer 相同的服務器,但是它的名稱是 TestServer。登錄到 TestServer,然後像您在 安裝 Xen 那一節中所做的那樣啟用 rawhide 支持,然後運行 yum update。

TestServer 實例擁有與 BaseServer 完全相同的配置,但是您已經升級到了 Fedora rawhide 所必須具備的最新的軟件包。在此,您可以查看 Web 站點是否仍然可用。

關於 Xen 還有哪些內容?
我希望這些簡短的說明和簡單的示例能夠幫助您安裝和運行 Xen,這樣您就可以嘗試使用它。為了讓您迅速地熟悉 Xen,我沒有介紹如何利用 LVM 與快照(snapshots)等功能,也沒有介紹如何完成 Xen 服務器從一台機器到另一台機器的網絡遷移。但是,既然您已經了解了 Xen 所具備的一些優勢,請瀏覽下面的 參考資料,學習一些如何使用它的更為多變的技巧。

參考資料

您可以參閱本文在 developerWorks 全球站點上的 英文原文。


在 Xen Project Page 可以找到郵件列表以及對 Xen 提供支持的其他渠道。


「Xen and the Art of Virtualization」 是一篇詳細的研究論文,描述了 Xen 系統管理程序的架構。這篇文章以及 關於 Xen 架構的其他論文 是確切理解 Xen 如何工作的無價之寶。


「 Xen and the Art of Repeated Research」是 XenoLinux(運行於 Xen 虛擬機中的 Linux)與本地 Linux 以及與 IBM eServer™ zSeries® 主機上的其他虛擬化工具的性能比較。它對結果的一致性重複進行初期的性能分析。


請參閱 Xen in Fedora Core Project,以獲得項目更新信息。


要安裝使用 Xen 並共享您的經驗,請使用來自 fedoraproject 站點 的 wiki page on the Xen Quick Start Guide for Fedora。


FUDCon: Fedora User and Developer Conference 對所有人開放,最近在第一次會議上引入了關於 Xen 的話題。


獲得支持 Xen 的這些發行版本:SUSE Linux、 Debian 和 Gentoo's bugzilla(實驗用的 e-builds)。


「Virtualization and the On Demand Business」 (IBM Redpaper,2004 年 8 月)描述了組織可以如何通過虛擬化技術讓自己能夠從 IT 基礎設施獲得更多商業價值和更高靈活性。


「Autonomic features of the IBM Virtualization Engine」(developerWorks,2004 年 9 月)介紹了標題中的引擎,它是一套系統服務和技術,能夠以集成的系統而不是以單個組件的方式來管理資源、服務器、存儲器和網絡。


「Architecture for Virtualization with WebSphere Application Server, Version 5」 闡述了如何使用 WebSphere® Application Server 構建虛擬化資源。


「Advanced Virtualization Features on p5 Servers」(IBM Redbooks Technote,2005 年 2 月)闡述了如何根據您的需要在 IBM eServer pSeries® 5 服務器上選擇最佳的虛擬化配置。


Developer resources for an on demand world 對關於虛擬化的參考資料進行了綜述。


在 developerWorks Linux 專區 可以找到更多為 Linux 開發者準備的參考資料。


通過參與 developerWorks blogs 加入 developerWorks 社區。


在 Developer Bookstore Linux 區訂購 打折出售的 Linux 書籍。


訂購免費的 SEK for Linux,這套 DVD(兩張),包含了來自 DB2®、Lotus®、Rational®、 Tivoli® 和 WebSphere® 的最新的用於 Linux 的 IBM 試用軟件。


使用可以直接從 developerWorks 下載的 IBM 試用軟件 來改進您的下一個 Linux 開發項目。


關於作者
Bryan Clark 是 Red Hat 的 Desktop Group 的擁躉者。Bryan 還是很多關於 GNOME Desktop 的項目的成員,他在設法儘可能主動地去接管所有的桌面。Bryan 以及他來自 Clarkson Open Source Institute 的同事們於去年發表了一篇對 Xen 性能統計進行重新評價的研究論文。他當前居住在馬薩諸塞州的 Cambridge,喜歡即興到其他地方去旅行。您可以通過 bclark@redhat.com 與 Bryan 聯繫。

This page is powered by Blogger. Isn't yours?