English Amiga Board

Go Back   English Amiga Board > Support > support.FS-UAE

Thread Tools
Old 12 February 2020, 18:35   #1
FS-UAE Developer

FrodeSolheim's Avatar
Join Date: Dec 2011
Location: Førde, Norway
Age: 39
Posts: 3,636
FS-UAE - Progress report

This post will explain what I’m currently doing, and also gives you an idea of why there hasn’t been any development release in a good while

I’m working on FS-UAE 4.0, which replaces many of the non-emulation related components. Don’t worry, FS-UAE should still feel familiar, only better. I also want to mention that many of the improvements in this post are already done.

Design goals include:
  • Better audio subsystem with lower audio latency.
  • Make better use of high-resolution timers to ensure the emulation runs smoothly also in fastest-possible CPU mode.
  • On-screen keyboard suitable for use with controller with realistic system-specific keyboards.
  • Support hot-plugging game controllers.
  • Create a better architecture which makes it easier to support different audio and video backends. Initial version with ALSA and SDL2 audio backends, and OpenGL and SDL2 video backends.
  • Ensure that FS-UAE works really well with G-SYNC and FreeSync monitors on supported systems.
  • Better internal book-keeping and visual graphs of performance and timing, to make it easier to identify issues and make sure the emulation runs smoothly.
  • Truetype font rendering for better readability and internationalization.
  • Better support for high-DPI displays.
  • Make the user interface adapt better to non-16:9 displays.
  • Support controlling the GUI with the mouse.
  • Deliver on the initial idea of making FSEMU suitable for integration with different emulators.
  • Built-in file browser with controller support (mainly for floppy selection), an oft-requested feature.
Other bonuses:
  • Make it easier to specify (any) actions on game controllers in ports, independent of controller type but dependent on port mode. (e.g. port0_joy_lefttrigger = action_quit)
  • Custom names and automatic screenshots for save states.
And of course, update the UAE core to a newer version. Ideally on par with the latest WinUAE stable release when FS-UAE 4.0 is released.

No features are currently planned removed, but the initial development versions will come without some existing functionality. The changes due to the new architecture means that some code must be rewritten before everything will work again, and I want to release development versions before everything is in place.

The stuff that will probably not work in the initial development versions include:
  • Themes will not work initially.
  • Some video scaling options may have no effect initially.
  • Some video and audio options may have no effect initially (for example GPU texture format or audio frequency).
  • Net play support will be initially disabled.
  • Support for multiple mice will probably be initially disabled.
  • Joystick support may be limited to gamepad-like devices initially.
I would also like to mention that I’m considering allowing changes which are not backwards compatible. Since this release changes quite a lot already, it could be a good idea to reconsider a few design choices done years ago. So a few configuration options might change without being able to automatically convert old options to new options, and directory layout could change slightly (including how saves are stored). Don’t panic, and don’t read too much into this. We can discuss these things in the forum when we get more specific, and we should at minimum write a migration guide if there are incompatible changes.

(I'm also adapting the Vice emulator in parallel, with similar feature set, so there'll likely be a Vice-FS dev version soon as well ).
FrodeSolheim is offline  
Old 12 February 2020, 18:48   #2
Registered User

Join Date: Nov 2019
Location: Greece
Posts: 149
Thanks for your hard work, I am a fan of FS-UAE!
manossg is offline  
Old 12 February 2020, 18:59   #3
Registered User
Join Date: Dec 2017
Location: Austin, TX
Age: 37
Posts: 240
Very nice!

I'd love to see improvements in audio sync. OpenAL has huge (100s of ms) latency with PulseAudio on my integrated sound card. When I dug into it the buffer size was being derived from some arbitrary figure reported by the ALSA driver, that nothing except OpenAL seems to use. Apps that uses ALSA or Pulse directly work much better.

With Pipewire aiming to give JACK-like latency things might get even better.

FS-UAE is my favorite emulator for development. Its quick snapshot save/restore feature is invaluable. I still use WinUAE on a Windows PC because its beamraced vsync is unbeatable for gaming (and seems not available in OpenGL or Vulkan). I'd love to see better support for that on Windows at least.

Thanks for your hard work on this.
arcanist is offline  
Old 12 February 2020, 19:08   #4

Pyromania's Avatar
Join Date: Jan 2002
Location: Chicago, IL
Posts: 2,330
Super nice, I'm a big fan of FS-UAE.
Pyromania is offline  
Old 12 February 2020, 20:55   #5
Ex nihilo nihil

