Adding Custom Games to Pandora’s Box DX

Article courtesy of https://zerojay.com

Original article:
Pt1 – https://zerojay.com/blog/pbdxaddgames
Pt2 – https://zerojay.com/blog/addinggamesdxpart2

I’ve been seeing a lot of people asking about how they can add their own games to the Pandora’s Box DX lately, so let’s talk about it. Before we get to the meat and potatoes though, there are a few considerations to make.

A Few Thoughts Before Starting

Before you start heading down this path, there are a few things I would like you to think about first and then I will make a recommendation.

The way the PBDX works is that the main motherboard has a flash chip that contains the main operating system. On most other Pandora’s Boxes, the games and the main operating system itself is contained on the same SD card and it’s not the case here. This allows us a bit more flexibility over how we want to do things. Because the main operating system is not on the PBDX SD card, you can open up your Pandora’s Box DX, remove the SD card and put it right into your computer. Unlike the Pandora’s Box 6, there are no special hidden partitions or secret data hidden anywhere on the SD card and it is formatted as Fat32 so you can see all the file contents right on the card.

You have the ability to add your own games directly to the SD card if you wish. You can also just use a USB stick for new games you want to add and leave the original 3000 on the SD card. You could decide to buy a larger SD card (original SD card is 32GB) and copy the contents of the original one over to give you more space for games, save files, etc… Or you can even copy the full contents of the SD card to an external USB stick and remove the PBDX SD card entirely and keep it somewhere safe as a backup. In all these scenarios, you’ll still be able to play all your games.

Why is any of this important?

Because the route you decide to choose here will affect how easy it is to work with the PBDX in general when it comes to both adding new games and fixing some of the issues some games have. Personally, I don’t want to dismantle my entire arcade stick and then open up the Pandora’s Box DX to get to the motherboard anytime I want to install a game. That’s a lot of work and effort to do something that should be simple.

Also important to note here is that the PBDX now allows you to save games and use save states. These files get written to the medium that the game is being run from. For example, if you are running a default game from the SD card and create a save state, that save state is stored on the SD card. If you are running a game you added to the SD card, that save game will also be on the SD card. If you are running a game that you added to a USB stick, the save game will be written to the USB stick instead.

The PBDX SD card has about 2GB reserved for save files, but that could eventually be exhausted depending on how many games you play or add. Also, let’s say you wanted to back up your high scores. There’s the hassle of pulling the SD card out of the box every time you want to do that.

My Setup Recommendation

Here’s what I’m doing: Copy all files from the SD card to an external USB stick, remove SD card from PBDX and keep somewhere safe for backup.

Why?

  • No need to worry about hitting the 2GB limit on save files on the SD card.
  • All save files will be stored on the same external USB stick regardless of the game being a default or a newly added game so you only ever need to go to one place to make changes/backups, etc…
  • So much easier to pull out the external USB stick to copy or edit files and just reinsert into the PBDX without needing to take everything apart, less wear and tear on potentially fragile SD card.
  • Allows your SD card to be a permanent backup.

For someone like me that is taking a lot of time to learn and tinker with things on the PBDX, being able to do everything from the external USB stick is a godsend and makes things so much more streamlined. It’s a major reason why our PB6 hack basically redirects everything to the USB stick – to make things so much easier to change.

Once you’ve decided how you want to proceed, let’s talk about actually adding our own games.

Let’s Get to Adding the Games

The good news here is that regardless of the path you’ve decided to take, adding your own games works exactly the same way: Create the folders that the PBDX looks for on the root of your preferred FAT32-formatted medium and drop your games into those folders. That’s it.

What folders does the PBDX look for added games in? What kinds of formats are supported?

  • roms_playstation – (Sony PlayStation – .bin/.cue/.img/.mdf/.pbp/.toc/.cbn)
  • roms_mame2003 – (MAME2003 – MAME 0.78 ROM set – .zip)
  • roms_fba2012 (FBA2012 – FB Alpha v0.2.97.30 ROM set – .zip)
  • roms_md (Sega Megadrive/Genesis – .smd/.zip)
  • roms_fc (Nintendo Famicom/NES – .nes/.zip)
  • roms_sfc (Nintendo Super Famicom/SNES – .sfc/.zip)

The SD card already has these folders created for you so you can proceed to dropping the games directly into the folders. You’ll need to manually create them on your external USB stick if that’s the route you’ve decided to go.

Troubleshooting / Additional Questions

Is there a community collection of working ROMs just like what you’ve done for the Pandora’s Box 6?

No, not yet, but it is definitely in the plans. If you are interested in contributing, please feel free to let me know.

I’ve added a PlayStation game and it doesn’t get added to the game list.

