Giter Club home page Giter Club logo

dismkw's Introduction

DisMKW

pret-style disassembly of Mario Kart Wii.

This is a work in progress and far from production-ready.

Currently, all PPC code within the game (including the Mario Kart Channel) is buildable. Only the NTSC-U version is disassembled at the moment.

Common patches to main.dol and StaticR.rel that are included:

  • Wiimmfi
  • Gecko hooktype
    • Note: The GCT data is stored in D9 instead of T3.
  • XeR's CTWW patch
  • CTGP-Code (more info: http://github.com/Chadderz121/wii-ct-code)
    • Note: Only the MOD0 parts are included. MOD1 and MOD2 are to be built seperately.
    • Note: In the future, modifications to main.dol and StaticR.rel will be included inline, removing the need for CTGP-Code.

How to use

Install devkitPPC to assemble/compile this project.

Obtain the NTSC-U main.dol and StaticR.rel from a USA (NTSC-U) copy of Mario Kart Wii. Ensure they are named basemain.dol and baseStaticR.rel. Note that this repository does not contain, use, or assemble any other game files, though that may change in the future.

For Mac OS X, run this command in Terminal.

xcode-select --install

For Windows, download Cygwin: setup-x86_64.exe for 64-bit Windows, setup-x86.exe for 32-bit.

Run the Cygwin setup and leave the default settings. At "Select Packages", set the view to "Full" and choose to install the following:

  • make
  • git
  • gcc-core
  • gcc-g++
  • libpng-devel

Next, run these commands to set up your enviornment. (Replace /opt/devkitPro with where you installed devkitPro to.)

export DEVKITPRO=/opt/devkitPro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitPPC
echo "export DEVKITPPC=$DEVKITPPC" >> ~/.bashrc

git clone https://github.com/aplumafreak500/DisMKW

cd DisMKW

To build main.dol and StaticR.rel:

make

Disassembly Progress

(Also known as: What currently requires incbin calls)

  • Partiton 1 main.dol
    • T0
    • T1
      • First incbin call at T1 0x400
    • D0
      • Currently disassembled up to D0 0x2c0
    • D1
    • D2
    • D3
    • D4
      • Currently disassembled up to D4 0x6180 (first incbin call at D4 0x560)
    • D5
    • D6
    • D7
      • Currently only D7 0x60-0x68
  • StaticR.rel
    • T0
    • D0
    • D1
    • D2
    • D3
    • Imp
    • Reloc
    • Reloc (main.dol)
  • Partiton 0 Apploader.img
    • .text
    • .data
    • .loader
      • .text
      • .data
  • Partition 1 & 2 Apploader.img
    • .text
    • .data
    • .loader
      • .text
      • .data
  • Partition 0 main.dol
  • Partition 2 main.dol
    • .text
    • .data
  • Mario Kart Channel main.dol
    • .text
    • .data
  • Mario Kart Channel NAND loader
    • .text
    • .data

dismkw's People

Contributors

aplumafreak500 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

wowjinxy

dismkw's Issues

RVLCC needed to match

Right now, I'm not really going to deal with decompilation, but if and when I do, I'll need something like agbcc and such from the pret repositories. This is due to the Dolphin and Revolution SDKs using the Metrowerks CodeWarrior compiler. A modified GCC (rvlcc) is how I would like to target this issue.

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.