this post was submitted on 15 Mar 2024
115 points (96.0% liked)

Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ

54566 readers
760 users here now

⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.

Rules • Full Version

1. Posts must be related to the discussion of digital piracy

2. Don't request invites, trade, sell, or self-promote

3. Don't request or link to specific pirated titles, including DMs

4. Don't submit low-quality posts, be entitled, or harass others



Loot, Pillage, & Plunder

📜 c/Piracy Wiki (Community Edition):


💰 Please help cover server costs.

Ko-Fi Liberapay
Ko-fi Liberapay

founded 1 year ago
MODERATORS
 

I remember back in the day the emulator Snes9x was one of the best emulators for Super Nintendo emulation, but it's not on the Megathread. Is it no longer trustworthy or was it just missed?

Sorry if this was already asked in this community. I would've searched but Lemmy (or at least my Lemmy instance, I suppose) doesn't seem to have a search function for intra-Community searching.

Cheers.

you are viewing a single comment's thread
view the rest of the comments
[–] OmnipotentEntity@beehaw.org 7 points 8 months ago* (last edited 8 months ago)

Most closely matches the behavior of actual SNES consoles.

This requires very careful emulation of the timings of the various buses and co-processors, as well as on-cart chips which may or may not be present. For instance, a Speedy Gonzales game has a button in the final stage which crashes almost every emulator because enters an infinite loop reading from an open bus and waiting for the value to attain a specific pattern. However reading from an open bus is generally specified to be the last value loaded into the bus, which in this case is the load instruction itself, $18. So the value is read to be $1818 by most emulators, which doesn't match the pattern expected.

However, this is only if you're emulating with instruction level accuracy. It is possible for the value of the bus to change in between the instruction being loaded and the value of the bus being loaded due to an HDMA load being triggered, but this requires a cycle accurate emulator.