How The Mazes Were Generated For Classic Berzerk Game

berzerk-random-maze

This is a screenshot from the Atari 5200 version of the classic game Berserk. But the write-up we’re featuring actually looks at the original coin-op version. The maze for each level was established on the fly using a seed number fed into a rudimentary algorithm . Here’s a close look at how the maze building code actually worked.

Recently we saw a talk by Pitfall creator [David Crane] as part of our Retrotechtacular series. That is a real gem of programming history, and one of our favorite take-aways was that the levels were not hardcoded, but built using a random number generator algorithm with a hardcoded seed (so that the game was the same each time you played it). This uses a similar method but with a somewhat random seed.

The maze building was reverse engineered by observing the game in a MAME emulator, and by digging through disassembled code. Each time the code is “cold started” the seed starts out at zero, but from there the room number is used as the next seed. This is fed through a very simple algorithm. It generates directions for the walls, which use s few bit-wise operations to add the pillars inside the rooms.

It’s a great thing to study if you’re writing games for your embedded projects. By generating the room programmatically you don’t use up as much program memory. Of course these days even simple hobby controllers have way more storage to work with than [Alan McNeil] had when he designed Berserk.

[via Reddit]

[Image Source]

Loading Atari Games From An SD Card

Atari

They’re not a 2600, but the Atari 400, 800 and 1200 are awesome computers in their own right. With only BASIC built in to the ROM, they’re not especially useful or fun, as [Jeroen] found out when he acquired an 800 with a broken tape drive. There are options that allow you to load emulator files from a PC, but [Jeroen] wanted something more compact. He came up with a way to load games and apps off an SD card using a simple microcontroller.

The 400, 800, and 1200 each have a port that allows the computer to talk to printers, modems, disk drives, and load games. There are already a few circuits around that connect the SIO port to a computer so games can be loaded, but [Jeroen] wanted a more compact and portable solution for his 800.

What he came up with is actually pretty simple; just an Arduino, SD card, and an LCD display that allows him to browse the directory on the SD card and load it into the 800’s memory.

A lot of folks over on the Atariage forums are really impressed with [Jeroen]’s work, and would like to get their hands on one of these boards themselves. The project isn’t done just yet – [Jeroen] still needs to make a case for his device – but hopefully he’ll be spinning a few boards up in the coming months.

You can see a pair of videos of the device in action below.

Continue reading “Loading Atari Games From An SD Card”

One Game Controller Connects To Many Consoles

multi-controller-for-several-gaming-consoles2

[Dave Nunez] wanted arcade quality controls when gaming at home. The problem was he couldn’t decide on just one console to target with his build, so he targeted them all. What you see above is a single controller that connects to many different gaming rigs.

He took a simple-is-best approach, keeping the main goal of high-quality inputs at the forefront. To start, he built the face plate out of thick MDF to ensure it wouldn’t flex or bounce as he mashed the buttons. To keep the electronics as simple as possible he soldered connections to actual controller PCBs (well, reproductions of controllers), breaking each out to a separate DB9 connector on the back of the case. These connectors interface with one of the three adapter cables seen to the right. This lets the controller work with NES, SNES, and an Atari 2600 system.

To pull the enclosure together [Dave] designed the rounded corner pieces and cut them out with a CNC mill. These connect with flat MDF to make up the sides. To give it that professional look he filled the joints with Bondo and sanded them smooth before painting.

Atari Combo Controller Has What You Need For Any Cartridge

atari-combo-controller

Retro gaming enthusiasts take note: this joystick is what you need to play any Atari game on the original console. It plugs right into the original console hardware and removes the need to choose the joystick, paddle, or keypad controller separately. You just leave this puppy hooked up and move your hands to the set of controls used on each game.

[x2Jiggy] built the thing from scratch. The enclosure is a wooden box from the craft store. He holds it closed with a couple of magnetic latches like you might find on old fashioned kitchen cabinets. The buttons of the keypad are mounted on a chunk of protoboard but he did take the time to give it a coat of matching paint so that it doesn’t look out of place. Inside you’ll find some more protoboard and point-to-point soldering to complete the rest of the connections.

You can see a fast motion video of the build process after the break. This reminds us of the universal controller built for Project Unity.

Continue reading “Atari Combo Controller Has What You Need For Any Cartridge”

Fixing The Worst Video Game Ever: E.T. For Atari 2600

fixing-et-for-atari-2600

This hack has got to be every gamer’s dream. Someone actually took the time to dig through the binary file of E.T. the Extra-Terrestrial and fix the errors that made it an abomination of a title for the Atari 2600.

This is quite a feat in many ways. First off, you need to know the game well enough to understand where the problems lie. The Internet is a huge help in that regard as there’s no shortage of sources complaining about the game’s shortcomings. This turns out to be one of the articles strongest points as the author takes time to address the most common myths about bugs in the game. From there he goes on to discuss the problems that were actually fixed. Some are just general tweaks like the color fix listed above. But most of them are genuine improvements in the game play, like the falling fix which prevents E.T. from falling in this pit when his feet are obviously not anywhere near the edge.

So you couldn’t get your hard earned bucks back for a bummer of a game back in the day. But at least a few decades later you can fix the things that made it suck and play it through the way it should have been.

[via Reddit]

Atari 800 EPROM Cartridge Hack

atari-800-eeprom-hack

[FozzTexx] had an old Atari 800 collecting dust and decided to pull it out and get to work. The problem is that it’s seen some rough storage conditions over the years including what appears to be moisture damage. He’s read about a cartridge called SALT II which can run automatic diagnostics. Getting your hands on that original hardware can be almost impossible, but if he had a flashable cartridge he could just download an image. So he bought the cheapest cartridge he could find and modified it to use an EPROM.

When he cracked open his new purchase he was greeted with the what you see on the left. It’s a PCB with the edge connector and two 24-pin sockets. These are designed to take 4k ROMs. He dropped in an EPROM of the same size but the pin-out doesn’t match what the board layout had in mind. After following the traces he found that it is pretty much an exact match for an Intel 2764 chip. The one problem being that the chip has 28-pins, four too many for the footprint. The interesting thing is that the larger footprint (compared to the 2732) uses all the same pins, simply adding to the top and moving the power pins. A small amount of jumper wire soldering and [FozzTexx] is in business.

Gaming System Inside An Atari Joystick

gaming-system-inside-an-atari-controller

This original Atari controller is pretty small (take a look at that RCA cable for a sense of scale). Despite it’s size, [Kyle Brinkerhoff] managed to fit a complete gaming system inside the controller. This Pocket Sized Atari is a follow-up to another project he did called ArduPong which let him play Pong using a joystick and an Arduino. This rendition takes the external project box from that build and moves everything into one tight little package.

In the video after the break [Kyle] gives us a tour of the internals. The Arduino board he went with is an Ardweeny which is no bigger than the ATmega328 footprint so it can be easily mounted off to one side. The joystick internals have been replaced with the analog stick module from a PlayStation controller. That is where the button came from as well. Just connect this to a 9V battery and the composite video input of a TV and you’re ready to do some gaming!

Now if you just want that retro look for your Xbox Live games check out this Xbox 360 controller in an Atari joystick.

Continue reading “Gaming System Inside An Atari Joystick”