Skip to content
Merp edited this page Jan 19, 2016 · 8 revisions

This page contains the basic instructions to set up a development environment for MerpMod.


There are four major elements to the development environment; IDA, GIT, Text/Hex Editor, HEW/GNUSH, MSVS, SharpTune, and SubaruDefs. Unfortunately, HEW is windows only, so you'll have to install windows 👎

IDA

Used for disassembly and analysis of ROM binaries to produce metadata used in MerpMod. $$$$$$$ware

Visit Hex Rays to obtain IDA-Pro Advanced (prepare your wallet). Add the latest helper files from the DefinitionTools repo.

GIT

Used for source code management and sanity. FOSS HOSS.

Visit Git Scm to obtain Git For Windows. Default settings should do. DO NOT change the line ending setting unless you have a good reason to. Whatever you do, don't ever, under any circumstances, merge commit. This project uses a rebase workflow.

Text/Hex Editor

Used to edit definition files, hex files, etc. NotePad++ is FOSS, SublimText is $ware

NotePad++ with hex editor plugin and/or SublimeText

HEW/GNUSH

Used for editing and debugging the actual MerpMod firmware code. HEW is Unsupported Freeware, GNUSH is FOSS.

Visit KPIT GNU Tools to obtain HEW (High Performance Embedded workshop) and the GNUSH toolchain. Install is straightforward, start with HEW, makes sure the installers are in the same directory and it installs GNUSH from the HEW install. If you screw it up, you should be able to tell the GNUSH installer to integrate with HEW automatically.

MSVS

Used for editing and debugging SharpTune. Freeware with some FOSS components. Visit Visual Studio to obtain Microsoft Visual Studio 2015 Community.

SHARPTUNE

SharpTune is a vital component of the MerpMod build process and it can be very helpful to debug SharpTune in the middle of a build. SharpTune is FOSS.

Clone the SharpTune repo.

##SUBARUDEFS

SubaruDefs is a git repo of all available subaru definitions.

Clone the [SubaruDefs repo)(https://github.com/Merp/SubaruDefs).