joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.81k stars 383 forks source link

DOS games testing list #1809

Closed DSN9990 closed 3 years ago

DSN9990 commented 4 years ago

I will now continuously update this list related to DOS gaming, so I updated my config file anyway.

Config (as of 0.83.13):

[sdl]
output=direct3d
autolock=true

[dosbox]
machine=svga_s3
memsize=24

[video]
vmemsize=2
allow low resolution vesa modes=true
allow 32bpp vesa modes=true
allow 24bpp vesa modes=true
allow 16bpp vesa modes=true
allow 15bpp vesa modes=true
allow 8bpp vesa modes=true
allow 4bpp vesa modes=true
allow tty vesa modes=true
ignore extended memory bit=true

[cpu]
core=dynamic_x86
cputype=pentium
cycles=max

[dos]
ver=5.0

[autoexec]
MOUNT C D:\C_DRIVE
C:
rderooy commented 4 years ago

@DSN9990 This is an issue with System Shock, not DOSBox-X. The "Enhanced" CD version simply expects you to run INSTALL.EXE from Windows 95, even though it is a DOS game.

Instead try the following;

D:
CD INST
INITIAL.EXE

I think that will get you past the problem.

DSN9990 commented 4 years ago

@Wengier Can you update the file dosbox-x-update.zip to your latest commit again? I want to test the CD player you added.

Wengier commented 4 years ago

@DSN9990 The new file is here:

Link: dosbox-x-update.zip

Note: The freeware CD player is included in DOSBox-X with explicit permission from its author.

DSN9990 commented 4 years ago

@Wengier I tried an simulation game called Darker some days ago and it did not work. It gets stuck with a blinking cursor when I run INSTALL.COM to install the game. I tried with EMS disabled/enabled.

Wengier commented 4 years ago

@DSN9990 I just tried the game myself and found that it installs and runs fine with the current code. I downloaded the game ISO from:

https://www.myabandonware.com/game/darker-2dn#download

DSN9990 commented 4 years ago

@Wengier The link you posted have the same ISO I downloaded from Old-Games.RU. What's your config? Do I need an specific setting?

Wengier commented 4 years ago

@DSN9990 I have tried with the default setting (-defaultconf) too, and it installs normally. A screenshot:

image

DSN9990 commented 4 years ago

@Wengier Can you give me a link to download Gravis Ultrasound drivers?

Wengier commented 4 years ago

Gravis UltraSound sound driver for DOS and Windows 3.x:

https://winworldpc.com/product/gravis-ultrasound-drivers/gf1-dos-win31

DSN9990 commented 4 years ago

Thanks!!! I got full sound in Duke3D. It sounds perfectly.

inukaze commented 4 years ago

Hi there @DSN9990 can you make a little favor? can you download and test "The Elder Scrolls : Arena" can be free downloaded from https://elderscrolls.bethesda.net/es/daggerfall/

The thing is i installed like explanations like this -> https://www.instructables.com/id/How-to-Install-Daggerfall-on-DOSBox/

Everything looks like working normally, the thing is when i try to save the game, the screen just goes fully black, can you test if happen to you too?

DSN9990 commented 4 years ago

@inukaze I was not able to reproduce this issue. I tried it and it works just fine for me when I either save/load a game. I used Gravis Ultrasound in the setup program. I downloaded a floppy version from Old-Games.RU (and a patch to update the game to 1.06).

inukaze commented 4 years ago

Well i had a "cd" version and i use "Sound Blaster" xD because i don't know how to configure gravis ultrasound for full working in dosbox xD, the patch on the cd version i had (include a spanish fan translation) is for put the game ni the version 2.13. (but i don't know if really that is an official version can be applied using a patch)

DSN9990 commented 4 years ago

@Wengier I found that the volume of the GUS is too low compared to the SB16. Is there a way to fix this?

rderooy commented 4 years ago

@DSN9990 did you try using the MIXER command?

command_000

Wengier commented 4 years ago

@DSN9990 Now I see why when you try to install the Darker game it got stuck with a blinking cursor. It is because you used the "dynamic" core. If you use the normal core it will install just fine.

DSN9990 commented 4 years ago

@Wengier Cannon Fodder CD doesn't work for me, gives an message "Error initializing Sound Blaster card". Can you fix this issue?

DSN9990 commented 4 years ago

The GUS had some problems for me, like distorted sound in C&C. Because of this I disabled it and I will use it only for demoscene productions.

Wengier commented 4 years ago

@DSN9990 What are the settings you use for GUS?

Wengier commented 4 years ago

@DSN9990 Cannon Fodder CD seems to work fine when I select "Sound Blaster" and "Adlib" in the settings before launching the game with CANNON.BAT. I used the default setting for DOSBox-X. The game is downloaded from:

https://wowroms.com/en/roms/dos/cannon-fodder/146532.html

DSN9990 commented 4 years ago

@Wengier I found that Cannon Fodder CD crashes only when the Dynamic core is selected. If I choose the Normal core the game will run. Can you fix this problem so the game can run in Dynamic core?

