Experimental, game-agnostic tools for research, prototyping and profiling native Nintendo 3DS homebrew ports.
This project was informed by engineering lessons from a private RPG Maker-to-3DS experiment, but contains no Fear & Hunger game files, game logic, scripts, sprite sheets, ROMs or proprietary SDK. All included code is independently authored for this starter. It is not a universal one-click game porter, decompiler or emulator.
- RPG Maker MV/MZ structure audit: counts maps, events, pages, command IDs, JS plugin file count and resource formats locally, without embedding data from the game in the report.
- Asset inventory: files, extensions, PNG resolution risks and a simple source-byte inventory; estimates are not measured RAM/VRAM consumption.
- FPS/latency report: reads frame CSVs, computes median, p95, maximum and over-budget counts for both render work and complete frame time.
- Optional offline PNG preparation: nearest-neighbor scaling and transparent power-of-two padding, requiring Pillow; output is PNG, not a finished
tex3dsGPU texture. - Optional coding-agent MCP interface: three local analysis tools over stdio using the external MCP Python SDK (integration not end-to-end tested).
- Original libctru
.3dsxsample:initscaffolds a new, unbranded C/Make homebrew app without game content. - Python standard library for the core CLI; optional Pillow and MCP SDK for extra commands.
Python 3.10+ required. From repository root:
python -m portkit inspect-rpgmv "C:/YourOwnedRPGMakerGame" --output report.json
python -m portkit inspect-assets "C:/YourOwnedRPGMakerGame/img" --output assets.json
python -m portkit profile examples/synthetic-frames.csv --fps 30
# Optional: pip install Pillow; python -m portkit prepare-texture input.png output.png
# Optional: pip install mcp; python -m portkit.mcp_server
python -m portkit init ./my-3ds-demo --name "My Homebrew"
python -m unittest discover -s tests -vFor native builds, install the official devkitPro 3ds-dev toolchain and run make in the new demo directory. Build success and device FPS are not verified for this starter; review on both original 3DS and New 3DS devices before shipping.
Inspired by the evidence-first research workflow of REA — Reverse Engineer Anything, but not a fork, copy, adapter or an REA integration. A minimal optional MCP stdio adapter exposes audits and frame profiles to coding agents; advanced provenance and source tracing are still planned. REA itself is not included.
It cannot convert arbitrary game engines or Windows executables to 3DS. It does not decrypt or distribute copyrighted works or bypass DRM. Users must have rights to their inputs, and compatible original open-source games are the intended development targets. A 30 FPS frame budget is a goal, not a promise.
See ROADMAP. We welcome PRs for synthetic fixtures, generic adapters and better developer documentation. Do not upload third-party game assets in issues or pull requests.
Original starter code is MIT licensed. devkitPro's libctru and related tools are external dependencies, not redistributed. devkitPro/3ds-examples provides official teaching material. The private research project is not included here.