While it might have been a commercial failure compared to contemporary consoles, the Sega Dreamcast still enjoys an active homebrew scene more than twenty years after its release. Partly it’s due to the fact that you can burn playable Dreamcast discs on standard CD-Rs, but fans of the system will also point out that the machine was clearly ahead of its time in many respects, affording it a bit of extra goodwill in the community.
In the video below, [Ian] shows off his new technique with a port of DOOM running at 640×480. He’s already seeing an improvement to framerates, and thinks further optimizations should allow for a solid 30 FPS, but that’s not really the most exciting part. With the ability to load an essentially unlimited amount of data from the SD card while the game is running, this opens the possibility of running mods which wouldn’t have been possible otherwise. It should also allow for niceties like saving screenshots or game progress to the SD card for easy retrieval.
[Ian] says he’ll be bringing the same technique to his Dreamcast ports of Quake and Hexen in the near future, and plans on posting some code to GitHub that demonstrates reading and writing to FAT32 cards so other developers can get in on the fun. The downside is that you obviously need to have an SD card adapter plugged into your console to make use of this technique, which not everyone will have. Luckily they’re fairly cheap right now, but we wouldn’t be surprised if the prices start climbing. If you don’t have one already, now’s probably the time to get one.
The Dreamcast is a somewhat forgotten console today, but for a shining minute in the late 1990s, it was possible to believe Sega were still in the fight. Regardless, their hardware lives on, lovingly preserved by collectors and enthusiasts. [Nicholas FitzRoy-Dale] is one such enthusiast, and set about interfacing the old console’s controllers to an Arduino.
Initial work involved getting the Arduino (presumably a basic 16 Mhz Uno) to read the controller’s buttons, and spitting the data out over serial. The Dreamcast’s Maple bus is fast, which presented some challenges, but it was simple enough. [Nicholas] then moved on to interfacing the VMU, the Dreamcast’s fancy controller-mounted memory card. After initial attempts were shaky and unstable, he redoubled his efforts. Research indicated that the VMU can vary the speed of the bus when it’s in control, so he updated his code to suit. It’s full of great hacks, like connecting the Dreamcast’s two data pins to four input pins on the Arduino, to save a handful of cycles by not having to shift incoming data.
The work is a great read for anyone into assembly-level optimisation of interfaces, as well as proper use of limited resources. Obviously, it’s easy to just throw a faster, more expensive microcontroller at the problem, but then nobody would have learned anything. We’ve featured a great many Dreamcast hacks over the years; [Nicholas]’s work here builds upon [Dmitry]’s work in 2017. We can’t wait to see what comes next out of the underground Sega hacking scene!
Perhaps the greatest convenience feature of modern consoles is the wireless controller. Eliminating the risk of tripping over cords and enabling play in all manner of poorly ergonomic positions, they added huge comfort to the console gaming experience. [ismell] was no fan of the Dreamcast’s original controller, and the cable was too short to boot. It was time to bring the 360 Wireless controller to Sega’s swansong.
Early attempts by [ismell] involved a Windows computer acting as a USB host for the 360 controller, which would then send out commands back to the Dreamcast via a Cypress EZ-USB FX2 microcontroller. If this sounds esoteric and messy, that’s because it is. It was also too slow to reliably work, as the Dreamcast’s Maple controller bus expects updates every millisecond, else it considers the controller disconnected.
Instead, a dedicated USB host was needed to speak to the 360 controller and also the Dreamcast. [ismell] landed on the MicroZed 7010, a System on Chip that also packs an FPGA on board. With Petalinux running on the board, it interfaces with the Xbox 360 USB wireless controller interface, and then sends the data out over a custom “network” driver that sends packets to the Dreamcast over the Maple bus.
PC gamers have the benefit of a broad ecosystem of peripherals built to serve their gaming pleasure. As a bonus, if there’s something out there that doesn’t work with the platform, someone is likely already selling an adapter for it. Console gamers aren’t so lucky, and the vast majority stick with the factory standard controller. [megavolt85] isn’t one of them however, and spun up a multi-adapter for the Sega Dreamcast.
The adapter lets the player use a huge variety of controllers with the Dreamcast. There’s support for both PS1 & PS2 controllers, including vibration support, as well as MegaDrive & Saturn pads, too. PS/2 mice and keyboards can be used as well, and up to 16 VMUs can be hooked up as well. The adapter uses the STM32F103C8T6 microcontroller, which runs at up to 72MHz, giving it plenty of grunt to emulate the Dreamcast’s Maple controller interface.
The controller itself is built out of layers of lasercut MDF, along with an acrylic top and cork bottom to make it sit nicely on surfaces. Arcade buttons are installed to play the rhythm game, mimicking the design of the official cabinets seen in arcades. To run the controller, a Pico was pressed into service, with [Charlie] hoping to use the Pico’s PIO hardware to easily and effectively interface with the Dreamcast’s Maple bus. There were a few headaches along the way, and it didn’t quite live up to expectations, but with some clever use of dual cores, [Charlie] was able to get everything up and running.
Often, such vintage gaming hardware can be thin on the ground, so having the skills to build your own can come in handy. We’ve seen rhythm game hardware modded before too, like this repurposed DJ Hero controller. Video after the break.
[Bren Sutton] has been a long time fan of SEGA’s Dreamcast, eagerly snapping one up right around its October 1999 European release. But after years of neglect and a somewhat questionable paint job a decade or so back, he decided it was time to spruce his old friend up. He could have just cleaned the machine and been done with it, but he took the opportunity to revamp the console’s internals with both practical and cosmetic trickery.
The first step was getting the system looking a bit fresher. Removing the silver metallic paint he applied in his youth with a rattle can wasn’t going so well, so he ended up buying a broken donor console on eBay so he’d have a new shell to work with. The donor was yellowed with age, but a coating of peroxide cream and a few hours under a cheap UV light got it whitened up nicely. Now that he had a fresh new case, [Bren] turned his attention to the internal components.
Those who might be plugged into the active Dreamcast homebrew scene may already know that several upgrade modules exist for SEGA’s last home game console. One of the most popular replaces the optical drive with an SD card filled with your favorite game ISOs. You can also get a modern high efficiency power supply, as well as a board that replaces the original soldered-on clock battery with a slot that fits a CR2032. [Bren] threw them all in, ensuring several more years of gaming bliss.
But he wasn’t done yet. He also wanted to add some visual flair to his new and improved console. After some consideration, he gingerly cut the logo out of the Dreamcast’s lid, and installed an Adafruit CLUE board underneath it. With a few carefully crafted GIFs installed onto the CircuitPython-powered board, the console now has a gorgeous fully animated logo that you can see in the video after the break.
The Sega Dreamcast is the forgotten orphan of the console wars, an extremely capable machine never able to escape the shadow of its PlayStation rivals and because it marked the end of Sega’s console line, never redeemed in reputation by a more popular successor. It retains a significant following a couple of decades after its heyday though, and still sees hardware hacks such as [Tsowell]’s doubling of its available RAM to 32 MB.
The console shipped with 16 MB of memory in two banks, but while the SH4 processor can address twice that figure the designers at Sega never brought the required address line out from under the BGA. So it should be impossible to give it a memory expansion, but when hardware hackers are at work nothing should be ruled out. The hack involves manipulation of the bank switching addressing, and took several careful readings for us to fully understand. The new RAM chips have two address lines tied together and wired to another, a job for some fine but ultimately not impossible soldering. To take advantage of the extra RAM there are a set of patched BIOS images.
So, if you either have a spare Dreamcast you care little enough about to risk, or you consider your console hacking skills to be so advanced that it will be a piece of cake, you can now double the platform’s RAM. Extra points if you also make it portable.