4 ms·
Classic: http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html http://beza1e1.tuxen.de/articles/accidentally_turing_complet... and https://www.gwer
by lifthrasiir 10y ago
Classic: http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html http://beza1e1.tuxen.de/articles/accidentally_turing_complet... and https://www.gwern.net/Turing-complete https://www.gwern.net/Turing-complete
(Not to say that TC itself is bad, but unexpected/accidental TC is normally a sign of bad omen)
- stefs 10y agodoesn't look like this is accidental TC. > NSF music files, on the other hands, are played by actually emulating the NES CPU and sound hardware in real time. Is that cool or what? The gstreamer plug-in creates a virtual 6502 CPU hardware environment and then plays the music by running a bit of 6502 code for a little while and then looking at the resulting values in the virtualized sound hardware registers and then rendering some sound samples based on that.
- lifthrasiir 10y agoI would classify it as unexpected TC nevertheless. Audio decoding and CPU emulation are very different things.
- stefs 10y agobut in this case audio decoding by cpu emulation was the intent of the developer. i'm sure she knew what she did.
- sbierwagen 10y agoUntil I read this article I didn't know NSF files are chunks of 6502 ASM, I thought they were sequences of notes, like MIDI files. I certainly didn't think "rendering a preview of a sound file" as "enabling arbitrary code execution".