News for hackers. Stuff that matters.
Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by aquova on Thursday May 03, 2018 @11:30PM (#16992009)
Every time I see this video I am blown away by the technical skill involved. I would have difficulty creating this with video editing software, let alone writing assembly programs to inject into a game to actually do this. The Portal song in particular stands out, the only other game that I know of that tries to do voice playback is the Pokemon Yellow Pikachu cry you hear at the beginning of the video, and it's rough at best. I know this program isn't faced with the same size limitations as an actual cartridge, but it's still incredibly impressive.
Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by khedoros1 on Friday May 04, 2018 @01:19AM (#16992360)
> The Portal song in particular stands out, the only other game that I know of that tries to do voice playback is the Pokemon Yellow Pikachu cry you hear at the beginning of the video, and it's rough at best.

Bionic Commando has a few speech samples. There's a game called Cannon Fodder (an Amiga port, I think?) that opens with full motion video, with matching audio. They're both pretty rough, quality-wise.

The explanation of the demo video has a good explanation of how the wave output hardware works, and how they got such high-quality output. I think it's a combination of bad timing and non-use of the volume-shifting tricks that kills the audio quality in commercial games; if I make an emulator dump the samples to file and import it into Audacity or something, the output is much clearer (about what you'd expect for mono, 4-bit samples at 10KHz or so).

Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by qz3 on Friday May 04, 2018 @01:14AM (#16992337)
There was a time where is discovered the speedrun and tas communities and binge-watched everything it has to offer. I was constantly amazed by what the players achieved, and I especially liked the ones where the gap between tas and human player closes.

SethBling made an elaborate, frame-perfect glitch exploit run of Super Mario World where he warps from the first level to the end credits - absolutely unbelievable.

https://youtu.be/14wqBA5Q1yc

Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by cschep on Thursday May 03, 2018 @07:55PM (#16991043)
This is next level excellence. Seriously hard work. Well done!
Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by ddoolin on Thursday May 03, 2018 @06:20PM (#16990533)
I got a good chuckle at pushing uncompressed Spongebob video through that 4-bit input. Nicely done.
Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by Willson50 on Thursday May 03, 2018 @08:47PM (#16991320)
How does he do that?
Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by GuiA on Thursday May 03, 2018 @09:39PM (#16991567)
This is described in the document (sections of interest are "Emulator Choice" and "SpongeBob video sequence"). To make it very brief, what's happening is that Pokémon Yellow is acting as an interpreter for commands that get sent to an engine that renders tiles+sounds. These commands are sent through the key inputs. A specific emulator that polls the keys at a subframe rate (very very subframe indeed - thousands of inputs per frame) is used so a lot of data, such as video, can be sent.

In a way, you can imagine what you're seeing not as a GameBoy Color game being played, but as a video being streamed to a GameBoy Color video player using a specific codec optimized for the GameBoy hardware.

Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by Torn on Thursday May 03, 2018 @11:11PM (#16991946)
Great response - I think what a lot of people miss in these pokemon code execution setups is that the inputs are being streamed to the console _really_ fast
Re:MrWint's GBC Pokémon: Yellow Version “Arbitrary Code Exec... by saagarjha on Thursday May 03, 2018 @11:01PM (#16991908)
I'm assuming that the parent comment was referencing the specific Spongebob quote in the video, rather than asking for a serious explanation.