Code Monkey home page Code Monkey logo

msx-pyramidwarpex's Introduction

msx-pyramidwarpex

Disassembly, reverse engineering, and possible enhancement of the MSX game cartridge "Pyramid Warp (1983)"

Versions:

  • PyramidWarp.annotated.asm:

    • The annotated disassembly of Pyramid Warp (1983).
    • Assembles to the original ROM, verbatim.
  • PyramidWarp.enhanced.asm:

    • The original source code, once disassembled, was easy to understand and easy to improve because it used no compression, did no clever tricks, and underused some resources (e.g.: the game looked like SCREEN 1 despite being SCREEN2 already).
    • This is a patcheable version of the original source code that allows several of those enhancements.
    • This version keeps most of the original source code untouched and, actually, a pixel-perfect clone of the original game can be assembled from this!
  • PyramidWarp.enhanced+.asm:

    • This version break ties with the original source code wherever necessary to accomodate not-so-easy-to-fit enhancements (such as a proper music replayer or a sprite flickering routine)

Enhancements

Original enhancements by theNestruo

  • Moved RAM start from $C000 to $E000 (RAM requirement is now 8KB)
  • Unused data removed. Data realigned to simplify routines and to free space (+512 bytes freed)
  • Disabled keyboard click sound
  • Player starts looking down instead of up (simply because it looks better)
  • Numbers in scoreboard aligned right to improve readability
  • Patcheable colors (symbolic constants in assembly code)
  • Patcheable graphics (external binaries for font, charset and sprites)
  • Patcheable room definitions (external assembly code)
  • 5th and 6th enemy slots can be enabled

Additional enhancements by Nenefranz

  • Completely new graphic set
  • Enemies can look in 4 directions
  • Enemies sprites can be replaced by player sprites
  • A floor tile can be used instead of transparent character
  • Numbers in scoreboard in a different color (to improve readability)
  • Fixes the first draw of the playground

Additional enhancements

  • Sprite flickering routine
  • Proper title charset
  • Proper music and sounds! (by Bitcaffe)
  • More randomness! Rooms can be mirrored and flipped
  • More room definitions! (room editor by Nenefranz)
  • Difficulty option! Choose between: easier (3 enemies), original (4 enemies), enhanced (progressive and adaptative number of enemies), and harder (6 enemies).

Credits

Original game

  • Pyramid Warp © 1983 by T&E SOFT

Enhanced versions

Enhanced versions by Bitcaffe (music), Nenefranz (code & graphics), and theNestruo (code)

  • Pyramid Warp Enhanced/Enhanced+ code © 2021 by Nenefranz & theNestruo is licensed under CC BY-NC-SA 4.0

  • Pyramid Warp Enhanced/Enhanced+ graphics © 2021 by Nenefranz is licensed under CC BY-NC-ND 4.0

  • Pyramid Warp Enhanced+ music © 2021 by Bitcaffe is licensed under CC BY-NC-ND 4.0

  • Pyramid Warp EX map editor © 2021 by Nenefranz is licensed under CC BY-NC-ND 4.0

External libraries

External tools

  • PCXTOOLS v2.2 coded by theNestruo
  • tniASM v0.45 is written by Patriek Lesparre, © 2000-2013 by The New Image
  • Tiled © 2008-2020 Thorbjørn Lindeijer
  • ZX0 by Einar Saukas

msx-pyramidwarpex's People

Contributors

thenestruo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

msxall

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.