SEGA多機種模擬器 Jgenesis 發布新版,更新如下 :
Settings Changes
- On Windows, the settings file is now stored in a user profile directory by default (generally
C:\Users\$NAME\AppData\Local\jgenesis\); other platforms already behaved this way (e.g. generally$HOME/.config/jgenesis/on Linux) - If you want to restore the old Windows behavior of storing the settings file in the emulator directory, there is a new option in Settings > Paths to switch the settings file location, or you can create a
portable.txtfile in the emulator directory (contents don't matter, the file just has to exist); this works on all platforms - The
--configcommand line arg still exists and overrides all of this behavior if it is used
Improvements
- The rewind buffer is now compressed in memory; this significantly decreases the emulator's RAM usage, particularly when emulating Sega CD or 32X
- Exact savings will vary based on a lot of things, but with 32X for example I'm seeing that a 10-second rewind buffer now takes 40-80 MB of RAM instead of ~600 MB
- Compression is performed asynchronously, so this should not impact emulator performance
- Save states are now compressed and written to disk asynchronously, which makes it significantly less likely that saving state will cause the emulator to stutter
Fixes
- Fixed turbo input mappings not working properly; this was a regression in v0.12.0
- This was caused by the backend changes to support the Genesis debugging tools added in v0.12.0, which involved mostly rewriting the main emulator execution loop (among other things); the new version was missing the bit of code that makes turbo buttons alternate between pressed and not pressed
- Fixed all settings reverting to defaults when a single setting fails to deserialize from the config file; now only the setting(s) that failed to deserialize will reset to default
- (SNES) Cartridges that specify a nonsensically high amount of SRAM in the cartridge header now get 256 KB of SRAM instead of none (#635)
- This seems to usually happen with prototype cartridges that don't have a proper cartridge header, where the "SRAM byte" is just part of a random chunk of code or data; some of these do require SRAM though