Code Monkey home page Code Monkey logo

tengentetrisdisasm's Introduction

Tengen NES Tetris Disassembly

Todo:

  • Find labels related to music and why it doesn't repeat when code is shifted
  • Testing framework
  • Identify and label unused code/data
  • Clean up labels
  • add logic to header.asm
  • 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.

Build

make

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

sha1sum: 34113a102ccfff6a859f8ebb66c24260d43ec7ab
md5sum: 1bcb1795a0feed766d6d0681196662fb

Validate

make compare

Thanks

threecreepio getting this started

CelestialAmber disassembly structure

ejona86 info file structure and tetris-ram.awk

qalle2 CHR tools

kirjavascript borrowed bits

tengentetrisdisasm's People

Contributors

zohassadar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.