Disassembly project for Rhythm Heaven DS
Go to file
2024-08-30 23:54:46 +02:00
arm7 moar dism 2023-01-25 21:49:04 +01:00
arm9 rand, TimeRatio, up to 020059a8 2024-05-31 11:09:01 +03:00
tools rand, TimeRatio, up to 020059a8 2024-05-31 11:09:01 +03:00
.gitignore moar dism 2023-01-25 21:49:04 +01:00
.gitmodules set up ndsbuild 2022-08-15 22:09:13 +02:00
header.us.toml some more ndsbuild progress 2022-09-07 00:40:51 +02:00
Makefile more disasm progress - up to 4d08 2024-04-24 14:15:54 +02:00
my notes.txt code_02004040 2023-05-04 17:41:47 +02:00
progress.py code_02004040 2023-05-04 17:41:47 +02:00
README.md Update readme 2022-09-27 14:00:08 +02:00
rhds.sha1 oops i accidentally borked it 2024-08-30 23:54:46 +02:00

rhgold

Disassembly project for Rhythm Heaven (aka Rhythm Tengoku Gold, Rhythm Paradise, or Rhythm World/Rhythm Sesang), for the Nintendo DS.

Produces individual binaries, a built .nds file (which doesn't yet match the original .nds file), and ELF files for debugging purposes, one per processor.

Supported versions

Before supporting other languages, full arm9.bin disassembly is a must.

Currently supported

  • NTR-YLZE-USA (Rhythm Heaven)

Not supported yet

  • NTR-YLZJ-JPN (Rhythm Tengoku Gold)
  • NTR-YLZP-EUR (Rhythm Paradise - EN/FR/DE)
  • NTR-YLZX-EUR (Rhythm Paradise - EN/ES/IT)
  • NTR-YLZK-KOR (Rhythm World)

All versions of Rhythm Heaven have a single revision (rev0).

Current progress

  • arm9.bin: in the process of disassembling
  • arm7.bin: not yet disassembled
  • ARM9 overlays: not yet added
    • Code overlays will likely be supported very easily
    • Tickflow overlays will require a compiler that can build tickflow to ELF files
  • NitroFS files: support not planned
    • Check out the RHDS section of RHModding's Resources and Guides site for information on how to edit these files

The Metrowerks C Compiler (version 3.0 build 137 / v2.0sp2p2) will also be needed for compiling C/C++ files (when they are added to the repository), but no other Metrowerks tool (like the linker or assembler) will be used. No Nintendo SDK tools will be required, either.

The main purpose of this disassembly is research for modding purposes, with shiftability being a secondary goal. Full decompilation is likely for the very distant future.

Installation

Windows / Mac

Instructions coming in the future.

Linux

You'll need the following dependencies:

  • devKitARM
  • ndstool
  • make
  • git
  • sha1sum
  • Python 3 (for the fixarm9.py script - will eventually only be required for extra scripts)

Clone the repo instead of downloading from source, so that you can easily merge future changes into your local copy.

Initializing the tools/ndsdisasm submodule is required for running the disassembly script. tools/ndsbuild is not public yet.

Rename your US Rhythm Heaven ROM to baserom.nds and place it in the root folder of the repo.

Run make to make both the ARM9 and ARM7 binaries. You can use make clean to clean up the build directories and make re as a shortcut for make clean && make.

Contributing

TBD