2018-07-20

ANESE v0.0.47

EmuCR: ANESE ANESE v0.0.47 is released. ANESE (Another NES Emulator) is a Nintendo Entertainment System Emulator being written for fun and learning. While accuracy is a long-term goal, ANESE’s primary goal is to play some of the more popular titles. As of now, most basic Mappers have been implemented, so popular titles should be working! :smile: ANESE is built with cross-platform in mind, and is regularly built on all major platforms (macOS, Windows, and Linux). ANESE doesn’t use any vendor-specific language extensions, and is compiled with strict compiler flags. It is also linted (fairly) regularly. ANESE strives for clean and interesting C++11 code, with an emphasis on readability and maintainability. With that said, performance is important, but it’s not ANESE’s primary focus.

ANESE changelog:
Perceptual hashing... that's the cool shit.

I mean, my "advanced" perceptual hashing algorithm is really dumb
right-now, literally just taking a sum of all pixels in the frame,
and yet, it's good enough to detect when a _bunch_ of pixel-values
change from frame-to-frame. I bet that with a bit more tweaking,
like normalizing the frame wrt. the palette, I can get some even
better results.

I also have a "true" hashing implementation, where each frame gets
a unique hash. It seems to be realtively collision-free. That said,
there are times where there are collisions, namely in Metroid,
where the game likes to reuse screens. I'll have to figure out how
to deal with that...

So, what's the next step?

Whenever a scene changes, take the hash of the new screen, and see
if it matches up with anything we've seen before.
That way, we can have "re-enterant" scenes, which is a key to being
able to save/load tiles!

Download: ANESE v0.0.47
Source:Here

0 Comments

Post a Comment