Skip to content
This repository has been archived by the owner on Oct 30, 2022. It is now read-only.

theNestruo/msx-pyramidwarpex

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
asm
 
 
bin
 
 
rom
 
 
 
 
 
 
 
 

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

About

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

Topics

Resources

Stars

Watchers

Forks