Table of contents
Introduction
I recently hosted a NES Pinball competition, challenging participants to produce TASes that get to 100K in score as soon as possible. I was inspired by this being the dominant category for this game in SRC.
Well, I gave it a go with JaffarPlus and got a surprising result. Turns out you can manipulate the CPU into the extremely improbable situation where it is executing a routine situated in RAM which the PPU seems to modify at the same time. As a result, the routine never returns where it should, but instead continues executing RAM -- with the very fortunate result that some code gets executed that just happens to add 100K score. By abusing this glitch, I get to 100K MUCH MUCH faster than the current RTA WR.
Thanks to 100th_Coin for helping me figure out what was going on. He believes this can open the possibility of ACE, but neither of us have delved much deeper into it. Unfortunately, we haven't realized why you cannot continue playing after the glitch.
I have also created a 1M point movie using JaffarPlus. This is a somewhat more objective goal because it reaches the actual maximum score before overflow. However, given the popularity of the 100K movie, I think this is more relevant to the community.
Enjoy!
Software + Hardware
Rom Information
- Name: Pinball
- ROM: Pinball (JU) [!].nes
- SHA1: BE348431A9C03D1A588A8363C0094B5A0722D9BE
- MD5: AD809323FE92D0E083BF77CCECAE462E
Routing Bot
- Bot: JaffarPlus
- Routing Core: QuickerNES
- Platform:
- AMD Epyc 9965 (192 cores, 384 threads) + 1536Gb RAM
- Exploration Rate: ~4 Mstates/s
Tegron: Claiming for judging.