- Getting Started
- Trainers
- Level Menu
- Highscores
- Tap/Roll Speed Tester
- Scoring
- Hz Display
- Input Display
- Disable Flash
- Goofy Foot
- Block Tool
- Qualifier Mode
- PAL Mode
- Resources
TetrisGYM is a modification of NES Tetris.
While originally based on the NTSC version of the game, the patched ROM supports PAL and NTSC gameplay types.
TetrisGYM is distributed in the form of a BPS patch and can be applied to the USA version of the game with Rom PatcherJS or similar.
Unpatched File SHA-1: 77747840541BFC62A28A5957692A98C550BD6B2B
A link to the BPS can be found on the releases page.
Some trainers have additional configuration values; use left and right in the main menu to change them.
Like in the original ROM, holding a
b
select
and then pressing start
will end gameplay and return to the menu screens.
Same gameplay as A-Type, with some improvements: no score cap, no rocket, no curtain, always next box, better pause, start on any level.
Spawn T-Spins in random positions. Additional entry delay on successful T-Spin to prepare for the next state.
Provides same piece sets for VS battles (or practise).
Press select
to generate a random seed.
A small number of seeds are different between v4 and v5, but otherwise both versions are compatible.
An indicator will show which seeds are for v4 and which are for v5, and pressing select
will always generate a v4 compatible seed.
An experiment in highlighting areas of the playfield.
Indicates how close you are to achieving a score by 230 lines. Loosely based on Tetris rate.
You can choose scores up to and including 1.5m in increments of 100k.
This can be adjusted for transition or PAL games;
value | score at 130 lines |
---|---|
4 | 201261 |
5 | 252936 |
6 | 300278 |
7 | 353015 |
8 | 400356 |
9 | 452031 |
A | 508690 |
B | 552131 |
C | 600535 |
D | 655460 |
E | 706051 |
F | 752310 |
Several preset playfields for practising different types of tucks and spins.
- Z
- T / S
- T
- I
- Buco
- Various
- L / J Spintuck
- L / J Doubletuck
Same gameplay as B-Type in the original, except heights up to 8 are supported.
Fill in the floor to a certain height to force higher stacking. This mode is often referred to as 'handicap'.
Setting the height to zero will result in a game mode with burns disabled.
For practising tapping and quicktapping pieces over towers. 0-G will have a tower on the left of the screen and H-W will have a tower to the right.
A trainer to drill different numbers of taps. Highlights the next well coming up.
The options 0-F clear lines when you fill the well, and G-V act like the piece locks without a line clear.
Similar to B-Type, except the garbage is a checkerboard.
Uses custom scoring.
Puts you ten lines before transition. The value given will be added to your score, so set this to 5 and start on level 18 for a 'maxout trainer' style mode.
Setting the value to G causes the mode to act identical to the game genie code SXTOKL
Different styles of garbage to dig through.
- Always Tetris Ready - Pushes blocks to force tetris readiness
- Normal Garbage - Random amounts of garbage
- Smart Garbage - Follows your well
- Hard Garbage - Brutal random garbage
- Infinite Dig Generator - Scrambles the bottom of your stack
Create artificially inflated droughts. Increasing the value causes less I pieces.
0 = normal gameplay I = no line pieces
Change the auto-shift delay rate.
The pieces fall by two blocks every frame. It's hard.
The value multiplied by ten is the number of lines to transition from normal killscreen.
The value controls the transition from normal killscreen (a value of x
transitions at 10*x
lines)
Blocks are invisible until the end of the game.
Press up
to hard drop and select
to soft drop.
Retains the functionality of the original level menu, except;
Press select
when choosing a level to show 'READY' text
Press right
when on 9 to choose any level to start on with up
and down
.
Press down
when on 5-9 to select hearts to display with left
and right
.
Used for keeping track of wins in local games.
Shows scores up to 8 digits, and includes lines and start level.
Name entry has better controls and some added characters.
If SRAM is available, scores will be saved and show again the next time the game boots.
To clear the highscores, select hearts and press down
. Then confirm the prompts by pressing start
.
Practise tapping rate outside of gameplay.
The scoring modes only affect the display ingame, and your real score will be displayed in the high score list.
The scoring code is a complete reimplementation, and is not vulnerable to the game crash that the original causes.
In every mode except Classic, at 1000 lines an extra digit is added to the lines counter.
Classic
Behaves like the original uncapped scores, with digits A-F used for a rollover at 1.6 million.
After 100 million the score will jump by 800k, so you may want to use another mode if you plan on getting higher than that. (Your actual score will still display correctly in the high scores list.)
7 Digit
An extra scoring digit, rolls over at 10 million.
M
Shows your score in millions, rolls over at 100 million.
Capped
Cap your score at 999999.
Shows the average tapping rate for each tap in a burst.
Also shows frames between spawn and first tap, and current tap direction.
Disable the flashing from when you get a tetris.
Flips A/B, Start/Select, and inverts DPad directions like a Goofy Foot controller.
Allow more fine control over aspects of gameplay.
This is a config option only, and will enable the block tool globally.
When enabled, press start to use the editors.
- DPad
Move around - Select + Left/Right
Switch between piece and playfield editors
In piece mode
- A / B
Change the current piece - A + B
Change the next piece
In playfield mode
- A
Draw block at cursor - B
Delete block at cursor
When paused
- Select + Up
Increment save slot - Select + Down
Decrement save slot - Select + A
Save state - Select + B
Load state
During gameplay
- Select + B
Load state
Savestates allow you to save and reload playfields as many times as you want. These configurations are stored on your cart, and will persist after poweroff.
Savestates require SRAM to work. Tested and working on Everdrive / Emulator / MiSTerFPGA.
Combined with the level editor, savestates are effective for practising specific scenarios.
Reintroduces the 'wait screens', intended for use in qualifiers where the the player would otherwise gain a time advantage skipping the rocket, legal and title screens.
Also reintroduces other classic features like the end game curtain, standard pause, and no next box.
These features make TetrisGYM work better with post processing tools like NestrisChamps and MaxoutClub.
You can hold select
when booting to start in Qual Mode.
You cannot use the Block Tool and Qual mode at the same time.
Dictate if the NTSC or PAL gameplay mechanics should be used. Should automatically detect region, but can be manually overwritten otherwise.
Tools and references: https://github.com/ejona86/taus
Disassembly, based on work from TAUS: https://github.com/CelestialAmber/TetrisNESDisasm