It Ain’t Pretty But It Works – Connecting the GameShark Pro N64 to a PC

Here’s a little sneak peek into a project I’m currently working on (pardon the mess)… Ever since I managed to get a serial connection working from a modern PC to my Sega Saturn for the Game BASIC project, I’ve been interested in what else I can do by connecting old game consoles to a PC. That led me to the GameShark Pro for N64, which has a parallel port for communicating with a computer.

Unfortunately, the GameShark is an incredibly flaky piece of hardware that gets bricked constantly. I bought three different ones off of eBay and every single one was broken in some way. I returned the first one, but like a true tinkerer, I decided “that’s it, I’m fixing these” for the other two. One was an easy enough fix – all I had to do was boot it with the right game. By sheer chance, after being completely unable to get it to boot with Mario 64, it worked perfectly on the first try with the second game I picked: Jet Force Gemini. That unlocked it and got it working with everything. The remaining GameShark had bigger problems: a corrupted codelist that allowed it to boot, but was completely unusable. However, I had learned that it’s possible to revive bad GameSharks via the parallel connection, so easy enough, right?

Well let me tell you, getting a parallel connection working with any remotely modern PC is an absolute pain in the butt. Unlike USB->Serial adapters, USB->Parallel ones don’t support the full range of the port’s functionality. Basically, they work for printers and not much else. So here’s all I tried:

  • A special USB-to-Parallel adapter… It’s actually possible to load homebrew on an N64 via the GameShark, if you have the right adapter. Specifically, one based on a MosChip MCS7705 bridge. Unfortunately, I have no idea how to tell if an adapter uses this chip and most sellers don’t list that kind of technical information. So I had to do some sleuthing and found that the USB-1475 from Cables Unlimited contains this chip. Problem is, I don’t think it’s made anymore and is hard to track down. I took a gamble on the one seller I could find that had it in stock for a reasonable price. It was a questionable site I’d never heard of before, but you know what? It showed up quickly and was exactly what I’d ordered, all for about $7.50. The cable itself worked in the sense that my PC recognized it, but it didn’t work for talking to the GameShark. Oh well, that was a longshot, anyway. I will save it for homebrew experiments. (And for the record, the site I ordered it from is now out of stock, so I may have gotten the last one. If you know of a good way to identify other cables that will work, let me know.)
  • A mini-PCIe-to-PCIe adapter with a combo Serial/Parallel port adapter… I thought for sure this one would work. I pulled out an older laptop than the one I currently use. It was made for Windows 7 and is currently running Windows 10. I removed the WiFi adapter and replaced it with this mini-PCIe-to-PCIe adapter/extension. Then, I popped a PCIe serial/parallel combo card into the new PCIe port it provides. You can see this whole setup in the pictures, and it actually worked brilliantly… for serial connections. For the life of me, I just couldn’t get it to talk to the GameShark via parallel, either natively in Windows 10 or in Windows 98/XP VMs. I still don’t know what went wrong here, whether it was the adapters not supporting the kind of communication I needed or the VMs or what. So I punted on that approach, which led me to the one that actually worked:
  • A Wyse thin-client with native serial and parallel ports, hacked to run Windows 98 and XP… That’s what you see above. And of course the shipment for the parallel cable I ordered was delayed, so I had to precariously plug the computer itself into a disassembled GameShark. It ain’t pretty, but it works! I have the thin-client running Windows XP Pro headlessly with a USB WiFi adapter so that I can Remote Desktop into it. With that setup, I was able to run the old GameShark PC software, connect to the GameShark, and fix the codelist. I did this by saving the codes from the working GameShark and loading them into the broken one. After tinkering with it a bit, I was even able to upgrade the system software from v3.2 to v3.3!

So there we have it – I now own two working GameSharks and a whole bunch of other hardware and adapters that most people would probably think I’m kinda nuts for having. But the experimenting is half the fun, right? Now to get to hacking! But wait… it turns out I need an N64 Expansion Pak to do all the really cool GameShark<>PC communication. I suppose it’s finally time I got one, huh?

Leave a Reply

Your email address will not be published. Required fields are marked *