Wengier commented 4 years ago

@DSN9990 The dynamic core has issues not just for this game, but also for Windows 95/98 in general too, so I think significant work is required for improving the dynamic core. Why not just use the normal core instead for the time being, which has the maximum compatibility with DOS games and applications?

joncampbell123 commented 4 years ago

@DSN9990 Dynamic core cannot run anything that handles page faults in a manner other than handling the fault and returning to the fault address. For that reason, dynamic core is generally fine for DOS extenders that provide a swap file like CWSDPMI (and Quake) and Windows 3.1.

However the preemptive multitasking and page fault handling in Windows 95 doesn't work well with dynamic core. Windows 95/98/ME allows task switching during a page fault, which is at odds with DOSBox SVN's general design and the dynamic core's expectations of page fault handling. Furthermore dynamic core does not restart instructions properly in that case. CPU state can get corrupted because half an instruction executes before a fault is processed and returning from the fault can result in half of this state and half the other state of the task it switched from.

There's a reason normal core in DOSBox-X was heavily modified to use a C++ exception (GuestPageFault) instead of recursion and why each instruction is designed to restore initial CPU state upon a page fault (so that it is restartable). This is what allows DOSBox-X's normal core to run Windows 95/98/ME properly.

DSN9990 commented 4 years ago

I don't use the normal core because it is slower depending on the application (at least for me?).

DSN9990 commented 4 years ago

The normal core can be optimized for lower-end systems?

joncampbell123 commented 4 years ago

@DSN9990 Yes, well, dynamic core's design, inherited from DOSBox SVN, doesn't work well with some corner cases like what I described. I wish it did.

I do recall someone on the Vogons forums mentioning that some fix involving the stack pointer can improve dynamic core's compatibility with Windows 95, but I'm not sure what that fix is yet.

DSN9990 commented 4 years ago

@joncampbell123 DOSBox-X's normal core can be optimized for lower-end systems, if possible?

joncampbell123 commented 4 years ago

@DSN9990 Maybe. At this time the dynamic core code is borrowed and updated from DOSBox SVN since it is a popular feature.

DSN9990 commented 4 years ago

@joncampbell123 One more question, which other game is known to use CWSDPMI instead of Quake?

joncampbell123 commented 4 years ago

@DSN9990 Not sure, most 32-bit DOS games I test like to use DOS4GW.EXE, but you can tell by whether or not there is a CWSDPMI.EXE in the same directory.

DSN9990 commented 4 years ago

Oops. I closed and reopened now.

DSN9990 commented 4 years ago

I tested Terra Nova: Strike Force Centauri in DOSBox-X and I noticed corrupted colors in the main menu:

__ff_000

I also noticed that in vanilla DOSBox, this problem does not occur so there is a issue in DOSBox-X.

tnfdosbox

joncampbell123 commented 4 years ago

@DSN9990 I think I came across this before... some later 90s games that support VESA BIOS 256-color modes will use 8-bit DAC mode if available. In 8-bit DAC mode the VGA palette registers hold a full 8-bit value instead of just a 6-bit value, thus you get a VGA palette with a full RGB 8:8:8 bit depth.

Notice the red "Strike Force Centauri" in the corrupted colors case is 4x brighter and the red channel is saturating back to zero.

DOSBox SVN as far as I know does not emulate that. DOSBox-X does. However implementing it and testing it shows that some games decide whether 8-bit DAC mode is available by trying the call and can misprogram the palette if the return value is not exactly what it expects.

Try:

enable 8-bit dac=false
DSN9990 commented 4 years ago

Thanks. The option fixed that.

joncampbell123 commented 4 years ago

@DSN9990 I have a demo copy of that game that I test with which also uses the 8-bit DAC mode and it works properly here. Perhaps the full game uses it differently?

DSN9990 commented 4 years ago

@joncampbell123 I don't know.

DSN9990 commented 4 years ago

The graphics rendering in Zone Raiders looks very, very bad:

raid_000

raid_001

joncampbell123 commented 4 years ago

DOSBox SVN, and VS2019 builds of DOSBox-X, use the "double" floating point type for FPU emulation, unless you use dynamic core.

MinGW, Linux and Mac OS X (x86/x64) builds of DOSBox-X use the "long double" floating point type for FPU emulation which can provide the full 80-bit precision the FPU uses.

Some DOS games and demos have code that is sensitive to whether "double" or "long double" floating point precision is available.

VS2019 builds cannot provide the "long double" precision needed by these games because Microsoft arbitrarily decided long ago to alias "long double" to "double" and not provide compiler support for the 80-bit long double type supported by the processor. That happened sometime between Windows 3.1 and Windows 95 when they went full 32-bit, I think.

DSN9990 commented 4 years ago

@joncampbell123 Which host CPU do you recommend for running Win95 with normal core in DOSBox-X?

joncampbell123 commented 4 years ago

