Tip: Layer 3 backgrounds and tides disappear when you hit a message box, so plan your level around that. For example, you can add a sublevel without layer 3 at the start/midpoint, and include your message there.
This is an assembly patch of Yoshi's Island (version U1.0) that causes totally random input when playing stages. Effectively, a "bot" takes over your controller input completely. The only thing allowed is that you can still press Start to pause.
Each button besides Start and Select rolls a random time to stay held, and then another random time to stay released. Rinse and repeat. Time is random from 0 to 127 frames; this can be tweaked with !rand_mask - change to #$FF for 0 to 255 (for longer holds & releases) or as low as #$03 for 0 to 3 frames (much more frequent presses).
All RNG for buttons is uniform / equal weighting, but there is a directional pad right bias only in that right & left simultaneously picks right and lets go of left. Actually, right bias is only the default. This can be changed to left using the !direction_flag RAM address at any time in the game. As an example, I added bias changing into the flutter generator sprite $1E5 so that when it spawns in, the bias switches. This potentially could make some stages more navigable.