r/retrogamedev

Image 1 — [DS]Building a custom Engine Dashboard for My Mx-5 Miata on a Nintendo Ds
Image 2 — [DS]Building a custom Engine Dashboard for My Mx-5 Miata on a Nintendo Ds
Image 3 — [DS]Building a custom Engine Dashboard for My Mx-5 Miata on a Nintendo Ds
Image 4 — [DS]Building a custom Engine Dashboard for My Mx-5 Miata on a Nintendo Ds
Image 5 — [DS]Building a custom Engine Dashboard for My Mx-5 Miata on a Nintendo Ds
Image 6 — [DS]Building a custom Engine Dashboard for My Mx-5 Miata on a Nintendo Ds
▲ 16 r/retrogamedev+1 crossposts

[DS]Building a custom Engine Dashboard for My Mx-5 Miata on a Nintendo Ds

Hey everyone,

I'm a proud owner of a classic Mazda MX-5 Miata, and instead of installing modern aftermarket gauges that ruin the 90s interior look, I decided to give my old Nintendo DS Lite a permanent home on my dashboard.

The DS receives UDP packets from an ESP32 in the engine bay (reading Oil Temp, Oil Pressure and coolant Temp.) and displays everything in real-time. I'm writing this entirely in C using devkitARM and the gl2d library.

To keep the memory footprint extremely low and ensure a locked 60 FPS, I am drawing almost all UI elements, gauges, and graphs directly via code loops (glBox, glLine, etc.). I am using spritesheets only for the animated 3D car models (like the G-Force indicator and startup sequence); absolutely everything else is code-rendered.

However, I've hit a major roadblock regarding the Dual-Screen rendering and I'm hoping someone can help me Out.

Since the DS only has one 3D core, I am using the standard Display Capture method to achieve hardware-accelerated rendering on both screens. My main loop alternates rendering between the top and bottom screen every frame:

swiWaitForVBlank();

while(REG_DISPCAPCNT & DCAP_ENABLE);

if((frame & 1) == 0) {

lcdMainOnBottom();

vramSetBankC(VRAM_C_LCD);

vramSetBankD(VRAM_D_SUB_SPRITE);

REG_DISPCAPCNT = DCAP_BANK(2) | DCAP_ENABLE | DCAP_SIZE(3);

drawDashboard();

} else {

lcdMainOnTop();

vramSetBankD(VRAM_D_LCD);

vramSetBankC(VRAM_C_SUB_BG);

REG_DISPCAPCNT = DCAP_BANK(3) | DCAP_ENABLE | DCAP_SIZE(3);

drawMenu();

}

glFlush(0);

The Bug: I am experiencing severel "screen swapping" issues (both screens freezing, or the top and bottom screen rapidly flickering/swapping back and forth).

This only happens when the main loop gets stalled by blocking operations:

When I open my internal "Data Logger" menu, which uses libfat to fopen and parse a large .csv file from the SD card.

When the WiFi connection to the ESP32 drops and Wifi_InitDefault() or Wifi_AutoConnect() tries to re-initialize the connection in the background.

It seems that whenever the CPU is blocked by SD I/O or WiFi, swiWaitForVBlank() goes out of sync with the physical refresh rate, causing the VRAM bank swapping and REG_DISPCAPCNT to completely mess up the frame parity.

My Question: What is the standard/best-practice way to handle heavy, blocking FAT/WiFi I/O without breaking the strict (frame & 1) VBlank alternation required for dual-screen 3D capture? Do I need to move the FAT reads to an asynchronous timer, or is there a way to safely "pause" the screen swapping hardware registers before initiating a heavy SD card read, and resume it afterwards without corrupting the VRAM banks?

Any advice on how to handle synchronous stalls while doing display captures would be highly appreciated!

u/Stackter — 6 hours ago

How can I decompile, recompile, or port a PS1 game to PC as a newbie?

I've been inspired by the recent efforts that the N64 decompliation community as done with their decompilations of games like Legend of Zelda: Ocarina of Time and Star Fox 64. I am also inspired by the recent Jak & Daxter PC port.

