อยากเล่น Good Ole Games: Warcraft, Wolfenstein, Doom 2, X-Wing? อยากสัมผัส 256-color Beauty ของ 16-bit Software? ดูดีแล้ว
ผมมองย้อนกลับ Older OSs เมื่อ Windows XP SP2 Released หลัง Update Windows Machine หนึ่ง ผม突發發現: ไม่เล่น Caesar III (Favorite Game) ได้แล้ว ลอง Install Transport Tycoon Deluxe 补偿 發現也不跑บน XP 即使ผมไม่เล่น TTD ตั้งแต่ Windows 98 สุดท้ายสูญเสีย 2 เกมส์ดี ทำให้ Introspect Profoundly
บทนำ
อะไรก็ทำไม่ได้ Run Apps Compatibility Modes XP ไม่ Work Patches 專門แก้ปัญหาเหล่านี้ ไม่ Work 然後發現 VMware Player Virtualization Software รัน PC-based OSs 作為 Application 在 Existing OS 很棒 閱讀更多: VMware Player - a great friend
Download Install VMware Player 開始 Install Older OSs 希望 Restore Old Games Ability Luck Struck Twice: 成功 Install Windows XP Home SP1 as VM on Windows XP Pro SP2 Host 在 Guest OS 安裝 Caesar III 玩又一次 Yes! 然後發現 Open TTD (Open-source Clone Transport Tycoon Deluxe) 玩 Natively 在 XP SP2
閱讀: Install Windows XP General/Guest in VMware Player, Caesar III Success Detail, Game Review, Open TTD Install/Play + Review 然後 Bold 起來 Caesar III ~1998 TTD ~1994 更早呢? DOS?
如何安裝 DOS
不知道 DOS 是什麼/不在乎 停止閱讀 MS-DOS = Popular Desktop OS 80s/Early 90s 不再 Supported 取得 Copy 難 但別擔心: FreeDOS = "100% MS-DOS Compatible OS" (Quote from Site)
決定試 FreeDOS 作為 DOS Platform 不負擔 Dual-boot FreeDOS 選 VMware Player (Cheapest/Fastest/Sensible) Debug Errors 容易 無 Permanent Changes/Damages Follow Linux From Scratch Article 學習:
- Install/Use VMware Player 和 QEMU
- Create .vmx VM Config File
- Config .vmx Boot from Virtual CD (Mounted .iso)
- Create Virtual Hard Disk
但會 Elaborate Basics 做 DOS Environment
- Download Bootable FreeDOS .iso
- Create .vmx Config File (Below) Copy 當 Own Save as All Types File 不是 .txt (Notepad 等)
config.version = "8" virtualHW.version = "3" guestOS = "other" displayName = "FreeDOS" numvcpus = "1" memsize = "64" MemAllowAutoScaleDown = "FALSE" MemTrimRate = "-1" uuid.action = "create" tools.remindInstall = "TRUE" hints.hideAll = "TRUE" tools.syncTime = "TRUE" usb.present = "TRUE" usb.generic.autoconnect = "FALSE" serial0.present = "FALSE" serial1.present = "FALSE" parallel0.present = "FALSE" # Sound settings sound.present = "TRUE" sound.virtualdev = "sb16" logging = "TRUE" log.fileName = "FreeDOS.log" log.append = "TRUE" log.keepOld = "1" isolation.tools.hgfs.disable = "FALSE" isolation.tools.dnd.disable = "TRUE" isolation.tools.copy.enable = "TRUE" isolation.tools.paste.enabled = "TRUE" ethernet0.present = "TRUE" ethernet0.virtualDev = "vlance" ethernet0.connectionType = "nat" ethernet0.addressType = "generated" ethernet0.generatedAddress = "00:0c:29:80:9c:48" ethernet0.generatedAddressOffset = "0" floppy0.present = "TRUE" floppy0.startConnected = "TRUE" floppy0.autodetect = "TRUE" ide1:0.present = "TRUE" ide1:0.deviceType = "cdrom-raw" ide1:0.startConnected = "TRUE" ide1:0.fileName = "auto detect" ide1:0.autodetect = "TRUE" ide1:1.present = "TRUE" ide1:1.fileName = "fdbootcd.iso" ide1:1.deviceType = "cdrom-image" ide1:1.mode = "persistent" ide1:1.startConnected = "FALSE" ide0:0.present = "TRUE" ide0:0.fileName = "freedos.vmdk" ide0:0.mode = "persistent" ide0:0.startConnected = "TRUE" ide0:0.writeThrough = "TRUE" ide0:0.redo = "" uuid.location = "56 4d 2e 31 1d 13 5d 4f-0d a6 5c b7 54 80 9c 48" uuid.bios = "56 4d 2e 31 1d 13 5d 4f-0d a6 5c b7 54 80 9c 48"
Great Site 建立 .vmx: EasyVMX! Interactive Interface 建立 .vmx Download Use 然後用 QEMU Create Virtual Hard Disk Small 500MB Disk Command 在 QEMU Directory:
qemu-img.exe create -f vmdk freedos.vmdk 500M
所有 Files Grouped One Folder Start VMware Player Boot off CD (.iso) Install FreeDOS Installation Straightforward 不 Detail 如果 Emails >2 問 Detailed Guide 可能加後 但很簡單 Follow Screen Instructions
Marvel 發現 FreeDOS: CD-ROM Support 熱情 因為不想 Floppy Disks 等 Install Complete Reboot Presented Choices 選 Option 1: All Drivers Most Memory

