都怪农企翻身不完美,VME bug导致开不了Win98虚拟机(我正在写另一篇文章描述具体情况),哼~
Wikipedia对DOSBox的描述:
在IBM PC兼容机下,模拟旧时的操作系统:MS-DOS,支持许多IBM PC兼容的显卡和声卡,为本地的DOS程序提供执行环境,使这些程序可以正常运行于大多数现代计算机上的不同操作系统。
DOSBox特别是为运行早期的计算机游戏所设计,主要以C++编写,是以GNU通用公共许可证许可发布的自由软件。
划重点:DOS,动态指令转换,老显卡/声卡,Modem/IPX/TCP/IP,老游戏。
没提到PE内核的Windows 3.x/4.x。
新PC - DOSBox - CDTV模拟器(?) - Town with no Name, The
My Abandonware提供了一个例子,下载到的压缩包里除了游戏镜像,还包括用DOSBox启动该镜像的基本指令。
这个例子的压缩包里的目录结构:
| start.bat
|
+---cd <- 游戏镜像
| Town with no name.ccd
| Town with no name.img
| Town with no name.sub
|
+---dosbox <- DOSBox主程序、依赖库、配置文件
| dosbox.conf
| dosbox.exe
| libpng13.dll
| SDL.dll
| SDL_net.dll
| zlib1.dll
|
\---TWNONAME <- 游戏的“硬盘”(准确地说上一层目录才是C盘)
TOWN.BAT
start.bat
文件:
@echo off
.\dosbox\dosbox.exe -conf .\dosbox\dosbox.conf -noconsole -exit -fullscreen
del stdout.txt
del stderr.txt
:end
dosbox\dosbox.conf
文件:(只给出autoexec
一节,其余略)
[autoexec]
mount c .
imgmount d ".\cd\Town with no name.img" -t cdrom
c:
cd twnoname
call town
exit
TWNONAME\TOWN.BAT
文件:
ECHO OFF
D:
CD \TOWN
DTVPLAY -CD -c LANGUAGE_DIR=english/
C:
游戏的启动流程:
- 用户以
start.bat
所在的目录为起始目录,在该目录下运行该bat
脚本。 - 脚本调用
dosbox.exe
,并以dosbox.conf
作为其配置文件。 - DOSBox按配置文件设置好自身的环境后,挂载
start.bat
所在的目录作为C盘,挂载游戏镜像作为D盘。 - 调用
town.bat
,启动光盘内的免安装版游戏。
新PC - DOSBox - Dangerous Dave
Dangerous Dave是John Romero 1988年编写的一款演示游戏,所以我为什么要付费 所以我仿照上面的例子自己写一个DOSBox配置文件好了。
目录结构:
| ddave.bat
| town.bat
|
+---dosbox <- DOSBox主程序、依赖库
| dosbox-generic.conf
| dosbox.exe
| libpng13.dll
| SDL.dll
| SDL_net.dll
| zlib1.dll
|
+---gameedge <- Dangerous Dave和另一个游戏的合集
| | CATACOMB.TXT
| | CTLPANEL.SHL
| | DAVE.TXT
| | dosbox.conf
| | EDITOR.TXT
| | GO.BAT
| | HELP.TXT
| | INFO.TXT
| | REPORT.TXT
| | RESOURCE.SHL
| | SHELL.EXE
| | STATUS.ME
| |
| +---CATACOMB
| | CATACOMB.EXE
| | DEMO.CAT
| | LEVEL1.CAT
| | LEVEL10.CAT
| | LEVEL2.CAT
| | LEVEL3.CAT
| | LEVEL4.CAT
| | LEVEL5.CAT
| | LEVEL6.CAT
| | LEVEL7.CAT
| | LEVEL8.CAT
| | LEVEL9.CAT
| | SOUNDS.CAT
| |
| \---DDAVE
| DAVE.EXE
| DSCORES.DAV
| EGADAVE.DAV
|
\---twnoname <- 上一个游戏的“硬盘”及光盘镜像
| dosbox.conf
| TOWN.BAT
|
\---cd
Town with no name.ccd
Town with no name.img
Town with no name.sub
twnoname.bin
twnoname.cue
ddave.bat
文件:
@echo off
.\dosbox\dosbox.exe -conf .\gameedge\dosbox.conf -noconsole -exit -fullscreen
@del stdout.txt
@del stderr.txt
:end
gameedge\dosbox.conf
文件:
[autoexec]
mount c .
c:
cd gameedge
call go.bat
exit
不用再解释了吧。
新PC - DOSBox - Windows 98
可以参考:DosBox装Windows98
具体思路是把硬盘和必要的软盘启动盘都做成镜像,而不使用DOSBox原有的挂载文件夹的方式,以满足操作系统修改MBR/PBR等信息的需求。但是用镜像的话就也和Bochs一样,硬盘大小受CHS寻址方式的限制。
同时装Win95也有人踩过坑,有时间再慢慢啃:
A Complete Guide to Install Windows 95 on DOSBox
Installing Windows 95 in DOSBox
网友评论