joncampbell123 / dosbox-x

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

Some games with problems #2377

Open reignerdeustcher opened 3 years ago

reignerdeustcher commented 3 years ago

I'm having problems in this games that doesn't happen in dosbox 0.74, tried the 64-bit SDL2 build: dosbox-x-64-update.zip but is the same

pinball fantasies deluxe: a black screen appears while playing the game fifa international soccer: crashes wing commander 3: makes a restarting loop in dosbox-x that never ends witchaven 2: have no sound even when in the setup everything is ok

Wengier commented 3 years ago

@reignerdeustcher Thanks for reporting the issues. You are right that the game "fifa international soccer" crashes when starting, at least with the standard settings, but it does not appear to run in DOSBox 0.74 either. I downloaded the game from here.

For Wing Commander 3, try disable the EMS memory (ems=false) and see if it helps.

For Witchaven 2, I can hear music when running in DOSBox-X (and DOSBox 0.74). I downloaded the game from here.

reignerdeustcher commented 3 years ago

@reignerdeustcher Thanks for reporting the issues. You are right that the game "fifa international soccer" crashes when starting, at least with the standard settings, but it does not appear to run in DOSBox 0.74 either. I downloaded the game from here.

For Wing Commander 3, try disable the EMS memory (ems=false) and see if it helps.

For Witchaven 2, I can hear music when running in DOSBox-X (and DOSBox 0.74). I downloaded the game from here.

i can play fifa in dosbox 0.74, that's weird

wing comander without ems now in the intro hangs yes, witchaven have music but there's no sound fx

rebb commented 3 years ago

Not sure if its ok to chime in here with another game "problem".

Terra Nova Strike Force Centauri has quite slow fading in it's high res menus, compared to the default DosBox that comes with the GoG Version.

I wonder if some .conf settings could help, i tried changing CPU Types and cycles to the ones from the GoG conf, but so far it didn't seem to do anything for it.

Granted, not a huge problem, the game appears to work fine otherwise. <3 Dosbox-X

rebb commented 3 years ago

Not sure if its ok to chime in here with another game "problem".

Terra Nova Strike Force Centauri has quite slow fading in it's high res menus, compared to the default DosBox that comes with the GoG Version.

I wonder if some .conf settings could help, i tried changing CPU Types and cycles to the ones from the GoG conf, but so far it didn't seem to do anything for it.

Granted, not a huge problem, the game appears to work fine otherwise. <3 Dosbox-X

Never mind, found a solution :) Seems VSync is the culprit in this case, setting it to "host" in the config file fixed the problem. Yay.

reignerdeustcher commented 3 years ago

other thing that it happens in all games is when the game goes into the black screen of transition (from the dos prompt to the intro, from the intro to the menu, from the menu to the game, etc) instead of all black screen there's like 2 white squares, this doesn't happen in dosbox 0.74

reignerdeustcher commented 3 years ago

fallout also crashes when loading the game

NebularNerd commented 2 years ago

Testing the Witchaven 2 link above I got sound and music running fine. You have to make sure the setup matches for the Soundblaster to get effects. The SETUP.EXE defaults to IRQ 5 but you need 7 when using the standard DOSBOX-X.conf. Gameplay is fine with all noises as expected. Worse issue is the horrendous performance when playing back the .smk videos during the setup (when you hear the voice for the talking head) or game loading (intro movie and any others later one). Once in the game proper all seems ok.

