Jump to content
LaunchBox Community Forums

Zomb's Lair - Reviving Old Classics


Zombeaver

Recommended Posts

57 minutes ago, PretentiousHipster said:

Thanks so much for archiving these memorable games.

I seem to be having an issue with Obsidian. The video is fine, but the audio wouldn't stop stuttering. I tried changing it to windowed mode and noticed that you can change the buffer length. The longer the buffer, the more time before it starts skipping, but no matter what that's all it does. Is there any way to fix this?

Thank in advance.

Try replacing the Windows 95.cfg in the Obsidian\configs folder with this one and see if that helps:

Windows 95.cfg

Link to comment
Share on other sites

  • 2 months later...
  • 4 months later...
  • 2 weeks later...

Hey Zombeaver, thanks a bunch for providing us with such awesome old-school goodness! I grew up with a lot of 90's games, and a lot of these still flew up under my radar. Fascinating stuff, already tried out a few!

I'd like to point out a major issue regarding the games that use PCem for emulation, or at least the ones I tried so far: Obsidian and Zero Critical (from the Majestic Trilogy).

So the first time I tried these out, I was getting some horrendous performance issues. Speed was over 70% for Obsidian and barely 60% for Zero Critical. It was stuttering like crazy.

My CPU isn't exactly great, that's a given (actually an APU, specifically AMD A10-7850k), but I didn't have much trouble with my version of PCem v16, so I grabbed the image files from both games, installed them, applied the DVD patch for Obsidian and voila, both were working perfectly at 100% speed!

So what exactly was so different with my config? I narrowed it down to two points:

-The CPU on your config is *way* stronger than what's actually required. Zero Critical in particular was trying to emulate a Pentium 133 (ironically my first machine had one lol), and I already knew there's no way I could emulate that at full speed! So I downgraded it to a Pentium 75, and the stuttering was gone :)

-Obsidian needed a little extra step, at least in my case. It was at 100% speed in many cases, but there was just as many where it'd stay above 90%, which was causing severe sound stuttering, even with the config file you posted. Amazingly, I found out that by switching the renderer to OpenGL 3.0, the game was now stutter-free :D

Some minor differences just in case, but the machine I am emulating is marked as " [Super 7] FIC VA-503+", and I have a Voodoo 3 graphics card all set up, but I doubt that makes any difference here.

Fun fact, both games were played on Linux, using Wine (specifically the Lutris version) to run PCem, as I had no luck compiling my own version, it throws up a bunch of errors, so I just went with the Windows version instead. Luckily, performance seems exactly the same. Oh, and I could *almost* run Obsidian perfectly by just using Wine, with the added benefit of having instant screen transitions... if not for the fact that the midi music would cut off every time a Quicktime movie played (so basically anytime I moved forward lol).

Again, thanks so much for providing these, I have a lot to try out :D

Edited by D-TurboKiller
Link to comment
Share on other sites

