Ymir, Saturn emulator

Heeeey! Long time I don’t think about it. Does it still hold up well today?

Beetle Saturn is very accurate and works really well. I still have an old i7-2600 and it runs basically everything without issues, but if I want to reduce input lag, then the CPU just can’t handle it, it also doesn’t have, like Swanstation, an internal runahead option.

With Ymir, in the github page, there’s something mentioning the dev made an effort to reduce input latency as much as he can, so, I believe he focused on this aspect and it does feel more responsive to me.

Ymir is in its alpha stages, maybe beta, while Mednafen Saturn (Beetle) is down the road for quite some time now, so, Ymir has a lot to evolve, but even in its early state, it feels it will be the best Saturn emulator out there.

I didn’t test it scientifically, but I’m sensitive to input lag and I can absolutely say that Ymir is the most responsive Saturn emulator so far, easy.

The only way to achieve that in Beetle is by activating runahead/preemptive frames, but then, my CPU just can’t do that with this core.

Also, a few games don’t run well on Beetle, I don’t know why, Courier Crisis run like it should in any other Saturn emulator, but it struggles to run smoothly on Bettle.

2 Likes

Developer has already said he does not want to make a RA Core as he said he heard some Bad News about Retroarch

Also said he does not want people to go to him for RA Problems just like Steznek said about Duckstation

2 Likes

Only way I can think of it Happening is someone uses the Code to make a Core from it

Not sure IF need to ask the Developer to do that or not

1 Like

Last time i asked, i was attacked by main dev and another 3-4 testers about retroarch stealing code of Duckstation, making money etc. When i asked for evidence about these claims there were some vague answers like “whatever, i just hate RA, twinaphex once bullied the bsnes author, he’s an awful person”.

Why would anyone would bother porting this and introduce another drama roller-coaster is beyond me. If i was in charge i would even trash any PR trying to include this emu in RA lol.

1 Like

I think lot are Brainwashed by the Retroarch Haters

Yes twinaphex is/was not a Very Nice Person and did cause some Problems for Retroarch but that is only 1 Person and the Bullying was not done on here or anything to do with Retroarch

I remember Final Burn Alpha was sold to 1Arcade to use on there Arcade Cabinats they make but now just replace by FBNeo but yet again I see nothing to do with Retroarch

Duckstation is a Weird Story as yes I heard the Argument with suppose stolen code from Duckstation and what I have read and seen that no code was stolen but Steznek made Duckstation Closed Source after he allowed SwanStation Core to be on Retroarch

2 Likes

See. That’s what I was talking about. Always some vague and esoteric statements. A new emudev, who has never interacted with RetroArch, is now biased because attention was given to the wrong people before.

3 Likes

If the developer does not work on, or does not want others work on a port, then I think the only way forward without upsetting the original developers or others is to fork it, rebrand, add or change features so it stands on its own (that was a long sentence BTW).

3 Likes

Then would that be just about making whole new emulator?

Someone could make a Core from Ymir would probably use a Different Name for that Core

Though would need to give the Ymir Developer some Credit

Not necessary. It’s still a fork, a hard fork. Rebranding forks is common in Open Source, especially if the original doesn’t want to be associated with the fork for whatever reason. It’s not a thing for emulators only, but in software Open Source in general. The important part is, that the fork does contribute back in some shape or form and they have their own support for the version that is not 100% compatible with the original. But that comes at a cost of more work and maintenance. It is what it is.

About the credit, I agree. Unless the original developer does not want even mentioned, there is no problem giving credit.

3 Likes

The very basic would be:

  1. Check the license, act solely within its confines.
  2. Fork the code, work on the port.
  3. Rebrand the core with a familiar, yet different name (call it something like “Blainn”), properly crediting the original source.
  4. Officially announce and document the difference between projects, guide users to post issues only on the libretro-related repository. Avoid links to upstream, for it may confuse inexperienced users.

That should avoid common problems, though not all.

4 Likes

yes, it is lightweight, fixed the window/fullscreen switch DirectX issues that plagued it and also added chd support. It has perhaps the highest compatibility among Saturn emulators currently

2 Likes

What a pleasant surprise. I thought it was something of the past. Good to know it’s still kicking around and doing great.

2 Likes

I talked about this before but I really feel Beetle Saturn gets an unfair rep regarding lag. First off, the Saturn console itself is known to have many games that are somewhat laggy on hardware. Second, though this may have been true for some games, not all of them had heavy lag. For example, a game like SteamGear Mash have some action within the game that have 1 frame of lag. That’s correct; a single frame of lag.

