SNESTICLE REVIVE v1.0.2 [PS2]
CONTEXT
Project based on the source code of SNESticle (Icer Addis), available since 2022 — however abandoned and full of pending issues: several bugs, missing files, a very old compiler (GCC 3.2), very little documentation, and also corrupted files.
CREDITS
- Thanks to Icer Addis for this incredible emulator (the original SNESticle).
- Port based on the fork by wolf3s.
- Thanks to Adriano Oliveira and Yamark for testing on real hardware.
- Thanks to wLaunchELF ISR (Israpps), the Open PS2 Loader community, FCEUmm (AKuHAK), PicoDrive (Irixxxx), and others for keeping their repositories public — they greatly helped in understanding how to implement new features (I borrowed a thing or two from each).
- Thanks to the Snes9x and bsnes repositories, and to other docs/repositories that helped with the implementation of special chips.
- Thanks to the Miniz and Upng repositories for lightweight code for file/image decompression.
- Thanks to HardLevel for publicizing the project and providing a tutorial.
NOTES
- Not everything has been tested, since I am testing on an emulator (my PlayStation 2 is broken) — so some bugs may appear in certain things.
- Problems and life improvements related to Issue #17
BUGS
There is still a known bug with the bgm folder in certain PS2 models; consider using only the ISO file if you are experiencing this problem. mmce is not working yet.
WHAT'S NEW?
Documentation
- [FIX] Readme has been fully updated.
Save states
- Restored the original SNESticle shortcuts:
L2 + Crosssaves a state and
L2 + Circleloads it.L2 + R2remains reserved for opening or closing the
menu and saving modified SRAM. - Added a one-time destination chooser shown on the first save: Auto, USB,
Memory Card, MMCE, or Internal HDD. The choice is remembered and can be reset
later from the Save States menu. - Auto always uses quick slot 1 and, when only a Memory Card is available, uses
the connected card with preference formc0:. - Added five quick slots for explicitly selected destinations.
- The save-state format now includes ROM identity, version, generation, and CRC
checks. Each slot keeps two banks so the previous bank can be recovered
automatically if the newest one is incomplete or corrupt. - New states use fast deflate compression and avoid unnecessary full-payload
rereads, substantially reducing save and load times. - Existing uncompressed version-1 save states remain compatible.
Management and interface
- The Save States screen now works as a file manager both on the initial
homebrew screen and while a game is paused. - States stored on USB, Memory Card, MMCE, and Internal HDD can be browsed and
deleted through the file menu. Deleting a state removes both banks belonging
to its slot. - The Save States title is aligned near the top without moving the original
option and help-text positions.
Memory Card, SRAM, and audio
- Unformatted Memory Cards are detected before use. The emulator asks whether
to format the card, clearly warns that all contents will be erased, and
selects No / Cancel by default. - After confirmed formatting, the SNESticle directory and icons are recreated
and the pending save or browse operation resumes. - SRAM changes are checked immediately when opening the menu so a recent
in-game write is not missed. - Audio is muted during blocking operations and restored correctly when
returning to the game, preventing repeated tail audio and resume deadlocks.
Compatibility
- Save states are available for base SNES hardware.
- Games using DSP, SuperFX, CX4, OBC1, S-DD1, S-RTC, or Super Game Boy remain
blocked until the complete state of those chips is serialized.