VOGONS


First post, by P4R4D0X

User metadata
Rank Member
Rank
Member

Yesterday I found an issue in DOSBox while I was trying to install Network Q RAC Rally Championship and it may be a bug. Posted it on the IRC channel and got no response, so I thought this should be mentioned here as well just in case it's something serious. Luckily I found workarounds and this is about the installer and not the game. Looked for similar topics here on VOGONS about the same issue, but there are none of them.

The ones I found are the following ones:
Network Q RAC Rally Championship (problem with installation)
This one is about installation issues, but that's due to the fact that no C:\ drive was mounted. mkkala claims that he got it to work, and so do I, but that's very little information given. I can confirm that the game works just fine, and there are no audio issues. He probably referred to this topic:
Network Q RAC Rally Championship sound problems

Pretty much I can reproduce it every time in DOSBox 0.74 and SVN. Tried messing around with various settings and still nothing. Here's what I did and what to look for. These are my mountings just in case someone asks. It's the plain good old mount commands that I always use with the default configuration.

mount c c:\test
mount d f:\ -t cdrom

Next I ran INSTALL.EXE from the disk to start the installer. It's actually very simple and looks amazing! For the keyboard layout I have chosen British and hit Enter.

The attachment install_000_205.png is no longer available

Next I was asked about installation type and I've chosen the Full (92Mb) one, to enjoy the movie clips and the CD audio tracks.

The attachment install_001.png is no longer available

For the destination directory I've kept the default one, and that's c:\rallyc\

The attachment install_002.png is no longer available

The installation will begin after pressing Enter, and you will see the progress bar filling up and eventually reaching 100%. It will even tell you that the installation has been completed. All nice and good until now.

The attachment install_003.png is no longer available

The installer will now run the sound setup program and this is where the problem will begin. I haven't pressed any button when I got the Installation completed message. I waited until SETSOUND.EXE was launched automatically. It will eventually launch and you will be stuck on the following screen:

The attachment setsound_000.png is no longer available

Nothing will show up and I can't do anything other than moving the cursor. The menus will simply refuse to show up to configure the sound card until I quit DOSBox, running it again, remounting the same drives and running SETSOUND.BAT or MSS\SETSOUND.EXE from the game directory. That's the only workaround I found, but that still leaves the installer broken. While I was looking in the debugger I get different results almost every time.

Here's what I get if I don't press anything and wait for the sound setup utility:

  42938756: FILES:file open command 0 file C:\RALLYC\MSS\SETSOUND.EXE
42938761: DOSMISC:DOS:Multiplex Unhandled call 1687
42938765: DOSMISC:Get SDA, Let's hope for the best!
42943920: FILES:file open command 0 file C:\RALLYC\MSS\SETSOUND.EXE
42944085: FILES:file open command 0 file C:\RALLYC\MSS\SETSOUND.EXE
42945888: FILES:file open command 0 file C:\RALLYC\MSS\SETSOUND.EXE
42950111: DOSMISC:DOS:Multiplex Unhandled call 1684
42950132: PIT:PIT 0 Timer at 18.2065 Hz mode 2
42950708: MOUSE:New video is the same as the old
42950919: FILES:file open command 0 file ADRV688.DIG
42951052: FILES:file open command 0 file IWAV.DIG
42951168: FILES:file open command 0 file JAMMER.DIG
42951284: FILES:file open command 0 file NVDIG.DIG
42951400: FILES:file open command 0 file PROAUDIO.DIG
42952193: FILES:file open command 0 file RAP10.DIG
42952309: FILES:file open command 0 file SB16.DIG
42952425: FILES:file open command 0 file SBLASTER.DIG
42952541: FILES:file open command 0 file SBPRO.DIG
42952657: FILES:file open command 0 file SNDSCAPE.DIG
42952773: FILES:file open command 0 file SNDSYS.DIG
42952889: FILES:file open command 0 file ULTRA.DIG
42953849: FILES:file open command 0 file ADLIB.MDI
42953982: FILES:file open command 0 file ADLIBG.MDI
42955033: FILES:file open command 0 file ESFM.MDI
42955166: FILES:file open command 0 file IWAV.MDI
42955282: FILES:file open command 0 file MPU401.MDI
42955398: FILES:file open command 0 file MT32MPU.MDI
42955530: FILES:file open command 0 file NULL.MDI
42955646: FILES:file open command 0 file NVMPU.MDI
42956663: FILES:file open command 0 file OPL3.MDI
42956813: FILES:file open command 0 file PAS.MDI
42957877: FILES:file open command 0 file PASPLUS.MDI
42958606: FILES:file open command 0 file PCSPKR.MDI
42958722: FILES:file open command 0 file SBAWE32.MDI
42959451: FILES:file open command 0 file SBLASTER.MDI
42960196: FILES:file open command 0 file SBPRO1.MDI
42960925: FILES:file open command 0 file SBPRO2.MDI
42961654: FILES:file open command 0 file SNDSCAPE.MDI
42961770: FILES:file open command 0 file TANDY.MDI
42962499: FILES:file open command 0 file ULTRA.MDI
42963228: FILES:file open command 0 file MSSDRVR.LST
43284617: IO:Writing 00 to port 3246
43284619: IO:Writing 00 to port 3247
43284620: IO:Read from port 3246
43284620: IO:Read from port 3247
43284622: CPU:CPU:GRP5:Illegal opcode 0xff
43284623: CPU:CPU:GRP5:Illegal Call 7
43284623: CPU:Illegal/Unhandled opcode FFFF
43284624: CPU:CPU:GRP5:Illegal opcode 0xff
43284625: CPU:CPU:GRP5:Illegal Call 7
43284625: CPU:Illegal/Unhandled opcode FFFF
43284627: CPU:CPU:GRP5:Illegal Call 7
43284627: CPU:Illegal/Unhandled opcode FFFF
43284629: CPU:CPU:GRP5:Illegal Call 7
43284629: CPU:Illegal/Unhandled opcode FFFF