You can test this yourself if you want with Retroarch using the frame advance method: So during gameplay, press frame-advance (emulation is paused) press and hold A (Saturn A button that is - usually left face button). While holding A, press advance; so, this is “frame 0” or current frame -the frame has already been drawn at this point so it’s not possible that we’ll see any changes. This is basically the frame that will register the input.

1

Still holding A, press advance again; this is “frame 1” or next frame iow. It’s the first possible frame where you could see a result on screen from the input. Okay, still nothing. Press advance again; this is “frame 2” or 1 frame of lag/delay…

2

and you see the top right corner/the bomb icon has changed and the weapon switch animation has begun. For the weapon switch animation, that’s a single frame of lag. Not next frame but I think we can agree that’s pretty low overall. For the jumping animation same thing but this time it’s 4 advance presses or 2 frames of lag. Same for the shoot animation.

Street Fighter Alpha: Pause menu ups/downs presses during gameplay is 1 frame of lag (3rd frame advance press), characters’ attacks and movements (walking backward and forward animations) is 2 frames of lag (4th press). Again, pretty low. And there are plenty of other games with similarly low lag (Sega Ages collections and others). If you want to be even more thorough you could measure it with a high speed camera but while playing it certainly feel like 1 or 2 frames of lag max.

Again, yes; the Saturn is known for being laggy on hardware for a lot of games. But this is far from universal. And regardless, the only way to really be sure if there is any differences and by how much is to measure it on the hardware (ideally on a CRT TV) and then do the same with the same method on emulator.

Right now, Ymir is still not as accurate as mednafen saturn (/beetle saturn core port). Yes, it is possible there is less lag than mednafen saturn…but it’s also a real possibility that there is less lag than on hardware itself due to it being less accurate. But again, until someone make an objective test for measuring lag on the original console it’s all a bit speculative.



Regarding a possible Ymir core, yeah unfortunately as was already mentioned I’m pretty sure the idea was already shot down by the author due to all the (deserved or not) drama around RA… Though as was said earlier a hard fork with a name change could still be possible in theory.

5 Likes

SSF is the best Saturn emu, but only for Windows i think (did i run it on Linux via wine some time ago?). And yes it still gets updates.

Based On?

As not heard much about it for quite some time.

I used long time ago but lack of Configuration for stuff like Changing Buttons and Options made me look at RA with Beetle/Medafan Saturn as well as Yabuse and YabaShiro Cores

SSF was the best Saturn emulator before properly accurate emulators for the system were introduced, namely, Mednafen Saturn.

While SSF runs on any post 2010 notebook with a dual core CPU, it’s very hacky overall. Also, it introduces too much lag for action centered games.

As of this post, the best Saturn emulator is Mednafen Saturn, it’s actually so good that the author of the .Emu (dotEmu) emulators for Android ported the source code to this OS, Saturn.emu. I play Saturn on a Poco Pad, which features a Snapdragon 7 gen2, this is a mid range device, and all games run smoothly, the input lag is not as good as Ymir’s, but it’s still great.

Besides Mednafen/Beetle Saturn, I still consider SSF the better choice on PCs over Yabause based emulators, the latter being even more hacky and less accurate.

As for Ymir getting a RA core, being open source, it would require a dedicated maintainer/dev other than the creator of Ymir itself, as he isn’t interested in porting it over. Things like these aren’t uncommon, as far as I can tell, Dolphin, PPSSPP, Duckstation (under Swanstation) and PCSX2 (now LRPS2) aren’t maintained by their respective official dev teams.

3 Likes

So far, I’m also satisfied with Mednafen Saturn (or its Beetle port). There’s this option called Mid-frame Input Synchronization that supposedly helps with input lag. However, as noted here before by others, Saturn games do tend to have worse lag. For instance, Pocket Fighter has 1 extra frame of input latency, compared to the PlayStation version. Why does that happen? I have no idea. Saturn was quirky even in its day, who knows what goes underneath the hood.

Regardless, I think it’s good to clarify to everyone here: there’s difference between internal input lag (which closely relates to the game’s coding and the console itself) and the external input lag (which is caused by anything but the game or the system). These days, we’re much affected by the latter, thanks to a different kind of screen (CRT vs LCD), screen resolution scaling (if it happens), wireless/USB delays and any layer of abstraction your OS puts between the input and the frame being rendered. RetroArch is pretty good at addressing those, and screens are getting better by each generation.

On the other hand, people have more trouble accepting than understanding the internal input lag. That is inherent to the game itself. You may play with a genuine system, genuine controllers, on an SD CRT screen and it will have the exact same latency. It’s the time (in frames) that the game takes to process your input, whatever the reason it may be. That can only mitigated by approaches like run-ahead. However, note it’s basically game-tampering. If you’re a purist, you might be disappointed that it gives you an advantage compared to the original game.

