Coder Social home page Coder Social logo

televandalist / reverse-engineer-azel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aeonitis/reverse-engineer-azel

0.0 0.0 0.0 1.9 MB

My first adventure in Reverse Engineering from Bytecode, on a forgotten digital relic.

License: GNU General Public License v3.0

C 12.90% Assembly 87.10%

reverse-engineer-azel's Introduction

Reverse-Engineering Azel RPG

Why?

Well, the article Sega's Missing Masterpiece probably makes a great case.

The NSA's Ghidra (Generic Hexadecimal Integrated Decompiling Reverse-Engineering Architecture) added support from v9.1 onwards for the SH-2 processor, and I was interested in becoming a digital archeologist!

Project Overview

Wiki/Discord

Discussions

Directory structure

├── AZEL_1             // Disc 1 specific info.
│   ├── 01000011       // C code for Disc 1
│   ├── 0x00           // Assembly code for Disc 1
│   ├── AZEL#I.md      // Disc 1 analysis
│   ├── BIN            // Data under BIN file-types
│   └── PRG            // Data under PRG file-types
│
├── Abstract           // Unconfirmed but potentially useful data for future cross-checking
│
├── Docs               // Documentation.
│   ├── ANOMALIES.md   // Unusual discoveries found and expected in future
│   ├── AUDIO.md       // Audio documentation here
│   ├── GLOSSARY.md    // Domain-specific documentation here
│   ├── MEMORY.md      // Memory documentation here
│   ├── VIDEO.md       // Video documentation here
│   └── _SEGASATURN.md // Sega Saturn specific documentation
└── アゼル―パンツァードラグーン-RPG.MD  // Panzer Dragoon Swagger (PDS) general information

Progress

PRGs

Filename Percentage Decompiled (bytes) Total (bytes)
1ST_READ.PRG 74.70% 1,908 2,554
BTL_A3.PRG 8.65% 3,256 37,660
BTL_A3_2.PRG 8.39% 3,240 38,606
MENUEN.PRG 54.39% 26,624 48,944
TWN_CAMP.PRG 62.39% 18,655 29,899
WORLD.PRG 21.66% 829 3827

Wanna contribute?

You're welcome! Here's our Contributing.md

I have a per-file discussion issue under the focus on file label & you can get started on any file you like!

Any assembly genius info you have? Feel free to share on the Issues section as a comment :)

Panzer Dragoon Saga

Panzer Dragoon Saga (PDS) a.k.a. Azel: Panzer Dragoon RPG (アゼル ―パンツァードラグーンRPG―) is an awesome game!

Goals

  • Understand the Sega Saturn hardware: In order to reverse engineer a game for the Sega Saturn, it's important to have a solid understanding of the hardware architecture of the console. This includes knowledge of the CPU, graphics hardware, sound hardware, and other system components. Having a good understanding of the hardware can help us identify how the game code is interacting with the system and how it is implementing certain features.
  • Understanding the common Saturn file formats, gathering Saturn documentation.
  • Look for documentation on the Saturn boot process
    • Know which file in the ISO is the main binary that it's going to run
    • Figure out how the CD-ROM's SH-1 gets its instructions (find when it's trying to read a specific file).
  • Use a debugger: A debugger is a software tool that allows us to step through the game code and analyze how it is executing. This can be an incredibly useful tool for reverse engineering a game, as it allows us to see how the code is working in real-time and identify key functions and data structures.
  • Patterns & Structures: When reverse engineering a game, it's important to look for patterns and structures in the code and data. This includes identifying repeating code blocks, data tables, and other patterns that can provide insight into how the game is working. Once you identify these patterns, we can start to map out the game logic and data structures.
  • Disassemble: Disassembling the game code involves converting the compiled machine code into assembly language. This can be a time-consuming process, but it can provide a deeper understanding of how the game code is working and how it is interacting with the Sega Saturn hardware.
  • Patience & Persistence = Learning whilst discovering more of a great game!

Documentation:

SH-2 (and other Saturn subsystems)

Panzer Dragoon Saga

Emulation

Saturn tools

Reverse Engineering

Game Archiving

SuperH Family (not SH-2 processor)

reverse-engineer-azel's People

Contributors

aeonitis avatar

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.