Git Product home page Git Product logo

makeftromtutorial's Introduction

makeftrom and FamiTracker Conversion Tutorial

The problem: music composition for romhacks is a cryptic, laborious, error-prone, and generally painful process.

With few exceptions, each NES game company uses at least one of their own proprietary music formats for their games, each with their own capabilities and binary format. Both the playback code and composition software are proprietary and not publicly available, and few formats even have composition tools available written by romhackers. As such, the development of romhacks usually requires painstaking manual conversion to the game's music format by hand with a hex editor, if someone's even reverse-engineered and documented the format to begin with.

The FamiTracker conversion project seeks to solve this problem once and for all by allowing direct use of FamiTracker music in hacks. Not only is FT the de facto industry standard NES chiptune music format and composition software based on the tracker paradigm that has been popular in electronic music since the 80s, it is also generally much more powerful than proprietary game music formats.

There are two parts to this:

  1. The conversion is a patch for the game ROM that adds the ability to play FT tracks in the game in question. As these conversions are extensively tied to the game's own code and architecture, the exact features they offer vary by game.
  2. makeftrom is the standard tool for importing music into a romhack that is based on a conversion for that game. While the exact features it provides are limited by the specific conversion, the use of makeftrom is nearly identical across conversions, and once you know how to use it for one game, you basically know how to use it for other games. This is possible because makeftrom relies on ftcfg files provided by the conversion to tell it what capabilities the conversion has and how to import the music into the ROM.

The Tutorial

Now that we've gone over what makeftrom and FamiTracker conversions even are, let's get to the tutorial itself.

Part 1: Prerequisites

Part 2: Basic Use

Part 3: More Advanced Features

Part 4: Music Selection and Issues

Part 5: Other Games

Linking and Translations

While this tutorial is open source, I would very much prefer if references to it linked to it rather than making copies of it. This ensures that there aren't multiple different versions and everyone always sees the latest version.

That said, I strongly encourage translations into other languages. If you have the skills, feel free to help by translating it to other languages so the greatest number of people can benefit from it. At a minimum, I would like to get Japanese and Chinese translations, as that's where the majority of non-English romhackers are, but others are also welcome.

makeftromtutorial's People

Contributors

therealquantam avatar

Watchers

 avatar

makeftromtutorial's Issues

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.