SkillAgentSearch skills...

TengenTetrisDisasm

Disassembly of the 1989 Tengen version of Tetris for the NES

Install / Use

/learn @zohassadar/TengenTetrisDisasm
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Tengen NES Tetris Disassembly

Todo:

  • Testing framework
  • Identify and label unused code/data
  • Clean up labels
  • replace known values with constants
  • add comments where necessary to explain game logic
  • break out nametables into text format

Build Requirements

  • gcc
  • make
  • cc65
  • python (with pillow library)

Disassemble

Requires a backup of the original game with the filename clean.nes in the project root directory.

main.asm is dynamically generated using main.infofile. This means comments outside of labels and constants for specific values can't be added yet (unless someone knows a trick and wants to tell me). To update, add label information to main.infofile and run make disassembly. This will update main.asm with the new labels as well as run make compare to validate the new main.asm produces the expected result.

Build

make

This will ouput a file tetris.nes with the following:

sha1sum: 34113a102ccfff6a859f8ebb66c24260d43ec7ab
md5sum: 1bcb1795a0feed766d6d0681196662fb

Validate

make compare

Resources

Prototype patches creates from roms found here:

  • https://hiddenpalace.org/Category:Tengen_Tetris_prototypes

Other links:

  • https://tetris.wiki/Tetris_(NES,_Tengen)
  • https://harddrop.com/wiki/Tetris_(NES,_Tengen)
  • https://lostmediawiki.com/Tetris_(found_early_build_of_NES_game_by_Tengen;_1988)
  • https://tcrf.net/Tetris_(NES,_Tengen)
  • https://gamefaqs.gamespot.com/nes/587696-tetris-tengen/cheats
  • https://www.atarihq.com/tsr/special/el/el.html

Thanks

threecreepio getting this started

CelestialAmber disassembly structure

ejona86 info file structure and tetris-ram.awk

qalle2 CHR tools

kirjavascript borrowed bits

View on GitHub
GitHub Stars14
CategoryDevelopment
Updated6mo ago
Forks1

Languages

Assembly

Security Score

67/100

Audited on Sep 30, 2025

No findings