Wooden Case Sega Saturn Laptop

CNC'ed Wooden Case for Sega Saturn

Remember the Sega Saturn? You know, that short-lived game system of the mid 90’s. Well, [c_mon] is still a fan and decided to make a portable version with a built in screen.

As you can see from the photos, the main case is made from wood, plywood to be exact. Several pieces of the plywood were cut out using a CNC Router and laminated together to achieve the full height needed to enclose the internal electronics. The finished case takes up a little less real estate than the original, however it is slightly taller.

You may recognize the screen as an old PSOne unit. The screen was taken part and housed in it’s own wooden enclosure which is hinged to the main case. The video is supplied to the screen by a composite output from the Saturn. There is no unique CD lid either, the screen functions as one when it is folded down. For sound there are a couple built in powered speakers that tap into the stock audio output.

To ad a little pizzazz, [c_mon] routed in a groove in the top to accept some EL wire. There are also some cool engravings in the wooden case, including the Saturn Automobile Manufacturer logo on the top of the screen lid…. whoops!

CNC'ed Wooden Case for Sega Saturn


Demystifying NTSC Color And Progressive Scan


Black and white NTSC is simple – it can, and was, done with vacuum tubes for a long, long time. Color is just weird, though. It runs at 29.976 frames per second, uses different phases of the carrier for different colors, and generally takes a while to wrap your head around. [Sagar] is doing a series on the intricacies of NTSC, and the latest post deals with color and progressive scanning versus interlacing, or as it is better known, how classic game consoles and home computers generate video.

The test bed for [Sagar]’s video experimentations is a circuit containing an ATMega16, a 4-bit shift register, and a 14.31818 MHz clock. This clock is much faster than the 3.579545 MHz clock in an NTSC carrier frequency – exactly four times as fast – allowing the shift register to output four different phases of the carrier frequency a 0°, 90°. 180°, and 270°. Playing with some of the pins on the ATMega in the circuit results in a palette being generated on any old TV.

NTSC requires interlaced scanning, or sending an entire screen of even lines, then an entire screen of odd lines, at around 60 fields per second. The Nintendos and Segas of yesteryear didn’t bother with this, instead opting to send half the vertical resolution at double the frame rate. This is known as a progressive scan. [Sagar] found that this resulted in some image artifacts when displayed on a modern LCD, and moving back to an interlaced mode fixed the problem. All the code and files are up on the gits. If you’re feeling adventurous, this is exactly how projects like the Uzebox have created homebrew game consoles using little more than the ATMega found in [Sagar]’s build.

The Sega Mega Drive Dev Kit

segaWhile most homebrew video game development has focused on the original NES, Atari consoles, and has produced a few SNES games, there is another console out there that hasn’t seen much love. Sega’s classic console, the Genesis or Mega Drive, depending on where you’re from, was an extremely capable machine with amazing capabilities for its time. [Chris] figured the Mega Drive would make a good target for an all-in-one development kit, and with a lot of work he managed to put one together.

The standard cartridge for the Genesis or Mega Drive is just a simple ROM chip wired directly into the console’s address space. [Chris] took a cheap FPGA and some dual port ram to create a seamless interface between the modern world and the inside of this ancient console, allowing him to load every Mega Drive game off an SD card, as well as use modern tools to modify old games, or even create new ones.

To demonstrate his dev kit, [Chris] took a copy of Sonic 1, and using the debugger and GDB, gave himself infinite lives. It’s a very cool demonstration, searching through all the commands executed by the Megadrive CPU with the standard Linux debugging tools.Going through the trace, [Chris] found the instruction that decremented that value representing Sonics lives, replaced it with NOPs, in effect giving himself infinite lives. This is a lot like how the Game Genie works, only using much, much better tools.

Of course a USB dev kit wouldn’t be much use if it could only modify existing games. The real power of [Chris]’ work comes from being able to develop your own demos, games, and homebrew apps.

[Chris] needed to write a small homebrew Mega Drive app for the ROM loader portion of his dev kit using SGDK. Disassembling his own code with the dev kit, he was able to take a look at the instructions, and potentially even modify his loader.

It’s a really impressive technical accomplishment, and something that could be a boon to the extremely small homebrew scene for the Mega Drive. All the boards, code, and everything else are available over on [Chris]’ github, with the entire project written up on hackaday.io. Videos below.

Continue reading “The Sega Mega Drive Dev Kit”

Sega Master System on a STM32 Development Board

Sega on STM32

