Open tomster785 opened 8 months ago
Try using vendor S3Trio64 drivers instead of vbemp. Vbemp doesn't have cursors.
I just tried that, I used both the drivers that come with the windows 98 SE disc and I also downloaded drivers from here: https://www.dosdays.co.uk/topics/Manufacturers/s3_downloads.php#Trio32
But that introduced an entirely different issue which is that I can't get the desktop settings to be anything above 16 colours or 640x480 otherwise windows won't boot the first time and when I try the second time I get an error. I've tried 256 colours, I've tried 16 bit, I've tried 800x600, I've tried 1024x768, and every combination but I always get the same issue. If I try to increase the colour depth or the resolution then windows boots with an error. And on top of that when the game attempts to launch it says it cannot create the DirectDraw object.
error when booting windows: the max display settings I can use: error when launching the game:
Is it possible that the drivers I have tried to use may be the issue or does the emulated s3trio64 need vbemp driver to go above those settings and use ddraw?
Also I'm a little confused as to what you mean when you say vbemp doesn't have cursors because the windows 98 cursor appears and works as expected. Also in the other games that I've installed the cursors work as expected too (like Fallout 1 and 2, as well as Diablo 1 which is the extent of what I've tried so far with dosbox-x). Some clarification on that to help me understand better would be highly appreciated.
Thanks for your help!
I used both the drivers that come with the windows 98 SE disc
Yeah, these are the ones I meant. The drivers that come packages with Win98 definitely work correctly with dosbox-x, if possible reinstall win98, it's easier than trying to find a needle in a haystack :) I suppose you're familiar with the installation guide that's on wiki. but just in case -> https://dosbox-x.com/wiki/Guide%3AInstalling-Windows-98
Also I'm a little confused as to what you mean when you say vbemp doesn't have cursors
I meant that vbemp doesn't have hw acceleration on cursors. If a game doesn't use its own software cursor a typical effect is cursor flickering or even a completely invisible cursor. I'm not familiar with the game, it's just the first thing that came to my mind. It's possible that the S3 driver will also solve your other graphical issues.
Yeah, these are the ones I meant. The drivers that come packages with Win98 definitely work correctly with dosbox-x, if possible reinstall win98, it's easier than trying to find a needle in a haystack :) I suppose you're familiar with the installation guide that's on wiki. but just in case -> https://dosbox-x.com/wiki/Guide%3AInstalling-Windows-98
Fair enough, I'll try reinstalling windows 98, I will edit with what I found.
I meant that vbemp doesn't have hw acceleration on cursors. If a game doesn't use its own software cursor a typical effect is cursor flickering or even a completely invisible cursor. I'm not familiar with the game, it's just the first thing that came to my mind. It's possible that the S3 driver will also solve your other graphical issues.
Ah I see, just for the sake of curiosity I tried disabling hardware acceleration through dxdiag. It didn't change anything.
But based on the Fallout 2 issue I raised that you helped with, I decided to try a standard pentium instead of mmx since this game supports that and there were issues in Fallout 2 with that. Which did fix the corrupted graphics on the intro videos:
Which indicates that the issue is with MMX emulation again like it was with my Fallout 2 issue.
The cursor problem is still there though, so as I said I'm going to try reinstalling windows with the standard s3trio64 drivers and see what happens. I will edit with the results.
Also if you're not familiar with the game its not exactly an amazing game. Its fun, but for me its mostly nostalgic and it's dumb sense of humour appeals to me a lot haha.
EDIT: one thing I forgot to mention, the game requires directx6. Could this be an issue? As far as I'm aware the s3trio64 and voodoo 1 don't support that. I may be wrong though. I'm not sure if the vbemp card adds support for that. I was looking into this while trying to install Diablo 2 because it supports directx7, which is another issue I'm going to raise soon because that game is completely broken, but I have to test some things first.
one thing I forgot to mention, the game requires directx6. Could this be an issue?
That depends on whether the game requires HW accelerated DX features or not. Looking at the videos on youtube, it looks like a simple 2D DirectDraw game? So that might work correctly.
The cursor problem is still there though,
I pulled some videos from youtube, the game uses a system cursor. That's 99% driver problem. I think with the S3 driver it should work correctly.
Which indicates that the issue is with MMX emulation again like it was with my Fallout 2 issue.
Well that settles it then, no MMX core until the emulation is fixed...
I've been trying to get the original drivers to work with a higher resolution and colour depth for hours and feeling like I was getting absolutely nowhere. I reinstalled windows 98 3 times. I tried the included drivers and two different versions of the vendor drivers, and generally pulled my hair out in impotent frustration. I googled everything that I could think to google until I finally got a hint. I managed to get it working by disabling hardware acceleration, and now after all that I could finally use 1024x768 at 16bit colour depth. All in all it was a gruelling and confusing experience that made me thankful that we no longer live in 1998...
Anyway the cursor is still flickering in the menu, and as a result, I have decided to jump off a bridge.
I tried the included drivers and two different versions of the vendor drivers, and generally pulled my hair out in impotent frustration. I googled everything that I could think to google until I finally got a hint.
That seems strange, I'm using Win98SE from winworldpc.com and the driver works correctly right off the bat, nothing special required.
config that I'm using -> https://pastebin.com/XiS0mQkb
I've got hw acceleration enabled, the game works correctly including the main menu cursor. No graphical problems. I didn't even install a single driver, I'm just using the default Windows ones The only thing I installed is dx dec 2006 (I don't think this matters though) and the game itself (didn't install directx that's packaged with the game, win98se already comes preinstalled with dx 6.1).
(no mouse cursor flickering)
(dx acceleration enabled, although the game works correctly even if it's disabled)
I guess I could try win98se with the default directx.
It works correctly even with the Windows preinstalled DirectX 6.1 (as expected)
https://github.com/joncampbell123/dosbox-x/assets/6156912/751b9b7f-40cf-4b04-82fb-9385b9bc33d5
Edit: Are you using Win98SE? If you open a command prompt and enter ver
, do you get 4.10.2222
?
My dxdiag looks almost exactly the same and yeah I'm using SE, I knew I installed that but to check anyway I opened an MS-DOS prompt and used the ver command and got that result. I have all the same settings as you do, but I have made changes for my preference, so I used a default config and applied exactly the same settings as you to rule out a config problem, and the problem is still there. I even tried setting the desktop resolution to 640x480 so I had the same display settings as you. No change.
There is one minor difference though, my S3 Trio64 is reporting 1.5MB Approx. Total memory.
Could you please tell me what your specs are for your PC including your monitor (since I'm wondering if refresh rate could be a cause)? And did you install anything else aside from the game post install? Aside from Directx as you have already mentioned? Is it possible that aside from the config settings you have provided you have some non-default options? Also which exact disc image did you use? I know that OEM and retail are basically the same but I want to make sure that I reinstall with exactly the same image that you used. And also did you follow the guide to the letter to install? If not could you explain what steps you took to install Windows 98? I'm also wondering if maybe we're using slightly different builds of dosbox? Are you using the "dosbox-x-mingw-win64-20240301225703.zip" release? And are you using the sdl2 version within that release?
I'm at a total loss now, and I just want to rule out everything that I can. Thank you for your help and going through this effort, I really appreciate it!
Intel i5-12400/UHD 730/16GB RAM Win11 23H2. 1920x1080x60Hz
I don't think that matters though, you have some strange problem with the built-in Win98 S3 driver.
I'm using SDL2 build of this version
And did you install anything else aside from the game post install? Aside from Directx as you have already mentioned?
No, in the video not even a newer DX is installed, just Gruntz.
Also which exact disc image did you use?
OEM, the most downloaded one on winworld.
Okay thank you, I've downloaded that exact image (although I'm pretty sure that's what I had already, I downloaded it a few years ago but I remember getting the OEM version from winworld, but maybe I'm misremembering so I'm downloading it again just to make sure) and I have made a new disk image again and I have used entirely default settings apart from what is mentioned in the installation guide and in your config (aside from openglnb, I'm using opengl, I already tried that just to make sure but no difference as I would expect).
And it worked. What's interesting though is that the same image that worked doesn't work with my old config. So there is clearly some sort of issue with my config, so I'm going through the process of comparing all of the differences to work out what the issue is exactly.
Okay, I found the issue. In my config file, I had vsyncmode set to host, and setting vsyncmode to off allowed me to set the desktop resolution to 1024x768 at 16 bit colour depth. After testing with the harddrive image that had a fresh install which I knew worked, I then tested with my original image file with the VESA VBEMP driver and the flickering returned. So, I went into safe mode, removed the device in device manager and deleted the driver files from the inf directory to make absolutely sure that I had totally removed the drivers and manually reinstalled the s3 drivers from my new windows 98 iso (it probably would have worked with my original iso, but I just wanted to be sure). And now it works. On top of that, dxdiag is now correctly recognising 2.5MB of VRAM as was the case with your install.
So this means that something to do with the host vsyncmode is interfering with the display driver, or at least the S3 display driver and I think it has something to do with the vram in particular because as I mentioned before, dxdiag was only reporting 1.5mb of vram as opposed to 2.5mb as it is now and as you have demonstrated with your video. I have also tested the other options, when vsyncmode is set to either on or force, it still works as expected.
It also seemed to interfere with the installation of the driver and the installation of windows itself because restarting windows 98 is a problem when you have vsyncmode set to host but it restarts just fine with any other setting. This means that I'm probably going to have to make a new parent image of windows 98 and new child images for all of my games and reinstall everything... fun. Honestly that can wait for a while. I've done enough installing windows and games for today. Its going to be a while before I consider going through that rigmarole again.
Thank you for your help emxd, you've been incredibly helpful with me today and I really appreciate it. We've also isolated two (maybe three) bugs as well including the Fallout 2 issue with MMX emulation and the corrupted video playback for this game with MMX emulation (or at least the general area of what the issues might be), so hopefully this helps the development of dosbox-x too.
Describe the bug
EDIT: After some troubleshooting with the help of emxd, it has been revealed these issues are not what I initially thought they wer, and are in fact related to the pentium_mmx cputype setting and also the VBEMP driver (although, I have no idea if this VBEMP driver would cause this issue on original hardware). I have also discovered in this process that vsyncmode = host causes issues with the graphic drivers with the S3Trio64 and I have made a separate issue related to this:
https://github.com/joncampbell123/dosbox-x/issues/4954
The flickering cursor is related to the VBEMP driver, as it happens regardless of config settings, and the corrupted video playback is related to the pentium_mmx setting, it becomes even worse when the core is set to dynamic_x86 instead of normal. So with this development, I have to decided to edit the issue to correctly reflect what is happening. The discussion that led to this discovery can be found in the comments below and the original text for the issue is here:
Original title: Corrupted video playback and flickering cursor in menus when playing Gruntz through Windows 98SE
I'm trying to play Gruntz by Monolith on Windows 98SE through dosbox-x and I have the following two issues:
The video playback for the intro cutscene appears corrupted (it also happens with the logo cutscene too, indicating a problem with video playback in general for this game):
The cursor also flickers in the menus, but not in game, its not visible in this screenshot. Honestly I couldn't really take a screenshot of this issue because of the nature of the issue, but the standard windows cursor should be visible in this screenshot:
I followed the windows 98 installation guide, so I have the S3trio64 with the generic VESA drivers as recommended, with sb16vibra and also voodoo 3dfx installed too. All relevant drivers are installed. I also used a differencing vhd image so I can have a fresh install for the game, but I have also tried with a standard vhd file too and the same issue occurs.
The game itself works fine, a little slow, but I put that down to my PC not being strong enough.
I can't rule out the possibility that I have just set something up incorrectly, although I have gotten the game to work as expected on PCem before. My experience of Windows 98 is very limited. As embarrassing as it would be to raise an issue for something that was just my own fault, it would be nice to know that it is just user error and therefore fixable!
Computer specs: i7 4790k GTX 1080 16GB DDR3 Z97X-Gaming-3 Motherboard
I appreciate any help!
I've tried to be as thorough as possible with info, if there is anything more needed please let me know.
EDIT: So I've been messing around with settings trying to improve performance, and also to see if they had any effect on the issues described. I disabled the voodoo card for this game because 3D acceleration isn't necessary, and it had no effect on performance or the issues. But then I remembered about the dynamic_x86 cpu core, and whilst that had a massive impact on performance, it also made the issue with the intro video playback worse, here's a new screenshot to demonstrate:
This leads me to believe that it has something to do with the way the CPU is being emulated rather than the way I have set things up.
Steps to reproduce the behaviour
Step 1: Install Gruntz. Step 2: Launch the game, it just happens straight away without any other actions.
Expected behavior
The cursor shouldn't be flickering and the video should playback without corruption.
What operating system(s) this bug have occurred on?
Windows 10 Version 10.0.19045 Build 19045
What version(s) of DOSBox-X have this bug?
DOSBox-X 2024.03.01
Used configuration
Output log
No response
Additional information
Here's the log file (was way too big to just paste the text): gruntz.txt
Have you checked that no similar bug report(s) exist?
Code of Conduct & Contributing Guidelines