Great, now here's the same thing, I did the same thing and after FILES:file open command 0 file MSSDRVR.LST shows me this instead and it just spits out stuff like these:

  42494491: CPU:Illegal/Unhandled opcode 0F00
42494494: CPU:Illegal/Unhandled opcode 0F00
42494497: CPU:Illegal/Unhandled opcode 0F00
42494500: CPU:Illegal/Unhandled opcode 0F00
42494503: CPU:Illegal/Unhandled opcode 0F00
42494506: CPU:Illegal/Unhandled opcode 0F00
42494509: CPU:Illegal/Unhandled opcode 0F00
42494512: CPU:Illegal/Unhandled opcode 0F00
42494513: DMA_CONTROL:Trying to read undefined DMA port 9
42494514: DMA_CONTROL:Trying to read undefined DMA port 9
42494515: CPU:Illegal/Unhandled opcode 0F00
42494516: DMA_CONTROL:Trying to read undefined DMA port a
42494517: DMA_CONTROL:Trying to read undefined DMA port a
42494518: CPU:Illegal/Unhandled opcode 0F00
42494519: DMA_CONTROL:Trying to read undefined DMA port b
42494520: DMA_CONTROL:Trying to read undefined DMA port b
42494521: CPU:Illegal/Unhandled opcode 0F00
42494522: DMA_CONTROL:Trying to read undefined DMA port c
42494523: DMA_CONTROL:Trying to read undefined DMA port c
42494524: CPU:Illegal/Unhandled opcode 0F00
42494525: DMA_CONTROL:Trying to read undefined DMA port d
42494526: DMA_CONTROL:Trying to read undefined DMA port d
42494527: CPU:Illegal/Unhandled opcode 0F00
42494528: DMA_CONTROL:Trying to read undefined DMA port e
42494529: DMA_CONTROL:Trying to read undefined DMA port e
42494530: CPU:Illegal/Unhandled opcode 0F00
42494531: DMA_CONTROL:Trying to read undefined DMA port f
42494532: DMA_CONTROL:Trying to read undefined DMA port f
42494533: CPU:Illegal/Unhandled opcode 0F00
42494534: IO:Read from port 0010
42494536: CPU:Illegal/Unhandled opcode 0F00
42494537: IO:Read from port 0011
42494539: CPU:Illegal/Unhandled opcode 0F00
42494540: IO:Read from port 0012
42494542: CPU:Illegal/Unhandled opcode 0F00
42494543: IO:Read from port 0013
42494545: CPU:Illegal/Unhandled opcode 0F00
42494546: IO:Read from port 0014
42494548: CPU:Illegal/Unhandled opcode 0F00
42494549: IO:Read from port 0015
42494551: CPU:Illegal/Unhandled opcode 0F00
42494552: IO:Read from port 0016
42494554: CPU:Illegal/Unhandled opcode 0F00
42494555: IO:Read from port 0017
42494557: CPU:Illegal/Unhandled opcode 0F00
42494558: IO:Read from port 0018
42494560: CPU:Illegal/Unhandled opcode 0F00
42494561: IO:Read from port 0019
42494563: CPU:Illegal/Unhandled opcode 0F00
42494564: IO:Read from port 001A
42494566: CPU:Illegal/Unhandled opcode 0F00
42494567: IO:Read from port 001B
42494569: CPU:Illegal/Unhandled opcode 0F00
42494570: IO:Read from port 001C

