This NES Emulator Build Lets You Use Cartridges to Play Games

You may not remember this, but Nintendo hardware used to be a pretty big deal. The original Game Boy and NES both had remarkable industrial design that, like the Apple II and IBM Thinkpad, weren’t quite appreciated until many years after production ended. But, like many of you, [daftmike] had nostalgia-fueled memories of the NES experience still safely locked away.

Memories like lifting the cartridge door, blowing on the cartridge, and the feel of the cartridge clicking into place. So, understandably, reliving those experiences was a key part of [daftmike’s] Raspberry Pi-based NES build, though at 40% of the original size. He didn’t just want to experience the games of his youth, he wanted to experience the whole NES just as he had as a child.

20160727_181746

Now, like any respectable hacker, [daftmike] didn’t let gaps in his knowledge stop him. This project was a learning experience. He had to teach himself a lot about 3D design and modeling, using Linux, and programming. But, the end result was surely worth the work; the attention to detail shows in features like the USB placement, the power and reset buttons, and of course the game cartridges which work with the magic of NFC and still include the insert and toggle action of the original cartridge carriage.

If you have a 3D printer and Raspberry Pi available, you could build a similar NES emulator yourself. But if you don’t have a 3D printer, but do have an original NES lying around, you could pull of the Raspberry Pi in a NES case hack. Whichever you do, the NES’s beauty deserves to be displayed in your home.

Continue reading “This NES Emulator Build Lets You Use Cartridges to Play Games”

Lightweight Game Console Packs a Punch

Any maker worth their bits will look for new ways to challenge themselves. [Robert Fotino], a computer science student at the University of California, is doing just that: designing and building his own lightweight hobbyist game console that he has appropriately named Consolite.

[Fotino] wrote his own compiler in C++ that converts from C-like languages to a custom-designed assembler that he has dubbed Consolite Assembly. To test his code, he also wrote an emulator before loading it onto the Mimas V2 FPGA board. Presently, Consolite  uses 64KiB of main memory and 48 KiB of video memory; a future version will have 32 bit support to make better use of the Mimas’ 64 MiB of on board ram, but the current 16-bit version is a functional proof of concept.

consolite-status-leds-and-hardware-switches_thumbnailAn SD card functions as persistent storage for up to 256 programs, which can be accessed using the hardware switches on the Mimas, with plans to add user access in the form of saving game progress, storage outside of main memory, etc. — also in a future update that will include audio support.

As it stands, [Fotino] has written his own versions of Breakout, Tetris, and Tron to show off his project.

Not wanting for diligence, [Fotino] has provided thorough documentation of nearly every step along the way in his blog posts and on GitHub if you are looking for guidelines for any similar projects you might have on the back burner — like an even tinier game console.

[via r/FPGA]

The Dual-Core, ARM-Powered Commodore 64

There is no CPU that is better understood than the 6502 and its cousins the 6510, 6507, 6509, and whatever we’re calling the CPU in the NES. With this vast amount of documentation, just about anything can be done. Want a discrete and un-discreet 6502? Sure thing. It’s the NMOS version, though. Want an emulated version. Sure. With libraries porting the 6502 to every platform ever, there’s only one place left to go: putting a 6502 in a Commodore 64. Make it dual-core, too, so we can run CP/M.

This build is based on one of [telmomoya]’s earlier builds – a soft-core 6510 running on an ARM Cortex M3. The inspiration for this build came from a 6502 emulator running on an Arduino, which got [telmomoya] wondering what would happen if he attached some external RAM, CIA or a SID. Doing this on an Arduino is hard, but there are a few 5 Volt tolerant ARM chips out there, and with a few banks of SRAM, [tel] quickly had an emulated 6502 running EhBasic.

Running an emulated 6502 on an ARM chip is nothing new. What makes this build spectacular is the adaptation to the C64 motherboard. Since [telmomoya] was already breaking out the data and address lines to go to the SRAMs, it didn’t take much extra work to simply build an adapter for the DIP40 CPU socket on a C64. A few 74-series logic chips made the interface easy, and after a bit of soldering, [telmomoya] had a Commodore 64 powered by an ARM chip.

If you’re emulating one chip, you can emulate two, and with the Commodore 64, this leads to a few interesting possibilities. The C64 had a CP/M cartridge — a cartridge that contained a Z80 CPU, sharing the data and address bus with the 6510. This cartridge allowed the ‘toy computer’ C64 to run the ‘business’ CP/M operating system (and the Z80 made the Commodore 128 much cooler).  Since [telmomoya] was already emulating a CPU, emulating a second CPU wasn’t really that hard.

It’s a phenomenal build, and great if you’ve ever wanted to speed up VisiCalc.

Voja’s EEPROM Emulator From 1991

We’re glad we’re not the only hacker-packrats out there! [Voja Antonic] recently stumbled on an EPROM emulator that he’d made way back in 1991. It’s a sweet build, so take your mind back 25 years if you can. Put on “Nevermind” and dig into a nicely done retro project.

The emulator is basically a PIC 16C54 microcontroller and some memory, with some buffers for input and output. On one side, it’s a plug-in replacement for an EPROM — the flash memory of a bygone era. On the other side, it connects via serial port to a PC. Instead of going through the tedious process of pulling the EPROM, erasing and reprogramming it, this device uploads new code in a jiffy.

722351466362213815

No need to emulate ancient EPROMS? You should still check out this build — the mechanics are great! We love the serial-port backplane that is soldered on at a 90° angle. The joint is a card-edge connector electrically, but also into a nice little box, reminiscent of [Voja]’s other FR4 fabrication tricks. The drilled hole with the LED poking out is classy. We’re never going to make an EPROM emulator, but we’re absolutely going to steal some of the fabrication techniques.

