decompile-microcode

Identify F3Dex2 or S2Dex microcode in Nintendo 64 ROM functions.

178|10|Updated Sep 28, 2024
One-click install
npx skills add https://github.com/cdlewis/snowboardkids2-decomp --skill decompile-microcode
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: decompile-microcode
Source: https://github.com/cdlewis/snowboardkids2-decomp/tree/main/.claude/skills/decompile-microcode
Command: npx skills add https://github.com/cdlewis/snowboardkids2-decomp --skill decompile-microcode

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Analyze a target function to determine whether it uses F3Dex2 or S2Dex microcode and explain how to confirm the type based on code patterns like gRegionAllocPtr and Gfx usage.

Core Features & Use Cases

  • Identify whether a function decompiles to F3Dex2 or S2Dex microcode by examining structure, usage patterns, and references to relevant headers (gbi.h, gs2dex.h).
  • Provide guidance on mapping disassembly outputs to appropriate microcode macros and data structures for accurate decompilation planning.
  • Use case: researchers reverse-engineering Nintendo 64 ROMs to classify microcode and plan decompilation steps.

Quick Start

Identify whether the target function uses F3Dex2 or S2Dex microcode and describe the indicators.

Frequently Asked Questions about decompile-microcode

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify F3Dex2 or S2Dex microcode when reverse-engineering an N64 ROM?

To identify N64 microcode, examine the target function's structure and references to headers like gbi.h for F3Dex2 or gs2dex.h for S2Dex. You can confirm the classification by checking specific usage patterns such as gRegionAllocPtr and Gfx references.

What is the difference between F3Dex2 and S2Dex microcode in Nintendo 64 decompilation?

F3Dex2 and S2Dex are distinct Nintendo 64 microcodes that determine rendering flow. During decompilation, F3Dex2 is typically identified through gbi.h references, whereas S2Dex is identified through gs2dex.h references and different Gfx usage patterns.

How to map N64 disassembly outputs to the correct microcode macros for decompilation?

Mapping N64 disassembly outputs requires classifying the microcode first. Once you determine whether a function uses F3Dex2 or S2Dex by validating gRegionAllocPtr and header references, you can map the disassembly to the appropriate microcode macros and data structures.

Why does gRegionAllocPtr usage indicate a specific microcode type in N64 reverse-engineering?

gRegionAllocPtr usage serves as a validation indicator for microcode classification in N64 reverse-engineering. Analyzing this specific code pattern, alongside Gfx usage and relevant header references, allows you to confidently confirm whether a function uses F3Dex2 or S2Dex.

Can I use code patterns to confirm microcode types for Nintendo 64 ROM decompilation planning?

Yes, you can confirm microcode types for N64 ROM decompilation by analyzing code patterns. Examining structure, usage patterns, and references to gbi.h or gs2dex.h provides the guidance needed to accurately classify rendering flow and plan decompilation steps.

When do I need to classify N64 microcode during a reverse-engineering project?

You need to classify N64 microcode during reverse-engineering when microcode determines the rendering flow of the target function. Identifying whether it uses F3Dex2 or S2Dex is a required step to map disassembly outputs to the correct data structures for decompilation.