32-bit or 64-bit x86/x64 should be fine, just make sure you give Windows 95 enough hard disk space and memory. You can run it with or without IDE emulation. Windows 95 at least here runs at an acceptable speed given 20000-30000 cycles on relatively recent Intel or AMD processors.

Make sure you use normal core all the way through the install process. Dynamic core can screw up the install process.

If any other faults occur, try disabling APM bios emulation. At one time that was also a source of crashes at least with Windows 98/ME.

Don't use full or dynamic core with Windows 95. Dynamic core doesn't work with it and full core has a few issues that cause some graphical errors in the user interface I haven't yet tracked down.

DSN9990 commented 4 years ago

@Wengier I got the following error when trying to install WWF In Your House:

command_006

Wengier commented 4 years ago

@DSN9990 Where did you download the game from? I tried to download the game from both of the following places, but there isn't even an INSTALL.EXE program in it. I can find SETUP.EXE and WWFIYH.EXE though, both seem to work fine here.

https://www.myabandonware.com/game/wwf-in-your-house-2dz

http://www.abandonia.com/en/downloadgame/407

DSN9990 commented 4 years ago

@Wengier From Old-Games.RU. I downloaded an ISO that comes with INSTALL.EXE. This version seems to have CD tracks.

Wengier commented 4 years ago

@DSN9990 I could not test that now, but the posted error seems to suggest that your %TEMP% environment variable is not correctly set. You could check that, such as changing it to a different location what is writable.

DSN9990 commented 4 years ago

@Wengier I got it working by changing TEMP=C:\WINDOWS\TEMP to TEMP=C:.

DSN9990 commented 4 years ago

@Wengier I got a "Divide error" when I go to install Retribution, a game by Gremlin Interactive. I also tried normal core with no luck. Also, DOSBox-X hangs with a blinking cursor when I run for the 2nd time. Tried also 486 and 486old CPU types. Can you test this, please?

Wengier commented 4 years ago

@DSN9990 I downloaded the game from the following URL, and INSTALL.EXE seems to load quite slowly before the full-screen interface shows up, but it does seem to run fine afterwards.

https://www.myabandonware.com/game/retribution-2vc

muhul commented 4 years ago

When I run Wing Commander 3, the following error occurs and the Dosbox reboot.

LOG: 39056101 ERROR BIOS:INT15:Unknown call ax=1209 LOG: DOSBox-X has switched to max cycles, because of the setting: cycles=auto. If the game runs too fast, try a fixed cycles amount in DOSBox-X's options. LOG: VCPI:Could not load TR with 10 LOG: CPU_Interrupt() interrupted LOG: CPU_Interrupt() interrupted LOG: CPU_Exception: Exception 14 already in progress, triggering double fault instead LOG: Warning: PAGING_NewPageFault() more than one level, now using level 2 LOG: CPU_Exception: Double fault already in progress == Triple Fault. Resetting CPU. LOG: Removing UMB block 0xcc00-0xdfff LOG: Rebooting the system

I've tried all the ems options, but they're all in the same situation.

rderooy commented 4 years ago

Set core=normal in your config file.

On Mon, 12 Oct 2020, 09:26 muhul, notifications@github.com wrote:

When I run WinkerMander 3, the following error occurs and the Dosbox reboots.

LOG: 39056101 ERROR BIOS:INT15:Unknown call ax=1209 LOG: DOSBox-X has switched to max cycles, because of the setting: cycles=auto. If the game runs too fast, try a fixed cycles amount in DOSBox-X's options. LOG: VCPI:Could not load TR with 10 LOG: CPU_Interrupt() interrupted LOG: CPU_Interrupt() interrupted LOG: CPU_Exception: Exception 14 already in progress, triggering double fault instead LOG: Warning: PAGING_NewPageFault() more than one level, now using level 2 LOG: CPU_Exception: Double fault already in progress == Triple Fault. Resetting CPU. LOG: Removing UMB block 0xcc00-0xdfff LOG: Rebooting the system

I've tried all the ems options, but they're all in the same situation.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/joncampbell123/dosbox-x/issues/1809#issuecomment-706931279, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEHBR2VDPB5AAZNMDHLTQ7TSKKVS5ANCNFSM4QF3TS5A .

muhul commented 4 years ago

Thank you for your quick reply. However, setting core to normal results the same

LOG: 48758589 ERROR BIOS:INT15:Unknown call ax=1209 LOG: DOSBox-X has switched to max cycles, because of the setting: cycles=auto. If the game runs too fast, try a fixed cycles amount in DOSBox-X's options. LOG: VCPI:Could not load TR with 10 LOG: CPU_Interrupt() interrupted LOG: CPU_Exception: Exception 14 already in progress, triggering double fault instead LOG: Warning: PAGING_NewPageFault() more than one level, now using level 2 LOG: CPU_Exception: Double fault already in progress == Triple Fault. Resetting CPU. LOG: Removing UMB block 0xcc00-0xdfff LOG: Rebooting the system