Skip to content
/ bk360 Public

Decompilation research of Banjo-Kazooie for the xbox 360

License

Notifications You must be signed in to change notification settings

banjo360/bk360

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banjo-Kazooie XBLA decompilation project

A research project to decompile the XBLA version of Banjo-Kazooie with help from (looking at the code of) the N64 decompilation project.

Some code, like enumerations or structure definitions, are taken from the N64 project.

Requirements

  • split360 and coff-linker in the PATH.
  • Visual Studio 2010 installed.
  • XBOX 360 SDK installed.
  • Editing tools/vs2010.bat to change PROGRAMFILES to the correct path.
  • WINE installed if building on linux.
  • Editing Makefile to remove the call to WINE if building on Windows (untested).

Usage

You need to have an uncrypted default.xex from Banjo-Kazooie (sha1: 24f81f8058d1be416d95ccfcb5ebd2503eb4fd47) at the root of the project.

Look at the Makefile to see what you can do. But basically, you do make split the first time (and each time you edit bk.yaml), then just make to regenerate merged.xex.

Current state

Still looking how to get matching bytes. At the time of writing, the 11 bytes differences come from __chJinjo_clamp_rotation where 1 instruction is out-of-order compared to the target binary:

// default.xex
mr  r31, r3
mr  r30, r4
lfs f31, 0x54(r31)

// compiled code
lfs fr31,54h(r3)
mr  r31,r3
mr  r30,r4

About

Decompilation research of Banjo-Kazooie for the xbox 360

Topics

Resources

License

Stars

Watchers

Forks

Languages