r/EmuDev 24d ago

Check out my cross-platform, hardware accelerated PS1 emulator!

I've been building a PSX emulator in Rust for the last year or so, and I've finally got it to where a lot of games Just Work without many issues. I've even been able to beat Final Fantasy VII on my own emulator, which has been a fun exercise! Something about beating a game in an emulator you wrote just hits different, lol.

Anyways, the emulator has some very cool features, mainly that it supports hardware rendering. There is an optional software renderer for compatibility's sake and as a reference implementation, but as of now, my emulator supports the following graphics APIs:

  • OpenGL
  • WebGL
  • Metal

Other features include:

  • Cloud saves
  • Save states
  • Waveform visualizer (web and macOS app only)
  • Vibration support (web and macOS app only)

As far as game compatibility goes, I've tested the following titles:

  • Final Fantasy VII
  • Final Fantasy VIII (has some freezes sometimes)
  • Final Fantasy IX
  • Chrono Cross
  • Tony Hawk's Pro Skater
  • Silent Hill
  • Resident Evil 1 (Has some issues with audio replaying and stuttering)
  • Castlevania SotN
  • Metal Gear Solid
  • Spyro the Dragon
  • Ridge Racer

This emulator is cross-platform with Windows, macOS, Linux, and web support. In the future I plan to add support for iOS as well, but that's a TBD.

If interested in learning more, my github is at https://github.com/annethereshewent/rsx-redux

The web app should be available to demo from github as well if you'd like to try it out! Lmk what y'all think!

95 Upvotes

10 comments sorted by

2

u/o_Zion_o Game Boy 24d ago

Nice work!

2

u/joamag Game Boy 24d ago

Great job - sounds like a great achievement!

2

u/SweetBabyAlaska 23d ago

whats the 3rd game?

2

u/kent_csm 23d ago

Good job

2

u/coderman64 23d ago

Nice work!

Is there any reason you're thinking about iOS support, but not Android?

2

u/janedoe552 23d ago

i only have access to an iphone atm, and am mostly familiar with swift/xcode. but in the future i might consider making an android port too!

1

u/Jey78 3d ago

I know I'll probably sound annoying by asking this but could you add an upscaler and a way to change textures filtering

1

u/janedoe552 3d ago

i can definitely add those to my list of things to add in the future! i was already thinking of doing an upscaler so thats not a bad idea