GithubHelp home page GithubHelp logo

maxim-zhao / micromachineseditor Goto Github PK

View Code? Open in Web Editor NEW
7.0 5.0 0.0 2.29 MB

Editor for Master System Micro Machines

License: MIT License

Assembly 89.58% C# 10.14% Batchfile 0.10% SourcePawn 0.18%
assembly c-sharp sega-master-system game-editor disassembly z80

micromachineseditor's Introduction

Micro Machines Editor

Editor for the Master System version of Micro Machines, based on disassembly of the original Z80 code, implemented in C#.

Imgur

Status

The editor itself is on hold. I got bored with it. Feel free to continue it!

I have instead been working on a disassembly of the game, under the Analysis section.

What is done/remains to be done

  • Decompressor for the (presumably) bespoke compression scheme
  • Locating data for, and rendering images of, tiles
  • Locating data for, and rendering images of, metatiles and associated metadata (e.g. walls, material types)
  • Locating data for, and rendering images of, tracks and associated metadata
  • Deal with the game auto-patching layouts - probably better to apply those patches to the data and then remove them, but that's tricky to do from a bare ROM
  • UI for selecting metatiles and editing a track in memory, with a few options for rendering metadata over the graphics
  • Figuring out some of the game data bits which are still mysterious to me
  • Discovery of anything I've missed for the game to work (e.g. CPU AI, how pool table holes work)
  • Data compression. I always find compressors hard to do because it rapidly gets hard to do something optimal when the number of possibilities goes up. I suspect a dumb compressor can match the original.
  • Maybe swap out compression for an existing one like aPLib?
  • Data (re-)insertion into the ROM, possibly with expansion
  • Level order editing, for both 1- and 2-player modes
  • Level metadata editing (car parameters, names)
  • Metatile editing
  • Tile editing
  • Upgrading from 3bpp to 4bpp graphics (as an enhancement to the game)
  • Hacking all the known cheats to check for any more

Not all of this is necessary for a first release - just being able to edit tracks in-place would be the majority of the usefulness.

The disassembly

This is a work in progress, based on an Emulicious disassembly and an awful lot of manual work on top. The editor has been slightly abused to act as a tool for exploring and exporting data from the game.

micromachineseditor's People

Contributors

maxim-zhao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

micromachineseditor's Issues

What file am I supposed to pass in the command line?

Hello,

Sorry to ping you for an old project, but I'm trying to use the editor to visualize the hidden boundaries and such that are in the game. I have some C# experience but I have very little experience working with roms. I've tried passing in a rom as the argument, as well as files from the Analysis folder. Can you help me?

-Jason

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.