From Z80 To EZ80: Porting 8-bit Sonic 2 To The TI-84+ CE

An unwritten rule is that if two systems runs even roughly the same CPU, you are obligated to port software between them, or at least give it a fair shake. This led [grubbycoder] down the path of porting Sonic 2 for the Sega Master System (to the eZ80-based Ti 84+ CE. Selecting this particular graphing calculator came down to the raw specs matching up the best, as although the eZ80 in the Ti 84+ runs at 48 MHz, it’s got wait states that cripple its actual performance. Since the calculator also lacks the Video Display Processor (VDP) and a few other bits of hardware, those extra cycles are crucial to compensate.

Sonic 2 on the Ti 84+ CE, courtesy of [grubbycoder]
Sonic 2 on the Ti 84+ CE, courtesy of [grubbycoder]
Getting the disassembled version of the game was easy enough, as the [Sonic Retro] team has already done the heavy lifting there. The only snag there was that this was in WLA-DX assembler format, which is great if you just want to create a ROM for a Z80 system, but for the eZ80 you need a different assembler. Here SPASM-ng came to the rescue, as it targets both Z80 and eZ80-based Ti calculators in particular.

With those ducks aligned, the next task was to address the hardware differences. The calculator has no sound, so those routines had to go, and the color palettes of the Master System had to be mapped to that of the calculator. Since it’s a calculator, there were plenty of buttons for input, but ROM banking – which isn’t a thing on the Ti calculator – and the background and sprite rendering posed some issues. With that sorted, anyone with this calculator can now rejoice at having something better to play on their calculators than Snake in between heavy linear algebra sessions.

Source Code To The 1999 FPS Game Descent 3 Released

On April 16th of this year, [Kevin Bentley] released the source code to the Sci-Fi FPS game Descent 3. Originally released in 1999 for Windows, the game has you control a flying ship which you have to guide through both in- and outdoor environments, while shooting at robots that have been infected with an alien virus as you try to save the solar system. It was later also ported to Mac OS and Linux, but was considered a commercial flop due to low sales.

As one of the original developers, [Kevin] explains that one of the goals of this code release is to give the game a second life, by cleaning up the C++ code and using new APIs. Original proprietary audio and video libraries from Interplay were removed, which means that some work is required before one can build a fresh copy of the game from this code base. That said, the released code is the latest 1.5 patch level, with the Mac OS and Linux support. Even if the original Descent games weren’t your cup of tea, it’s still great to see games being preserved and updated like this.

Thanks to [Phil Ashby] for the tip.

PicoNtrol Brings Modern Controllers To Atari 2600

While there’s an argument to be made that retro games should be experienced with whatever input device they were designed around, there’s no debating that modern game controllers are a lot more ergonomic and enjoyable to use than some of those early 8-bit entries.

Now, thanks to the PicoNtrol project from [Reogen], you can use the latest Xbox and PlayStation controllers with the Atari 2600 via Bluetooth. Looking a bit farther down the road the project is aiming to support the Nintendo Entertainment System, and there’s work being done to bring the Switch Pro Controller into the fold as well.

Continue reading “PicoNtrol Brings Modern Controllers To Atari 2600”

Git Good, By Playing A Gamified Version Of Git

What better way to learn to use Git than a gamified interface that visualizes every change? That’s the idea behind Oh My Git! which aims to teach players all about the popular version control system that underpins so many modern software projects.

Git good, with a gameified git interface.

Sometimes the downside to a tool being so ubiquitous is that it tends to be taken for granted that everyone already knows how to use it, and those starting entirely from scratch can be left unsure where to begin. That’s what creators [bleeptrack] and [blinry] had in mind with Oh My Git! which is freely available for Linux, Windows, and macOS.

The idea is to use a fun playing-card interface to not only teach players the different features, but also to build intuitive familiarity for operations like merging and rebasing by visualizing in real-time the changes a player’s actions make.

The game is made with beginners in mind, with the first two (short) levels establishing that managing multiple versions of a file can quickly become unwieldy without help. Enter git — which the game explains is essentially a time machine — and it’s off to the races.

It might be aimed at beginners, but more advanced users can learn a helpful trick or two. The game isn’t some weird pseudo-git simulator, either. The back end uses real git repositories, with a real shell and git interface behind it all. Prefer to type commands in directly instead of using the playing card interface? Go right ahead!

Oh My Git! uses the free and open-source Godot game engine (not to be confused with the Godot machine, a chaos-based random number generator.)

The BR55 battle rifle held in its creator's hands during test firing

Making The Halo 2 Battle Rifle Real

We’ve just been shown a creation that definitely belongs on the list of impressive videogame replicas. This BR55 rifle built by [B Squared Mfg] not only looks exactly like its in-game Halo 2 counterpart, it’s also a fully functional firearm chambered in 5.56. The attention to detail even brings us a game-accurate electronic ammo counter.

The rifle and magazine communicate over three pins.

Unfortunately, the only information we have on the weapon currently is the video below. But he does at least go into detail about the practical aspects: caliber choice, the arduous journey of bolt carrier sourcing, and how the ammo counter works.

Each magazine has a potentiometer built into it to detect the number of rounds loaded, but there’s a bit of trickery involved. In the real world, there’s no way a magazine this size could hold the 36 rounds of ammunition depicted in the game, so for each shot fired, the counter subtracts three. It takes a little imagination, but this way it looks as close to the game version as possible.

There will be no published files due to legal concerns, but there’s nothing you couldn’t build yourself, as long as said legal concerns are sorted out for yourself. Depending on where you live, you might have to settle for building a Gauss gun in the same frame, we’ve even seen slimmer ones done commercially. Whatever you build, make sure you store it in a way others can’t access it easily — not all gun safes pass this test.

Continue reading “Making The Halo 2 Battle Rifle Real”

Exploring The Sega Saturn’s Wacky Architecture

Sega Saturn mainboard with main components labelled. More RAM is found on the bottom, as well. (Credit: Rodrigo Copetti)
Sega Saturn mainboard with main components labelled. More RAM is found on the bottom, as well. (Credit: Rodrigo Copetti)

In the annals of game console history, the Sega Saturn is probably the most convoluted system of all time, even giving the Playstation 3 a run for its rings. Also known as the system on which Sega beached itself before its Dreamcast swansong, it featured an incredible four CPUs, two video processors, multiple levels and types of RAM, all pushed onto game studios with virtually no software tools or plan how to use the thing. An introduction to this console’s architecture is provided by [Rodrigo Copetti], which gives a good idea of the harrowing task of developing for this system.

Launched in Japan in 1994 and North America and Europe in 1995, it featured a double-speed CD-ROM drive, Hitachi’s zippy new SH-2 CPU (times two) and some 3D processing grunt that was intended to let it compete with Sony’s Playstation. The video and sound solutions were all proprietary to Sega, with the two video processors (VDP1 & 2) handling parts of the rendering process which complicated its use for 3D tasks, along with its use of quadrilaterals instead of triangles as with the Playstation and Nintendo 64.

Although a lot of performance could be extracted from the Saturn’s idiosyncratic architecture, its high price and ultimately the competition with the Sony Playstation and the 1996 release of the Nintendo 64 would spell the end for the Saturn. Although the Dreamcast did not repeat the Saturn’s mistakes, it seems one commercial failure was enough to ruin Sega’s chances as a hardware developer.

Wico Boss Joystick Modded To Use Cherry MX Keyboard Switches

The Wico Boss joystick was one of the better designs of the 1980s. Yours truly had one, and put it through many brutal hours of Amiga-based gameplay. [Drygol] was recently asked if he could alter some of these sticks to be even clickier than stock, and jumped at the change to do some modding.

[Drygol]’s idea was to swap out the original microswitches in the sticks for keyboard switches instead. In particular, the idea was to use the Cherry MX Blues which have a particularly nice click to them. But this wasn’t just going to be a straight swap. Instead, since the hardware was retro and preservation was desired, the modification had to be reversible.

The result was a drop-in 3D-printed bracket that holds four Cherry switches around the joystick’s central bauble. Thus, when the stick is moved, it actuates the keyboard switches with a satisfying click. A 12mm tactile switch was also installed in the base to be activated by the fire button. Then, it was a simple matter of  tidying up some of the sticks during reassembly and wiring up the original cables to the new switches.

It’s a neat way to give an old-fashioned digital joystick a new lease on life. This would be a particularly great mod for tired sticks with worn out microswitches, too. Hilarious archaic marketing video after the break. They really are whacko for Wico.

Continue reading “Wico Boss Joystick Modded To Use Cherry MX Keyboard Switches”