If you want an example, take the 5th-gen Mega Man games. Capcom made them deliberately slower, because of the better animation and worse responsiveness. To compensate, the challenge also has reduced pacing. If you use run-ahead to restore responsiveness, you’ll have a nimble character in a world made for a sluggish one. Naturally, the difficulty will take a hit and things may seem a bit off. I’m not one to complain, as I’m not a hardship-seeker, but it’s good to know, if you’re into that. Although I prefer to leave that alone; if I’m not able to beat the vanilla game (sometimes even on easy, as it tends to happen), then I won’t fiddle to tip the scales to my favor.

3 Likes

For instance, Pocket Fighter has 1 extra frame of input latency, compared to the PlayStation version. Why does that happen? I have no idea. Saturn was quirky even in its day, who knows what goes underneath the hood.

Can’t say I know either, something about the video or input processing chain or something to that effect from what I read. Basically, it might have been harder to program for than on the PSX and thus it often had less optimized games when it came to lag.

For example just tested the SNK port of KoF95 and it has a whopping inherent/internal lag of 5 frames. That’s actually quite a lot. Other SNK ports didn’t fare much better from what I played. Capcom games like the 1st Street Fighter Alpha had an internal lag of 2 frames -that may be 1 more than the arcade but it’s significantly less (and the arcade kof95 sure didn’t had near 5 frames of lag).

So I think the console itself wasn’t inherently laggy…but it may have been harder to program for (compared to PSX) and optimize in that regard and thus more often resulted in laggier games. So it looks like it was highly dev dependent.

Regardless, I think it’s good to clarify to everyone here: there’s difference between internal input lag (which closely relates to the game’s coding and the console itself) and the external input lag (which is caused by anything but the game or the system).

Yes, it’s good to clarify this. The only surefire way to measure the “real”/actual/external input lag is with something like a high speed camera…

The frame advance method is good to measure internal lag but it’s is not an actual measure of real/external lag on your system (also note that if you’re running something like run ahead I believe it will throw off the test as the lag reduction will in fact show up within the frame-by-frame paused emulation. So make sure any kind of run ahead is disabled when testing).

Okay, that’s not quite 100% accurate: it would be more exact to say that the frame advance method can accurately report the inherent/internal lag of the game so long as the emulator itself is accurate of course. So, basically if the emulator is accurate it will show you how many frames of lag is inherent to the game. If the emulator is not accurate and produced for whatever reason lower lag than the console than it could in theory show lower lag than on hardware, even when emulation is running frame by frame.

Again, only way to 100% accurately measure it is to test with a high speed cam on original hardware on CRT and then likewise high speed camera on your PC/system you’re running the emulator on and compare the two.



edit: To sum up.

Frame advance method can be a good quick (not perfect) way to check if the game isn’t simply inherently laggy.

As you noted people can tend to be quick to blame emulation for the lag even when it’s in fact the way the game was.

I think ironically emulation may have somewhat wrapped people’s perception of lag on original hardware, In part maybe because they have simply forgotten how it was on older consoles, especially with more modern gaming and also because early emulation was in fact often much laggier than it is now I think, so some people might have become hyper sensitive to lag on emulation and being quick to attribute any lag to the emulator when in many cases it was the way it was on original hardware.

5 Likes

SRC runs at 30fps. I imagine you are referring to the RA emulation speed.

Mednafen/Beetle is the fastest software emulator. I used it on a Pentium 4 Dual Core and it runs at full speed. With your processor, you have plenty of power. If you have problems with fps and input lag, the problem lies elsewhere.

I read the previous post where Ymir has less input lag than Bettle. I ran some tests and this is not correct.

The average performance is very similar. Beetle consumes almost twice as much RAM. CPU consumption is similar and balances out depending on the game. In some cases (VF2) Ymir consumes twice as much CPU as Beetle.

Ymir has greater input lag than Beetle, approximately 1 or 2 frames.

Beetle consumes less than Mednafen, although I don’t think it’s a fair comparison, as the core seems to me to be an earlier version.

I also tried the other cores Yabause and Yabasanshiro, and even MAME, the performance can be surprising. I left Kronos out because it doesn’t support Vulkan.
When I have time, I’ll post some comparisons.

There are a few things to keep in mind.
RetroArch has the most advanced graphics API, the best synchronization, and latency in emulation.

Mednafen is a veteran emulator, currently in the 100% gameplay debugging phase. Ymir started recently and is currently in the “playable” phase.

Mednafen/Beetle is a perfect pixel emulator. This means that it is identical to the hardware. Together with MAME, there are only two emulators in this club. And from what I’ve seen of Ymir as well,

4 Likes