SNESTICLE REVIVE v1.0.0 [PS2]
CONTEXT
Project based on the SNESticle source code (Icer Addis), available since 2022 — but abandoned and full of loose ends: numerous bugs, missing files, an ancient compiler (GCC 3.2), very little documentation, and even corrupted files.
NOTES
Not everything has been tested, since I'm testing on an emulator (my PlayStation 2 is broken) — so bugs may show up in some things!
CREDITS
- Thanks to Icer Addis for this amazing emulator (the original SNESticle).
- Port based on wolf3s's fork.
- 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 made it much easier to understand how to implement new features (I borrowed a thing or two from each).
- Thanks to the Snes9x and bsnes repositories, and other docs/repos that helped with implementing the special chips.
CHANGELOG
Modules & Code
- Code modularized and folder structure rebuilt from scratch for easier maintenance.
- Several project scripts and files recovered from corruption / that were missing.
- Dropped GCC 3.2 — welcome GCC 15.1.
Mainloop.cppsplit into smaller modules.- Dropped SJPCM — welcome AUDSRV.
- Several old modules replaced with newer versions.
- Makefile rewritten from scratch, with optional auto-install of libraries/dependencies.
- Old CD/DVD modules (by Aka. Hiryu) removed and updated.
- Host modules updated [untested / may not be 100%].
- USB flash drive support (exFAT and FAT32).
- Automatic NTSC/PAL region detection (50/60Hz) from the BIOS.
- Network no longer starts at boot (it's opt-in, like in OPL) — fixed a freeze on real PS2.
- Improved build system:
makewithJOBS,VERBOSE=1andPROFILE=1. - Renamed to SNESticle Revive 1.0.0.
- Added a new name and new icon in the PS2 OSDSYS (memory card).
Interface
- New background UI.
- New font and new color — fixed across all resolutions (aside from a few glitches).
- Settings screen (WIP).
- Resolution and axis (offset) adjustment in the config screen.
- Fixed an issue with the character count in ROM names.
- Fixed an issue with the missing space character in ROM names.
- Added working analog stick (works in games too).
Video / GS
- Many GS fixes.
- 240p fixed and working (default for CRT TVs).
- Video switching/configuration screen added.
- Built-in GSM, no OPL needed (experimental, untested).
- Focus on keeping the emulator lightweight on real PS2.
Super Nintendo & Nintendo (NES)
- InfoNES added in place of NESticle (couldn't find NESticle in the original repository).
- NES emulation stabilized.
- NES performance: direct RGBA rendering → SMB3 went from ~30fps to 60fps.
- NES audio partially implemented — sample rate fixed to 32000 Hz (fixed pitch/crackling); still has issues.
- Cartridge size handling fixed — iaddis didn't support certain final cartridge sizes (e.g. the 0.5MB bank), which froze hacks like Metroid X: Fusion 1.3; now they run, and new hacks may work too.
- Fixed warnings and out-of-bounds read bugs inherited from upstream InfoNES.
Special Chips (Adriano confirmed they run better on real PS2)
- DSP-1 / DSP-2 finalized — Mario Kart, Pilotwings (DSP-2 only Dungeon Master). Still heavy on the EE; VU optimization pending.
- OBC1 — 100% (Metal Combat).
- CX4 — 100% (Mega Man X2 / X3).
- S-DD1 — added (Star Ocean still freezes; Street Fighter Alpha 2 runs slow).
KNOWN ISSUES
- Super Mario Kart (timer).
- Super Metroid (glitches when pressing Start).
- Final Fight 2 (sprite glitch).
- Super Mario Bros 3 (NES) — a bug in the core itself; there's an open issue about it.
- NES pitch and audio still need fine-tuning.
- NES saving not implemented yet.
- DSP-1/DSP-2 still heavy on the EE (freeze under load).
- 6MB and 8MB ROMs (not supported yet).
FUTURE ADDITIONS
- DSP-3 and DSP-4, Super FX, among others (mostly Japanese games with calculation logic in the ROM).
- HDD / MMCE support.
- Game cover art support.
- Fix host support (it may not be working correctly).
- Further optimize the SNES CPU on the EE (MIPS and VU support).
- Favorite games.
- Amiga-style music in the menu.