schellingb / dosbox-pure

DOSBox Pure is a new fork of DOSBox built for RetroArch/Libretro aiming for simplicity and ease of use.
GNU General Public License v2.0
731 stars 61 forks source link

illegal command when files are present #478

Closed DarkCTO closed 4 months ago

DarkCTO commented 4 months ago

I'm using the .conf next to the .zip of the same name setting

Game: Leisure Suit Larry 7 - Love for Sail

my .conf that calls LSL7DOS.bat in c:\LSL7DOS Relevant files and folder structure c:\ c:\LSL7DOS c:\LSL7DOS\LSL7DOS.BAT c:\LSL7DOS\LSL7DOS\SIER.EXE c:\LSL7DOS\LSL7DOS\CHECKCD.BAT c:\LSL7DOS\LSL7DOS\VESATEST.EXE

# Config file for Dosbox-0.74
[sdl]
fullscreen=false
fulldouble=false
fullresolution=0x0
windowresolution=1280x960
output=openglnb
mapperfile=mapper.map
[dosbox]
machine=svga_s3
memsize=32
[render]
aspect=true
scaler=normal2x
[cpu]
core=auto
cycles=45000
cycleup=500
[mixer]
blocksize=2048
prebuffer=10
[midi]
[sblaster]
[gus]
gus=true
[speaker]
[joystick]
buttonwrap=true
[serial]
[dos]
keyboardlayout=none
[ipx]
[autoexec]
mount c .\lsl7dos
imgmount d ".\lsl7dos\cd\Leisure Suit Larry 7.iso" -t cdrom
cd LSL7DOS
cd lsl7dos
cls
@call LSL7DOS
pause
exit

LS7DOS.bat

@echo off 
cd \LSL7DOS 
call CheckCD   D 
call vesatest 
if errorlevel 0 goto vesafound 
echo A VESA driver was not found on your system. Please rerun install 
echo and check the readme file for help on installing a VESA driver. 
goto end 
:vesafound 
C:\LSL7DOS\sier C:\LSL7DOS\resource.cfg 
:end 
cd .. 

CHECKCD.BAT

@echo off
if not "%0"=="CheckCD" goto Abort
if "%1"=="" goto Abort

echo Checking for Larry 7 CD in drive %1:
if exist %1:\install\l7check.bat goto Exit
cls
echo Please put the Larry 7 CD into your CD-ROM and then
pause

:LoopCheck
if exist %1:l7check.bat goto Exit
echo.
echo Unable to detect the Larry 7 CD in drive %1:.
echo You may abort this looping test by pressing Ctrl-C or
echo insert the CD into your CD-ROM and then
pause
goto LoopCheck

:Abort
echo.
echo This batch file is used automatically by the Larry
echo 7 program. Please do not run it from the DOS
echo command line.
echo.

:Exit 

My result:

Checking for Larry 7 CD in drive D:
Vesa found
illegal command found: sier

But SIER.EXE does exist, and it could find the CHECKCD.BAT and VESATEST.EXE

I tried to change the LS7DOS.bat but DOSBox Pure seems to persist with the above command Making changes to LS7DOS.bat will give the same issue. Since LS7DOS.bat is inside the zip, did Pure cache and reuse it somewhere? But I did change the bat inside zip of games like red alert and it worked fine...

DarkCTO commented 4 months ago

NVM... there is another LS7DOS.bat 2 layers deep c:\LSL7DOS\LSL7DOS\LSL7DOS.BAT