I'm using a 6 year old PC with an i7 4770k without issue so I'd say there's more than likely a deeper issue on your side; the presence of Wine seeming to be the most probable culprit. In all honesty I ordinarily dial back the CPU speed for the final release. Emulating a Pentium 200 runs at full speed for me. I ordinarily dial it down until the game runs slower in some way/at some point. I even try to ordinarily take a look at the system requirements as listed on the box and aim around the recommended (not the minimum) hardware. Sometimes I'll go a little above if I can notice a difference in load times or performance. The settings I use though, by and large, are not that demanding to be completely honest with you. None of these are intended to be used on Linux/Wine so I can't guarantee how well or if any of them will work in that setting, and I'm not going to cater to that. About the best I can do is get it to an "about right" value and tell people to make adjustments if necessary for their hardware (it's easy enough to do). There are a few that I intend to go back and make a few tweaks to, and that might include speed settings but, again, emulating a P133 is not particularly outlandish (even on relatively ancient hardware like mine). I've seen several packages from The Collection Chamber that use a P166 with 128MB of RAM.

I do wish that PCem's tools for tweaking performance were as robust as DOSBox's. I always use "cycles = max limit [#]" for the DOS stuff which is extremely useful since it essentially means "as fast your PC can handle but no more than [x]" which gives you an upper limit to prevent problems from running too fast while simultaneously not locking it into an arbitrary fixed speed that the host might not be capable of reaching (which is essentially what you're stuck with for PCem). Unfortunately, there's no equivalent to that in PCem currently.

57 minutes ago, D-TurboKiller said:

-Obsidian needed a little extra step, at least in my case. It was at 100% speed in many cases, but there was just as many where it'd stay above 90%, which was causing severe sound stuttering, even with the config file you posted. Amazingly, I found out that by switching the renderer to OpenGL 3.0, the game was now stutter-free :D

I'll take a look at this again, but my recollection of using OpenGL 3.0 as the renderer was that it increased the input latency a bit (which is already worse in PCem than it is in DOSBox). Will have to experiment some.

Link to comment
Share on other sites

Well I know I mentioned Linux, but fyi I have a dual-boot solution going on (both 64-bit versions of Windows 10 and Linux, specifically Pop OS) and performance is exactly the same in both cases. It wasn't my intent for you to focus on that particular point, just the CPU and renderer I used to get around my issue. Sorry about the confusion.

The OS isn't the problem here, the issue lies solely with my weak CPU. I originally bought it as an alternative to having a dedicated graphics card, which I ended up buying a couple months later anyway. But, using Linux might in fact end up being an alternate, blazing fast solution for non-Windows users, considering how surprisingly well it works with older games at times, and I've tested a few before (Fury3 was fantastic fun).

It's possible OpenGL 3.0 could have higher input latency, but since both games are point-and-click adventures, I didn't notice anything in particular. I was honestly surprised how fast it was, and I do some considerable emulation; Pcsx2 in particular specifically mentions not to use OpenGL for rendering, as AMD's drivers are reportedly much slower than NVidia's, so that was extra surprising.

Edited by D-TurboKiller
Link to comment
Share on other sites

Point and clicks are some of the worst culprits of noticeable input latency because you're constantly moving a mouse cursor. It's very noticeable to me even going from the most ideal settings for reducing it in PCem to DOSBox. It's basically always there in PCem, and then there are various changes that can be made that will only make it worse (like enabling vsync, which seems to do very little in PCem to begin with... other than increasing input latency).

In any case, my point in all this is that I already make a conscious effort to do what you're asking. If you need to dial down settings more for your hardware, okay. I already do that to begin with until I reach a point that I'm seeing some sort of performance impact (minor, in some cases, to be fair). If someone came to me with questions about what changes they could make to cater to weaker hardware, I'd have no issue assisting with that. But my point is that the settings I use aren't just arbitrary. I won't go as far as to say that tweaks shouldn't be made in some cases (I have a few early ones in particular that I know I need to adjust), but in many cases they're dialed in where they are for a reason; and some people's hardware won't be sufficient.

I don't mind switching over to OpenGL 3.0 in theory, if that's going to prove beneficial (although I don't know how comfortable I am with assuming that that's going to be ideal across all hardware/software as opposed to Auto), but only if it's not going to negatively impact the input latency.

  • Thanks 1
Link to comment
Share on other sites

Of course, no worries Zombeaver. I have no intention of degrading your efforts (quite the contrary!), and I apologize if I might've indicated otherwise.

You've done wonderful work, regardless of what a select few might have issues with. I was pretty impressed with the extra attention to detail, like the Launcher present in the Majestic Trilogy, which was both convenient and tweakable. And not needing to switch CDs in Obsidian is just fantastic. Two thumbs up indeed!

Ah, I thought the input lag was just a matter of having a low resolution, so the mouse cursor didn't have a lot of screen space to move accurately, especially in low-res games like 320x200. As for OpenGL 3.0, again that's something that worked for me in particular, but adding that setting in the Launcher would do just fine, so someone could always try that as an alternative.

One last thing I'd like to add, since you've mentioned VSync. Just note that this is a GPU-specific fix and I own an AMD GPU (AMD RX 470), I don't know what the NVidia equivalent is (maybe Fast Sync). There was this game in particular called Prince of Persia: The Forgotten Sands, and it was driving me nuts. If I had VSync off, it exhibited the worst frame tearing I've ever seen in any game, and if I left it on, the tearing was fixed, but the input lag was so bad, it was easily over *half a second* at times! What I did to finally fix the problem was, through the GPU's software settings, forcing a feature called Enhanced VSync for this specific game. Basically what it does is having the benefits of VSync but without the input lag. And yes, it did actually work: frame tearing was gone and so was the input lag! Unfortunately this isn't something you can force since it's GPU-bound, but... something to note if you're having a particular game with bad frame tearing ;)

Link to comment
Share on other sites

33 minutes ago, D-TurboKiller said:

Of course, no worries Zombeaver. I have no intention of degrading your efforts (quite the contrary!), and I apologize if I might've indicated otherwise.

Understood, and I didn't really take it that way just explaining the logic behind what's there and how I get there. It's a process. I know that in a lot of cases the settings used are higher than "what's needed" as a bare minimum but there's still a reason for it. I do know of a couple though that I specifically intend to revise some settings for in an update like Biosys (which was my first use of PCem and I wasn't as well versed with it at the time).

33 minutes ago, D-TurboKiller said:

You've done wonderful work, regardless of what a select few might have issues with. I was pretty impressed with the extra attention to detail, like the Launcher present in the Majestic Trilogy, which was both convenient and tweakable. And not needing to switch CDs in Obsidian is just fantastic. Two thumbs up indeed!

Thanks. I try to make it as easy as I can.

I'm not always able to eliminate disc-swapping, but I try to when I can. Some games make that easier to do than others.

33 minutes ago, D-TurboKiller said:

Ah, I thought the input lag was just a matter of having a low resolution, so the mouse cursor didn't have a lot of screen space to move accurately, especially in low-res games like 320x200.

That's part of the issue, for sure. There's nothing you can really do about that. But if you go from say a Windows 95 environment in PCem and then go to a Windows 95 environment in DOSBox, same screen resolution, same sensitivity settings, there's a noticeable difference (for me anyway). PCem is certainly still usable though.

33 minutes ago, D-TurboKiller said:

As for OpenGL 3.0, again that's something that worked for me in particular, but adding that setting in the Launcher would do just fine, so someone could always try that as an alternative.

I should be able to do that.

33 minutes ago, D-TurboKiller said:

One last thing I'd like to add, since you've mentioned VSync. Just note that this is a GPU-specific fix and I own an AMD GPU (AMD RX 470), I don't know what the NVidia equivalent is (maybe Fast Sync). There was this game in particular called Prince of Persia: The Forgotten Sands, and it was driving me nuts. If I had VSync off, it exhibited the worst frame tearing I've ever seen in any game, and if I left it on, the tearing was fixed, but the input lag was so bad, it was easily over *half a second* at times! What I did to finally fix the problem was, through the GPU's software settings, forcing a feature called Enhanced VSync for this specific game. Basically what it does is having the benefits of VSync but without the input lag. And yes, it did actually work: frame tearing was gone and so was the input lag! Unfortunately this isn't something you can force since it's GPU-bound, but... something to note if you're having a particular game with bad frame tearing ;)

