Skip to content

Setting up the Disassembly

Drenn1 edited this page Dec 21, 2016 · 3 revisions

This page will instruct you on how to set up the disassembly so that it produces an Oracle of Ages ROM.

Table of Contents

Windows

  • Download and install Cygwin on your computer. Cygwin provides a linux-like environment on Windows.
  • Continue with the default settings in the installer until you reach the "Select Packages" window. If you accidentally went past this, you can run the installer again to select the packages.
  • Select the following packages:
    • Interpreters -> python (NOT python3, although you can install that too)
    • Devel -> cmake
    • Devel -> gcc-core
    • Devel -> gcc-g++
    • Devel -> git
    • Devel -> make
  • Start up a Cygwin terminal and follow the steps for Linux.

Linux

Prerequisites

  • Standard building tools (Bash, Make, gcc)
  • CMake
  • Git
  • Python 2

Procedure

  • Clone this fork of wla-dx and checkout the "labels" branch:
git clone https://github.com/Drenn1/wla-dx
cd wla-dx
git checkout labels
  • Compile it:
cmake .
make
  • Copy the binaries to somewhere in your PATH:
cp binaries/* /usr/local/bin/
  • Clone the disassembly:
cd ~
git clone https://github.com/Drenn1/ages-disasm
cd ages-disasm
  • Run make. On a successful build, the final line should look say rom.gbc: OK, indicating that the ROM produced is an exact copy of the US Oracle of Ages rom.

Configuring

By default, the disassembly is configured to build a clean ROM by using precompressed assets. This isn't useful if you want to edit graphics or text, for example.

To change this, run the "swapbuild.sh" script. The output should look like this:

$ ./swapbuild.sh
Switching to modifiable (non-precompressed) mode
'build' -> 'build_v'
'build_e' -> 'build'
removed 'rom.gbc'
Then, copy fixbuild.sh to your git hooks (this may save some headaches later):
cp fixbuild.sh .git/hooks/post-checkout
You can now run make again to build everything from uncompressed assets. This first build may take a minute or more, depending on your computer's speed.

What next?

Once you have the disassembly working, you can use LynnaLab with it, although it requires an obscene amount of dlls to work on windows.

More likely, you may want to use the disassembly for its ability to edit compressed graphics and text, then insert those changes into a ZOLE-modded rom. See Editing Compressed Graphics And Text.

Troubleshooting

When trying to compile ages-disasm, I get an error: PARSE_DEFINES_AND_GET_FINAL_NAME: Error in commandline options.

You're using the incorrect version of wla-dx. Make sure you've checked out the "labels" branch before compiling.