News:

11 March 2016 - Forum Rules

Main Menu

SuperFX Assembler Reverse Engineering Project

Started by MarchHare, October 18, 2020, 01:59:38 AM

Previous topic - Next topic

MarchHare

So, I'm working on reverse engineering the SuperFX assembly tools with Ghidra. While I've made a little progress on my own, I think it might go faster with:

  • More hackers on it
  • Hackers with more RE experience
The goal here is to get the assemblers used for Star Fox and Star Fox 2 (diff assembler/linker pair for SF1 than SF2) reversed to some basic C code that can be ported to modern systems.
These programs were written by a C beginner (Dylan Cuthbert states that he was learning C at the time), so I don't expect it's especially complex or even obfuscated.

Why not simply write my own assembler and linker, you ask? Well, put quite simply, I don't know the exact specification of the ASM he's using, and I believe it also incorporates a 65C816 assembler as well, based on what I'm seeing. Also, I've never written an assembler.

So if anyone else wants to help out with this project, Ghidra DOES have a nice decompiler, so with more than one person, it might not take too long. Just message me here if you're interested, or privately if you prefer not to be known publicly ::).

Jorpho

Have you looked at the Doom-FX source?
https://github.com/RandalLinden/DOOM-FX

It's not clear how everything is laid out or even if it is complete, but Mr. Linden says he "wrote a complete set of tools - assembler, linker and debugger" for the SuperFX. Might not be useful for compiling the code for a completely different game if that is the goal, though.
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!

MarchHare

Worth a look, for sure. I was hoping to at the very least be able to port the original tools to a more modern platform, since they're stuck as binaries, on DOS, using protected mode, with a DPMI server that wasn't even all that common, etc.