malko's Avatar
Join Date: Oct 2017
Location: CH
Posts: 2,683
Thank you Frode for your hard work on this wonderful emulator
malko is offline  
Old 12 February 2020, 21:25   #6

Pyromania's Avatar
Join Date: Jan 2002
Location: Chicago, IL
Posts: 2,330
FS-UAE is my favorite app on macOS!
Pyromania is offline  
Old 13 February 2020, 20:00   #7
Registered User

Foul's Avatar
Join Date: Jun 2009
Location: Perigueux/France
Age: 45
Posts: 1,453
Send a message via ICQ to Foul Send a message via MSN to Foul
Excellent news !!! thx
Foul is offline  
Old 14 February 2020, 21:05   #8
Registered User
Join Date: Mar 2013
Location: Leipzig/Germany
Posts: 414
Originally Posted by arcanist View Post
OpenAL has huge (100s of ms) latency with PulseAudio
You can configure OpenAL to use ALSA output directly. But you need to pay attention, that you don't get an ALSA -> Pulse -> ALSA routing. Check, remove/backup /etc/asound.conf
With tweaked settings in /etc/openal/alsoft.conf or $HOME/.alsoftrc you can configure FS-UAEs
from default 40 to a very low value. Depending on the hardware of cource. On my old Audigy2 I could set it to <10. With my ALC1220 onboard sound I need at least 13.

Apps that uses ALSA or Pulse directly work much better.
Yeah, of course. But without OpenAL or something similar Frode needs to write code for Windows, Mac, Linux, BSD, whatever... - Even more work...

I think FS-UAEs latency is good already. Without using shaders, tweaked sound setting and disabled vsync (I use freesync) gameplay is really snappy. But perhaps I'm just not very sensitive to that, and I am completely wrong. Last time I played on a real Amiga was decades ago, so I can't really compare.

I'm excited to give the new FS-UAE verison a try. Thank you for your work, Frode.
jbl007 is offline  
Old 14 February 2020, 21:27   #9
Missile Command Champion

Retro-Nerd's Avatar
Join Date: Aug 2005
Location: Germany
Age: 48
Posts: 11,900
I think FS-UAEs latency is good already. Without using shaders, tweaked sound setting and disabled vsync (I use freesync) gameplay is really snappy.

It's pretty good with Freesync. But believe me, Beam Racing or Run Ahead gives you much better latency.
Retro-Nerd is offline  
Old 14 February 2020, 21:47   #10
FS-UAE Developer

FrodeSolheim's Avatar
Join Date: Dec 2011
Location: Førde, Norway
Age: 39
Posts: 3,636
In case my original post wasn't clear enough on that, OpenAL is effectively already removed from the next version FS-UAE. I've written new code which (currently) uses SDL2 for audio (which again uses miscellaneous backends) or directly uses ALSA, and I'm not planning to add support for OpenAL since the SDL backend seems to work very well cross-platform.

Btw, one "problem" with current FS-UAE is that if you have a powerful computer which emulates frames really quickly, you cannot have sub-20-ms audio latency, because FS-UAE emulates a frame in one go (If FS-UAE emulates a frame infinitely fast, then FS-UAE generates 20 ms audio instantly, which means you get a least 20 ms buffering). The next version uses high-resolution timers to emulate more in real-time (sleeping between scanlines when necessary, somewhat similar to how WinUAE runs in beam-racing mode I suppose) which means that audio latency can go really low. I've successfully run some tests with around 2-3 ms buffering with ALSA/FS-UAE combined.

On the other hand, to minimize input lag, you want to postpone emulation as close to rendering time as possible, which means you need bigger audio buffers, so there is a trade-off here. And also maybe no point in having less audio latency than video lag.

The default setup is still to be determined I guess, but the point is that FS-UAE should be able to perform better (and also with lower audio latency by default)
FrodeSolheim is offline  
Old 10 March 2020, 13:12   #11
Registered User

Join Date: Jun 2019
Location: BNE AU
Posts: 137
Sounds like a huge leap forward!

Exciting times ahead. Thanks for all the hard work for my go-to emulator
quantum8 is offline  
Old 24 March 2020, 18:56   #12
Registered User

Join Date: Oct 2019
Location: Neunkirchen aP, DE
Posts: 43
I haven't posted in a long while. I had to take a break with other workload but this is great news. Thanks very much for all your hard work. I recently upgraded to a new 13" MBP, 2019 model. I still have audio latency issues if I try to switch to full screen 1920 x 1080 but not as bad as on the 2017 model (which had battery issues). Looking forward to a new release!
Weaselrama is offline  

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 16:21.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.07549 seconds with 15 queries