Notice: This is deprecated. Use the native PortAudio feature instead.This alternative GM build uses BASSASIO (
www.un4seen.com), which in turn uses ASIO to provide lower audio latency. At best, a reduction of around 75 milliseconds can be achieved (compared to dsound with -audio_latency 1.0, see
http://forum.arcadecontrols.com/index.php/topic,141869.msg1469093.html#msg1469093).
Should work on both XP and Windows 7/8/10. Note that for XP you really need a proper ASIO-capable card for decent performance.
Steps to getting things running:
Sound card with native ASIO driver:* Configure the latency through its control panel and run the executable, you could also use batool(64) to access the control panel.
No native ASIO driver:* Install ASIO4ALL (
http://asio4all.com/) and check 'Use off-line settings' during the installation
* Start GM with -window. In the tray, a green ASIO4ALL icon should show up. Click this and configure the sound card to be used. The settings pane should look something like the attachment (make sure to enable 'Pull mode'!). I've gotten the best results with integrated cards. The result with discrete cards range from excellent to terrible. Try setting a latency of 96, and restart GM to try it out. If the sound is crackling continuously, with a game you know should run well (for instance pbobble), try a higher setting.
* If you're not pleased with the latency you can achieve with ASIO4ALL (you should be pleased with anything lower or equal to 256), buy an old SB Live!/Audigy and use that with the kX driver. See the _kX section in
http://forum.arcadecontrols.com/index.php/topic,141869.msg1469502.html#msg1469502 for more info.
If you encounter problems, post here, and I will do my best to help out.
Required settings for CRT Emudriver:multithreading 1
Required settings for 60hz LCD:monitor lcd
refresh_dont_care 1
multithreading 1
Required settings for 120hz LCD:monitor lcd
multithreading 1
Known problems:Games running at very inconsistent speeds will probably sound worse than with the other APIs. HyperSpin with ASIO4ALL+Realtek does not work properly.
Build instructions:See
this post for build instructions
Frame delay benchmark:* A frame delay benchmark is added. Simply use -bench [seconds] and check the log to see the percentage of frame times with the given frame delay. To use the traditional benchmark behavior use -bench [seconds] -video none -sound none.
Example:
mame64 samsho4 -bench 180 on my computer outputs
...
Frame delay/percentage: 0/0.31% 7/3.51% 8/96.18%
...
Which means that a frame_delay setting of 7 is very likely to work well.
Download:Use PortAudio instead.