VOGONS


First post, by exofreeze

User metadata
Rank Member
Rank
Member

Seems all the games I am setting up today dislike me.

Madden runs off a batch file. The game will laod up the intor screens and the menu, however trying to play the game was causing the game to dump the the prompt and state "illegal command: mode". So I went and got a copy of mode from freedos, and this fixed that error, but now it just dropped straight to the prompt.

So looking at the bat file, it seems it doesn't call mode until it is exiting anyways:

echo off
if exist madden.cfg goto frontend
setup

:frontend
echo John Madden Football ver 1.00
rem call checkcd.bat

:newscreens
cd screens
screens > sc.out
cd ..
if errorlevel 9 if not errorlevel 10 goto madden_load
if errorlevel 8 if not errorlevel 9 goto madden
goto end

:contscreens
cd screens
screens helloagain > sc.out
cd ..
if errorlevel 9 if not errorlevel 10 goto madden_load
if errorlevel 8 if not errorlevel 9 goto madden
goto end

:madden
cd action
moe %1
cd ..
if errorlevel 8 if not errorlevel 9 goto contscreens
goto end

:madden_load
cd action
moe load %1
cd ..
if errorlevel 8 if not errorlevel 9 goto contscreens
goto end

:end
mode co80

I did not rem the checkcd.bat line out - that was already done fresh from the install (I am using a bin/cue I created from my own disc. It is the cd classic release, so I am guessing they removed this in that release).

So, it appears the when the game should start playing, it should change to the "action" folder and call MOE with some sort of variable.

So from the prompt I went to that folder and typed MOA, and sure enough, the game started just fine. I tried both iterations - MOE and MOE LOAD.

I don't, however, know what the variable should be - although I expect it tells the game what teams are playing, and maybe some other info.

What I haven't figured out, is why the batch file isn't working properly to call this?

Playing around with the bat file, I have found that the "screens" section calls the opening logos and crap. contscreens calls the main menu.

So it appears that at no point are the error levels being passed properly, so instead it is just going straight to the end (I confirmed this by adding PAUSE and echo commands to the bat file to show me where it is flowing - at no point does the "madden" or "madden_load" section ever get called).

Any ideas?

Last edited by exofreeze on 2012-08-21, 14:11. Edited 1 time in total.

Reply 1 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The nested IF tests may be outside the shell's current capability. Have you tried with 4DOS?

Reply 2 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

I had never heard of 4dos before. it doesn't seem to be compatible with win7 x64 though.

Reply 3 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It's an alternative shell that you run inside DOSBox...

Reply 4 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

Alright, I'll give it a shot. In the meantime

If the nested statements are the issue, then my first inclination is to wrap my head around why they are necessary.

if errorlevel 9 if not errorlevel 10 goto madden_load

This makes no sense to me. First it is saying, if it is level 9. then it turns around and makes sure it is not level 10. I understand that errorlevels will match to the highest value (ie: if errorlevel = 3 will actually grab errorlevels of 3 and above). But if you want errorlevel 9 or above, but not 10.... I don't know, seems like there is a simpler way to have done that.

Off to try 4dos.

Reply 5 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

4dos didn't work either.

I installed it and then ran the 4dos.com file. This changed the title bar in dosbox to state 4dos, which I presume means it was working.

Same exact issue with the batch file though.

Reply 6 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Seems like the "screens" program is bailing out without producing an errorlevel, if I'm understanding the flow of the batch file correctly. Do you see anything meaningful in debug messages after that program executes?

Reply 7 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

No, but that is probably my fault. When I run the debug, where the messages are it says you can scroll w/ the home and end keys, however this never works for me.

So I can't seem to scroll back up and see what message occurred right when it kicked.

Doing a log output just seems to output the code overview. Is there a way to capture the Output/Input section to a log file?

Reply 8 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

In debug builds there is a [log] section in the conf file with a logfile= setting; change that to logfile=c:\dblog.txt or whatever and the file will be created.

Press Alt-Pause to activate the debugger then click on the debugger window to make it the active window, you should then be able to scroll through the log messages. Press F5 to resume emulation. Note that the message buffer is limited, so if there are many messages you may need a log file.

Reply 9 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The game appears to run OK in 0.74 with default settings. Make sure XCOPY is in the path and run INSTALL.EXE from the CD, then run SETUP.EXE from the install directory to configure sound and joystick, then run MADDEN.BAT to play the game.

Reply 10 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

really,... it works fine for you??

I did put copy in the path already to get the install working. Without it, it just creates a bunch of empty folder.

