Dreamcast GDemu Software Preparation

Recently I started thinking about the Dreamcast thanks to a recent playthrough of Crazy Taxi from ADGQ. While many of the games have been released and made available on other consoles and platforms throughout the years, there are still several games orphaned on the Dreamcast. Plus, the authentic feel of the playing the game, and hearing the original sounds and music is often not well replicated elsewhere.

Because of this, and 8bitmods eventual release of their VMU Memcard Pro, I decided to look into Dreamcast mods to determine what it would take to put together a console capable of playing its vast library via hard drive or sd card, similar to the Playstation 2 set up I did last year.

Somewhat surprisingly, it does not seem difficult at all. Many moderns mods are parts replacement for internal components. You still need to open up the console and take things apart, but you aren't soldering any mod chips or replacing capacitors. You just unplug this component, remove it, and plug in this one instead. Very plug and play. Many of these parts are pretty cheap through AliExpress too!

Anyways, I ordered a bunch of parts this week. My Dreamcast is back in the states, so even though the parts will arrive over the next two weeks, assembly will have to wait until after summer.

In the meantime, I can prepare.

Dreamcast GDemu

The main mod used in the Dreamcast is the GDemu. It is a PCB replacement for the entire GD-ROM reader assembly. To install, you need to take out the GD-ROM disc reader, and put this PCB in there instead. The GDemu board has an SD card reader attached to it, and this is where all of the games are stored.

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/250124_gdemu/IMG_8572_t.webp

I bought a SanDisk Extreme 128gb card, Class 10. Game are around 1.2gb each, which I thought would be enough space. But, I'm already getting close to the upper limit of space. A 256gb cards would've been better. I might upgrade later.

Some people online have complained about compatibility, but I think those complaints predate the current version of GDemu. More recent videos and posts have said similar SD cards work just fine for them.

Format SD Card

The GDemu requires the SD card to be FAT-32 format. One person said that using 64k byte cluster sizes can help with readability, too, so I opted for that. (It probably doesn't matter.) Using Diskutil, Macs will format FAT-32 with a cluster size of 32k bytes. So, for the 64k byte cluster size, you can use the following terminal commands.

diskutil unmount SD_IDENTIFIER
sudo newfs_msdos -F 32 -c 128 -v VOLUMEID /dev/SD_IDENTIFIER
diskutil mount SD_IDENTIFIER

The drive must be unmounted first before formatting it, then the newfs_msdos command is used. VOLUMEID is the new name of your SD card, and SD_IDENTIFIER is the identifier used in disk utils. Check diskutil list for the correct identifier. -F 32 is for FAT-32. -c 128 is for the 64 byte cluster size.

(The reasons for 128 with -c is a little complicated. Overall, we want a 64k byte size. In bytes, this is 64x1024 = 65,536 bytes. The SD card has a block size of 512 bytes, so we do 65,536/512, which is 128. This number describes the number of blocks in a cluster.)

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/250124_gdemu/IMG_8592_t.webp

Anyways, our SD card is in the current format. Now, we need games.

Games

To combat piracy, Sega and Yamaha created a new disc format for the Dreamcast called the GD-ROM. GD-ROMs held up to 1gb of information, surpassing the 650mb limits of the CD-ROM. One unique feature of the GD-ROM was that information was "burned" into the CD from the outside in, rather than inside out, like CD-ROMs. Both of these together were expected to make the Dreamcast secure from people burning their own games.

Within one year after its North American release, this was circumvented. Even though games were on GD-ROMs, the Dreamcast could still read CD-ROMs, so hacker group Utopia created the infamous Utopia disc which forced the Dreamcast to boot in CD-ROM mode. Games could then be burned to CD-ROMs and run nearly identically to the GD-ROMs. Some stuff had to be cut from games to fit into the 650mb CD limit, but many GD-ROMs filled their discs with dummy information anyways. Much of this dummy information was just pushing the data to the outer edge of the disc.

Because of this, Dreamcast games can be found online in two main formats: GDI and CDI files. GDI is usually preferred as the CDI version could have cut content to fit into 650mb. Although, the problem with GDI files is that they are always 1.1gb or 1.2gb to simulate the full size of the disc. It's possible to shrink these sizes, cutting out the extra content, but that can still cause some compatibility issues.

Game Management

Games are copied to the SD card, but the GDemu requires a specific file and folder structure. You also need files for the GD Menu, too.

I found this amazing YouTube video from Derek Pascarella fully describing the software-wide of how to set up and manage games for your Dreamcast using the GDemu. Here's that link again. The rest of this post is basically going to parrot this video.

You will need to download 2 things for Games and Menu management. And there's one more thing to download to edit Boxart and Metadata for games in the menu.

1) The GD Menu Card Manager is how you will manage all your games
2) Open Menu is the most modern menu used in the Dreamcast to choose your games.
3) The OpenMenu DAT Tool for editing boxart and metadata.

