LJ65

LJ65 (formerly Tetramino) is a fan-created homebrew game developed by Damian Yerrick for the NES and distributed as free software.

The game offers a single, endless Marathon mode with four different gravity settings (low, med, high, and 20G), two rotation systems (TOD rotation and TGM rotation), two songs, and an option to enable garbage.

Rules
The game is played with puzzle pieces made of four square blocks, known as tetrominoes. The blocks form seven distinct shapes, each with its own color. As the pieces descend into a rectangular well 10 blocks wide, the shift them sideways by columns (Left and Right) and rotate them in 90-degree increments. A half second after a piece lands, it locks into place, and the next piece comes out. Once an entire row of the well becomes filled with blocks, those blocks disappear (a "line clear"), and the blocks above it will move down by a row. The goal is to keep the well from filling up by clearing lines even as the pieces descend faster and faster. In the 2-player competitive mode, a player can add "garbage" lines in the other player's well by clearing more than one line with a single piece.

The following details apply to LJ65 0.41:
 * Playfield size: 10 columns by 23 rows, with the top three rows hidden by the preview area.
 * Pieces enter the playfield "above the ceiling": with the lowest block in row 21, and centered (rounding 3-wide pieces to the left).
 * One preview and no hold, largely due to NES button and palette limitations.
 * Randomizer: similar in effect to that of TGM series. It uses "strict history" of length 3, using a 2-bit (0 to 3) number from a linear feedback shift register to choose one of the four least recently used pieces.
 * Rotation button (B or A) held while piece enters rotates the piece.
 * Gravity increases exponentially from roughly 1/64G to 20G, after which lock delay starts to decrease.
 * Lock delay resets on vertical movement of piece ("step reset").
 * Autorepeat is 60 Hz, with a roughly 1/5 second delay.
 * Ghost piece shows up as a dotted outline.
 * Blocks keep their colors once a piece locks, though slight color shifting occurs due to NES palette limitations.
 * Center rotation rule is familiar to players of mainstream Tetris games from the 2000s, such as Tetris DS, although with slight differences:
 * Follows TOD milestone 4, with colors as in SRS. Pieces rotate in free space around the center of the minimal bounding box with the flat side of JLT down, as in SRS.
 * Entry delay only at high gravity.
 * Wall kick: If rotation results in an overlap, try kicking right 1, then left 1, then up 1
 * Soft drop (Down): Does not lock unless pressed while landed.
 * Hard drop (Up): Locks.
 * Bottom rotation rule is familiar to players of games inspired by Sega's version of Tetris, including Arika's games:
 * Colors and kick rules as in Terror-Instinct. JLSTZ rotation fills the bottom row of the 3x3 square bounding box. JLT flat side starts out up. Two-state rotation for S and Z keeps the bottom center of the box filled, meaning the flat-down orientation is one square down relative to Center.
 * If JLSTZ overlap other blocks in the center column of the piece, kick one square right, then one square left, then one square up (T only).
 * If I is horizontal and landed, it kicks up one or two. If I is vertical, it kicks one to the left or one or two to the right.
 * Entry delay at all game speeds.
 * Soft drop (Down): Locks.
 * Firm drop (Up): Does not lock unless pressed while landed.
 * Limit one floor kick per piece.
 * Line clear delay: roughly 1/5 second plus 2 frames per line
 * Top out occurs when a piece enters the playfield overlapping blocks or when a piece locks with its lowest block in row 21 or higher.

Scoring
Line clears with successive pieces are worth increasing points until a piece lands without clearing a line. After each piece locks, the following steps are taken in order: For example, a triple followed by a double is worth 1900 points:
 * 1) For each row hard- or soft-dropped, add 1 point.
 * 2) If the piece does not clear a line, clear combo to 0; otherwise, add the number of lines to the combo.
 * 3) The score for each line is the combo after this step times 100.
 * Combo starts at 0.
 * Triple adds 3 to combo, resulting in combo 3, then adds 3 * 3 * 100 = 900 to the score.
 * Double adds 2 to combo, resulting in combo 5, then adds 5 * 2 * 100 = 1000 to the score.
 * Next piece is dropped without clearing a line, resetting the combo to 0.

Combos of 13 to 16 lines are not unheard of in play for score, using a 2-column-wide gap at the right.

Garbage in 2-player mode sends 1 line of garbage for double, 2 lines for triple, and 4 lines for "home run" (four lines cleared with I tetromino). Each row of garbage consists of 9 blocks and one randomly placed hole.