TAP Debug Mode Code

Thread in 'Research & Development' started by nightmareci, 10 Feb 2019.

  1. I've discovered a code that can be entered at the title screen that enables debug mode. When the code is successfully entered, the "medal awarded" sound will be played with no visual indication. The code can only be entered while in freeplay mode.

    The 16-button code:
    Player 1 C, C, A, C,
    Player 2 A, A, C, A,
    Player 1 B, B,
    Player 2 B, B, C,
    Player 1 A, C,
    Player 2 C

    Debug mode adds some features that can be enabled with special inputs in-game.

    When the tilt DIP switch is on, the game stays paused unless player 1's start button is held down; this function won't be disabled if tilt is disabled while the game is running.

    The other features debug mode enables are activated with a press of a player's start button. Pressing start with or without any other input while in the invisible M-Roll will switch the stack between visible/invisible. While in-game in any mode, if right, left, up, or down is held first, and then start is pressed, the following happens:
    • Right: The level is increased by 100, and only while a piece is active. Clearing a line after using this input will move you up to the level you selected. Locking the active piece without clearing lines after this input is used will cause the level to be set to x99, where x is your section (99, 199, 299, etc.).
    • Left: The game immediately moves you to level 899, sets your grade to S8, and all prerequisites for getting Gm are set except the condition requiring grade S9 upon reaching level 900. (So, in practice, you can't get Gm using this)
    • Up: The game immediately moves you to level 899, sets your grade to S9, and all prerequisites for getting Gm are set.
    • Down: Switches forcing on/off 0.25G gravity regardless of level, except if the 20G code is enabled, or the game is in the normal mode M-Roll.
    Your score can still be added to the rankings while debug mode is enabled, but any new records set won't be saved after power-off.

    Once debug mode is enabled, there's no way to disable it other than a system reset.
     
    Last edited: 9 Mar 2019
    pwengle, Xaphiosis, d4nin3u and 14 others like this.
  2. This is the greatest thing ever, thank you soooo much :ooo
     
  3. Yes, and I can see it being of greatest value to those owning the PCB at home.
     
    colour_thief, K, Qlex and 1 other person like this.
  4. looks like scores do not save to nvram or w/e. in mame and on simon's board the cheated section times did not persist through power-off.
     
    colour_thief, Qlex and simonlc like this.
  5. It seems like these codes need to be input when the piece is active. If you clear a line during the right+start input, you can go up multiple sections at once, you have to press start really fast. That being said, you can press up+start to give you S9, and level 899, then you can press right+start right before clearing a line, and you will enter the m-roll. This avoids having to play the 900 section.
     
  6. Did you wait until the all-time rankings screen is shown? NVRAM is written when transitioning to that screen.
    Edit:
    Nevermind, just checked myself, you're correct.
     
  7. So I guess PCB players finally have a way to practice the M-roll legit, huh? You could probably do a few other things as well yet to me I see that as the most important part.
     
    Qlex likes this.
  8. It’s also useful for playing death 500, or skipping early death sections.
     
    Qlex likes this.
  9. K

    K

    My God !
    Nice work !!
    How could it be this cheat wasn't discovered before ?!?
     
    Qlex likes this.
  10. Significant research effort was required.
     
  11. way to dig o/
     
    Qlex likes this.
  12. Amazing work, nightmareci. I played a session of m-roll practice yesterday and it works great, though getting the inputs in to skip to the end of Master immediately is a bit awkward.
    I'm impressed by how full featured and robust this is, since it only works on Free Play and doesn't save scores. This does mean that all records played on Free Play really should have video proof from now on, though.
     
    Qlex likes this.
  13. If your record makes it onto the board's all time ranking, would a picture/screenshot of the rankings page after a reboot work as well (so the play in question is on all time high but not on daily ranking)?
    (Video footage is obviously a lot more bullet proof and therefore preferable).
     
  14. this method potentially causes issues with people who do not exclusively use their board and/or have higher scores than they can achieve covering their GM ranking (for example, @Archina's board is currently full of my own scores from when i borrowed it last year)
    i would also assume that it would be difficult, say, if the board is in a public location; having to either ask an operator to reboot the game or come back another day after a reboot seems kind of unnecessary imo.

    from what the code actually provides, the most i can see someone doing is playing a game legitimately until the 800s, somehow getting an S8 before 900 (doable, but very difficult), getting levelstopped at 899, then inputting start & left to set the m roll flags. as Zach said, the input is a little awkward, and at 800 speed i can see it being probable that someone trying to cheat this way would make a mistake (unless they had someone else to press start for them, but in this case they run the risk of pressing start on the wrong input and using the wrong code, making the cheating obvious)
    furthermore, if someone was resorting to using this in the first place it's resonable to assume they would already know they messed up one of the requirements. this would (most of the time) be more apparent to a viewer, and thus any missed tetrises would be noticed rather quickly, with the section time requirements being fairly trivial to calculate if there is reasonable doubt.

    honestly while i think it's worth keeping in mind, i don't think it's all that useful with regard to faking a score. i guess you can splice a video with tilt enabled but it seems more effort than is worth considering you need to keep start held down until you want to pause


    @nightmareci, thanks so much! i really should steal borrow jamie's board again so i can get some decent practice in
     
    Qlex likes this.
  15. THIS
    CHANGES
    EVERYTHING
     
  16. So just a few details regarding this:

    1. So no scores are saved as long as debug mode is enabled, ever? Or is this only the case for games where a "cheat" has been used?
    2. What does a "system reset" entail? Is this the code that resets all high scores? Or is it possible to disable debug mode without losing saved scores?
    3. Alternatively, is "debug mode" still enabled if freeplay is disabled?
     
    1. Yes, as long as debug mode is active, no records will be saved.
    2. "System reset" is meant to be either an actual reset of the system (that is, full power-off then power-on) or entering the test mode screen and exiting back to the game. There's no way to disable debug mode other than system reset.
    3. See above; exiting test mode (which you'd do after changing the credits mode) always disables debug mode.
     
  17. Ah, I understood it as the debug state was stored on the PCB. This is perfect then.
     
  18. i screwed around a bit with these codes by spamming start + right so much while in low gravity (specifically, a start of a game of doubles) that the level counter overflowed repeatedly, causing weird things to happen such as pieces having no gravity at all and levitating in place

    then i went even further and things like this started happening

    [​IMG] [​IMG]

    on the left, 1P's t piece flew upwards while trapped between 2P's i piece and the wall, and eventually came back down out of bounds before disappearing completely
    on the right, 1P's i piece disappeared after remaining stationary for about 5 seconds, then started rapidly flying vertically across the screen, eventually coming to a stop where pictured, and hard crashing the entire game

    clearly this is what these codes were intended to do, and is very beneficial to understanding how to play TAP
     
    FreakyByte, Sumez, d4nin3u and 6 others like this.

Share This Page