The Open Menu DAT Tool is available through the dreamcast-talk forum, which is member only and a little difficult to gain access. The video has a link to their personal Google Drive for the file. The link above connects to my Google Drive, where I also have a copy.

GD Menu Card Manager

The GD Menu Card Manager works for both Mac and PC. When you open the program, choose your SD card from the menu. You can choose whether to install GDmenu or Open Menu. Any game you want install, just drag into the window, rename to whatever you want, and hit Save Changes at the bottom.

Overall, the GDemu wants each disc in its own folder, numbered starting from 01. The 01 folder is special and it must contain the GDemu menu (GDmenu or openMenu). The Card Manager will copy the correct files for you. From 02, each folder is for a game disc. Again, the Card Manager will manage all these folders for you. When adding new games, you can have them alphabetically sorted, and the Manager will rearrange everything for you.

Some options are missing in the Mac version of the Card Manager. I'm not able to shrink the GDI files for some reason. This is probably using something only available on PC. However, as the video mentions, shrinking GDI files is not a one-size-fits-all hammer solution. For full compatibility, it's best not to shrink.

Game Serial Numbers

Much like Playstation games, Dreamcast games each have a unique identifier. All retail games do this, but hacks, ports, and other self-published indie titles sometimes don't. For example, the Dreamcast port of Divi-Dead and Grand Theft Auto III share the same serial number when added to the card manager, T00001.

Just like the game title, you can freely edit serial numbers to whatever you like.

https://raw.githubusercontent.com/dyreschlock/dyreschlock.github.photos/master/photo/250124_gdemu/IMG_8587_t.webp

I changed Grand Theft Auto III's serial number to TGTA3. The only thing this disrupts is the boxart and metadata used for Open Menu, and we can fix that.

Open Menu

When the Menu Card Manager saves changes to the SD card, it copies all the menu information it has locally to the SD card. On PC, all of its dlls and subfolders are clearly visible. The openMenu files are stored in the following location: tools/openMenu/menu_data. This is true for the Mac version, too, but all the files are hidden inside of the app. Click on the GDMENUCardManager.app file and "Show Package Contents." From there, the openMenu files are located here: Contents/MacOS/tools/openMenu/menu_data

By default, there's not much there, but that's where there Open Menu download comes in. Unzip the latest release and copy all of the contents of menu_data into the above location. Click on Save Changes in the Menu Manager, and your openMenu is completely up to date.

Boxart and Metadata Changes

Among the Open Menu files we copied to the GD Menu app were 3 DAT files, BOX.DAT, ICON.DAT, and META.DAT. These are file databases which house boxart, game icon, and metadata for all the Dreamcast games. It has all retail games, indie games, and most other ports and hacks. But, it doesn't have everything. And if you changed any serial numbers, it definitely doesn't have those games.

The OpenMenu DAT Tool will allow you to edit them. You can add new images (PNG format only) and create the menu icon from that. You can add and edit any metadata for games, too.

Save all the changes back to the DAT files for the Card Manager. And then "Save Changes" in the Card Manager to apply the changes to the SD card.

Preparation Complete

For the time being, my preparations are complete. I have loaded my SD card with over 100 discs. You can take a look at what I have available by viewing my Game Inventory.

I'll start getting the physical mods in the mail over the next few weeks. Then after summer vacation, I should have my Dreamcast available to install the mods.