DOSBox-SVN Mortal Kombat Trilogy has wrong sound if timing is external

With the DOSBox-SVN core, if I use timing modes “internal(fixed 60fps)” and “internal(variable fps)” MKT plays and sound normal.

“internal(fixed 60fps)” gives 60.0fps, “internal(variable fps)” gives 70.0fps.

Running MKT on stand-alone dosbox 0.74-3, I have discovered that MKT likes to run at about 62.5-63fps if left to control its own fps.

With the timing mode "external(variable fps) I’m trying to control the fps of the game externally to have it run exactly at 63fps (to match original speed), through Rivatuner Statistics server(RTSS).

But when the game runs at 63fps the sound has a distortion, which isn’t there otherwise. If I set the fps to 70 the games sounds normal again.

Actually the closer to 70fps (upwards and downwards) I set the fps in RTSS the more the game sounds normal, and the opposite is true.

Using timing mode external (and no other form of fps control) the audio syncronization feature of retroarch has the game play and sound correctly, showing an fps that hovers around 70.5.

This makes it appear the sound remains functioning at this 70.5 fps while the video could be running at a different value according to whatever you control it to.

retroarch version is 1.8.4

cores dosbox-svn and dosbox-svn ce, behavior is the same.

Do not use fps limiters and do not force vsync with emulators. In this case, to let the core run at the game’s refresh rate, simply enable the “sync to exact content framerate” in the RetroArch settings (Settings/Video/Synchronization. Also found under Settings/Frame Throttle).

Also, the refresh rate of this game is 70, not 63. If you use an fps limiter at 63FPS, you are slowing the game’s speed down by 12%. Of course you are going to get audio dropouts. You have 14 milliseconds worth of audio each frame (70Hz) but at 63FPS you need 16 milliseconds of audio. There’s 2 milliseconds of audio missing each frame.

If you really, really, really want to slow the game down, then you need to let RA do it through its slow motion feature. Configure a slow motion ratio that gives you 63FPS. RA will then also stretch the audio from 14ms to 16ms each frame.

1 Like

Do not use fps limiters and do not force vsync with emulators. In this case, to let the core run at the game’s refresh rate, simply enable the “sync to exact content framerate”.

Hi there, thank you for respoding.

Well, if you have a gsync/freesync capable monitor this would work great, but I’m trying to run this game the same way I run other retroarch cores, displaying to a sd crt tv and using RTSS’ scanline sync, because it’s fully tearfree, and there’s just minor compromises akin to 60.1Hz content (snes) running a round 60Hz (so I don’t have to create specific timings for each type of content i.e).

Also, the refresh rate of this game is 70, not 63. If you use an fps limiter at 63FPS, you are slowing the game’s speed down by 12%…

You sure its 70? MKT is a 240p game, and usually it was the 200 line ones that were 70Hz. Also, the dos version of MKT is a port of the PS1 version, which afaik is regular 60fps game.

I don’t know about the DOS port, specifically, but arcade Mortal Kombat games are usually ~53 FPS, IIRC. According to VOGONS, it runs at 62.42 FPS?? https://www.vogons.org/viewtopic.php?t=59474

No. You said that it’s 70 and that you want it to run at 63 instead.

Perhaps you should explain from the beginning what you’re trying to achieve because I’m very confused right now :stuck_out_tongue:

I don’t know about the DOS port, specifically, but arcade Mortal Kombat games are usually ~53 FPS, IIRC. According to VOGONS, it runs at 62.42 FPS?? https://www.vogons.org/viewtopic.php?t=59474

Yes, that thread is exactly where I first learned how to get MKT dos to run.

No. You said that it’s 70 and that you want it to run at 63 instead.

Haha, no, I was saying the natural fps is 63, but the RA cores run it at 70 if timings is internal(variable).

Ultimately what I’m trying to do is find out what is the “best” MKT experience (whatever fps that may need) and display it on a 15KHz crt tv. For now it appears that 63fps is the best experience. 240p@63 is doable, but 70 is beyond the syncing range of a 15Khz tv…

When I say 63fps, read ~62.5

I have been testing things with dos MKT as it comes from the install cd, and also with Raul Cuban’s releases, he has been releasing MKT for quite a while, and there are versions based on both the dos and the windows version of the game.

I managed to get fps information with the MKT windows version, and it does show 62.5 fps. Had to use fullscreen mode and the dgVoodo wrapper to get RTSS to hook to the game and show fps.

In the dos version of MKT, there is this driver you’re supposed to use called UniVBE. The first time you run MKT, it invokes automatically a utility that creates a univbe driver for you. This utility can also be invoked manually. Whatever the fps you get when manually using this utility, the pace and sound of the game is normal, but the video is choppy if the fps you set is low.

There are patched versions of the univbe driver and/or the main executable that will get the game the game to run at 63fps. Raul Cuban’s releases also run at 63fps.

The thing is, whenever MKT is set in a way that stand-alone dosbox shows 63fps, retroarch will show 70 if timing is internal(variable). If timing is internal(fixed), the fps is 60 and the game runs at its normal pace, but video has choppiness, as though some frames are being skipped or something.

All I do is start mkt in sa dosbox, it will show 63fps. Close dosbox and start RA, launch the dosbox core, and run mkt. It will show 70fps.

I don’t understand why this is the case, the game isn’t really generating all those 70 frames. The pace of the game is the same whether you run it in dosbox sa (with its 63fps) or the dosbox core (with its 70fps), RA dosbox at 70fps isn’t speedier than sa dosbox at 63fps.

I’d rather use RA dosbox cores because of how well RA deals with super resolutions and running on a monitor that isn’t marked as the main one on Windows (which sa dosbox can’t do at all when in fullscreen mode). I’ve been running many emulators in RA + super resolution + RTSS scanline sync + 15Khz crt tv and it has been awesome.

but you can’t push 240p@70 to a 15Khz tv, as it won’t sync. 63 is doable, but trying to manually coerce RA (with RTSS) dosbox into 63 from 70 does make the game slower.