From GameBrew - a wiki dedicated to Video Game Homebrew.

Author(s)Damian Yerrick {pineight}

LOCKJAW is a free software implementation of the so-called Soviet Mind Game, involves guiding tetrominoes into neat stacks in a well. This game was designed in the mid-1980s by Russian game designer Alexey Pajitnov and was first implemented in a software product called TETRIS.

Some products spell the term as "tetramino", "tetrimino", or "tetrad".


  1. Download and extract file
  2. Copy .nds file and writing user files to the folder /data/lockjaw on the memory card

User guide

It includes over 20 options for making variations to the game rules, as well as “gimmicks” for practicing specific skill areas.

LOCKJAW features Initial Actions. Holding a rotate button while a tetromino enters the playfield will cause the action to be performed the moment the tetromino enters.

This is important for fast play. In addition, the hold key works at any time; if a piece is not falling yet, it will swap the hold piece with the next piece.


Please read the manual for more information.


Left - shift left

Right - shift right

Down - soft drop

Up - hard drop

B - rotate left

A - rotate right

L - hold piece

Start - pause game

Option menu:

A/B - change screens
Start or A - starts game


0.46a 2008-11-09

  • Preview at top is copied correctly from the back buffer (0.45a regression, reported by rednefed).

0.46 2008-11-08

  • Tracks number of 4x4 squares that the player forms (TOD parity; requested by Ghett0).
  • Added T-Party randomizer (requested by Lardarse).
  • Default lock delay for Zero set to 40 frames, even if it is played first (0.45 regression, reported by rck).
  • "[TC]" removed from scenario names (requested by caffeine).

0.45 2008-04-20

  • New unified speed curve system: less code, more tables, for future loading from a file (bug 0040).
  • All speed curves except Rhythm and Rhythm Zero have been ported to the new system. Notably, Master has been rewritten based on the tables from the wiki, and Exponential uses sections. The lock delay speeds up as brutally after 600 pieces as always.
  • Added kludge in the basic makefile that allows building on *BSD and GNU/Linux: 'make linux' (patch by kesiev).
  • ljpath: Fixed a couple misspellings in the non-Windows code path (reported by kesiev).
  • ljpath: Supports libfat when running on Nintendo DS.
  • A few descriptions of options have been shortened to fit into the new GBA/DS look (reported by Bloodstar; patch by caffeine).
  • Writes result and options text to standard output as well as to lj-scores.txt. This allows you to do 'lj | postprocessor' even if you can't do 'tail -f lj-scores.txt' (requested by kesiev).
  • DS: Writes result and options to /data/lockjaw/lj-scores.txt.

o.44 2008-02-20

  • Computes the preview and hold offset of all pieces (was wkNextMove in <= 0.43) from the entry position of the I tetromino (was wkSpawnMove in <= 0.43).
  • Kick tables have been inverted to a single struct per rotation system, for future loading from a file (bug 0016).
  • SKIP_IF system for handling J/L/T exceptions in Arika is replaced with IF_NOT_CENTER: wall kicks are allowed if the free-space orientation overlaps any blocks other than in the center column.
  • Options DAS doesn't repeat too fast, even on those systems where vsync() is a no-op (0.43 regression, reported by caffeine). This has the same cause as 0022: Windows Vista ignores vsync().
  • Options DAS doesn't continue across page boundaries.
  • GBA/DS: Options has new look.
  • DS: Reads the touch screen and the X and Y buttons. Right now, touch isn't mapped to anything, but X and Y are Far Right and Far Left.

0.43a 2008-02-11

  • Arika modified to use SKIP_IF3 after (not before) the basic position. This restores ability to rotate J, L, and T with kicks turned off, such as in IRS (reported by Lion).