Yes, sometimes it can be beneficial to force various options through the Nvidia control panel as opposed to a game's own implementation of them. I've experienced similar things with Nvidia hardware. I don't know about Fast Sync specifically, my card doesn't support it (GTX 780), but that wouldn't shock me.

Link to comment
Share on other sites

Well, this is fortuitous. I was looking for an easy way to swap out the PCem settings in the launcher for more than just the renderer settings - it's easy enough to swap out any one value doing what I've always done which is essentially making multiple versions of a config and then making .bats that replace the used config with another with slightly altered settings. I've done this for DOSBox, Retroarch, and other things. This is no problem so long as you're only changing one value and don't need to toggle different things separately - like say a combination of the renderer and CPU speed. At that point that method wouldn't really work unless I made a separate .bat and separate config for every possible combination of those (which isn't going to happen).

But I just came across the rather eloquently named FART - Find and Replace Text. It's a command-line tool for replacing text in files. This is perfect because now, rather than replacing the entire config with another, I can replace specific strings of text with another, so I can make changes to specific settings independently via command-line. Another gadget to throw into the tool belt.

  • Like 1
Link to comment
Share on other sites

Did some testing for the upcoming package with some interesting results. To my hand/brain, OpenGL 3.0 seems to actually reduce input latency slightly over the options, and this is improved further by making a few additional changes. I'm not certain whether or not these have any additional performance impact though. There is none for me, but I'd be curious if there is on your hardware @D-TurboKiller. Try setting the renderer to OpenGL 3.0 and then going to Video > OpenGL 3.0 Renderer > Input Stretch Mode > 4:3 and then Video > OpenGL 3.0 Renderer > Input Scale > 4x. This feels noticeably better to me than just using Auto. I'm not certain if that input scale setting increases hardware requirements though.

From the upcoming package:

image.thumb.png.1ec72b5221034338b16b9093cc73b602.png

  • Like 1
Link to comment
Share on other sites

That updated launcher is looking pretty fantastic already. Well done!

Regarding your tests, it's nice to know that OGL 3.0 actually ended up being beneficial. That's definitely a win-win situation it seems. Now PCem just needs a Vulkan renderer in the future and it'll be perfect for reducing the CPU strain. Doubtful, but who knows :)

I already had some pretty similar settings, but I did a test as well. So here's what happened and what I found:

-I switched the CPU to Pentium 133, the one I couldn't run the games at full speed. Quite important, since it's a good way to measure the speed percentage when I applied a setting.

-Booted up Zero Critical, but without the CD inserted. This way the game is running, but it's stuck on a warning screen, which is great, since it's running at the same speed as the actual game: around 80% speed.

-Tried out all the renderers. Lower performance in general, but regular OpenGL came close. Once again. OpenGL 3.0 stood on top.

-Having the renderer now set to OpenGL 3.0 (OGL 3.0 renderer specific settings hadn't been touched yet, still the defaults), having VSync ON actually increased speed by around 2%. Now max speed is at 82%, min speed 76%.

-Scale filtering set to Linear seems to be a tiny bit faster, but it's hard to tell.

-Setting the output scale to 4x doesn't seem to make any noticeable difference.  Maybe a tiny bit slower, but it's unnoticeable. I left it at 1x to avoid unnecessary overhead.

-Placing Output stretch-mode to 4:3, then OGL 3.0 renderer-specific settings to the following: Input stretch-mode set to "None"; Input Scale set to "4x"; Shader refresh rate to "Same as emulated Display". An interesting result occurred: max speed remained the same, but min speed increased to 78%! Every other combination just slows it down, even if slightly.

Interesting results, don't you think? Hopefully that helps.

 

There is one last thing bugging me. Even using the same CPU as the one on your official release, emulation was *much* faster in my own config, and I can't quite figure it out why. I know the official one used PCem v14 and it barely ran at over 60%, but was there really that much optimization involved between versions? I can't really tell from the changelogs.

Perhaps is it the fact that I'm using Windows 98 SE? Or what I suspect at the moment, the fact that I picked a different machine from yours? Maybe there's just less emulation overhead involved with certain machines? I suppose that would make sense. Could be worth a shot testing that theory.

Edited by D-TurboKiller
Link to comment
Share on other sites

1 hour ago, D-TurboKiller said:

-I switched the CPU to Pentium 133, the one I couldn't run the games at full speed. Quite important, since it's a good way to measure the speed percentage when I applied a setting.

-Booted up Zero Critical, but without the CD inserted. This way the game is running, but it's stuck on a warning screen, which is great, since it's running at the same speed as the actual game: around 80% speed.

-Tried out all the renderers. Lower performance in general, but regular OpenGL came close. Once again. OpenGL 3.0 stood on top.

-Having the renderer now set to OpenGL 3.0 (OGL 3.0 renderer specific settings hadn't been touched yet, still the defaults), having VSync ON actually increased speed by around 2%. Now max speed is at 82%, min speed 76%.

-Scale filtering set to Linear seems to be a tiny bit faster, but it's hard to tell.

-Setting the output scale to 4x doesn't seem to make any noticeable difference.  Maybe a tiny bit slower, but it's unnoticeable. I left it at 1x to avoid unnecessary overhead.

-Placing Output stretch-mode to 4:3, then OGL 3.0 renderer-specific settings to the following: Input stretch-mode set to "None"; Input Scale set to "4x"; Shader refresh rate to "Same as emulated Display". An interesting result occurred: max speed remained the same, but min speed increased to 78%! Every other combination just slows it down, even if slightly.

Interesting results, don't you think? Hopefully that helps.

That'll work. I basically just wanted to make sure that increasing the input scale to 4x wasn't going to have a significantly negative impact on performance. Seems as though it had a positive one, oddly.

1 hour ago, D-TurboKiller said:

I know the official one used PCem v14 and it barely ran at over 60%, but was there really that much optimization involved between versions? I can't really tell from the changelogs.

That would be my guess, yes.

1 hour ago, D-TurboKiller said:

Perhaps is it the fact that I'm using Windows 98 SE?

That's highly unlikely. If anything, that would add more overhead. 98 is almost never warranted/beneficial over 95 for the purposes of emulating these games.

1 hour ago, D-TurboKiller said:

Or what I suspect at the moment, the fact that I picked a different machine from yours? Maybe there's just less emulation overhead involved with certain machines? I suppose that would make sense.

That's significantly more likely. With that said, I don't really plan on changing that.

The BIOS for the FIC VA-503+ isn't actually included with PCem by default either.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...