DOSBox-SVN features

I though I should showcase some of the work we have done in the DOSBox-SVN core in the last few months:

New Port

First of all, I basically re-ported the core, now it’s up-to-date with DOSBox upstream which leads to easier backporting of new features.

Re-worked options menu

Overhauled / simplified core options a bit. Most users will not need advanced options now, and you really don’t need to leverage config files unless you really want to.

Dynamic Recompilers

While DOSBox itself has been dormant for a while, lately a few worthwhile additions have happened, for example the Windows x64 dynarec was fixed, also they recently added an AARCH64 dynarec (so, linux, android, and thanks to @m4xw recently, switch).

Windows x64 dynarec:

AARCH64 dynarec on android:

Additionally on this port, auto cycle detection works, which is a huge QoL improvement, it means you have to tweak CPU cycles a lot less than before, many games will just work

Mounting CD images via GUI on the fly

You can use the libretro disk-control-interface to mount and swap CDs on the fly alleviating the need to type long commands or use hotkeys for this purpose.

For example, if you lad NFS without the CD you’re greeted with this result:

You can then go to the menu, and mount the CD:

And now it works:

Fast-forwarding

This is done via an experimental libretro API callback, it now works but your mileage may vary, if you have issues… don’t use it.

Refresh rate switching (optional)

If refresh rate changes outside a certain threshold, a retro_set_av_info call will be performed, leading to driver reinitialization, this is useful for people with VRR monitors and I figure people using CRT switchres too

Save file redirection (optional)

This is a bleeding edge addition, it was added to mainline DOSBox two days ago! It was backported from GoG cloud saves implementation for DOSBox games. https://sourceforge.net/p/dosbox/code-0/4196

Basically it adds a new drive type as explained in the link. The libretro implementation is optional, disabled by default and the way it works is:

  1. When you load gamename.exe it will create a gamename.exe directory in your pre-defined save directory
  2. It will mount that save directory as an overlay on top of the loaded game directory, so all writes will be redirected to that folder

That means you can now keep your games dir untouched, and potentially sync your saves using your tool of choice.

It’s experimental and I figure a bit buggy, so your mileage may vary.

IPX over IP

So far it works:

I’m trying to make it work with the network lobbies. When/if that happens you’ll be able to connect easily to other peers using DOSBox-SVN libretro using our built-in netplay menu.

So, to be continued.

Credits

Credit were credit is due, thanks to:

  • The DOSBox team for this awesome emulator. In my personal opinion it’s one of the most important emulators out there, because it has proven emulators have a place in commercial re-releases.

  • @Tatsuya79 for the initial work on refresh-rate switching

  • @m4xw for the AARCH64 fixes and the switch target

  • @frangarcj for the on-going work to get this working on Vita

  • All the users and testers of course, users are the reason the port exists in the first place

19 Likes

whoa, those are some wild additions that make for a much more usable core on non-PC platforms. Awesome job!

First off, LOVE the update post. I’m always really interested in what changes are made in cores. Sometimes cool features slip by me it seems like. Second, obviously, these additions sound great. I’m loving the disc-mounting here. That will make a couple games far more approachable in my controller based setup. <3

My one question though is about SVN in general. I’ve not played a whole lot of DOS yet, but SVN seems to have come quite a ways over the ‘vanilla’ DOSBox core in the last while - is there any use-case where you’d want to use the other core? I guess I don’t fully understand the difference between the two still.

No, I hope we’ll be nuking the old core soon

2 Likes

Hi!

Is there any way to use MT32 emulation in DOSbox SVN (RetroArch 64bit)? I think I’ve tried everything.

  • MT32_CONTROL.ROM and MT32_PCM.ROM are in the system directory.
  • I’ve created a DOSBox folder in the system directory and put inside the dosbox-SVN-libretro.conf with the proper values to use mt32. Also tried naming the folder DOSbox-SVN with no luck.

The standard DOSBox core works like a charm with the mt32 emulation and I’ve not found any information about this.

Thank you.

No, I’m not adding any unofficial patches to this version.

Is there any eta on when we’re going to have the opportunity to test this new version?

it’s on the buildbot, it has always been

I missed this post, just wanted to share that a month ago I finished Duke Nukem 3D using DosBox SVN core and remapped all keys to a PS4 gamepad, L-R strafe, L2-R2 browse weapons, L3-R3 browse items, start and select are Enter and Esc, D-pad and Left analog move keys, triangle is Use/Open, X jumps, square shoots, circle crouches, a perfect setup, I think it played even better than in the keyboard. After setting the CPU type and cycles, the game ran smooth like butter and looked beautiful! Doom, Alien Rampage and others are running perfectly too.

glad you like it. Cycles auto worked fine for me.

Did you have to tweak it manually?

When I first tried it, along with Blood, the game lagged bad, once I tweaked it, they ran smooth, my settings for DN3D:

dosbox_svn_adv_options = "false"
dosbox_svn_cpu_core = "dynamic"
dosbox_svn_cpu_cycles = "9"
dosbox_svn_cpu_cycles_mode = "fixed"
dosbox_svn_cpu_cycles_multiplier = "10000"
dosbox_svn_cpu_type = "auto"
dosbox_svn_emulated_mouse = "enable"
dosbox_svn_emulated_mouse_deadzone = "5%"
dosbox_svn_ipx = "false"
dosbox_svn_joystick_timed = "true"
dosbox_svn_machine_type = "svga_s3"
dosbox_svn_memory_size = "24"
dosbox_svn_save_overlay = "disable"
dosbox_svn_sblaster_type = "sb16"
dosbox_svn_scaler = "none"
dosbox_svn_use_options = "true"
dosbox_tandy = "auto"
dosbox_use_options = "true"

cycles auto doesn’t like hard GPU sync. That may be the reason

It’s OFF, threaded video OFF too and V-Sync ON, I remember this game back in 1997 on a friend’s PC and it didn’t run so smooth, with the above settings, I’d probably need a killer PC costing thousands of dollars to play this game so fast like it’s running here, the older DosBox core wasn’t as optimized as the SVN, it had some framerate issues.

MIDI passthrough (i think is called) works using Munt for mt32 in retroarch dosbox svn.

It works in retroarch for windows, in Mac dosbox svn dosent find midi devices, in Linux should probably work, but havent tested.

Here is a setup guide, works the same for retroarch just make sure to open munt before retroarch.

Can confirm auto lags in games like blood, alíen and fallout, dynamic, fixed and manually tweaking makes them work smooth, gpu sync off . Tested in windows and mac

Weird… Works fine for me on windows and android /shrug

I can’t seem to find it in http://buildbot.libretro.com/nightly/linux/armhf/ Only in http://buildbot.libretro.com/nightly/linux/x86_64/

Thank you steren!

I Will try using Munt. I think I used it long time ago but didn’t pay it much attention.

@radius Is the DosBox-SVN core available for ARM?

Yes, or well you may need to build it I guess

1 Like