Small release with mostly bugfixes and a few save state-related features
SMS/Game Gear and NES save states are not compatible with previous versions, other systems' save states should be compatible
Features
- Made the game save file and save state locations configurable (#132)
- Can be set to the same folder as the ROM image (same as previous behavior), subdirectories in the emulator folder, or custom paths
- Added a new
--load-save-state <SLOT>command-line arg to load a specific save state slot at game launch (#132) - Added an option to attempt to load the most recently saved state when launching a game
- If this option is set when there are no save states or the most recent state cannot be loaded, the game will boot normally
- (Game Gear) Added an option to render at SMS resolution (256x192) instead of native resolution (160x144)
- The expanded parts of the frame often contain garbage because they weren't meant to be visible, but they sometimes contain an expanded playfield
Fixes
- (Sega CD) Fixed a bug where loading a save state could possibly crash the emulator due to a stack overflow; this was particularly likely to happen on Windows due to the small default stack size
- This was caused by the state deserialization code inadvertently deserializing some very large arrays into the stack before moving them to the heap, rather than deserializing directly into the heap
- (SMS/Game Gear) Fixed the VDP display disabled implementation so that it properly blanks the display rather than leaving the previous frame onscreen
- (SMS) Fixed the NTSC/PAL and SMS Model settings not having any effect when loading a game from a .zip/.7z file rather than a .sms file
- (NES) Fixed multiple bugs related to how the PPU determines what color to display when rendering is disabled while PPUADDR points to palette RAM; this fixes Micro Machines having a solid gray bar in the middle of the title screen, as well as several test ROMs that rely on this hardware quirk for high-color display (#53 / #55 / #56)
- GUI: Saving or loading a save state slot from the GUI window now also changes the selected save state slot
- CLI: Fixed the 32X option missing from the help text for the
--hardwarearg (#131) - The video memory viewer window now renders without VSync; this fixes likely stuttering and audio popping while the memory viewer window is open