NES Input Randomizer aka Dumb TAS

Channel:
Subscribers:
203
Published on ● Video Link: https://www.youtube.com/watch?v=J5hhuxFJnKg



Duration: 5:54
128 views
2


In this video, I have a random number generator connected to the controller port of a NES. The result is extremely erratic gameplay, and graphical/gameplay glitches. Shown are tests with Metroid, Zelda II, and Tetris.

Hardware details:

The output of a bipolar transistor avalanche noise generator is fed into an op-amp, where it is heavily amplified to create essentially a random duty cycle square wave. The square wave is fed into the serial data input of a CD4015 Serial-In Parallel-Out shift register, whose clock is connected to the clock/strobe signal coming from the NES controller port. The resultant eight-bits are routed to two places: an 8-wide LED display used to indicate activity, and a CD4021 Parallel-In Serial-Out shift register (the same type used in the NES controller itself). The CD4021 is set up in the same way as in the NES controller, with the clock pin controlled by the NES clock/strobe signal, and the parallel/serial pin controlled by the NES latch signal. The serial output (taken from Q8) is then sent to the data line entering the NES through the controller port.

One change was made in order to have it work better with horizontal platformers: instead of sending the d-pad left and right bits straight into the CD4021 to be shifted out, they each first go through a D Flip Flop arranged as a T flip flop (or, in other words, a frequency divider). This makes it so that instead of left/right button presses being "tapped" or short-lived (thus producing no left/right movement in many platformer games), they remain active until toggled or "pressed" again by the noise generator. Doing the same for the "jump" button in a game would also be beneficial, so that the jumps can be higher instead of just short hops, but I didn't have enough flip flops to do that.

Max speed is simply the result of having the op-amp go straight into the CD4015. "Normal" speed sends it through a CMOS inverter first, which apparently alters it enough to make a big difference.

It was necessary to disconnect the randomized data for the start button once the game had begun, otherwise every game would pause/unpause and waste time/sanity.

Many games will either freeze, slow down, or glitch heavily when the inverter is bypassed.







Tags:
nes
zelda
metroid
rgb
retro



Other Statistics

Zelda II: The Adventure of Link Statistics For Oatburner

There are 151 views in 2 videos for Zelda II: The Adventure of Link. Less than an hour worth of Zelda II: The Adventure of Link videos were uploaded to his channel, or 11.99% of the total watchable video on Oatburner's YouTube channel.