VOGONS


First post, by Ludomeister

User metadata
Rank Newbie
Rank
Newbie

I've got a problem installing a patch for 1942 Pacific Air War that I'm certain is applicable to many other games for folks with new computers without a floppy drive.

I've got all of my DOS games in a subfolder of my Dosbox Game Launcher dir called "dosroot.' The actual path is C:\DBGL\dosroot. Within dosroot are all of the DOS games; my 1942 PAW is in C:\DBGL\dosroot\MPS\1942.

This version of 1942 PAW is the vanilla version, and I've downloaded the 1.4 patch from patches scrolls. This patch (which is actually in 2 zip files that must be combined into one extracted folder) has an install.bat file in it. I mount my c:\ drive in DOSBox to C:\DBGL\dosroot\MPS. Then I extract the patch files to a temp dir in MPS (i.e. C:\DBGL\dosroot\MPS\temp). I then mount the A drive like this: mount A C:\DBGL\dosroot\MPS. Once that's done CD to the virtual A drive, and then execute "install.bat."

Well, it works just fine except that the install routine thinks that I don't have the game installed, reminding me that the installer only has the files for v.1.4 of the game.

What do I need to do to get the installer to recognize that the game is indeed on my virtual hard drive?

Thanks in advance,

Ludo

Reply 1 of 7, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well i think you did allright. the installer and dosbox might just not get along.
can you posts the contents of install.bat here ? (it is a text file)

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 7, by Ludomeister

User metadata
Rank Newbie
Rank
Newbie

well i think you did allright. the installer and dosbox might just not get along.
can you posts the contents of install.bat here ? (it is a text file)

Certainly, and - regardless of the outcome here - thank you for your rapid response! 😁

Ludo

Here's the text of the install.bat (and yes, I have all of the files it lists below in the "Checking for proper command line usage"):

@echo off
cls

REM Checkimg for proper command line usage.
if not exist 1942.001 goto usage
if not exist MPSLABS.IDX goto usage
if not exist INSTALL.DAT goto usage
if not exist INSTALL.INF goto usage
if not exist BOOTDISK.EXE goto usage
if not exist README.NOW goto usage
if not exist README.TXT goto usage
if not exist 1942.002 goto usage
if not exist INSTALL.BAT goto usage

SUBST A: .
REN INSTALL.DAT INSTALL.EXE
A:
INSTALL
SUBST A: /D
goto EOF

:usage
cls
echo This install must be run from the same DRIVE/DIRECTORY that the
echo 1942: PAW UPDATE files are located in. Please change to that
echo DRIVE/DIRECTORY and run INSTALL again.
goto EOF

:EOF

Reply 3 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

SUBST is an external command in real DOS, but in DOSBox the command works similar to MOUNT. If you are mounting the A: drive ahead of running the batch file, the "SUBST A: ." it is doing to make the current directory the virtual A: drive will fail because the drive is already mounted. So, try not mounting A: in advance, and change directory on your mounted C: drive to where the install files are before running the batch file.

Note that the "SUBST A: /D" to delete the substituted drive isn't supported in DOSBox, and won't unmount the drive; but "MOUNT -u A" will. It seems like it would be easy enough to treat a SUBST /D as a MOUNT -u, but there is probably some reason it wasn't done.

Reply 4 of 7, by Ludomeister

User metadata
Rank Newbie
Rank
Newbie

Thanks, ripsaw, especially for the unmount syntax. I always wondered what that syntax was, and now I have it! 😀 Unfortunately nothing I tried seemed to make the replacement files recognize that the game was installed. <sigh> 🙁

Smecty

Reply 6 of 7, by Pesanur

User metadata
Rank Newbie
Rank
Newbie

I have the same problem with the 1942 Pacific Air War Scenrario addon. The error mesage says:

"This is an UPDATE only! Ypu moust have the game already on your hard drive to install this update."

Appears that the install program tries som low level acces to hard disk that is not suppotet for the -ioctl modificator of MOUNT

Reply 7 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I don't have the game, but I downloaded the 2-disk patch to v1.4 and using the DOSBox debugger found 2 issues that keep it from working.

INT 21/52 "list of lists" byte offset 20h is used to get the number of block devices installed. DOSBox reports 0, the install program expects at least 2. I changed the result to 2 with the debugger to get around this first issue. BTW, the DOSBox status window shows this warning: "DOSMISC:Call is made for list of lists - let's hope for the best"... doesn't sound very confident.

INT 25 is called to read the highest sector on the C: drive. No way that's going to work in DOSBox unless you're booting a disk image. It is looking for a word value of non-zero at offset 1Ch in that sector, for whatever reason. Because DOSBox doesn't appear to put anything in the sector buffer, this might or might not be OK depending on the contents of memory; but in my test it was zero, which is the thing it does not want to find. I changed the result with the debugger and the update program went on to search my C: drive for the game installation.

Because I don't have the game, I changed the INF file that contains a list of files to search for to have just one file that I set up in a dummy folder. With that, and overriding the couple of above issues with the debugger, the update files get extracted. That's as far as I can go.

So, it seems this update program needs a more complete DOS virtualization to run correctly. You could probably install/update on some other DOS emulator, and then actually RUN the patched game on DOSBox.