The only question we have about [mitxela]’s DIY vector graphics game console is: Why did he wait five years to tell the world about it?
Judging by the projects we’ve seen before, from his tiny LED earrings to cramming a MIDI synthesizer into both a DIN plug and later a USB plug, [mitxela] likes a challenge. And while those projects were underway, the game console you’ll see in the video below was sitting on the shelf, hidden away from the world. That’s a shame, because this is quite a build.
From someone who claims to have known little about electronics at the beginning of the project, this is pretty impressive stuff. Our only quibbles are the delay in telling us about it, and the lack of an Asteroids implementation. The former is forgivable, though, because the documentation is so thorough and the project is so cool. The latter? Well, one can hope.
Continue reading “Delicious Vector Game Console Runs Pac-Man, Tetris, and Mario”
Just this summer, the Nintendo Entertainment System had its 35th release anniversary, and even after years of discontinuation, it is still going strong in the hacker community. Exhibit A: [Matthew Earl]. For one of his upcoming projects, [Matthew] needed to get his hands on the background images of the NES classic Super Mario Bros. Instead of just getting some ready-rendered images and stitching them together, he decided to take care of the rendering himself, once he extracts the raw game data.
Since there is no official source code available for Super Mario Bros, [Matthew] used a disassembled version to get started looking for the image data. To avoid reading through thousands of lines of assembly code, and to also see what actually happens during execution, he wrapped the game’s ROM data into py65emu, a Python library emulating the 6502, the CPU that drives the NES. By adding a simple wrapper around the emulator’s memory handler that tracks reads on uninitialized data, [Matthew] managed to find out which parameters he needs to feed to the parser routine in order to get the image tile data. After an excursion into the Picture Processing Unit (PPU) and its memory arrangements, [Matthew] had everything he needed to create the Python script that will render the game background straight from its ROM data.
Even if extracting NES game data is not your thing, the emulator concept [Matthew] uses might be still worth a read. On the other hand, if you want to dig deeper into the NES, you should definitely have a look at emulating an SNES game on a NES, presented on the NES itself.
Picture it: Halloween, 2018. You want to go to a party or take the kids out trick-or-treating, but remember what happened last year when you weren’t there to answer the door? A pack of wild children blew their allowances on 48 rolls of the cheapest toilet paper ever printed, and it took you four full hours to get all the sodden, dew-laden wads out of your rose bushes.
Halloween is a time to fear things like hobgoblins and the possibility of The Purge becoming a thing, not sugar-fueled children who are upset that you left out a bowl of Sixlets, wax lips, and alt-flavored Tootsie Rolls. So how do you take back the night? Do what [Randall Hendrix] did: build a Super Mario-themed candy-dispensing machine.
No customer, not one tiny [Thanos] or [Tony Stark] will be able to resist the giant, blinking, green start button. Pushing it cues the music and the spinning drum, which tumbles the candy around like a clothes dryer. Gravity and chance will drop one or three pieces onto a conveyor belt that runs under Mario’s feet, but it’s up to you to press the jump button at the right time. Otherwise, he knocks your prize back into the barrel.
There’s no micro here, just woodworking, relays, motors, a sound FX board, and the amp from an old pair of PC speakers. Mario’s candy-securing jump was originally pneumatic, but now it’s powered by a 240:1 gear motor that lifts him up with a cam. Grab a fun size Snickers and slap that break button to see this marvelous machine in action.
Concerned that they’ll play until the candy is gone? Add a sinister element like the Candy-or-Death machine we saw a few years ago.
Continue reading “Mario Candy Machine Gamifies Halloween”
[Andrew Peterson] was looking for a way to indulge in his retro gaming passions in a more contemporary manner. His 3D NES emulator “N3S” for Windows brings Nintendo classics to the HoloLens, turning pixels into voxels, and Super Mario into an augmented reality gingerbread man.
To run NES games on the HoloLens, [Andrew’s] emulator uses the Nestopia libretro core. Since AR glasses cry for an augmentation of the game itself, the N3S re-emulates the NES’ picture processing unit (PPU), allowing it to interpret a Nintendo game’s graphics in a 3D space. [Andrew] also put together a comprehensive explanation of how the original Nintendo PPU works, and how he re-implemented it for the HoloLens.
The current version of the N3S PPU emulator automatically generates voxels by simply extruding the original pattern data from the game’s ROM, but [Andrew] is thinking about more features. Users could sculpt their own 3D versions of the original graphic elements in an inbuilt editor, and model sets could then be made available in an online database. From there, players would just download 3D mods for their favorite games and play them on the HoloLens.
According to [Andrew], the emulator reaches the limits of what the current pre-production version of the HoloLens can render fluently, so the future of this project may depend on future hardware generations. Nevertheless, the HoloLens screen capture [Andrew] recorded makes us crave for more augmented retro gaming. Enjoy the video!
Most people use the Super Mario Maker to, well, create Super Mario game levels. [Robin T] decided to try something a little different: building a working calculator. Several hundred hours later, he created the Cluttered Chaos Calculator, which definitely lives up to the name. What this Super Mario level contains is a 3-bit digital computer which can add two numbers between 0 and 7, all built from the various parts that the game offers. To use it, the player enters two numbers by jumping up in a grid, then they sit back and enjoy the ride as Mario is carried through the process, until it finally spits out the answer in a segment display.
It’s not going to be winning any supercomputer prizes, as it takes about two minutes to add the two digits. But it is still an incredibly impressive build, and shows what a dedicated hacker can do with a few simple tools and a spiny shell or two.
Continue reading “Calculator Built In Super Mario Level. Mamma Mia!”
This isn’t an FPGA emulating Mario Bros., it’s an FPGA playing the game by analyzing the video and sending controller commands. It’s a final project for an engineering course. The ECE5760 Advanced FPGA course over at Cornell University that always provides entertainment for us every time the final projects are due.
Developed by team members [Jeremy Blum], [Jason Wright], and [Sima Mitra], the video parsing is a hack. To get things working they converted the NES’s 240p video signal to VGA. This resulted in a rolling frame show in the demo video. It also messes with the aspect ratio and causes a few other headaches but the FPGA still manages to interpret the image correctly.
Look closely at the screen capture above and you’ll see some stuff that shouldn’t be there. The team developed a set of tests used to determine obstacles in Mario’s way. The red lines signify blocks he will have to jump over. This also works for pits that he needs to avoid, with a different set of tests to detect moving enemies. Once it knows what to do the FPGA emulates the controller signals necessary, pushing them to the vintage gaming console to see him safely to the end of the first level.
We think this is more hard-core than some other autonomous Mario playing hacks just because it patches into the original console hardware instead of using an emulator.
Continue reading “FPGA plays Mario like a champ”
Some people know [Tom Murphy] as [Dr. Tom Murphy VII Ph.D.] and this hack makes it obvious that he earned those accolades. He decided to see if he could teach a computer to win at Super Mario Bros. But he went about it in a way that we’d bet is different that 99.9% of readers would first think of. The game doesn’t care about Mario, power-ups, or really even about enemies. It’s simply looking at the metrics which indicate you’re doing well at the game, namely score and world/level.
The link above includes his whitepaper, but we think you’ll want to watch the 16-minute video (after the break) before trying to tackle that. In the clip he explains the process in laymen’s terms which so far is the only part we really understand (hence the reference to voodoo in the title). His program uses heuristics to assemble a set of evolving controller inputs to drive the scores ever higher. In other words, instead of following in the footstep of Minesweeper solvers or Bejeweled Blitz bots which play as a human would by observing the game space, his software plays the game over and over, learning what combinations of controller inputs result in success and which do not. The image to the right is a graph of it’s learning progress. Makes total sense, huh?
Continue reading “Teaching a computer to play Mario… seemingly through voodoo”