|
[这个贴子最后由gotomsdos在 2005/04/06 08:10pm 第 1 次编辑]
全世界找不到用一个参数解决DOS仙剑作成光盘能在内存大小不一的电脑里正常运行的办法!(因为,DOS仙剑<原光盘版被破解成硬盘版的那种>内存大于24MB,就说内存是负值...我的机子上是这样)
过程是这样的:
我正在做操作系统安装、维护和游戏(按下选项就可以玩的那种,当然是DOS的)综合DVD光盘,(送给朋友们的)还把一些我自己设计的图片做成启动时的LOGO和背景图片,效果非常好,已经作的差不多了,但是,有些游戏比如仙剑,要内存不能超过32M吧,用XMSDSK 是可以减掉内存的,但是问题是送给朋友玩,各人的内存是不一样的。那么怎样在DOS下通过批处理来实现只使用一定数量的内存? 看了HIMEM的参数,好象没有这个选项!(98和XP是可以选内存大小的,XP的BOOT。INI有参数的)
只好退而求其次,用一大段批处理来解决了.... 如下:(与大家共享)
如果谁想作成光盘,送给朋友,直接从光盘启动就可以玩, 相信会对你有很大帮助的....
解决的思路是这样的:
作一个带有DOS光盘驱动的可启动软盘镜象,通过EASYBOOT的选项来启动它,把DOS仙剑硬盘版放在光盘根目录,启动软盘镜象后,AUTOEXEC.BAT中的CHOICE.COM就会询问玩家电脑的内存大小,根据这个值来用XMSDSK作成内存盘,正好使得不同玩家电脑的内存大小都被一律调整为20MB,这就符合DOS仙剑硬盘版的内存要求了!接着,会把光盘上的游戏目录和SOUND BLASTER16的DOS声卡驱动目录复制到那个刚刚创建的内存盘中,加载声卡驱动(如果玩家的声卡符合兼容SB的就可以了),接着运行游戏了!
CONFIG.SYS:
dos=high,umb
device=himem.sys
device=emm386.exe ram
devicehigh=vide-cdd.sys /d:dosrav
shell=command.com /f /p /e:640
BUFFERS=22,0
FILES=40
AUTOEXEC.BAT:
@echo off
PROMPT $p$g
lh shsucdx /d:dosrav
lh ctmouse
rem lh smartdrv
findcd /s
rem command /f /c
if exist %cdrom1%\sound\sbinit.com goto cd1
if exist %cdrom2%\sound\sbinit.com goto cd2
if exist %cdrom3%\sound\sbinit.com goto cd3
if exist %cdrom4%\sound\sbinit.com goto cd4
:cd1
%cdrom1%
set romcd=%cdrom1%
goto end
:cd2
%cdrom2%
set romcd=%cdrom2%
goto end
:cd3
%cdrom3%
set romcd=%cdrom3%
goto end
:cd4
%cdrom4%
set romcd=%cdrom4%
goto end
:end
a:
tw32
cls
echo .
echo .
echo .
echo 要玩这个游戏,必须确定您的电脑的内存大小
echo 我的电脑的内存容量大约是(MB,兆):
echo .
echo [1] 32
echo [2] 64
echo [3] 96
echo [4] 128
echo [5] 160
echo [6] 192
echo [7] 224
echo [8] 256
echo [9] 288
echo [a] 320
echo 352
echo [c] 384
echo [d] 416
echo [e] 448
echo [f] 480
echo [g] 512
choice /c:123456789abcdefg 请按下相应的方括号中的数字或字母(即刻执行):
if errorlevel 16 goto 512
if errorlevel 15 goto 480
if errorlevel 14 goto 448
if errorlevel 13 goto 416
if errorlevel 12 goto 384
if errorlevel 11 goto 352
if errorlevel 10 goto 320
if errorlevel 9 goto 288
if errorlevel 8 goto 256
if errorlevel 7 goto 224
if errorlevel 6 goto 192
if errorlevel 5 goto 160
if errorlevel 4 goto 128
if errorlevel 3 goto 96
if errorlevel 2 goto 64
if errorlevel 1 goto 32
:32
a:
tw32 /u
xmsdsk 28000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:64
a:
tw32 /u
xmsdsk 44000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:96
a:
tw32 /u
xmsdsk 76000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:128
a:
tw32 /u
xmsdsk 108000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:160
a:
tw32 /u
xmsdsk 140000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:192
a:
tw32 /u
xmsdsk 172000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:224
a:
tw32 /u
xmsdsk 204000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:256
a:
tw32 /u
xmsdsk 236000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:288
a:
tw32 /u
xmsdsk 268000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:320
a:
tw32 /u
xmsdsk 300000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:352
a:
tw32 /u
xmsdsk 332000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:384
a:
tw32 /u
xmsdsk 364000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:416
a:
tw32 /u
xmsdsk 396000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:448
a:
tw32 /u
xmsdsk 428000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:480
a:
tw32 /u
xmsdsk 460000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
:512
a:
tw32 /u
xmsdsk 492000 z: /t /y
xcopy %romcd%\sound z:\sound\ /e /s
xcopy %romcd%\pal z:\sound\pal\ /e /s
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
z:\sound\sbinit
z:
cd\sound\pal
play.bat
|
|