Tetris Zone

From TetrisWiki
Jump to navigation Jump to search
Tetris Zone
Tetris Zone icon.png
Tetris Zone icon
Developer(s)Blue Planet Software
Publisher(s)Blue Planet Software
Platform(s)Windows, Mac OS X
  • WW: February 22, 2007
Gameplay info
Next pieces3
Playfield size10 × 20
Hold pieceYes, with IHS
Hard dropYes
Rotation systemSRS
Tetris Zone title.jpg
Tetris Zone ingame.jpg

Tetris Zone was an official Tetris game for Mac OS X and was released as an Universal Binary (for Intel- and PPC-Macs). A Windows version is also available. In 2014, the official website was merged with Tetris (tetris.com).


Tetris Zone features the standard Guideline ruleset for gameplay, with several minor differences compared to other modern Tetris games:

  • IRS and IHS are available.
  • ARE is present in all modes except Sprint.
  • T-Spin Triples are classified as normal Triple line clears instead.



Standard variable-goal Marathon mode. Clear 15 levels to complete the stage.


A longer and more complex variant of Ultra mode. The player is given 10 minutes to score as many points as possible; however, the mode also uses the variable-goal level system. Each level must be completed within 2 minutes; when the timer runs out per level, the goal counter resets. The game ends after playing 10 minutes or reaching Level 31.


Standard 40 lines time attack mode.


Fixed-goal Marathon mode with 20G gravity throughout; the player must clear 200 lines to complete the stage. ARE, lock delay, and line clear delay decreases per level.

"bpr" File Hacking

In PC version, inside the "rsrc/GFX" and "rsrc/TPF" directory, you'll see many "bpr" files. These files are encrypted in very simple format. The following simple C source code encrypts/decrypts these files.

/* A simple C source code that encrypts and decrypts bpr file */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Globals */
unsigned char *fileBuf; // File buffer
unsigned long fileSize; // File size
/* Prototypes */
int main(int argc, char *argv[]);
int loadFile(char *filename);
/* Main function */
int main(int argc, char *argv[]) {
    int i;
    FILE *fp;
    // Show usage
    if(argc < 3) {
        printf("Usage: %s [In] [Out]\n", argv[0]);
        return 1;
    // Load a file
    if(!loadFile(argv[1])) {
        printf("Couldn't load from %s\n", argv[1]);
        return 2;
    // Encrypt/Decrypt
    for(i = 0; i < fileSize; i++) {
        fileBuf[i] = 0xFF - fileBuf[i];
    // Write
    fp = fopen(argv[2], "wb");
    if(!fp) {
        printf("Couldn't write to %s\n", argv[2]);
        return 3;
    fwrite(fileBuf, fileSize, 1, fp);
    // Done
    return 0;
/* Load a file */
int loadFile(char *filename) {
    FILE *fp;
    // Open
    fp = fopen(filename, "rb");
    if(!fp) return 0; // Fail
    // Get size
    fseek(fp, 0, SEEK_END);
    fileSize = ftell(fp);
    fseek(fp, 0, SEEK_SET);
    // Allocate
    fileBuf = (unsigned char *)malloc(fileSize);
    // Read
    fread(fileBuf, fileSize, 1, fp);
    // Close
    // Done
    return 1;

GFX subdirectory contains all graphics, and they are stored in BMP format.

TPF subdirectory contains "TPF" files for all four modes. This game uses TPF file to define some game mechanisms. TPF resembles to "TWS" (Tetris Worlds Script) file, but it comes in almost already-compiled format so only runtime-scripts are in raw text.


Tetris Zone features full keyboard input rebinding. Mouse unsupported.

External links