Some hackers have managed to convert an STM32 development into a Sega Master System emulator. This means Sonic the Hedgehog running on an ARM Cortex-M4.

This hack has a number of parts. First, [Alessandro Rocchegiani] showed off a video of his Sega Master System emulator running on the STM32F429 Discovery development board. This first version used the on board 2.4″ TFT LCD screen.

[Fabrice] was working with this STM32 Discovery board already. He had developed an expansion board that added a number of features to the development kit, including an R-2R DAC for video output. When [Fabrice] found out about the Sega Master System emulator, he worked with [Alessandro] and his son [Fabrizio] to get VGA output working. They also added support for the Wii controller using [Fabrice]’s Wii library. The result is a Sega Master System emulator with VGA output at 640 x 480, with 16 bit color and Wii controller support.

You can watch a video of both the LCD and VGA versions of the hack after the break.

Continue reading “Sega Master System on a STM32 Development Board”

How the Game Genie Works

Those of us old enough to remember blowing into cartridges will probably remember the Game Genie – a device that plugs in to an NES, SNES, Sega Genesis, or Game Boy that gives the player extra lives, items, changes the difficulty, or otherwise modifies the gameplay. To someone who doesn’t yet know where the 1-up is in the first level of Super Mario Bros., the Game Genie seems magical. There is, of course, a rhyme and reason behind the Genie and [The Mighty Mike Master] put together a great walkthrough of how the Game Genie works.

There are two varieties of Game Genie codes – 6-character codes and 8-character codes. Both these types of codes translate into a 15-bit address in the game ROM (from 0x8000 to 0xFFFF for the 6502-based NES) and a data byte. For the 6-character codes, whenever the address referenced by the Game Genie code is accessed, a specific data byte is returned. Thus, infinite lives become a reality with just a 6-character code.

Some games, especially ones made in the late years of their respective systems, use memory mapping to increase the code and data provided on the cartridges. Since areas of data are constantly being taken in and out of the CPU’s address space, merely returning a set value whenever a specific address is accessed would be disastrous. For this bank-switching setup, the Game Genie uses an 8-bit code; it’s just like the 6-bit code, only with the addition of a ‘compare’ byte. Using an 8-bit code, the Game Genie returns a specific byte if the compare bytes are equal. Otherwise, the Genie lets hands off the original data to the CPU.

Of course, all this information could be gleaned from the original patent for the Game Genie. As for the circuitry inside the Game Genie, there’s really not much aside from an un-Googleable GAL (general array logic) and a tiny epoxied microcontroller. It’s an amazingly simple device for all the amazement it imbued in our young impressionable minds.

Continue reading “How the Game Genie Works”

Sega controller houses auto-launch emulator

[Joe’s] wife grew up playing Sega games and he wanted to help her unwind by reliving the experience. Since the work computer she uses when travelling isn’t a good place to install emulators he built this plug-and-play emulator inside of a Sega controller.

We’ve seen this type of thing a few times before (even with XBMC in a SNES controller) but there is one thing we hadn’t thought of lately. Newer versions of Windows have auto-launch disabled for USB drives. But [Joe] knew that there were still some USB sticks that manage to auto-launch anyway so he researched how those work. It turns out that they have two partitions, one is formatted as a CDFS which looks like a CD-ROM to Windows and allows auto-launch. He used this method of partitioning a USB stick, storing the ROMs on the mass storage partition and the emulator and the CDFS partition. To finish the hack he cracked open the controller and found room for a USB hub and the PCB from the thumb drive.

If you still have cartridges lying around you can pull the ROMs off of them over USB.

Coin-op Sega Rally used to race RC cars

Head to head video game action can’t even compare to this use of a coin-op Sega Rally game to race actual RC vehicles. Take a close look at those screens and you’ll see there are no computer graphics, just a feed for a camera on each of the toy cars.

The project was conceived for the Sapo Codebits VI conference in Portugal. The arcade cabinets had their controls connected to an Arduino, but getting video up and running wasn’t nearly as easy. After fruitless attempts to get the original CRTs to work the team ended up replacing them with functioning CRT units of the same size. The cars themselves have two camera, one on top of the vehicle’s cab and one mounted on a boom for a perspective that was above and behind the vehicle. The drivers can switch between either view. The cars were set loose in the room serving as the event’s retro gaming area and players were free to race each other wherever they pleased. Don’t miss the video clip after the break which shows off all of the fun. Continue reading “Coin-op Sega Rally used to race RC cars”