Saturn emulator Erings gets a proper rumble engine at last
The Erings Saturn emulator is dropping its cheat-file rumble hack for a purpose-built format, with 26 games getting hand-tuned effects and automatic downloads via its eblitui front end.
AI-drafted from 2 sources. This story was written with AI from the outside reporting listed under Sources, and checked by automated tools before it went up. The originals have the full detail.
The Saturn never had force feedback worth the name, but the people emulating it have decided that is no reason for players to go without. A developer working on the Erings Saturn emulator has built a dedicated rumble engine for its eblitui front end, replacing a workaround that borrowed RetroArch's cheat file format and was never fit for the job.
According to the developer's blog post, the old system read RetroArch cht cheat files pulled from RetroArch's public cheats repository and used them to fake rumble by watching for simple value changes in memory. It worked, after a fashion, for a handful of games, but the format was never designed for haptics and the developer calls it “super basic”. The new engine, described in detail in the post, is built specifically for the job and is considerably more capable than the author says he originally intended.
How the new format reads a Saturn's memory
At the centre of the system is a set of memory watches: fixed addresses, pointers that get resolved and followed to an offset (useful for chasing a player object around RAM), keyed slot watches that scan an array looking for an identifying value, and plain array watches that fire on a match anywhere in a range. On top of that sit two kinds of trigger logic, called on and while in the format. On rules handle the actual triggering, including scaling by the previous frame's value and a “level” mode for sustained effects, while while rules act purely as a gate, the example given being a check for whether the game is actually in play rather than paused.
The result, per the blog post, lets a rumble file do far more than buzz the controller for a fixed duration. Files can set per-motor intensity, hold an effect for as long as a condition stays true, pulse on a state change, run a scripted pattern of intensity and timing, scale strength against a live memory value, dampen or amplify effects globally, and prioritise one rumble event over another, the example being a boss death overriding ordinary player damage. Rules can also be aimed at a specific player's controller or applied to everyone in a multiplayer game, which is the nearest thing here to a profile system rather than a single global setting.
One rule, one boss fight
The post walks through a real example: a rule for the transport ship boss in Panzer Dragoon Zwei's second episode, which watches a memory pool for a “dying” flag and a distance value, then runs a scripted pattern of pulses that scale from full intensity down to 0.4 as the boss's distance value changes, with a 900 millisecond cooldown and priority set above other effects. It is a small piece of logic that stands in for what the author says the whole engine was built to allow: rumble that actually tracks what is happening in a specific fight rather than firing on any old memory poke.
What ships, and what is still missing
The initial release covers rumble files for 26 games, spanning fighters, racers, shooters and the Mega Man X4 and Mega Man 8 ports, according to the list in the blog post. Titles include Panzer Dragoon, Panzer Dragoon Zwei, Daytona USA, Sega Rally Championship, Radiant Silvergun and King of Fighters '97. The eblitui desktop module downloads these files automatically from a public repository, matching them to a running game by identifier, so players should not need to install anything by hand. The blog post also notes third-party usage of the format is already happening, though it does not say by whom. What is not yet clear is how much authoring work each file takes, or whether the community will extend coverage much beyond this first batch. The discussion thread on r/emulation is the place to watch for that.
Sources
- Erings (Saturn emu) Bringing Rumble to Saturn Games (John's Blog)
- Discussion: Erings (Saturn emu) Bringing Rumble to Saturn Games (Reddit)
Image: Illustration: AI-generated for Gaming World