VOGONS


First post, by Magamo

User metadata
Rank Member
Rank
Member

I've notedd in the past (Under the screenshots from Latest CVS thread) that The Wing Commander II issue when inputting your character name is now fixed. I've been trying to bite my tongue until dosbox 0.61 is officially released before bringing it up again, but I've grown slightly impatient, and want to run my info past you all.

I'm running the CVS pull from the 16th of January on Slackware 9.1, 2.4.24 kernel. Pentium III/600 w/ 128 MB PC100 ram. I've got an Intel PIIX4 based Motherboard, and an SB Live.

I can play through most of the second mission of the game, until all the Sarthas around the Concordia have been destroyed. When it attempts to go into the storyline segment, there, the game halts, and prints:

Divide error
Null pointer assignment

Followed by a command prompt, but it does not reset the video mode, so this is displayed as slightly corrupted, large grey text over the last graphics of the game being shown.

The debug output of the game at the point where it begins to open the file is this:

 523615366: FILES:file open command 2 file TEMPGLOB.000
523623470: FILES:file open command 2 file campaign.s00
528591985: CPU:GRP6:Illegal call 6
528592392: IO:Writing 8A to undefined port 003F
528592434: IO:ReadB:Out or range read from port 5CFE
528592466: CPU:Illegal Unhandled Interrupt Called 3
528592495: CPU:Illegal Unhandled Interrupt Called 3

Any insights, as I'm not much of a programmer, looks as though it's attempting to write to a spot in memory that DosBox didn't realize that anything would want to write to.

There is also the possibility that my game files are corrupt, as I directly copied them off the game CD, which is mildly scratched.... but usually I'll just get I/O errors from the disc, and know that there's something wrong. 😀[/code]

Reply 1 of 36, by Fizzban

User metadata
Rank Newbie
Rank
Newbie

528591985: CPU:GRP6:Illegal call 6

This means that WC2 tries to execute a CPU command that does not exists. I looked into the official Intel documentation and there is no entry for that opcode.

528592392: IO:Writing 8A to undefined port 003F
528592434: IO:ReadB:Out or range read from port 5CFE

Ports are the default way for the CPU to communicate with the various hardware components in a PC. These two ports numbers doesn't make sense, though.

All in all, this looks like either corrupted code or the execution of some non-code data. You mentioned some scratches on your CD. I would suggest that you first try to get hold of an another copy (or find someone who tests the game for you in DOSBOX) before doing anything else.

Reply 2 of 36, by Magamo

User metadata
Rank Member
Rank
Member

