VOGONS


First post, by smorpheus

User metadata
Rank Newbie
Rank
Newbie

So Biomenace crashes as soon as you kill the first purple creature for everyone... This is from the Biomenace profile on the main site's Game's page:

Just noticed this in the BM help (2004-02-28 08:10) emmzee

In the BM-HELP.EXE file which comes with the game it says: ------ If your game just locks up for no apparent reason (especially when firing a weapon, or when hitting one of the purple slugs), you'll need to try adding this to your CONFIG.SYS file. STACKS=9,128 ------ I'm not sure exactly what that means (never knew exactly what the "stacks" line in the config file was for!). Is there any way to do this in DosBox? At least it may provide a clue to the lockup problems .....

So is there anyway to simulate passing this stacks command in DOSBOX? Anyone have an idea?

Thanks a ton,
Smorph

Currently collecting Visual Pinball Tables, and organizing Quickplay as a frontend for all my emulators.

Reply 1 of 8, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Biomenace works (or at least used to - I did not test it recently) when a small patch made by Finster is run before the game. It was available only on old private betaboard, therefore I upload it here.

Finster comments:

hell, those games are buggy... they do some weird things with the interrupt table (comparing things that dont make any sense). I have attached a small patch which has to be started in dosbox before one of those games are executed. it's a simple fix writing the value 0000 at the memory address 0000:0006. Works with all three bio menaces. stupid games...

Mirek

Attachments

  • Filename
    BioPatch.zip
    File size
    1.79 KiB
    Downloads
    518 downloads
    File license
    Fair use/fair dealing exception

Reply 4 of 8, by priestlyboy

User metadata
Rank Oldbie
Rank
Oldbie

I remember about asking about this on VOGONS over a YEAR ago.
It had somethign to do with a comparing something 0:0 that didn't exist and was basically a division of 0.
Biomenace is looking for some memory register that doesn't exist and should not exist but old MS-DOS didn't make any noise about it but if we put something in to fix it there would be less free memory for other games.
Correct me if I'm wrong but I do remember something like that.

Essentially I believe the patch is like a TSR *terminate stay resident* that circumvents this "issue" but we've never considered on adding it because of wasting memory.

/Ieremiou

btw: I think you or somebody else gave me that patch last year when I asked about this issue.

Ieremiou
----------
Helping Debug DOSBox.

Reply 6 of 8, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> Alas, you are right, as DOSBox does not allow editing of config.sys, period.

You don't need the stacks statement as dosbox doesn't
use the stack for int21. All int21 functions are pretty
much "instant" operations.

The interupt table finsterr mentions doesn't seem to
be intended, as for some reason ES gets zero (some
huge list walking is before it, looks like they search
for maybe a sprite location or so).

Works with the image support.

wd

Reply 7 of 8, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

yes. looks like a null terminated list.
we came that far as well.
never figured out what they sought.

(that list is traversed on sound effects so it seems like queue or so)

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

Reply 8 of 8, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Finsterr is perfectly right, when walking the linked
list they don't check for 0 explicitly resulting in
odd checks against the int table.
These checks "work" with dos as the values are below
0x8000, but dosbox has callbacks at 0xc800 which lead
to different code paths.
The fix finsterr provides handles this.

Sorry for confusion 😉
wd