Notice the first speech (which has no sound in it's file) plays fine, once you set the sound it grinds to a halt in the following footage.

https://user-images.githubusercontent.com/8470449/190233150-77285f69-cd6c-4d91-8fb3-0167b0b9f158.mp4

In-Game with sounds and music.

https://user-images.githubusercontent.com/8470449/190233483-1dceaa87-b8d1-4028-830e-8e872253d636.mp4

I believe the performance issue is down to the Smackplayer code making hard work of things. If you do not set the sound up correctly the videos play at full speed, only when actual audio output takes place it slows down.

If you select no sound the outro speech plays at the correct speed.

https://user-images.githubusercontent.com/8470449/190235392-f4ee7e59-2c92-4155-8a7a-ddb09f5c3572.mp4

I've tried a few core, cycles and machine options to experiment but nothing seems to make them play smoothly.

rderooy commented 2 years ago

Try playing with vmemdelay

NebularNerd commented 2 years ago

Try playing with vmemdelay

No luck for me, tried sensible to ludicrous values and it still jars to halt when audio playback occurs. I also tried blocksize and prebuffer again with sensible to the max without any help.

It seems that smackplayer is culprit, there is a thread I found on GOG: Syndicate Wars at Max Cycles where they set the cycle limit lower while playing the intro video. I remember years back setting Syndicate Wars cycles to some stupidly high amount to make it behave.

Sure enough setting cycles = max limit 20000 does the trick in setup and the intro video. However it then ruins gameplay speed.

https://user-images.githubusercontent.com/8470449/190417915-88c3db9f-05bb-473f-8d74-ff51d4577d8b.mp4

https://user-images.githubusercontent.com/8470449/190418445-53e34a65-fb6d-4973-9956-8aa3b9d0c0c9.mp4

If you can ignore the stuttering videos (and skip over them) then leave the cycles alone, otherwise you'll need to configure a similar set of cycles as in the GOG thread to jump around depending on what is on the screen.

NebularNerd commented 2 years ago

Fifa International Soccer appears to work with a couple of setting changes, see #2481

grapeli commented 2 years ago

Worse issue is the horrendous performance when playing back the .smk videos during the setup (when you hear the voice for the talking head) or game loading (intro movie and any others later one). Once in the game proper all seems ok.

The only recommended settings for this game are sbtype=sbpro2 or sbpro1. Only with them works the playback of smk files. This applies not only to dosbox-x but also to dosbox-staging and -svn (they all behave identically).

SMK files play correctly in the game. From the configuration stage, they are burdened with cracks in one channel. Maybe because these are monophonic? They can be played in any video player (based on ffmpeg - mpv, vlc, ffplay) are encoded - smackvideo, smackaudio (22050Hz mono). They are located on the CD image in the instdata/ directory.

NebularNerd commented 2 years ago

Worse issue is the horrendous performance when playing back the .smk videos during the setup (when you hear the voice for the talking head) or game loading (intro movie and any others later one). Once in the game proper all seems ok.

The only recommended settings for this game are sbtype=sbpro2 or sbpro1. Only with them works the playback of smk files. This applies not only to dosbox-x but also to dosbox-staging and -svn (they all behave identically).

SMK files play correctly in the game. From the configuration stage, they are burdened with cracks in one channel. Maybe because these are monophonic? They can be played in any video player (based on ffmpeg - mpv, vlc, ffplay) are encoded - smackvideo, smackaudio (22050Hz mono). They are located on the CD image in the instdata/ directory.

That sort of worked, setup vids played ok but the Capstone logo vid still grinds along. I had tested the vids outside of the game using the smackply.exe that's hidden away on the CD and they all play without issue. It's some weird thing of smackplayer and dos4gw not playing nicely under DosBox. I'll keep playing around for a bit see if we can suss it out.

EDIT Just tried GUS as well, same results.

grapeli commented 2 years ago

It works for me.

https://user-images.githubusercontent.com/452325/191058965-63662f64-a108-4d2f-83be-513a92271ecd.mp4

All of these games (mentioned in the first post) now work fine under dosbox-x.

NebularNerd commented 2 years ago

Most curious, would you be able to throw a copy of your .conf over? I wonder what we have different that is making mine run like a pig and yours not so.

grapeli commented 2 years ago

There is nothing special about it. In the video I showed config -get sbtype. dosbox-x -set core=dynamic_x86 -set cputype=pentium -set memsize=32 -set sbtype=sbpro2 -set cycles='max 105%' -set aspect=true

NebularNerd commented 2 years ago

Really weird, just does not like me at all. Copied your setting and no better, tried playing with various settings based off the wiki and I can everytime I can get the smack's smooth but gameplay awful or vice versa.

maron2000 commented 1 year ago

I tried Witchhaven2 and opening video sounds fine even with sb16. I had to change CPU to Dynamic core and cycle from auto to somewhere between 30000 and 40000. Tried on Windows 2022.9.0 x64 SDL1 VS-build.

https://user-images.githubusercontent.com/68574602/191277565-95697250-c155-455a-9133-35dc065c2b0a.mp4

grapeli commented 1 year ago

With cycles=max and sbtype=sbpro2 the intro plays correctly and the game runs smoothly. The intro plays with the cycles 30000-40000 and sbtype=sb16, but the game itself lags terribly.

grapeli commented 1 year ago

I often check what settings for a given game are in eXoDOS (thousands of games). They are not an oracle but a good signpost. They propose such for this game - Witchaven II - Blood Vengeance (1996).

core=dynamic
cputype=auto
cycles=max
sbtype=sbpro1
grapeli commented 1 year ago

There is a version of this game that fixes the bug with playing these files. It was created by a former developer. I checked it works correctly with cycles=max and sbtype=sb16.

It also fixes a lot of other bugs. I suggest you read it.

NebularNerd commented 1 year ago

Wow that works straight out the box. using stock sbtype=s16 and no changes to cycles or anything it just works. Ran their new setup to set the screen mode and that was it.

Hopefully it may help with my suggestion for improving smackplayer performance across other games.

grapeli commented 1 year ago

@NebularNerd For me, the need to change the sbtype is absolutely no problem. Hundreds (maybe thousands) of games require you to adjust the appropriate configuration. There is one more. Almost every game is in a different directory, it starts with a different executable file name, bat, com. In that case, this is also supposed to be a problem. DOS games were not written perfectly. They contain errors. You have to take this into account. Don't blame every bug on dosbox.

Witchaven II behaves identically under Qemu (kvm) for in-game sound set to Sound Blaster 16. Works fine for Sound Blaster Pro.

https://user-images.githubusercontent.com/452325/191724122-912743ad-b712-48e6-aaab-4592deb09f9f.mp4

NebularNerd commented 1 year ago

DOS Games always are a mess, from broken installers (F-29 Retaliator usually refuses to install even on real hardware) to plain broken like the dodgy copy of Worms I found on one of my 5.25" floppies the other week, I know it used to play, but I can't find the right incantation to make it happen. Coming from the NEC V20 and 286 era I've had my fair share of dealing with horrid hardware and software issues. The DOS4GW issues under DosBox are well known and sometimes only brute force seemed to cure them, such as when I got Syndicate Wars running fairly well back in 2005 (I was/am Oberth over there), but weirdly such brute force does not seem to do the trick with Witchaven 2.

Laying the blame on any of the DoxBox's variants is not my goal, where issues exist I like to have a play/test, see where the issue may lay and see if we could fix/bodge/improve it (which is partly the goal of any emulator). As was acknowledged in the egwhaven pages, Smackplay is a true horror under DOS4GW, whatever magic they cast to make it work in that build certainly does the trick and would be great to see ported to other games that are similarly afflicted. The fact that playing the SMK files outside of the game using the DOS player works without issue on stock settings again points to an interaction problem between DOS4GW (or DOS/32A)/SMK Files and DosBox (or other x86 emulators)

Changing variables around to suit the game best is fine with me, I have a complex python script that allows me to quickly override settings (such as switching to gus) or detects a header such as [Tandy] in a filename and then injects various parameters into my command line. This lets me tweak each game to the max and auto start them with only one base config to worry about. I actually quite enjoy that aspect. 😁

grapeli commented 1 year ago

@NebularNerd https://www.vogons.org/viewtopic.php?f=33&t=32067

ripsaw8080 (DOSBox Author) All of the HMI drivers for SB, SBPro, or SB16 with 8-bit mono output seem to be affected by the stuttering, and manually tweaking the HMISET.CFG to use an 8-bit stereo driver cures the stuttering but introduces the right channel popping. For example, if you configure the game for SB16 it uses driver ID = 0xe015 (SB16 8-bit mono), and changing that to 0xe016 (SB16 8-bit stereo) produces a similar result to configuring the game for SBPro.

The HMI drivers have a reputation for being problematic in some (but not all) games...

This post explains a lot. The main cause of the problem. Just for Sound Blaster 16, change DeviceID to 0xe016 in HMISET.CFG.

[DIGITAL]
DeviceID    =  0xe016
DeviceName  =  Sound Blaster 16
DevicePort  =  0x220
DeviceDMA   =  1
DeviceIRQ   =  7

It also works fine with cycles=max and sb16.

NebularNerd commented 1 year ago

I tried that after reading the link, still no good for me at this end. It just does not like me 🤣

https://user-images.githubusercontent.com/8470449/191795648-0d7c87c1-289a-4988-be32-92d67b52c8ff.mp4

https://user-images.githubusercontent.com/8470449/191795669-ae47c02c-99bd-40ab-8d83-25d8c7628d5c.mp4

grapeli commented 1 year ago

I checked again. It works flawlessly for me.

NebularNerd commented 1 year ago

It's really weird, we should both see the same results within a small range of difference. I wonder if the builds could make a difference. I'm running a recent commit build 64bit MinGW SDL2 on Windows 10.

grapeli commented 1 year ago

I don't think the latest dosbox-x version or operating system matters here.

Check operation on the default configuration only. Do not change anything in it except, of course, mount the necessary image and directory with the game.

grapeli commented 1 year ago

@NebularNerd A very possible reason why this works for me is because my CPU is much slower. This is an old Intel Westmere with a low clock speed which, compared to newer ones, can be 3x slower with a single core. This is probably why the intro plays correctly with sb16.

edit: Under dosbox-staging and dosbox-SVN with sb16, intro doesn't play properly (with DeviceID fix of course). However, if I remove the focus from the dosbox window before starting to play the intro and restore it right after it has started, it plays correctly.

You can still check the value of cycles at which it will work for you. On my cpu dosbox-x is able to hold 210000-220000 (amd k6-2 333) .

grapeli commented 1 year ago

One more factor that influences my operation with sbtype=sb16. Under dosbox-x with default read limit, the intro plays fine. With disabled - no. dosbox-x -set 'hard drive data rate limit=0'

edit: For me, it works with such values, if they are higher then intro playback stutters. For DeviceID=0xe016 hard drive data rate limit=15728640 For DeviceID=0xe015 hard drive data rate limit=6291456

edit: Read speed limiting also works for dosbox-staging and -svn. I tested it like this. I copied the entire contents of the CD image (mount d ./cd -t cdrom). I moved the intro.smk file to another drive, just making a link to it. Reading from disk with intro.smk was limited (cgroup). systemd-run --pty --user -p IOReadBandwidthMax="/dev/sdc 4M" ./dosbox Under dosbox-staging intro it played fine up to 7MB/s.

NebularNerd commented 1 year ago

I'm going to use the egwhaven for my setup and call it done. It fixes the issues for me personally and seems the easiest result for all those following along to simply get the game running.

NebularNerd commented 1 year ago

fifa international soccer: crashes

Next up FIFA international soccer from the link near the top of the post, works fine on current builds but requires cputype=486_prefetch to be set. To save modifying your .conf's you can use config -set "cputype=486_prefetch" inside DosBox-x. Don't run config from inside the FIFA directory or you will start the games own config.exe 🙂

Screenshot 2022-10-10 182015

NebularNerd commented 1 year ago

pinball fantasies deluxe: a black screen appears while playing the game

Tested fine with both Pinball Fantasies and Pinball Fantasies Deluxe found on archive.org. Both have low and high res modes which behave without issue, initially when starting Fantasies there is a strange video mode called that's very long and thin then widens out (it does not appear on Pinball Mania section on the Deluxe version), this may have been what caused issues in the past.

Pinball Fantasies Deluxe does requires cycles=12010 (486 DX33 Speed) to run smoothly especially for the Pinball Mania section, this can be set inside DosBox-x with config -set "cycles=12010" making it handy for batch file users.

The floppy version has a pretty weak protection discussed here, but I got lucky and guessed that Word 9 Line 8 Page 39 was flipper 😁 I can't find a copy of the PC Manual, so if you can't guess the word, use the method in the link or just install the Deluxe version.

Screenshot 2022-10-10 191200

NebularNerd commented 1 year ago

wing commander 3: makes a restarting loop in dosbox-x that never ends

Tested with instal media from archive.org, everything works as it should without needing to change anything other than setting cycles=47810 (486 DX5 133 Speed) to run smoothly, this can be set inside DosBox-x with config -set "cycles=47810" making it handy for batch file users.

When you first run WC3 from the CD it runs the setup, make sure to set your sound config up here as you cannot get back to it easily. If you need to enter setup again delete C:\WC3\WC3.CFG (assuming you have not edited the save location).

Screenshot 2022-10-11 150307

Slight tearing in FMV sequence an artifact of recording, did not show up in game.

https://user-images.githubusercontent.com/8470449/195113669-fe36008f-695c-4f17-8422-fe34a8e31fed.mp4

NebularNerd commented 1 year ago

fallout also crashes when loading the game

Grabbed Fallout (Interplay) from archive.org, installed the full install and performs fine, no special settings required.

Note: if you are running scalers or shaders expect poor performance/stuttering on the fading effect used through the menus and fmv sequences. Actual gameplay runs without performance issues even with scalers.

https://user-images.githubusercontent.com/8470449/195126279-04404f41-e2a2-4305-af0f-3f2d7678febe.mp4

NebularNerd commented 1 year ago

@joncampbell123 It might be worth closing this issue, all games mentioned work as of today, or in the case of Witchaven 2 it works for some and not for others. The egwhaven patch resolve the issues without any obvious drawbacks.