Bisqwit is a Finnish programmer who writes about dithering algorithms, OpenMP, emulation, and game source code, and also publishes essays against Islam.
Commenters like his programming, speedrunning, and reverse engineering work and the Yliluoma dithering article, but one is uneasy about his anti-Islam writing.
@matts_ramblings approach is great to get a perfect authoritative reference we can use to test and/or train other tools.
Other tools mapping the Super Mario Bros. levels:
1. animmerger [1] by bisqwit
Written in C++.
Takes png images as input.
This tool seems to be the reference in creating level maps for Super Mario.
Matt's tool seems to use animerger to generate the color palette according to the source code [2]
2. ALMA [3] by BZH314 (disclaimer: our baby project)
Matt mentions using this approach as a possibility in the post.
Written in Python using the OpenCV [4] computer vision library.
ALMA takes videos as input, generates the map levels as images (png and animated gifs) and also generates the videos to show the algorithm in action [5]
(shameless self plug: need more YouTube subscribers to get that sweet sweet vanity URL please :-)
ALMA applies background subtraction to remove the moving enemies in order to keep only the background (a problem Matt's tool does not have)
3. Manually stitched
If you're looking for good SMB1 level maps stitched manually, there are some good work out there:
Rick N. Bruns' nesmaps.com [6]
Mariowiki: example of World 1-1 [7]
Are you aware of other tools out there?
---
[1] https://bisqwit.iki.fi/source/animmerger.html
[2] https://gist.github.com/matthewearl/733bba717780604813ed588d8ea7875f
[3] https://bzh314.com/alma/
[4] https://opencv.org/
[5]…
Neat facts:
-3DFX Voodoo (all models in 16bit color depth) let you enable hardware dithering block (2x2/4x4 ordered dither, zero performance penalty). They did it to save framebuffer space (24bit textures, 16bit framebuffer). It made 3dfx graphics look significantly better than nvidia/ati in 16bit depth. Earlier cards used 4x1 filter on the output, Banshee and later models gained 2x2 filter providing "22 bit like quality" as 3dfx called it.
-Back in ~1994 some HP unix workstations used dithering to produce 'near 23bit color' out of 8bit framebuffer https://en.wikipedia.org/wiki/HP_Color_recovery
-All crappy (TN) LCD panels (staple of garbage bin supermarket 1366x768 laptop, and older 'gaming' fullhd ones) use FRC which is a form of temporal dithering https://en.wikipedia.org/wiki/Frame_rate_control
One legitimate use of dithering was in the days of CGA/EGA/other fixed palette hardware. You can relive it here 'Joel Yliluoma's arbitrary-palette positional dithering algorithm': http://bisqwit.iki.fi/story/howto/dither/jy/
> with no commentary or explanation.
Enable subtitles/closed captioning to see additional commentary provided by him about what is happening.
>the video is someone speed-typing the source code
They are not actually typing it at all, from the faq https://bisqwit.iki.fi/jutut/kuvat/programming_examples/nesemu1/FAQ.txt
Q) Is the video sped up? Or, is that your real typing speed?
A) No, it's not sped up. But the input is pre-choreographed. The computer
implements the choreography, as well as designs a part of it.
It is a TAS, except I'm not speedrunning; I'm just aiming for
15 minutes and to utilize it in the most entertaining manner.
My typing speed is not the focus of that video; it is not even
being presented except in a small part of the 2/2 video.
The focus is in the source code.
He actually wrote his own editor that he uses in the video and I believe that assists with the choreography.
≥ So it is no surprise that Muslims will attempt to take possession of, or destroy, everything that belongs to the Jews. The battle for the ownership of Jerusalem is not a religious one. It is not based on anything holy, anything to do with Allah. These are only excuses. It is simply a matter of claiming superiority over another nation: What Islam has been from day zero. “Allahu Akbar”, “Allah is Greater”. It is a war of superiority over another. Truth has nothing to do with it.
Don't you love it when people self-expose themselves of being hateful creeps (there also this crap [0]). Nice one dude, now the entire world - including future employers - can see you for who you really are.
[0] https://bisqwit.iki.fi/story/apologetics/islamicdeception/
Wow, sorry to be blunt but 1) it looks AWFUL. I didn't expect it to robustly-successfully redraw sources but this is just a dismal implementation of depth-reduction. 2) Its offensive, insulting, to say that this converts into 'pixel art'. 3) Not only that but it is trivial. I'm sure almost anyone reading will have done something at this level for interest in two or three lines and then abandoned it seeing how bad it looks. As a pallet cleanser (ha) here's an article about actually good low-color automated processing https://bisqwit.iki.fi/story/howto/dither/jy/
I've been stalled out on that for a month or two. The PPU has been quite tricky. I'll probably take inspiration from [nesemu1](http://bisqwit.iki.fi/jutut/kuvat/programming_examples/nesemu1/) for the next rewrite.
Related (with screenshot!): http://blog.redlinernotes.com/posts/So-Close-and-Yet-So-Far.html
If I can wind up with a NES emulator that is "fast enough" and 2500 lines of code instead of 75,000 (Fceux) or 150,000 (Nestopia) then I'll be happy.