VOGONS


First post, by SirGraham

User metadata
Rank Newbie
Rank
Newbie

I got my hands on a very rare DOS adventure game from the mid-90s. It's called Synnergist, and it's a very unknown old school adventure game.

Now, this game requires some EMM386 tweaking. Were it a floppy game, I'd do it by mounting a hdd image under DOSBox with it's own boot and CONFIG.SYS, like I did (very successfully) with the Big Red Adventure.
However, this is a CD game, and I can't find a way to load a CD drive into DOSBox after mounting a hdd image.
This is the error that I get when I try to run the game:

dosbox0008pv.png

Any suggestions?

Reply 1 of 58, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

that CD-ROMs or CD-ROM images are not supported in boot mode is something that I find sad as well.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 2 of 58, by SirGraham

User metadata
Rank Newbie
Rank
Newbie

Yes, you can use a generic driver like OAKCDROM.SYS for it, should be possible.
Another option for this game and other games with similar problems would be to allow EMM386 switches in the regular mode of DOSBox.

Reply 3 of 58, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well if that game really wants those areas included than it's a very stupid game.
I hope something else is wrong.
Try some other memory configuration of dosbox. More/less memory. xms on/off.

CDROM support under booting. Well it has no priority at all for me. Booting a different version of DOS is a nice addition but not really an essential feature.

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

Reply 5 of 58, by SirGraham

User metadata
Rank Newbie
Rank
Newbie
Qbix wrote:
well if that game really wants those areas included than it's a very stupid game. I hope something else is wrong. Try some other […]
Show full quote

well if that game really wants those areas included than it's a very stupid game.
I hope something else is wrong.
Try some other memory configuration of dosbox. More/less memory. xms on/off.

CDROM support under booting. Well it has no priority at all for me. Booting a different version of DOS is a nice addition but not really an essential feature.

I guess it's a very stupid game then, because that's the settings that it requires. On DOSBox 0.63, by the way, it simply crashes DOSBox instead of giving that message.

Anyway, if DOS boot is not important for DOSBox, then perhaps it should be possible to include some possibility to add switches to EMM386 for games like Synnergist?

Reply 6 of 58, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

a switch like that isn't possible.
Real system as well as dosbox have information stored in that part of memory.

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

Reply 7 of 58, by SirGraham

User metadata
Rank Newbie
Rank
Newbie
Qbix wrote:

a switch like that isn't possible.
Real system as well as dosbox have information stored in that part of memory.

Well, I finally gave up on trying to run the game under DOSBox or on my Win98 machine, so I hooked up an old Pentium 1 that has a true MS-DOS 6.22 installed on it, and Synnergist ran without a hassle. Even though the problematic switch was not necessary, I tried putting it in CONFIG.SYS to see what happens, since you said it's not a possible switch, and the computer booted fine and everything seemed OK, no error messages. So why isn't that switch possible?

Reply 8 of 58, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well it's a possible switch.
But it's not likely to find additional memory in that location.
In DOSBox you won't find much memory available there.

The game might be needing more umb block actually
try
ems=false
and
umb=max

Else you should see if you can create a small package of files to recreate the problem. Then we might be able to figure out what is wrong.

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

Reply 9 of 58, by SirGraham

User metadata
Rank Newbie
Rank
Newbie
Qbix wrote:

well it's a possible switch.
But it's not likely to find additional memory in that location.
In DOSBox you won't find much memory available there.

Well, on a regular MS-DOS 6.22 machine the game runs flawlessly even if there are no EMM386 switches at all, so I wonder what's stopping it from running under DOSBox.

The game might be needing more umb block actually try ems=false and umb=max […]
Show full quote

The game might be needing more umb block actually
try
ems=false
and
umb=max

No, both EMS and XMS must be available, otherwise the game will quit even before reaching the error message in question.

Else you should see if you can create a small package of files to recreate the problem. Then we might be able to figure out what is wrong.

Is 7MB small enough? I was able to reproduce the problem with 7MB worth of files. I've uploaded the package to sendspace.com, it should be there for like a week, I think. Click here to get it.

NOTE: the "installed" files must be placed in C:\21STCENT\SYN\, and the "fake CD" ISO must be mounted as drive D:\. After both are mounted, go to C:\21STCENT\SYN\ and type 'synn' to run the game and see the error.

Reply 10 of 58, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> so I wonder what's stopping it from running under DOSBox

dosbox doesn't emulate an emm386 (which itself is an ems emulator),
but a real ems board, so things are pretty different by times.

Reply 11 of 58, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

the problem is with ems call 50 subfunction 0x1
One of the pages is below our pageframe and we don't handle that correctly. Not sure how to handle it. but I think it's the source of the problem.

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

Reply 12 of 58, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> One of the pages is below our pageframe

Ok, i got another game with much the same problem (remaps segment
0xa000 for fun), got this one working but don't really have any information
about at what level the remapping was done.

Reply 13 of 58, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

they try to map
d000
and
d400
etc.
(which might not be possbile with dosbox as that area is taken)
but our calculation of d000-e000 gives very odd addresses.

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

Reply 15 of 58, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author
Bit16u physPage = (mem_readw(data)-EMM_PAGEFRAME)/(0x1000/EMM_MAX_PHYS); data+=2;

I don't know (yet) if the d000 is static. According to LIM EMS 4.0 specification programs should query the valid addres range first. (they don't do this though).

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

Reply 16 of 58, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The calculation is fine, as only the pageframe is remappable (this function
is only called with a valid physpage value).

Looks like they rely on emm386 being present (they even have it in their
error message...), which can remap ROMs easily. It's not an option for
dosbox though.

Reply 17 of 58, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I was able to remap that region, if there's serious interest in
(trying to) play that game i might put up an executable for testing.

Don't know if the game really works after that as some
memory regions are zero, as it is the same under msdos i
assume it's caused by some missing files.

Reply 18 of 58, by LoneLines

User metadata
Rank Member
Rank
Member

Well, count my vote as interested in it, I'll even attempt to play through before my finals in 2 weeks 😉

LoneLines list of workarounds for various games in DOSBox:
http://ADogsBox.jellofishi.com

Reply 19 of 58, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The executable and config file (please try to use this one instead of
old/generated ones) are attached, dlls from the 0.65 release or from
somewhere on the net should work. This is for windows only, linux
might be a bit harder to get the stuff together.
If it hangs at the very beginning with a black screen (as it does with
the upped (partial) game), please post the generated log file, and/or
have a look in the debugger where it loops.
[file removed, see later postings]

Last edited by wd on 2006-06-30, 08:23. Edited 1 time in total.