Tried it again and I got the following, and nothing else. The only stuff the debugger showed me was the following:

  33452793: CPU:Illegal/Unhandled opcode 63

I even got DOSBox to crash on me without any useful debug information. And this one is new to me, because I haven't got this one in my tests:

  27267707: CPU:Illegal/Unhandled opcode 63
Illegal read from 2b742566, CS:IP 494d: 206e
Illegal read from 2b742567, CS:IP 494d: 206e
27267712: CPU:CPU:GRP5:Illegal opcode 0xff
27267713: CPU:CPU:GRP5:Illegal Call 7
27267713: CPU:Illegal/Unhandled opcode FFFF
Illegal read from 4317a366, CS:IP 0:4317a366
DYNX86:Can't run code in this page!
Illegal read from 4317a366, CS:IP 0:4317a366
Illegal read from 4317a367, CS:IP 0:4317a366
Illegal read from 4317a368, CS:IP 0:4317a368
Illegal read from 4317a369, CS:IP 0:4317a368
Illegal read from 4317a36a, CS:IP 0:4317a36a
Illegal read from 4317a36b, CS:IP 0:4317a36a
Illegal read from 4317a36c, CS:IP 0:4317a36c
Illegal read from 4317a36d, CS:IP 0:4317a36c
Illegal read from 4317a36e, CS:IP 0:4317a36e
Illegal read from 4317a36f, CS:IP 0:4317a36e
Illegal read from 4317a370, CS:IP 0:4317a370
Illegal read from 4317a371, CS:IP 0:4317a370
Illegal read from 4317a372, CS:IP 0:4317a372
Illegal read from 4317a373, CS:IP 0:4317a372
Illegal read from 4317a374, CS:IP 0:4317a374
Illegal read from 4317a375, CS:IP 0:4317a374
Illegal read from 4317a376, CS:IP 0:4317a376
Illegal read from 4317a377, CS:IP 0:4317a376

Tried loadfix, setting the core to dynamic and normal. Also fixed cycles doesn't do anything really. So I'm not entirely sure if this is a DOSBox bug or simply this is how the installer was designed. The game works as I said before, and thought I might mention it just in case it doesn't gets fixed. I could try messing in the config file but I'm sure it doesn't have any effect on this. Feel free to ask if you have any more questions!

Last edited by P4R4D0X on 2013-07-02, 16:20. Edited 1 time in total.

Reply 1 of 3, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

This game isn't the only one affected. Another examples are X-Car: Experimental Racing and Extreme Assault.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 2 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The problem in these cases may be similar to the one described here. You can verify by looking for the string "CauseWay DOS Extender" in the SETSOUND.EXE file. When the CauseWay extender is used by a child process then loading JEMM (or EMM386) as mentioned in the linked thread could be a solution. However, running the program directly (not as a child process) is the simplest solution.

Reply 3 of 3, by P4R4D0X

User metadata
Rank Member
Rank
Member

I've looked up SETSOUND.EXE and you are right. Found references for the extender. CauseWay DOS Extender v3.14 Copyright 1992-96 Michael Devore. All rights reserved. Tried to solution mentioned in the other topic, but it looks like it just crashed DOSBox entirely. Turned off XMS, EMS and UMB in the configuration file, and I tried it with JEMMEX FRAME=E000 LOAD and JEMMEX LOAD but still the same results.

Also here's an interesting fact. X-Car: Experimental Racing uses the same DOS extender and it doesn't have this issue. The game installs just fine, and when I choose YES to configure the sound it launches SETUP.EXE without freezing. The only difference is that it uses a slightly newer version of CauseWay. CauseWay DOS Extender v3.17 Copyright 1992-96 Michael Devore. All rights reserved.

Unfortunately I don't have Extreme Assault but I can show that X-Car: Experimental Racing works just fine. You can view the screen recording here: http://www.screencast.com/t/BovEgUdp5a

The good news is that we know what causes the issue. Maybe it's a buggy version of CauseWay DOS Extender, and that causes this behaviour. I'm pretty sure these games were tested before put them on store shelves.