GithubHelp home page GithubHelp logo

darknd / metalgear Goto Github PK

View Code? Open in Web Editor NEW

This project forked from guillianseed/metalgear

0.0 0.0 0.0 1.93 MB

Fully annotated disassembly of the original Metal Gear game (MSX2, Konami, 1987, RC750)

Assembly 100.00%

metalgear's Introduction

Metal Gear (RC750, MSX2)

This repository contains the fully annotated disassembly of the original Metal Gear game, released by Konami for MSX2 in 1987 with code RC750. I hope you will find the code comments useful to understand how the game works.

Why?

I like to learn how things work, and to explain to others what I have learned.

This was a good oportunity to find out how Konami made games in the old good days, how all their games use the same structure, how they reused the same "libraries" in different games (e.g. the routine used to calculate the trajectory of a shot), etc.

Also, I like to find oddities (unused graphics, rooms, texts, musics, code...) and find bugs.

Last but not least, I wanted to be able to modify the game in order to fix bugs, and make it work on different MSX models (e.g. my MSX Turbo R can't save or load game data because it does not have a cassette port).

How to assemble

Use Sjasm 0.39 or a compatible assembler:

sjasm MetalGear.asm MetalGear.rom

Japanese vs English versions

It is possible to build both Japanese (CRC32 FAFE1303) and English (CRC32 E85C5731) versions of the game, by setting the JAPANESE constant to 1 or 0 in the MetalGear.asm file.

The Japanese version is region locked, this means that it won't work on a MSX computer with a non-Japanese ROM (the computer will just reset). If you want to disable the region lock just change the logic/regionlock.asm file so that it just contains this:

RegionLock:
  ret

Legal notice

This repository is provided "as is" for education purposes only. Any non-educational use of this repository might be illegal if you do not own an original copy of the game.

Also, the repository will be removed if Konami or their legal representatives ask me to do so.

metalgear's People

Contributors

guillianseed 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.