VOGONS


Demo application crashing.

Topic actions

First post, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

Hi people.

I have an old DOS protected mode multimedia-presentation here I wanted to run (http://www.scene.org/file.php?file=/parties/1 … mo/tour_by_.zip). It always crashes at the same point however.

I fired up a debug console, which prints this before dying and killing DOSBox with it:

CPU: Illegal/Unhandled Opcode F
PIC:0 mask FF
PIC:1 mask FF
INT10: Set Video Mode 3
VGA: Blinking 8
PIC:0 mask F8
PIC:1 mask EC

EIP of the crash is 0x000109E4. The EXE is packed somehow though...
DOSBox then crashes with an access violation at adress 0. I tried some experimental 0.72 builds (ytwong) too, but got the same results.

Hope anyone can help or tell me this can/will be fixed some day.

cheers

rarefluid

Reply 3 of 36, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

I don't see any credits. I *think* I see a green flash or something before it exits back to the DOSBox prompt. Tried various combinations of cores, cycles, ems, xms, ubm, all sound devices set to off/false, cga, tandy, pcjr, vga. Will only run with vga, otherwise complains about having to use UNIVBE.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 5 of 36, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

0F77 seems to be the EMMS instruction, so it definitely uses MMX.
Sorry guys. haven't thought of that.

Are there any plan on adding MMX to DOSBox in the near future?

...find some video captures of old DOS demos here...

Reply 8 of 36, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

A 80386 with MMX? Happy

🤣. I should write before I think...

Nope, but i didn't check this demo yet, could be they're executing rubbish, too.

I don't really know, because I don't know of a way to show the code being executed before the application crahes...

...find some video captures of old DOS demos here...

Reply 11 of 36, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

but you don't see the instruction opcode getting executed. the exe is packed, so I can't have a look myself with a disassembler..

...find some video captures of old DOS demos here...

Reply 12 of 36, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Get some debugger-enabled build of dosbox, should be easier than
disassembling a packed .exe
Either the intstruction is intentional (nothing you can do besides implementing
some mmx instructions) or it executes rubbish, where you'd have to look
WHY it executes that.

Reply 14 of 36, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

I have a debugger build of Yk$%&whateverwongs experimental 0.72 builds. Can you point me to decent documentation about the debugger or tell me how to break program execution or step through the code?

That it crashes DOSBox should be considered a bug though! Executing a bad program shouldn't crash it imo...

...find some video captures of old DOS demos here...

Reply 16 of 36, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

Try Bochs

Does it have a video capture capability?! I couldn't find information about that...
I could use it to check out what opcode it executes though...
The demo, if it uses MMX, fails to check the CPU type. Not good. People did nasty stuff in the past, but MMX wasn't that common back then, so I can't believe they didn't test for that...

...find some video captures of old DOS demos here...

Reply 17 of 36, by rarefluid

User metadata
Rank Newbie
Rank
Newbie

DOSBox is not supposed to run your nuclear power plant you know

😉
Though you may be right, this should be a very common problem and already taken care of...

...find some video captures of old DOS demos here...

Reply 19 of 36, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It does NOT crash with 0.72 for me.

this should be a very common problem and already taken care of...

A dos game executing mmx stuff while not checking for the processor
type is a common "problem"? DOSBox fully takes care of that in throwing
exception6 which is what a real non-mmx processor does.