[Voja] is a Hackaday contributor, badge-designer, mad hacker, inspired clock-builder, and developer of (then) Yugoslavia’s first DIY PC.

Hackaday Links: November 22, 2015

There’s a new documentary series on Al Jazeera called Rebel Geeks that looks at the people who make the stuff everyone uses. The latest 25-minute part of the series is with [Massimo], chief of the arduino.cc camp. Upcoming episodes include Twitter co-creator [Evan Henshaw-Plath] and people in the Madrid government who are trying to build a direct democracy for the city on the Internet.

Despite being a WiFi device, the ESP8266 is surprisingly great at being an Internet of Thing. The only problem is the range. No worries; you can use the ESP as a WiFi repeater that will get you about 0.5km further for each additional repeater node. Power is of course required, but you can stuff everything inside a cell phone charger.

I’ve said it before and I’ll say it again: the most common use for the Raspberry Pi is a vintage console emulator. Now there’s a Kickstarter for a dedicated tabletop Raspi emulation case that actually looks good.

Pogo pins are the go-to solution for putting firmware on hundreds of boards. These tiny spring-loaded pins give you a programming rig that’s easy to attach and detach without any soldering whatsoever. [Tom] needed to program a few dozen boards in a short amount of time, didn’t have any pogo pins, and didn’t want to solder a header to each board. The solution? Pull the pins out of a female header. It works in a pinch, but you probably want a better solution for a more permanent setup.

Half of building a PCB is getting parts and pinouts right. [Josef] is working on a tool to at least semi-automate the importing of pinout tables from datasheets into KiCad. This is a very, very hard problem, and if it’s half right half the time, that’s a tremendous accomplishment.

Last summer, [Voja] wrote something for the blog on building enclosures from FR4. Over on Hackaday.io he’s working on a project, and it’s time for that project to get an enclosure. The results are amazing and leave us wondering why we don’t see this technique more often.

Resurrecting Duckhunt

Bringing old things back to life holds a great sense of joy for most people. The never ending pursuit of recapturing our youth leads us down roads we’ve long forgotten. Along the way, we tend to bump into forgotten memories which jostle other forgotten memories which allows us to relive happy times we haven’t thought of in years, sometimes even decades. For some, the roar of a 351 small block sweeps them back to high school and the fast nights of cruising down main street with the FM radio cranked up as high as it would go.  For those of us who were born in the 80’s and 90’s, video games can bring back such memories. Who among us can forget our first encounter with Link, the elegant theme music of Final Fantasy or up-up-down-down-left-right-left-right-b-a-select-start?

Advances in processor technology has allowed us to relive our favorite games via emulators – programs that emulate processors of older computers. The games are ‘dumped’ from the ROM chips (where they are stored) into files. These game files can then be loaded into the emulator program, which allows you to play the game as if you were playing it on the original system.

NES_02
Guts of NES Zapper

Technology is truly a beautiful thing. It allows us to move forward, allows us to do today that which was not possible yesterday. There are a few cases, however, where this paradigm does not hold true. One of these has to do with the Nintendo Entertainment System and its “Zapper” gun controller. The NES was the most popular game console of its time, and rightfully so. From the minds of Nintendo engineers, programmers and audio experts came some of the best video games ever made. Unfortunately, some of these great games cannot be played on your Raspberry Pi favorite emulator due to the incompatibility of the Zapper gun and modern digital monitors.  None of us can forget the fun that Duckhunt brought. The game came as standard issue with all NES systems, so we’ve all played it. But its nostalgia is currently entombed by a technological quirk that has yet to be solved.

From one hacker to another – this can no longer be tolerated. First, we’re going to learn how the Zapper works and why it doesn’t work with digital displays. Then we’re going to fix it.

Continue reading “Resurrecting Duckhunt”

A Third Scale Mini PowerMac

We’re surrounded by tiny ARM boards running Linux, and one of the most popular things to do with these tiny yet powerful computers is case modding. We’ve seen Raspberry Pis in Game Boys, old Ataris, and even in books. [Aaron] decided it was time to fit a tiny computer inside an officially licensed bit of miniature Apple hardware and came up with the Mini PowerMac. It’s a 1/3rd scale model of an all-in-one Mac from 1996, and [Aaron] made its new hardware fit like a glove.

Instead of an old Mac modified with an LCD, or even a tiny 3D printed model like Adafruit’s Mini Mac Pi, [Aaron] is using an accessory for American Girl dolls released in 1996. This third-scale model of an all-in-one PowerPC Mac is surprisingly advanced for something that would go in a doll house. When used by American Girl dolls, it has a 3.25″ monochrome LCD that simulates the MacOS responding to mouse clicks and keypresses. If you want to see the stock tiny Mac in action, here’s a video.

The American Girl Mini Macintosh is hollow, and there’s a lot of space in this lump of plastic. [Aaron] tried to fit a Raspberry Pi in the case. A Pi wouldn’t fit. An ODROID-W did, and with a little bit of soldering, [Aaron] had a computer far more powerful than an actual PowerMac 5200. Added to this is a 3.5″ automotive rearview display, carefully mounted to the 1/3rd size screen bezel of the mini Mac.

The rest of the build is exactly what you would expect – a DC/DC step down converter, a USB hub, and a pair of dongles for WiFi and a wireless keyboard. The software for the ODROID-W is fully compatible with the Raspberry Pi, and a quick install of the Basilisk II Macintosh emulator and an installation of Mac OS 7.5.3 completed the build.