Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
Japheth

Homepage

Germany (South),
02.12.2007, 20:38
 

SHSUCDX v3.04 bug (Users)

Hello,

playing with XCDROM32 I found a bug in Jason Hood's SHSUCDX v3.04 (dated 1. October 2006). When it is loaded without the /C option, there is a risk that it's local stack will corrupt other DOS upper memory blocks. The effects vary, depending on what has been loaded before SHSUCDX into DOS upper memory and how much of the stack is effectively used.

I reported this bug to Jason Hood, but since he's looking for a new maintainer it is pretty unsure that it will get fixed (soon). There is a workaround, instead of loading the driver with

INSTALL=SHSUCDX.COM

it should be done this way:

INSTALLHIGH=SHSUCDX.COM /C

---
MS-DOS forever!

Rugxulo

Homepage

Usono,
04.12.2007, 09:55

@ Japheth
 

SHSUCDX v3.04 bug

> I reported this bug to Jason Hood, but since he's looking for a new
> maintainer it is pretty unsure that it will get fixed (soon). There is a
> workaround, instead of loading the driver with
>
> INSTALL=SHSUCDX.COM
>
> it should be done this way:
>
> INSTALLHIGH=SHSUCDX.COM /C

Is this still an issue if not loaded via CONFIG.SYS?

Japheth

Homepage

Germany (South),
04.12.2007, 10:58
(edited by Japheth, 04.12.2007, 13:26)

@ Rugxulo
 

SHSUCDX v3.04 bug

> Is this still an issue if not loaded via CONFIG.SYS?

Most likely.

SHSUCDX's local stack has a size of 180h bytes. AFAIU it tries to use 0C0h bytes from its PSP, so if it is loaded without /C, the true stack size is just 180h - 0C0h = 0C0h. That's still sufficient for most cases, but if a mouse is used and the current application has installed a mouse event proc, it might be too small. The game KYRANDIA 3: "Malcolm's Revenge" is such a case (it's one of my favorite test cases for Jemm).

[edit]
even if SHSUCDX is loaded with /C there is still sometimes a problem - an indication that a local stack of 180h bytes is too small. What then helps is:

1. don't set STACKS=0,0 in config.sys
2. use Jack's SHCDX33C. This has a local stack of > 200h bytes.
[/edit]

---
MS-DOS forever!

Back to index page
Thread view  Board view
22049 Postings in 2034 Threads, 396 registered users, 268 users online (0 registered, 268 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum