The BBC Tetris Companion

[Leaded Solder] took on an interesting challenge. The BBC, apparently, produced a game console known as the BBC Bridge Companion that connected to your TV and helped you learn to play Bridge back in 1985. At £200, we doubt many were sold new, but there were nine ROM cartridges available, presumably at an additional cost. [Leaded Solder] doesn’t care about playing bridge, but decided to teach the computer itself to play Tetris.

Inside is what you might expect for 1985. A Z80 and TI video chip, although naturally enough, it is the PAL variant. With 16K of VRAM the machine would have been very capable for its day. Unlike some game systems, the Bridge Companion runs its own code before launching what’s on the ROM cartridge. That required a few evenings of reverse engineering to figure out the correct header. Meanwhile, the surplus real hardware needed a quick repair on its cartridge slot before he could test it with real metal.

There were more hurdles, including adapting the PAL output for a composite monitor. Don’t miss the second part of the series for more technical details, and we’ll be interested in following the posts to their conclusion later this month.

Oddly enough, we think this is the first time the BBC Bridge Companion has made an appearance on Hackaday. However, we’ve had no shortage of card shufflers.

A Candle-Powered Game Boy For Post-Apocalyptic Tetris

We’re not exactly worried about Armageddon here at Hackaday, but should we end up facing the end of the world as we know it, having something to pass the time would be nice. That’s why we were intrigued by [Janus Cycle]’s latest video where he both plays and powers a Game Boy by candlelight.

You’ve probably figured out the trick already: he’s using a Peltier module as a thermoelectric generator. Candles, after all, release a lot more energy as heat than light, and all that high-quality heat is just begging to be put to use somehow. It’s hardly a new idea; [Janus] references space-age radioisotope thermoelectric generators (RTGs) in the video, but back in the day the Soviets had a thermoelectric collar that fit around a kerosene lantern to power their tube radios.

In [Janus]’s case, he’s using a commercial module sandwiched between two heatsinks with the rather-questionable choice of a cardboard box reinforced with wooden skewers to hold it over the candle. Sure, as long as the flame doesn’t touch the cardboard, it should be fine, but you will not be at all surprised to see the contraption catch fire in the video’s intro. For all that, he doesn’t get enough power for the Game Boy — one module gets him only 2 V with tea light, but he has a second module and a second candle.

Doubling the energy more than doubles the fun, since a working Game Boy is way more than twice as fun as an un-powered one. But one candle should be more than enough power, so [Janus] goes back and optimizes his single-Peltier setup with a tall candle and actual thermal grease, and gets the Game Boy going again. Any fire marshals in the audience should look away, though, as he never gives up on keeping a candle in a cardboard box.

The “power something with a Peltier module” project is probably a right of passage for electronics enthusiasts, but most are more likely to play with the irony of candle-powered LEDs, or fans to cool the cold-side heatsink. We did see a phone charger one time, and that didn’t even involve open flames, which seems much safer than this. Remember — no matter how much you want to game after the end of the world, it’s not worth burning down your fallout shelter.

Continue reading “A Candle-Powered Game Boy For Post-Apocalyptic Tetris

The Joy Of Making Handheld Tetris From Scratch

As anyone who’s made a thing knows, a lot of work goes into bringing something from idea to completion. But there’s also considerable satisfaction in the process. [Willian] recently did exactly that, and shares the joyful experience of creating a homebrew handheld game gadget from scratch. It runs a homebrewed Tetris clone (as well as Snake), and we love the results.

The game gadget uses an ATmega328P programmed via the Arduino IDE, and a 1.8″ TFT color LCD screen. It’s self-contained in a box with a few buttons as controls and runs off three AAA cells. [Willian] made the smart design choice to run the microcontroller at 8 MHz instead of the more common 16 MHz, because doing so meant the board can run at 3.3 V instead of 5 V. Why does this matter? The LCD display runs off 3.3 V as well, and if all components can run off the same supply and logic levels, it simplifies things considerably.

Also, creating a 3.3 V supply is a simple matter of three alkaline cells in series with an LDO (low drop-out) regulator, which is great for a handheld device. We do note that AA cells have a considerably higher energy density and capacity than AAA cells and are usually the better choice, but one works with what one has, and sometimes the space and weight saved by AAA is just too good to pass up.

The software has some notable approaches to keep things responsive and optimal. Instead of defining each of the Tetris pieces as a 2D shape, [Willian] instead pre-defines each piece (and their rotations) so that rotating a piece is just an index change in an array, instead of a transform implementing a rotation. Also, full-screen redraws are comparatively slow over SPI and caused flickering, so only cells that have changed are redrawn to the screen to keep things responsive. The code is all on GitHub, and it’s a great peek at how things get implemented under the hood.

The enclosure is just cardboard, and it does the job in [Willian]’s case. But we’ll point out that cardboard is actually a highly adaptable material from which to prototype. With just a few tips and a little care, paper products can be your new best friend when it comes to one-offs and prototypes.

Tetris In A Single Line Of Code

PC gaming in the modern era has become a GPU measuring contest, but back when computers had far fewer resources, every sprite had to be accounted for. To many, this was peak gaming. So let’s look to the greats of [Martin Hollis, David Moore, and Olly Betts], who had the genius (or insanity) to create Tetris in a single BBC BASIC line.

Created in 1992, one-line Tetris serves as a great use of the limited resources available. The entirety of the game fits within 257 bytes. With the age of BASIC, the original intent of the game for BBC BASIC was to be played on computers similar to Acorn’s BBC microcomputer or Archimedes.

One line Tetris has all the core features of the original game. Moving left, right, and rotating all function like the traditional game, most of the time. Being created in a single line, there were a few corners cut with bug fixing. Bugs such as crashing every 136 years of play due to large numbers or holding all keys causing the tetrominoes to freeze make it an interesting play experience. However, as long as our GPUs are long enough to play, we don’t mind.

If you want to experience the most densely coded gaming experience possible but don’t have one of the BBC BASIC computers of old, make sure to try this emulator with a copy of the game. Considering the amount done in a single line of BBC BASIC, the thought may come into mind on what could be done with MORE than a SINGLE line of code. For those with this thought, check out the capabilities of the coding language with modern hardware.

Thanks to [Keith Olson] for the tip!

Photo of 3D Tetris LED matrix

From Retro To Radiant: 3D Tetris On A LED Matrix

We love seeing retro games evolve into new, unexpected dimensions. Enter [Markus]’ adaptation of 3D Tetris on a custom-built 3x3x12 RGB LED matrix. Developed as a university project, this open-source setup combines coding, soldering, and 3D printing. It’s powered by an ESP32 microcontroller with gameplay controlled by a neat web interface.

This 3D build makes the classic game so much harder to play, that one could argue whether it’s still a game, or has turned into a form of art. Although it is challenging to rotate and drop blocks on such a small scale, for die-hard Tetris fans (and we know you’re out there), there is always someone up to become best at it. Just look at the FastLED-powered light show, the responsive web-based GUI, and fully modular 3D printed housing, this project is a joy to look at even when nobody is playing it. Heck, a game that turned 40 only a year ago should be so mature to entertain itself, shouldn’t it?

From homemade Pong tables to LED cube displays, hobbyists keep finding ways to give classic games a futuristic twist. Projects like this are about pushing boundaries. Hackaday’s archives are full of similar innovations, but why not craft some new ones?

Continue reading “From Retro To Radiant: 3D Tetris On A LED Matrix”

Happy Birthday, Tetris!

Porting DOOM to everything that’s even vaguely Turing complete is a sport for the advanced hacker. But if you are just getting started, or want to focus more on the physical build of your project, a simpler game is probably the way to go. Maybe this explains the eternal popularity of games like PONG, Tetris, Snake, or even Pac-Man. The amount of fun you can have playing the game, relative to the size of the code necessary to implement them, make these games evergreen.

Yesterday was Tetris’ 40th birthday, and in honor of the occasion, I thought I’d bring you a collection of sweet Tetris hacks.

On the big-builds side of things, it’s hard to beat these MIT students who used colored lights in the windows of the Green Building back in 2012. They apparently couldn’t get into some rooms, because they had some dead pixels, but at that scale, who’s complaining? Coming in just smaller, at the size of a whole wall, [Oat Foundry]’s giant split-flap display Tetris is certainly noisy enough.

Smaller still, although only a little bit less noisy, this flip-dot Tetris is at home on the coffee table, while this one by [Electronoobs] gives you an excuse to play around with RGB LEDs. And if you need a Tetris for your workbench, but you don’t have the space for an extra screen, this oscilloscope version is just the ticket. Or just play it (sideways) on your business card.

All of the above projects have focused on the builds, but if you want to tackle your own, you’ll need to spend some time with the code as well. We’ve got you covered. Way back, former Editor in Chief [Mike Szczys] ported Tetris to the AVR platform. If you need color, this deep dive into the way the NES version of Tetris worked also comes with demo code in Java and Lua. TetrOS is the most minimal version of the game we’ve seen, coming in at a mere 446 bytes, but it’s without any of the frills.

No Tetris birthday roundup would be complete without mentioning the phenomenal “From NAND to Tetris” course, which really does what it says on the package: builds a Tetris game, and your understanding of computing in general, from the ground up.

Can you think of other projects to celebrate Tetris’ 40th? We’d love to see your favorites!