Per-game skins in the Delta classic video game emulator for iOS

Apple recently changed the App Store rules to allow emulators, which means we’re now seeing emulators for classic video game consoles available for download! This is great news for a retro gamer like myself. Delta is one such emulator that currently focuses on Nintendo platforms: NES, Game Boy, Game Boy Color, SNES, N64 and DS.

I thought it would be fun to play my favourite Nintendo DS game: MaBoShi. This is an odd choice of game for a few reasons, but it really tests what Delta and the melonDS emulation core can do.

Immediately I noticed that the Nintendo DS emulation quality is high: MaBoShi’s mosaic transitions are shown, whereas in other emulators such as DraStic or DeSmuME they are not. That’s a good start!

PNG


When good isn’t good enough

But, we can see some odd things about MaBoShi:

  • it is played with the DS rotated on its side
  • the second screen goes mostly unused

And there are some other things we can’t see:

  • it doesn’t use the touch screen
  • only the D-pad is used during play (and Start button to pause)

Usually, when I play this game in an emulator I activate single screen mode and forgo seeing the high score, which is no big deal as the game ends at 1 million and that’s always my goal.

So I looked into the Delta docs and skin docs and find that the options to show a single screen, or rotate it, are controlled by the skin (visual theme) you are using.

Reading further into skins the capabilities seemed quite comprehensive, so I began to hatch a plan… maybe I can create a custom skin just for MaBoShi?


I love it when a plan comes together

Here’s the feature list I came up with:

  1. show the main game screen
  2. show only the score from the secondary screen
  3. remove all controls other than the d-pad, start and delta button

I achieved this goal as follows:

  1. define two seperate screens to split the DS image
  2. rotate each of the screens
  3. overlap the screens so that only the score from the secondary screen is visible
  4. rotate the d-pad direction controls
  5. made the touch/game screen a big button
  6. make empty space equivalent to nearest button
  7. create a nice PDF to show the buttons visually

If you’re interested in the JSON associated with this skin, here it is on GitHub.


Maximum joy

Installation and download instructions are at the bottom of the page, but here’s the final skin:

PNG

PNG


Installation

To install the skin you need to do a little bit of busy work, but boy is it worth it:

  1. Install Delta and get it running DS games (check this video)
  2. Create a folder called Delta in your iCloud Drive so you can easily store/retrieve some downloads
  3. Download the following files:
  4. Open the .nds.zip game file in Delta
  5. Tap and hold the game icon to show a menu
  6. Choose “Change Artwork”
  7. Select the .jpg you downloaded earlier
  8. Choose “Change Controller Skin”
  9. Select the skin using the + button and set it as both Portrait and Landscape skin for the game

Check out my MaBoShi Guide at GameFAQs to learn more about the game and how to play it. It’s essentially a one button game so isn’t affected by the lack of physical buttons.

--
Originally published: 2024-04-18
--
Enjoyed this blog post? Please show some support.
--
Comments: @gingerbeardman