不 Work 大多數 Drivers Failed 沒 High Memory 沒 Mouse 沒 CD-ROM Hmmm 花 2-3 Days Debug 最終 Realize Startling Points:
- Paths/Filenames 不正確 (在 fdauto.bat)
- CD-ROM Driver 壞 (在 fdconfig.sys)
修改 System Files
不變 Saga Trial/Error 描述每步 解決所有問題 修改 fdconfig.sys 和 fdauto.bat 載入 Working Drivers 和 Correct Paths/Filenames 替換 FreeDOS CD-ROM Driver ด้วย Working aoatapi.sys 安裝 dosidle.exe เก็บ CPU ไม่ Full Throttle Non-stop (DOS Way)
不清楚 Legal Issues aoatapi.sys 和 dosidle.exe 不 Host/Direct-link Sources 不 Guarantee Quality Sources
Best Advice: Search aoatapi.sys 和 dosidle.exe 用 Search Engines 找到 Reliable Copies 幾分鐘 Google search aoatapi.sys 和 dosidle.exe 歡迎 Own Choice/Search Engines/Words
First: Copy 2 Files 到 Floppy 然後 Copy 到 VM Hard Disk Execute dosidle.exe CPU Normal Below: Modified fdconfig.sys 和 fdauto.bat
fdconfig.sys
SWITCHES=/F/N COUNTRY=001,858,C:\FREEDOS\BIN\COUNTRY.SYS SET LANG=EN LASTDRIVE=Z BUFFERS=20 FILES=40 DOS=HIGH,UMB DOSDATA=UMB SET DIRCMD=/OGN /4 MENUCOLOR=7,0 MENUDEFAULT=1,5 MENU 1 - Load FreeDOS, with maximum RAM free, using EMM386 MENU 2 - Load FreeDOS, including HIMEM XMS-memory driver MENU 3 - Load FreeDOS without drivers 12?DEVICE=C:\FREEDOS\BIN\HIMEM.EXE 1?DEVICE=C:\FREEDOS\BIN\EMM386.EXE NOEMS X=TEST VDS REM 1?DEVICEHIGH=C:\FREEDOS\BIN\ATAPICDD.SYS /D:FDCD0001 1?DEVICEHIGH=C:\AOATAPI.SYS /D:FDCD0001
fdauto.bat
@echo off prompt $p$g path C:\FREEDOS\BIN;C:\BATCHES set HELPPATH=C:\FREEDOS\HELP set LANG=US set NLSPATH=C:\FREEDOS\NLS IF not "%CONFIG%"=="1" goto noperuse rem echo Load PERUSE scrolling driver? rem lh c:\bin\peruse.exe rem echo PERUSE loaded :noperuse IF "%CONFIG%"=="3" goto nomouse lh c:\freedos\bin\ctmouse.exe /3 /V :nomouse if not exist CDRCACH$ goto normalcd echo Activating cached CD-ROM drive now. rem lh c:\freedos\bin\shsucdx.exe /D:CDRCACH$,N lh c:\freedos\bin\shsucdx.com /D:CDRCACH$,N goto nomorecd rem the above goto avoids double SHSUCDX loading. :nomorecd rem if not exist CDROM001 goto nomorecd if not exist fdcd0001 goto nomorecd echo Activating uncached CD-ROM drive now. rem lh c:\freedos\bin\shsucdx.exe /D:CDROM001,N lh c:\freedos\bin\shsucdx.com /D:FDCD0001,N :nomorecd echo. IF "%CONFIG%"=="3" goto noshare rem LH c:\freedos\bin\share.exe /L:20 /F:2048 lh c:\freedos\bin\share.com /L:20 /F:2048 :noshare IF "%CONFIG%"=="3" echo The environment contents are: rem echo. displays an empty line... IF "%CONFIG%"=="3" echo. IF "%CONFIG%"=="3" echo goto nopause echo. echo Welcome to FreeDOS. Press enter to go on and see environment: rem pause rem :nopause set echo FreeDOS is now at your service :-) echo. CLS C:\DOSIDLE.EXE lh c:\freedos\bin\mouse.exe
Copy/Paste Text Editor Save Files (.bak Extension All Types) 放 Floppy Copy 到 VM Hard Disk Backup Original fdconfig.sys/fdauto.bat Rename .bak -> .bat/.sys 記住:
- Install FreeDOS Under C:\FREEDOS
- aoatapi.sys 和 dosidle.exe 在 Root C:\
- Country/Language Settings 可能不同
- 留 Non-functional Lines Commented 不 Run 如 PERUSE/Mouse Lines 雖 Active 不 Execute Properly (PERUSE Driver Not Found, Mouse 不 Work) Commented No Impact CD-ROM, Share 等同理
- Original CD-ROM Drive Letters 從 N (N:, O: 等) 可改 只要 No Conflicts
必要時 Modify File Paths 在 fdconfig.sys/fdauto.bat 反映 Installation Choices Reboot Luckily OS Work Smoothly Now
OS Environment 應如圖: 有 Mouse (Test: Type edit fdauto.bat 見 Cursor) 至少 1 CD-ROM Driver (用我的 .vmx) dosidle.exe Works 基本上就是這樣 Working DOS Now

สรุป
บทความหน้า: Success/Lack Thereof 運行 Good Ole Games 建立 Character 早期 90s 知道 Old Games Query Serial/Parallel Ports (COM1, LPT1) Modern Windows OSes 不 Like Observed 在 VMware Player 可能 Denied Hardware Access (Main Reason Games 不跑) 仍 Impact Ability 但我會試
聽說像 Open TTD 專案 Enables Contemporary PC User Experience Doom, Duke Nukem 3D 在 Modern OSs 會 Check Rumors Keep Updated 如果有 News/Suggestions Email Me Post with Credits
Updates 在 Reviving Old Games Section (Caesar III, Open TTD) 讀 Reviews/View Screenshots 在 Computer Games Category
Cheers.