Skip to content

SNESTICLE REVIVE v1.0.0 [PS2]

Choose a tag to compare

@ReyFxck ReyFxck released this 27 Jun 04:53

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.cpp split 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: make with JOBS, VERBOSE=1 and PROFILE=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.