Skip to content

Decompiling Tokyo Bus Guide (東京バス案内) for the Sega Dreamcast

Notifications You must be signed in to change notification settings

lhsazevedo/tokyo-bus-guide-decomp

Repository files navigation

Tokyo Bus Guide Decompilation

Test Build Build Matching

Main function hero

Yup, this is a real file!

Introduction

Welcome to the first-ever public Dreamcast game decompilation project, for the classic title Tokyo Bus Guide! The goal is to fully decompile the code, focusing on functional equivalence rather than byte-level matching. This project is a collaborative effort to advance Dreamcast reverse engineering.

Warning

It is important to note that it is not possible to build a playable ROM from this decompilation project without a legitimate backup of the original game. This project is intended for educational and research purposes only, and users must ensure they have the legal right to use any game assets in their possession. Unauthorized distribution or use of game data is strictly prohibited.

Approach

Unlike traditional byte-level matching, we are using a custom SH4 object simulator and testing framework to test decompiled functions against their original counterparts, ensuring they behave exactly the same.

Project Status

This project is ongoing and is being updated regularly. It is in a shiftable state, which means the original code can be shifted around in memory, allowing for edits such as data modifications without worrying about length changes. It is also possible to recompile the binary using the decompiled functions that are available.

Current Achivements:

  • Rebuilding the binary with decompiled functions alongside original code.
  • Custom logs from decompiled C files, written to the Dreamcast serial interface and on-screen debug text:
  • CI workflows with matching builds, non-matching builds and unit tests checks.

How to Contribute

Contributions are welcome! To get started, please refer to the project setup instructions in Project Setup. Detailed contribution guidelines will be available soon, providing you with all the information you need to contribute effectively to this project. For now, you can look the CI workflows to see how tests are being executed.

Useful resources