v1.0.3
Doom RPG RE — 3DS v1.0.3
New 3DS home-menu build (.cia) and 3DSX package of Doom RPG RE, following v1.0.2. Source-only: no game assets or audio are bundled in the repository. They are supplied on the SD card (see Install).
- Build: 2026-09-02
- Version: 1.0.3
- Title ID:
000400000FD0BB01 - License: GPLv3
Overview
Version 1.0.3 is a major feature and performance release that takes full advantage of Nintendo 3DS hardware. It brings hardware autostereoscopic 3D to the top screen, an interactive bottom-screen Touch HUD with an in-game quick-inventory hotbar, a touch keypad for entering terminal passcodes, Play Coins exchange, in-memory MP3 music streaming via libmad, and New 3DS 804 MHz CPU boost.
What Changed
| Area | Change |
|---|---|
| Autostereoscopic 3D | Implemented a true dual-camera stereoscopic 3D rendering pipeline using Citro2D/Citro3D GPU targets. The depth effect is hardware-gated and dynamically scaled by the physical 3DS 3D slider (smoothly drops to single-eye 2D when the slider is off). Depth separation has been carefully tuned across world geometry, particles, and weapon parallax to eliminate ghosting and eye strain. Menus and 2D splash states automatically disable 3D rendering. |
| Touch HUD & Hotbar | Added authentic metallic steel status bars to the bottom screen matching the top HUD aesthetic. Features an interactive 5-slot quick-use hotbar (S.MED, L.MED, SOUL, BRSK, DOG) with generous 80px touch targets, plus touch [ PASS ] and [ MENU ] buttons. Font kerning is compensated for the 3DS 320px downscale with transparent font blitting over metallic textures. |
| Interactive Touch Keypad | Terminal passcode doors now display an authentic on-screen touch numpad (0–9, C, OK) on the bottom screen, allowing players to enter door codes naturally using the stylus or thumb. |
| MP3 Music Streaming | Rewrote the audio streaming engine using libmad to decode MP3 tracks (5039.mp3, 5040.mp3, 5043.mp3) directly from memory. Compressed MP3 files (1.5–4.1 MB) are cached into RAM once at track start, eliminating all SD card file I/O inside the real-time SDL audio callback thread and preventing 3DS FS session deadlocks. Supports seamless looping and full volume scaling from the in-game Options menu. |
| Bottom Screen Dialogs | Dialogue sequences, terminal readouts, and character interaction popups now render cleanly on the bottom screen (scaled 2x with 280px width) over the persistent automap, keeping the top 3D screen uncluttered. |
| Navigation & Controls | The B button now functions as Back / Return in all menus and dismisses dialog boxes. Circle Pad analog inputs are fully supported alongside the D-pad. Unified hidScanInput polling to eliminate dropped inputs when holding multiple buttons. |
| 3DS Play Coins Exchange | Players can exchange Nintendo 3DS system Play Coins for game Credits ($50 credits per Play Coin) at shops and terminals. |
| New 3DS Performance | Enabled 804 MHz clock speed and L2 cache configuration via RSF for New 3DS systems. Defaulted floor and ceiling rendering to solid mode to avoid costly per-pixel textured projection, maintaining smooth framerates. |
Detailed Commit Log (v1.0.3)
All 25 commits included in this release:
fa04bfd—fix(audio): rewrite MusicStream to decode MP3 from RAM, eliminate FS thread contention, and support volume scaling74963f2—feat: decrease 3D effect 10%, remove keycard badges on bottom bar, restore full CREDITS text, support B button back in menusb5c46d3—fix(hud): make font surface transparent over metallic bars, move PASS to top bar, expand items to 80px7d7b600—fix(font): compensate bottom-screen font kerning for 320/400 downscale and match top status bar styling4675855—style(hud): style bottom screen with authentic metallic status bars and single-line font3e53c7b—feat(hud): expand bottom touch HUD to show full 5-item quick-inventory hotbar and keycards0a3cdc1—fix(stereo): disable 3D stereoscopic rendering during menus and 2D states08daef7—feat(3ds): implement touch numpad, quick-touch HUD, Play Coins exchange, and stereoscopic particle depth for v1.0.309db37c—build: bump version to DOOMRPG-3DS v1.0.386c1e30—fix(stereo): correct weapon depth parallax sign and clamp offset to 1px to eliminate double vision3df4737—fix(input, stereo): resolve missed inputs by consolidating hidScanInput, support simultaneous keys and Circle Pad, soften weapon 3D depthc8f8205—ui: widen 2x dialog box to 280px for scrollbar clearance and enable New 3DS 804MHz speedup4d8cb1c—ui: scale dialog box by 2x, ensure persistent automap rendering, and soften 3D stereo by 10%8bb01b8—ui: render dialog over automap with 2px border, clean bottom-screen lifecycle, and fix 3D blit spillover47518c6—ui: render dialog and terminal interaction popups on 3DS bottom screen1b44ea3—video: implement true dual-camera stereoscopic rendering with Citro2D eye targets4f685a8—video: align Citro2D top subtexture V coordinates to eliminate 16px vertical offsetdeb7965—video: correct Morton swizzle row order for upright display and clean up Citro2D/Citro3D/gfx on shutdowndc18105—video: fix top screen aspect ratio, orientation, and HUD clipping via unrotated subtexture UVs7463850—3DS: real hardware auto-stereoscopic 3D on top screen (slider-gated)73458a0—3DS: raw-gfx dual-screen present — upright, full, no flicker, no crash4dc0321—3DS: remove duplicate DoomCanvas_drawAutomap definition16fe6db—3DS: fix white strip at top of bottom screend236c3a—3DS: alias piDIB to framebuffer via SDL_CreateRGBSurfaceFromc1a50a5—Perf: default floor/ceiling to solid (skip per-pixel textured projection)
Install
- Install
DoomRPG-1.0.3.ciawith FBI (or runDoomRPG.3dsxfrom the Homebrew Menu). - On the SD card, copy the extracted data files into
sdmc:/3ds/doomrpg/so they sit loose in that folder. Required files include the*.bmpsprites/UI, the*.bspmaps,wtexels.bin,stexels.bin,bitshapes.bin,palettes.bin,mappings.bin, andsintable.bin. - Add audio next to the data, also under
sdmc:/3ds/doomrpg/:- SFX as numbered
.wavfiles (5042.wavthrough5138.wav). - Music as numbered
.mp3files (5039.mp3,5040.mp3,5043.mp3).
- SFX as numbered
- Launch from the HOME Menu.
sdmc:/3ds/doomrpg/saves/is created at runtime.
The game will not start unless sdmc:/3ds/doomrpg/ exists with the data files present.
Controls
| Action | Physical Button | Touch Screen |
|---|---|---|
| Move Forward / Backward | D-pad Up / Down or Circle Pad | — |
| Strafe Left / Right | L / R | — |
| Turn Left / Right | D-pad Left / Right or Circle Pad | — |
| Attack / Talk / Use / Confirm | A | On-screen dialog tap |
| Back / Dismiss Dialog / Pass Turn | B | Tap [ PASS ] on top bar |
| Next / Prev Weapon | ZR / ZL | — |
| Quick Use Items | Hotbar touch | Tap S.MED, L.MED, SOUL, BRSK, DOG |
| Passcode Entry | D-pad / A | Tap numpad digits 0–9, C, OK |
| In-Game Menu / Back | Start | Tap [ MENU ] on top bar |
| Automap | Select (persistent on bottom screen) | — |
| 3D Depth Adjustment | Physical 3D Slider | — |
Release Assets
DoomRPG-1.0.3.cia— MD5666391b114fabfcda3df4c65ffee9aedDoomRPG.3dsx— MD5711d1717c01734db86ee3f5c3d6f0a77
Notes & Compatibility
- Recommended for New 3DS (New 3DS, New 3DS XL, New 2DS XL) to take advantage of 804 MHz CPU clock speed and hardware stereo 3D.
- Autostereoscopic 3D operates on the top screen and is continuously adjusted by the 3DS hardware depth slider.