However, I have no idea how to even make such a decompilation or port. I was wondering if someone who had the knowledge about it would be willing to provide an idea on how that could be achieve. It should be possible since there was a Castlevania: Symphony of the Night recompliation that was released.

Also, what's the difference between a decompilation, recompilation, and port?

reddit.com
u/GabuGoo — 23 hours ago
▲ 44 r/retrogamedev+1 crossposts

[Release] PSPalatro v0.8 - Balatro PSP Port Fork, now with Spectral Cards, Seals, Editions and more polish!

Hi everyone!

A while ago I shared my PSPalatro fork here after adding working saves to the PSP port of Balatro. Since then, I kept working on it and I’m happy to share a new release: PSPalatro v0.8.

This version adds a lot more Balatro features and polish compared to the previous release.

What’s new in v0.8:

  • Spectral cards are now implemented
  • Spectral booster packs are now available
  • Card seals are implemented:
    • Gold Seal
    • Red Seal
    • Blue Seal
    • Purple Seal
  • Card editions have been improved:
    • Foil
    • Holographic
    • Polychrome
    • Negative Jokers
  • Edition scoring behavior is closer to the original game
  • Added improved edition visuals
  • Added score flame effect when your current hand beats the blind
  • Added flame sound effect
  • Added pause/settings menu
  • Added optional debug tools setting
  • Improved native PSP save UI support
  • Improved save-safe audio handling
  • Updated README with the correct PSP folder layout

The correct folder structure on your PSP should be:

ms0:/PSP/GAME/PSPalatro/

├── EBOOT.PBP

├── Balatro.exe

├── settings.ini

└── editions.png

IMPORTANT: You still need to provide your own legally obtained Windows Balatro.exe. This project does not include copyrighted Balatro assets or game files.

You can download the v0.8 release here: https://github.com/Luxotick/pspalatro/releases/tag/v0.8

Source code: https://github.com/Luxotick/pspalatro

This is still a work in progress, so bugs and missing behavior are expected. If you test it on real PSP hardware, feedback is very welcome.

Huge thanks to Sérgio/internalregister for the original PSPalatro foundation, and thanks to OniMock for major help and contributions.

Hope you enjoy it!

reddit.com
u/DepartureFormal9719 — 1 day ago
▲ 8 r/retrogamedev+2 crossposts

I made a free Windows tool that converts MIDI files to hUGETracker .uge format

I made a free Windows tool that converts MIDI files to hUGETracker .uge format, would love feedback!

Hey! I've been working on a GB/GBC homebrew game (variant Sudoku with German Whispers, Killer cages, Thermometers, etc.) and needed to get some MIDI files into hUGETracker. Didn't want to spend $10 on an app for a small side project, so I just built one.

MIDI to .uge Converter is a free, standalone Windows app (no Python needed) that converts standard .mid files into .uge files ready to open in hUGETracker.

Features:

  • Pitch-based automatic voice splitting across all 4 GB channels
  • Per-channel octave shift controls via a clean GUI
  • Configurable BPM + song metadata (title, artist, comment)
  • Auto-names output based on input filename
  • ~14MB standalone .exe, Windows 10+ (Sorry, no Mac version yet)

Download + full writeup: https://maxentiusplays.com/midi-to-uge-converter/

I'd genuinely love feedback of any kind, bugs you hit, features you wish existed, or just whether this fills a gap for you. If you've been doing the MIDI to GB music pipeline differently, I'm also curious what your workflow looks like.

As a note, my goal was to create something light weight, no frills, I didn't need expanded functionality, something basic enough that just worked.

Thanks!

reddit.com
u/Mr_Economical — 1 day ago
▲ 847 r/retrogamedev+3 crossposts

POV: You’re building your dream PS1 game

Your character be like “oh s*** here we go again”

u/izzy88izzy — 2 days ago
▲ 53 r/retrogamedev+1 crossposts

Software Development on DOS

Is anyone here doing actual software development on DOS. I assume not commercial, but for their own usage.

