Skip to content

Zuccace/mdps-asm-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building Classic Phantasy Star Games on Linux

This script makes it (super?!?) easy to build the assebly of Phantasy Star games for Mega Drive / Genesis. The script is also able to create binary diffs (patches) too. BSDiff and Xdelta for example. So the goal is to be easy in terms of "run-one-command-and-be-done-with-it". The project is very young at the moment. It may eventually cover more games.

The most recent (standalone) version can be found from https://github.com/Zuccace/mdps-asm-builder

Patches and issues should be targeted to the project above.

Features

  • Can create ROM binary images from assembly source files

  • Can create binary diffs (patches) between two binaries

  • Can create checksums from the created binary ROM image

Dependencies

It should be pretty easy once you have all the dependencies installed in your $PATH.

Usage

Just make sure build.sh has executable bit, then you can run it. some/path/to/build.sh <file.asm> <out.bin>

To learn more pass the --help -switch alone. Or alternatively see the source. ;)

You can create more different files just by specifying them on command line: some/path/to/build.sh my.asm my.xdelta my.bin.sha256 my.xdelta.sha256 Note that it’s not neccessary to specify the binary (ROM) on the line. Just be sure to have correct extension. You always need specify a subextension when creating hashes. Fore example: game.bin.sha256 and game.bsdiff.sha256 are ok, while game.sha256 is not, since the script cannot determine from where to calculate the hash.

You can place the script wherever you want. It should work from anywhere in the filesystem.

Known limitations

  • Won’t magically re-compress parts that need Kosinski compression. It is totally unknown at the moment if the feature will ever be implemented into this project.

  • This script is not coded to support filesnames with weird characters or especially line breaks in them. (Please clean up your filenames with detox. ;) )

Also…​

  • This build script might work with some other disassemblies too. It’s written that in mind, but not tested yet. Only Phantasy Star games are being tested.

TODO / Milestones

  • Bring back IPS patching.

  • Add LC_ALL="C" at least in front of find and any command that uses regexp to be able to handle non typical charaters in filenames.

  • Clean up the code and publish first release.

  • ??? (Suggest more features by creating an issue).

About

Builder script for Phantasy Star m68k assembly

Resources

License

Stars

Watchers

Forks

Packages

No packages published