VOGONS


First post, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

So I finally decided to try out 86Box and installed FreeDOS to run some games. One of them was The Elder Scrolls: Arena (I'm using the official freeware floppy release from Bethesda), because I'm not really happy with how it works in DOSBox. However, Arena refused to work in my 86Box/FreeDOS setup: the main menus and character generation work fine, but it seems that whenever the game tries to start rendering the actual world in the first-person view (either when starting a new game or loading a save), it just gets endlessly stuck with a black screen or a load game menu. There are no error messages displayed and 86Box keeps working, it's just that the game never gets anywhere from this state.

After some Googling I discovered that I'm apparently not the only one to have this problem in relation to FreeDOS (which is why I'm not completely sure if the topic should go in PC Emulation or just plain DOS section of The Guide):

"Elder Scrolls: Arena" hangs after character creation
Elder Scrolls: Arena in FreeDOS...
Trouble getting ems to work on freedos
Ideas for running "The Elder Scrolls: Arena" with JEMMEX

It appears that the FreeDOS Expanded memory manager might be somehow incompatible with Arena, which could be the cause of the problem (for the record, I try running the game in the FreeDOS mode that uses JEMM386, because everything else results in no EMS being used and thus the game does not run at all). I thought that perhaps replacing it with a different EMM could help, but so far I only found that older FreeDOS releases used an EMM386 manager. I downloaded it from here and replaced JEMM386 with this EMM386 in my FDCONFIG.SYS, but it seems to have no effect on the issue. Are there any other options available?

If anyone is willing to give this a try, a very easy way to check how the game works is to use the demo version that should take you straight to the dungeon without the need for character creation. Under FreeDOS, I get a black screen right after the game title in the demo.

Is there a way to determine the cause of the problem? Perhaps JEMM(EX) needs some parameters set to make it work, or maybe the executable can be hacked, or a TSR programme could work around it?

Last edited by MrFlibble on 2024-01-13, 20:26. Edited 3 times in total.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 1 of 6, by Rwolf

User metadata
Rank Member
Rank
Member

Have you looked at this Github page for JEMM?
https://github.com/Baron-von-Riedesel/Jemm
There are some troubleshooting suggestions at the end of the description on the main page.

Reply 2 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie
Rwolf wrote on 2024-01-08, 15:00:

Have you looked at this Github page for JEMM?
https://github.com/Baron-von-Riedesel/Jemm
There are some troubleshooting suggestions at the end of the description on the main page.

I have tried what JEMM's author suggested in the discussion of this issue that I mentioned above, namely using this:

JEMMEX.EXE MAX=32M MIN=48 I=B000-B7FF I=TEST

But it produces the same black screen with no first-person view of the world rendered.

I also tried loading JEMM386 with the following parameters:

JEMM386.EXE MAX=16M MIN=48 I=B000-B7FF I=TEST X=TEST NOVME NOINVLPG

It has no effect whatsoever. Tried some other parameters and I had a bad crash with the message "No EMS or bad init.", then the emulation started acting weird even though I exited the programme.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 3 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

Nevermind, I installed the free CD version from GOG instead and it works fine with FreeDOS' preset that loads JEMM386 with EMS support.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 4 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

UPD2: I was able to fix the problem. Just like Baron von Riediesel suggested, FreeDOS must be loaded with JEMMEX (not JEMM386) using the following parameters:

DEVICE=C:\DIV\JEMMEX.EXE MAX=32M MIN=48 I=B000-B7FF I=TEST

In fact, the floppy version 1.06 also works with this setting as well!

Original message follows:

Looks like I've been too hasty with my conclusions.

Version 1.07 works just fine at the first glance; I finished the first dungeon, got to a town, and I can successfully enter buildings and exit the town gate to explore the wilderness. However, when I try to fast travel, the game just hangs. It may continue playing the ambient tune, but there's either a black or a white screen where normally it should play the fast travel animation.

I'll keep this open just in case someone can come up with a solution eventually. BTW, JIC, here's the FreeDOS JEMM386 preset that I use to be able to run Arena:

DEVICE=C:\FreeDOS\BIN\HIMEMX.EXE
DEVICE=C:\FreeDOS\BIN\JEMM386.EXE X=TEST NOVME NOINVLPG

UPD: I decided to try limiting EMS by adding MAX=8M to the JEMM386 parameters, and this time Arena crashed in a more informative way, by displaying this:
XN2lS37.png
Which sort of confirms that JEMM is the culprit, but my knowledge is not enough to determine what exactly went wrong here.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 5 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

There's another, lesser issue that I've not figured out yet. In the CD version, during cutscenes with speech some VOC files seem not to play at all, or a screeching sound can be heard instead. I've tried changing the emulated sound card to Sound Blaster Pro 2 with a different IRQ setting, but to no effect. In DOSBox, speech in cutscenes plays as intended with Sound Blaster 16 or any other card. I also lowered the CD-ROM speed to 8x, but again, this does not seem to have an effect.

I've no idea if this is caused by something in the memory manager or a different issue perhaps linked to emulation.

I tried increasing the FILES and BUFFERS values in FDCONFIG.SYS, but this has not helped either.

UPD: I've looked at the sound files in Audacity, and it looks like the VOC files that get corrupted or do not play in FreeDOS have one thing in common, namely there is a small portion of complete silence of about of 420 milliseconds at the beginning, while the VOC files that play normally do not have any silence at the start.
9dm1zLx.png
This silence does not seem to serve any purpose whatsoever, and indeed seems to produce unnatural pauses in the speech when played back in DOSBox. I still cannot figure out why this causes sound errors in FreeDOS/86Box.

UPD2: Tried removing this pause in Audacity and replacing the VOC file, no effect either.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 6 of 6, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie
MrFlibble wrote on 2024-01-14, 16:32:

There's another, lesser issue that I've not figured out yet. In the CD version, during cutscenes with speech some VOC files seem not to play at all, or a screeching sound can be heard instead. I've tried changing the emulated sound card to Sound Blaster Pro 2 with a different IRQ setting, but to no effect. In DOSBox, speech in cutscenes plays as intended with Sound Blaster 16 or any other card. I also lowered the CD-ROM speed to 8x, but again, this does not seem to have an effect.

I've no idea if this is caused by something in the memory manager or a different issue perhaps linked to emulation.

I've imported EMM386 from Caldera DR-DOS 7.03 and added the option to load FreeDOS with it instead of JEMMEX, which seems to have solved the speech problem. EMM386 seems otherwise less efficient than JEMMEX and leaves less conventional memory free.

I'm loading EMM386.EXE as follows:

DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=AUTO NOVCPI

DOS Games Archive | Free open source games | RGB Classic Games