I just did a total reinstall and I get the same issues.

When I click exhibition game, it immediately kicks to the prompt.

The conf file is the only variable I can think of here, but I swear it is a standard conf:


[sdl]
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true
[dosbox]
language=
machine=svga_s3
captures=capture
memsize=16
[render]
frameskip=0
aspect=false
scaler=normal2x
[cpu]
core=auto
cputype=auto
cycles=auto
cycleup=10
cycledown=20
[mixer]
nosound=false
rate=44100
blocksize=1024
prebuffer=20
[midi]
mpu401=intelligent
mididevice=default
midiconfig=
[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100
[gus]
gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=e:\ULTRASND
[speaker]
pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=true
Show last 30 lines
[joystick] 
joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=false
[serial]
serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled
[dos]
xms=true
ems=true
umb=true
keyboardlayout=auto
[ipx]
ipx=false
[autoexec]
cd ..
cd ..
mount c .\games\MaddenFo
imgmount d .\games\MaddenFo\cd\madden96.cue -t cdrom
c:
path=c:\;z:\
@cd madden
#cls
#@call madden
#exit

I have the last few lines commented out until I get the game running. For now I am just typing them in manually.

Reply 11 of 21, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

[quote="exofreeze"]if errorlevel 9 if not errorlevel 10 goto madden_load

This makes no sense to me. First it is saying, if it is level 9. then it turns around and makes sure it is not level 10.[/quote]

It's saying if errorlevel >= 9 then if errorlevel is not >= 10.
ie it wants only 9.
There isn't another way to do that, because there is no "if errorlevel ==".

Reply 12 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

yes, I see that. My current confusion is why it works for ripsaw but not me 😒

Reply 13 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I tried using the conf you pasted, just different source paths for C and D. Made sure my emulated C drive is completely empty except for XCOPY in the root (I assume you put it there because of the PATH= you use). Install to default directory, run setup to choose SB16 and no joysticks (automatic because no joystick is detected), run the batch, clicking on Exhibition Game takes me to the game options screen, clicking on Play starts the game.

What steps do you go through when running SETUP.EXE?

Reply 14 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

Well, I don't recall there being many steps.

I run the install.exe file
it says the install will take 15 megs
i click ok
it copies files for a short while
then says, to play madden type madden.

I don't recall it giving me any options.

I'll run the install again when I get back to that machine in the morning.

Reply 15 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

ok, so the install shows these default options:
Drive: C
Directory: \MADDEN
Space Required (15 Megs)

My options are Begin Installation or Cancel Installation.

I hit Begin.

The screen scrolls by as several files appear to be unpacked to various folders. I am then told "Installation Successful" and to type madden to play the game.

I type madden and I am taken to a soundset type config screen. It auto detects a SB16, and during the "test sound" phase it plays dramatic nfl music.

I click ok, and then I click done. It then attempts to detect joysticks, neither of which are found.

Now the NFL logo and various other logos come up with the aforementioned dramatic music.

Now I'm at the main menu. Football is rotating in the sky, madden's happy face keeps spinning on the nfl logo, and the music keeps playing.

I move my cursor over to exhibition game, click on it, it says "loading", fades out, some guy grunts, and then I see my dos prompt.

So frustrating.

Reply 16 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

Is it possible that the copy of xcopy I am using isn't behaving properly? I have two games from stormfront studios (madden and espn) that are both acting up, and both required xcopy to install. I am going to try and find a different version of it to try.

note: just checked, the copy I am using is the most recent version of xcopy available from freedos.

Reply 17 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I thought about differences in XCOPY, so I tried the FreeDOS version 1.4a of it, but it seems to work fine. Still can't reproduce the problem, game just works.

It seems the issue is somehow dependent on host factors, as troublesome as that can be. I suggest experimenting with all the host-related settings, like changing output=, core=, cycles=, etc.

Also, do check the debug log messages after trying to start an exhibition game for possible clues.

Reply 18 of 21, by exofreeze

User metadata
Rank Member
Rank
Member

SOLVED IT!

It was the damn xcopy. The freedos version only seemed to recurse one directory. I went and got a copy of xcopy from ms-dos 5.0, re-ran the install, and it worked.

I noticed during the install that it was writing files several folders deep this time, but was not doing it the first time using xcopy.com from freedos.

Reply 19 of 21, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

http://www.freedos.org/software/?prog=xcopy

The latest FreeDOS version of XCOPY is 1.4a from 2009, and I have verified that it works with the game. I think your problem is that you were not using the version you should have been using.