Within the last few years, Atmel Microchip has come out with a few new parts in the ATtiny series. They’re quite cheap, even in single quantities, but they’re also very limited in terms of specs. In particular, the ATtiny104 has caught my eye due to having 12 IOs in a fairly small 14-pin SOIC package with a $0.70 price tag for a single piece. Keep in mind though, these parts only have 1kB of flash and 32 bytes of SRAM. Hackaday did a write-up when the 102/104 series was first released and they were “scratching our heads and asking what this chip is good for”. With that glowing endorsement, I rushed over to Digikey and bought 30 of them, because… You know… I’m sure I’ll figure out something to use them for.
I realize what this looks like. First it was the Game Boys and now an N64? But it’s not like that, I’m not a retro game collector – It’s not even mine, I swear! I’ve never even seen it before, my girlfriend must’ve bought it! Yeah, that’s what happened.
So my girlfriend did actually buy an N64 and a copy of Pokémon Snap recently due to childhood nostalgia (not that I can relate to that…). She set it up, plugged in Pokémon Snap, flipped the power switch and… Nothing. We tried a different game and that loaded up just fine. “No problem”, I thought. “I’m an engineer. I can solve this with my vast intellect and extraordinary skillset”. Well, it turns out that wiping down the contacts with rubbing alcohol didn’t solve the problem, so I did the only reasonable thing left to do and gave up. Continue reading Repairing An N64 Cartridge (Without Blowing In It!)
Recently I was putting a backlit screen into a Game Boy Advance, which is a common and fairly easymod. Unfortunately, the plastic outer shell didn’t want to close completely, so against my better judgement, I decided to file down the solder joints on the cartridge connector using a Dremel. While this did shave off a millimeter or so, the Game Boy no longer worked when I put it back together – classic Game Boy games had a corrupted Nintendo logo and GBA games showed no logo at all. I figured that the vibration from the Dremel might have fractured some of the solder joints on either the cartridge reader or the CPU, so I reheated each of those pins to allow the solder to reflow and form cleaner joints.
I’m a big fan of the old (and recently-rebooted) TV show Mystery Science Theater 3000. If you’re not familiar with the show –where have you been for the past 30 years?– it’s set in space and features Joel (or Mike or Jonah, depending on the season) watching and making fun of B C movies and his robot friends. Just before the commercial breaks in the first few seasons, they showed scenes from a miniature, futuristic cityscape with an iconic Mystery Science Theater 3000 billboard.
In this post I’ll be covering the process of getting the brains of my custom cartridge working; a Xilinx XC9572XL CPLD. Hang on to your hats.
First, let’s briefly talk about what a CPLD is. This chip is similar to an FPGA in that it provides the ability to reprogram its hardware, rather than running software. Unlike an FPGA, it has non-volatile memory, so the configuration will stay in the chip even after power is lost. The trade-off is that the amount of logic units is orders of magnitude smaller than an FPGA. Fortunately, this project is relatively simple, so I have no doubt it will fit within the limits of the chip. Unfortunately, I’ve never used a CPLD and my only experience with FPGAs was an intro logic class 7 years ago.
For this project we’ll be using the stable, light-weight, robust, intuitive and frequently updated software provided by Xilinx called Webpack ISE. What’s that? It’s a 6.5GB download split over four files? It requires an account to download a license? It’s laggy and confusing and was discontinued in 2013? Well hey, at least it’s free (and runs on Linux in addition to Windows).
In my previous post, I talked about the motivation behind my updated “Block M” LED pin and compared it to the previous iterations to show how far it’s progressed since I designed the first one nearly 10 years ago. Today I’m going to wrap up by going over the electronics, code and power optimizations.
As far back as I can remember, I’ve been a fan of Michigan Football. Whenever I would go to games, I’d get all decked out in Maize and Blue. But at some point late in high school, I decided that wearing a bright yellow hoodie, sweat pants, gloves, hat, shoes and socks just wasn’t quite enough. Sure, I was the most fashionable guy around, but surely there had to be a way for me to show my school spirit even more. So I went down to my basement workshop, printed out some iron-on circuit boards, mixed up some chemicals, got my Radioshack soldering iron hot and made this:
I just recently bought a new gaming console. It plays at a constant 60fps, is capable of display 8000x more colors than the previous generation console, has dynamic CPU speed control and runs on normal AA batteries.
Ok, so it’s not an XBox, or PlayStation or whatever the kids are using these days, but it’s still a pretty impressive piece of hardware. I should clarify — I’ve never really been much of a video game enthusiast, my interest in that area peaked when I was about 10 years old, so I’ve always had a special place in my heart for the Game Boy. Recently, I’ve been interested in understanding exactly how the Game Boy works, so I started working on an emulator (it’s halfway finished… Big surprise). I also found this really incredible cartridge that lets you load any games you want onto a MicroSD card and play them. While it’s great, it is rather expensive and there isn’t much documentation on how it works, so I decided I would dive in and try to make my own. Continue reading Custom Game Boy Cartridge – Project Update #0