Elektrine lite

← Feed

@alice@mk.nyaa.place

Post #3434486

2026-06-02 01:58 UTC

Making decent progress on landing it, and meanwhile I've been thinking about switching to RetroAchievements hashes for CDs. For most games I already just use MD5, but for CDs I currently use a CRC32 hash of the entire disc - specifically main data from each sector of each track. While I managed to make it decently fast (that PR above helps, yes), it's still not great for compressed CHDs, and ultimately it's gonna be worse for DVDs. So... maybe I should just give up on 100% precise hashes and just use retroachievements ones. They are decent enough most of the time and for mods we're gonna have softpatching in future anyway, so...

Replies (1)

  • @alice@mk.nyaa.place 2026-06-03 05:22

    The libmirage speedup PR landed today, so I landed the highscore part too. At this point we can consider CHD support done. It's still slow for compressed images, but I'm gonna switch to RetroAchievements hashes for that. Instead - I added a bunch more deinterlacing modes, and switched Blend to blend in linear sRGB (kinda, for performance it instead does power of 2 instead of 2.2 or proper sRGB, but ultimately it's close enough for this) Weave, Bob and Blend were already there. Linear is bob but with interpolation for doubled lines - it judders less as a result. Mean is like Blend but without shifting fields - basically Bob but blended - it doesn't smear pixel art as much but can look worse for 3D. Finally, Top Only and Bottom Only discard the other field, so the game runs at half the framerate and half the vertical resolution, but with no judder or motion blur. I may remove some of these for the release (or more likely, hide them behind a debug env variable), but we'll see. For now I just wanted an easy way to try other deinterlacers. See https://wiki.videolan.org/Deinterlacing/ for detailed explanations, I'm mostly using the same names. I didn't do Phosphor since we already have CRT filter (which does deinterlacing itself accordingly), and no fancy algorithms like YADIF - they are all optimized for smooth content like video rather than games + too heavy to run in parallel with the game.

    Open ##3434485