Make sure that the extension of the filename is in lower case. FinalFantasy.pbp, not FinalFantasy.PBP.

Does PS1 game Einhander work on the PBDX? What about the PS1 versions of NFL Blitz that would crash on the PB6? Do we still need to disable vibrations to avoid crashing the PS1 emulator?

Einhander does indeed work on the PBDX. Yes, the PS1 versions of NFL Blitz all work. No, you do not need to disable vibration manually as the crash was fixed. (YAY!)

I’ve added a Genesis/NES/SNES game but it does not launch and returns immediately to the menu.

The problem here is likely in the filenames of your games. Spaces, underscores, parentheses and quotation marks are all known characters that will cause problems in your gamenames so you will want to remove them. If you are using zipped ROMs, this goes for not just the zip name but also for the ROM inside of it.

Why aren’t my games alphabetized? How do I order them better?

So the way the PBDX works is very much like the PB6 in this regard. Your default 3000 games always come first on the list followed by the games you’ve added. For added games, the order of games is like this:

  • roms (default 3000 games)
  • roms_fba2012
  • roms_mame2003
  • roms_fc
  • roms_sfc
  • roms_md
  • roms_playstation

However, the PBDX will display the files from each of those directories in file write order, because for some reason when you grab a set of files to write to a USB stick, Windows does not write them out in alphabetical order because that would be too easy. You can easily use a program like DriveSort to sort the files alphabetically without needing to recopy your files back over. Once you’ve used DriveSort on each of your directories, you’ll have each ROM folder alphabetized. (I may write up a little tutorial on DriveSort. In the meantime, all you really need to do is open your USB stick in the program, select Sort and Save from the menus. Do this for each folder you wish to sort and you’re done.)

Sidebar: Why is the MAME version supported older than the PB6? Isn’t this bad?

The Pandora’s Box 6 used MAME 0.106 and the Pandora’s Box DX is using MAME 0.78. No, it isn’t bad. It’s basically a tradeoff. As MAME progresses and matures, it gets more accurate over time and also requires more powerful hardware. For boards like the Pandora’s Box, speed is essential so using an older version is more desirable on this level of hardware. You may lose out on some games and bugfixes that were added after the version being used, but it means that games you may not have had enough speed to run before will run now. This is especially true with the various Midway arcade games (NBA JAM, Mortal Kombat 2, etc…) which struggled to play well on the PB6, but now play beautifully on the PBDX.

I would highly suggest getting a PC and running latest MAME instead if you are able to do so as that would blow away a Pandora’s Box any day, but if you’re on this hardware, you have little choice in the matter than using older MAME builds.

Adding more Sega console games? Why does this work?

When the Pandora’s Box DX was created, it was clear that 3A decided to throw away most of the work they had done for the Pandora’s Box 6 and start anew. Instead of creating frankenstein-style combinations of emulators and the main frontend with a chip controlling launching games, they decided to go with something a lot more straightforward and simple. As the operating system is all held on a 1Gb NAND, it means that very few people will be able to tinker and change things, so a lot of the security systems that were in place on the PB6 weren’t carried over to the PBDX.

The PBDX uses a lightly modified version of Retroarch with most of the modifications I’ve seen to this point mainly focused upon allowing the per-coin timer to work with Retroarch. The PBDX launches Retroarch through passing the game name and the libretro core to run it, just as almost any other frontend would launch it.

Something that wasn’t taken into account is that the Genesis Plus GX libretro core being used on the PBDX also supports other consoles as well and since .zip is one of the accepted file extensions for the roms_md directory, we’re able to take advantage of this to add Sega Master System, Sega Game Gear and Sega SG-1000 games to the PBDX.

How do I add these Sega games to my PBDX?

  1. Extract the ROMs you intend on adding to your PBDX first.
  2. Rename the ROM file to remove all spaces, parentheses, underscores and quotation marks. There may be more special characters that need to be removed. The general rule here is that the simpler the filename characters used, the better. Characters that are safe to use include plus and commas.
    Example: Sonic The Hedgehog (v1.1) (World).gg -> SonicTheHedgehogWorld.gg
  3. Once your ROMs have all odd/bad characters removed from the file name, zip them up individually. The ROM inside must have the same name as the zip file containing it.
  4. Copy your ROM into the roms_md folder on your storage device.

Troubleshooting

“When I try to run the game from the menu, it either does nothing or immediately quits.”

Most likely you have some strange character in the file name that needs to be removed from either the ROM file name or the zip file containing it.

“Do I absolutely have to zip up the games to make them work?”

For running Sega Master System/Game Gear/SG-1000 games, yes, you must or else the main menu system won’t recognize the files and won’t add them to the game list at all.

Article from: https://zerojay.com