Update on this issue: I went and threw a Realtek NIC in an old machine that has WC2 installed. Grabbed it over to this machine, and ran DOS Box. This time, at the same point, (After you destroy all the Sarthas attacking the Concordia in mission 2) dos box crashes. No illegal opcode report in debug, just segfault. I played through this mission on the old 486, so I know this copy works (Albiet, I had to disable the DPMI host on that box [It's running QEMM]) I'm currently running DosBox with DPMI=false, with no change in behavior.

I'll get an strace from this on Monday.

Reply 3 of 36, by McQueen

User metadata
Rank Newbie
Rank
Newbie

Just to comment this.
I have exactly the same Problem. With Secret Operations 1 and 2 you can't even play the first mission.
Environment:
Dosbox 0.61 on a FreeBSD 4.8-release and 5.2-release.
I hope that it'll be fixed soon.
If someone needs a strace or something like that, drop me a line (and give me a small howto) ;)

best regards,
McQueen, who would love to play Wing Commander 2 ...

Sunrise, Wrong Side of another Day...
or
The problem with Trouble Shooting is, that Trouble shoots back.

Reply 6 of 36, by Magamo

User metadata
Rank Member
Rank
Member

I believe you might've missed my point. 😀 I've been testing with the normal core, in fact, I use the normal core almost exclusively. I just switched to dynamic to see if things would react differently, and they did, slightly. 😀

Reply 7 of 36, by voyageur

User metadata
Rank Newbie
Rank
Newbie

Using full core (dosbox 0.61), the game does not stop after destroying the second wave of ennemies: I could ask permition to land to concordia, but trying to land just segfaulted dosbox itself with:
Fatal signal: Segmentation Fault (SDL Parachute Deployed)

Voyageur

Reply 8 of 36, by Nomad

User metadata
Rank Newbie
Rank
Newbie

I get the same problem. My game also crashes when I try to land on the concordia, and I know my copy of WC2 is good.

I was so glad when I found out that Dosbox 0.61 allowed you to type in WC2, only for it to crash on the second mission. I hope somebody can find out how to fix this problem.

Btw, where do I download the latest Dosbox CVS? (Yes I know we're not meant to discuss CVS here, but I can't find where to download it from)

Imagine a world where we can play all DOS games. Wouldn't it be nice?

Reply 9 of 36, by do_not_land

User metadata
Rank Newbie
Rank
Newbie

I get the same problem. My game also crashes when I try to land on the concordia, and I know my copy of WC2 is good.

Have you guys ever considered that maybe the Concordia just isn't giving you permission to land, and is segfaulting you on purpose?

Its pretty clear to me the programmers envisioned the possibility of a DOS emulator being used, and reserved the right for the Concordia to get hostile if emulated or otherwise under duress.

Reply 11 of 36, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

we would have to play the game to test it

Anyway. what about flying to one waypoint and returning ?
does it work then (you fail the mission, but does it crash ?

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

Reply 12 of 36, by Magamo

User metadata
Rank Member
Rank
Member

Under 0.61, if, once you autopilot and defeat the initial pair of sartha, hit 'n' to set your waypoint back to caernavon, dos box crashes with an unhandled CPU opcode error. Odd, since switching to the nav computer before autopiloting reacts normally.

On monday I'll compile a debug enabled version from CVS, and test this again.

Reply 13 of 36, by Magamo

User metadata
Rank Member
Rank
Member

Okay, a few days late, but here we go

When I would autopilot, then press 'n' to bring up the nav computer to switch back to caernavon station:

166274777: FILES:file open command 2 file cockpit.vga
166326244: FILES:file open command 2 file cockpit.vga
166358949: FILES:file open command 2 file sector.000
66439426: Unhandled code 12E
166439911: IO:Writing 00 to undefined port 004C
166439936: IO:Writing 79 to undefined port 004D

When I would proceed to defeat the sartha, this time, I would no longer see any sort of unhandled opcodes, but the game would still crash, this time the debugger complaining a whole lot about FPU issues

455504638: FILES:file open command 2 file tape.tmp
556772915: FILES:file open command 2 file tape.tmp
588708996: FILES:file open command 2 file TEMPGLOB.000
588717226: FILES:file open command 2 file campaign.s00
594341537: FPU:ESC 3:Unhandled group 3 subfunction 3
594341538: FPU:ESC 3:Unhandled group 3 subfunction 3
594341539: FPU:ESC 3:Unhandled group 3 subfunction 4
594341540: FPU:ESC 2:Unhandled group 3 subfunction 2

594341542: FPU:ESC 2:Unhandled group 3 subfunction 2
594341543: FPU:ESC 2:Unhandled group 3 subfunction 2
594341544: FPU:ESC 2:Unhandled group 3 subfunction 2
594341549: FPU:ESC 2:Unhandled group 3 subfunction 1
594341551: FPU:ESC 3:Unhandled group 3 subfunction 3
594341552: FPU:ESC 3:Unhandled group 3 subfunction 3
594341554: FPU:ESC 3:Unhandled group 3 subfunction 3
594341555: FPU:ESC 3:Unhandled group 3 subfunction 3
594341556: FPU:ESC 2:Unhandled group 3 subfunction 3

This continued all the way til log number: 594472095
The subfunction cited in each one being from 1-6, the ESC code also changing from... 2-6, though I cannot puzzle out what's going on there.

If you would like a copy of the game as I have it now, Qbix, I'd be happy to e-mail a copy to you, for debugging purposes.

Reply 14 of 36, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well most of those missing functions are conditional moves. I'm not sure if a 386 had those. I thought they were pentium.....
The game itself is bit too much.

Maybe a savegame ? I have the french version the game. I think It shouldn't matter. If it's not to big you could attach a savegame here.

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

Reply 18 of 36, by Magamo

User metadata
Rank Member
Rank
Member

I'm not sure why, either... But it does.

Attachments

  • Filename
    savegame.zip
    File size
    650 Bytes
    Downloads
    202 downloads
    File comment
    My Wing Commander II save game, just go ahead, unzip it into the gamedat directory, resume current game, and fly mission.
    File license
    Fair use/fair dealing exception

Reply 19 of 36, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well i hope you'll actually DO that before, it'll reduce
the debugging time by hours 😉

to QBix: overwrites some memory on reading files,
it seems like they never tested their internal memory
routines with REALLY much free mem...

wd