Saturn MiSTer Core Attempts to Fix Sound Effects in Bug, Panzer Dragoon

The Saturn MiSTer core was updated twice last week with a focus on audio fixes.

Developer Sergiy Dvodnenko, aka SRG320, improved the accuracy of sound effects found in Saturn games like Bug, Panzer Dragoon and Keio Flying Squadron 2 in updates pushed on Aug. 5 and Aug. 10. The core’s GitHub lists the specific updates:

  • SCSP:
    • rework envelope generator
    • rework the access of slot registers
    • fix the frequency modulation calculation (Bug!, Panzer Dragoon sounds)
    • fix PLFO (Keio Flying Squadron 2)
    • implement interpolation (Panzer Dragoon sounds)
    • fix DSP instruction decoder
  • Adjusted the system clock frequency for NTSC
  • SDRAM1:
    • fix for reduce slacks
  • VDP1:
    • rework command fetching to reduce slacks

My fellow SHIRO! Traynoco recorded a video comparing how the crystal pickup sound effect sounds on the MiSTer before last week’s updates, on the MiSTer now and on original Saturn hardware.

The crystal pickup sound effect does sound more accurate to original hardware with the current core, but all of the sound effects seem to be pitched too low.

So there’s still a lot of work still to do. In fact, a user on the official MiSTer Discord server named Zet-sensei ran a test on how the core is emulating the SCSP. It failed eight out of 11 specific functions tested.

For comparison, Zet-sensei ran the test on popular Saturn emulator Mednafen, which passed all but one part of the test.

On the left is the results of the SCSP test on the current Saturn MiSTer core. On the right is the results of the test on Mednafen.

The testing tool was developed by Celeriyacon, who has two Saturn audio-related projects on his GitHub: a Sega Saturn sound driver providing ADPCM decoding on the SCSP and the SCSP DSP, and an NES sound player that heavily uses the SCSP DSP.

The tool can be downloaded here. Zet-sensei added it to the Saturn MiSTer core’s GitHub under a reported issue with Celeriyacon’s NES sound player homebrew.

“I’ve disclosed the homebrew as I think it is important for some researches on the Saturn system and I don’t have any other possibility to contact effectively SRG320 outside of GitHub,” Zet-sensei said on the MiSTer Discord. “With the source code of the testrom, SRG320 could potentially work much faster for fixing the SCSP implementation in a near future.”

To the August updates’ credit, while SHIRO! did not test them, the sound effects in Keio Flying Squadron 2 seem to be fixed, according to Zet-sensei. And another user in the MiSTer Discord, Vanfanel, said that Panzer Dragoon’s audio has been corrected, too.

Earlier MiSTer core updates

Before last week’s updates, the Saturn core had been updated three times in June since the last time SHIRO! reported on the core’s status in late May. Dvodnenko then went quiet throughout July.

Many of June’s updates focused on the SCU co-processor and the VDP2 graphics processor to make a variety of games run better. According to the GitHub, those updates were as follows:

  • DDRAM:
    • tweak for better compilation
    • cleanup
  • Rework main SDRAM to use only one chip for better compatibility with older SDRAM modules.
  • DCC:
    • correct timings to match originals
  • SCU:
    • rework BBUS/CBUS logic for better accuracy
    • fix DSP DMA to parallel operation with instructions
    • fix DSP DMA to DSP program ram (Shining Force III Barrand North Plateau battle)
    • fix DMA write to B-BUS with unaligned addresses (3D Baseball)
    • fix DMA address update (Street Fighter: The Movie)
    • fix DMA writes to B-BUS with non-sequential addresses (Batsugan regression)
  • VDP1:
    • fix distorted sprite rendering (Daytona USA regression)
  • VDP2:
    • fix line scroll function in double interlace mode (Virtua Fighter 2 staff roll)
    • rework rendering Normal scroll screen in bitmap mode (Capcom Generation 5 gallery, Doukyuusei – if)
    • fix window in hires mode (3D Baseball)
    • fix burst write to VRAM with unaligned addresses (3D Baseball)
    • fix NBG2/3 rendering when reduction mode is enabled for NBG0/1 (Clockwork Knight – Pepperouchau’s Adventure regression)
    • fix rendering Normal scroll screen in bitmap mode (Courier Crisis regression)
  • Correct ID for 3D Pad
  • Update README.md

Dvodnenko first released to the public a playable build of the core in May 2022 and has updated it many times since then. It was first added to the main MiSTer branch in October 2023, indicating that it was mature enough to be available to all MiSTer users rather than as an optional core that had to be added manually.

Anyone interested in supporting Dvodnenko can do so at his Patreon.

The MiSTer is a field-programmable gate array, a chip that can be changed by programming it to physically emulate retro video game consoles. It includes an SD card reader from which “cores” and games can be loaded.

The cores are the programming that tells the FPGA chip how to configure itself to reproduce the performance of a console. There are cores for a wide array of consoles, from the Atari 2600 to the PlayStation — and now the Saturn.

About the author

Danthrax

Danthrax is a contributor to the Shiro Media Group, writing stories for the website when Saturn news breaks. While he was a Sega Genesis kid in the '90s, he didn't get a Saturn until 2018. It didn't take him long to fall in love with the console's library as well as the fan translation and homebrew scene. He contributed heavily to the Bulk Slash and Stellar Assault SS fan localizations, and has helped as an editor on several other Saturn and Dreamcast fan projects such as Cotton 2, Rainbow Cotton and Sakura Wars Columns 2.

Be the first to comment

Leave a comment

Your email address will not be published.


*