If so, what version of DOS and what language?

reddit.com
u/r_retrohacking_mod2 — 2 days ago

Ive always wanted to make a game, but newer game engines are sorta bloated and slow? what should i use then?

Not sure if this post belongs here but ive tried newer engine like unreal and unity, but i honestly dislike how sluggish and big they are in resources. I like the concept of trying retro but have no idea where to start or what to use, i need something with a interface.

What tools do people use theses days to build retro games?

reddit.com
u/Any-Landscape434 — 2 days ago
▲ 33 r/retrogamedev+2 crossposts

New GBA cartridge game releasing in 2026, free demo now playable on real hardware!

https://preview.redd.it/nqekx4wkzx1h1.png?width=1254&format=png&auto=webp&s=1b4b873fde6acc4772ea7b3b489455dd6ad54db1

First post on this sub.
We're a small French studio (Neofid Studios) releasing a new action-platformer on actual Game Boy Advance cartridges later this year.

Demons of Asteborg DX is a 2D action-platformer with a dark medieval fantasy setting, think Castlevania-meets-Ghouls'n Ghosts on real Game Boy Advance hardware.
You play Gareth, a mysterious knight on a quest through a kingdom overrun by demonic creatures.

The demo is publicly available and runs on real GBA via flash cart, or just in any GBA emulator if you want to try quickly.

The cartridges are being manufactured in France by RetroElektronik (partner studio we've worked with on previous releases).

Demo: https://neofidstudios.itch.io/demons-of-asteborg-dx
Pre-order: https://www.kunekune.fr/demons-of-asteborg-dx

Open to questions about the GBA dev process or anything 😃

reddit.com
u/Demons_of_Asteborg — 2 days ago
▲ 182 r/retrogamedev+1 crossposts

Programming S60 3rd Edition

I decided to give Symbian programming a try using the S60 3rd edition sdk.

I’m not super familiar the terms. Symbian is the operating system and S60 is the UI platform that runs on the OS, is that correct?

I don’t have a Nokia phone, any recommendations trying this out on real hardware?

u/mlugo02 — 3 days ago

A 1987 ZX spectrum game developed in 1 year by 2 students simulated a living 3 floor monastery

​

One was studying telecom engineering, the other architecture.

Based on "The name of the rose" La Abadía del Crimen is still insane today.

- 3 fully connected floors of a medieval abbey (and a secret labyrinth)

- Isometric 3D world on 8-bit hardware (no GPU, 128K RAM)

- NPC Monks with real daily routines (prayer, meals, sleep, movement and protagonist interactions)

- A time-based system where the whole world follows a schedule

Everything running on a 3.5 MHz CPU in assembly

And it was made in one year by two students.

u/monchimer — 4 days ago
▲ 19 r/retrogamedev+1 crossposts

Blogpost: How I made a Nintendo DS ROM that can modify itself

Hey everyone! A few years ago I made a small PoC about a Nintendo DS ROM editor that runs on the Nintendo DS itself, which can be used to edit textures, sounds or dialogs of any other ROM (technically including the editor itself). It's a piece of DS homebrew made using C++.

I've just written a detailed blog post on the process of making this PoC, hope you guys enjoy it!

xortroll.github.io
u/r_retrohacking_mod2 — 3 days ago

Any love for point and click adventure games?

I recently founded my own little company to develop games, with a focus on retro and especially point and click adventures (I dunno if advertising is allowed here so I'll refrain from posting the Kickstarter link).

Just wondering if there's still interest in that style of game on Amiga. The above screenshots are from the EGA version (I'm on my way to Fantasy Basel and those are the only screenshots on my phone) but the final game will have builds for OCS/ECS and AGA, including a special build for lightly upgraded Amiga 500/Amiga 1000 models (aiming for 8 MB of FastRAM and 512K chipmem). MorphOS and AROS will also be supported.

https://www.kickstarter.com/projects/happy-ferret/tomas-king-of-rejection/

u/r_retrohacking_mod2 — 6 days ago