Q: Let's start off with your history with the Dreamcast. Did you own one back when it first came out and did you play any of the online games?
"I've always been a Sega fan. The first game console I ever played was a Master System 1, and the first I owned was a Master System 2. I then acquired a Sega Mega Drive (which is the "correct" name :p), and I exchanged that up for a Sega Saturn. We could never afford to get these things on launch and always had to wait a while or trade in for a second hand one, so I distinctly remember the run up to the Dreamcast launch - reading about it the magazines, checking out the stuff that was launching in JP before it arrived on the shores of the UK, even though we wouldn't actually own one for some time. When it did launch I remember hanging out in HMV and playing Sonic Adventure, Ready to Rumble, Incoming and House of the Dead. Eventually we traded in the Saturn and got our Dreamcast, although that was like a year later. I remember sneaking a game of Chu Chu Rocket, and PSO, but obviously that cost money on the phone bill back then so I couldn't take the piss, I think it genuinely one short game of each!"
Q: What are some of your favorite Dreamcast games (online or otherwise)?
"So many! But I have to say that Sonic Adventure 2 is probably my favourite. The re-playability of that game, it just never gets old! Other favourites of mine are of course PSO, but also Sonic Adventure, Toy Commander, Fur Fighters, Craxy Taxi and I'm pretty sure if I had a CRT I'd be addicted to House of the Dead."
Q: What was the inspiration behind DreamPi? With several different methods of getting your Dreamcast online already out there, why did you feel the need to create another one? What makes it so different?
"I'd known for many years that it was possible to still play your Dreamcast online with a PC-DC server, and at some point I'd ordered a USB modem from ebay and then put it in a drawer. Every 6 months or so I'd see it in the drawer and think "I really should sort that out", then I'd shut the drawer again. At the time I wasn't really into console collecting, I had my original DC with its regular rebooting problem, but that's it, and I had few games, and hardly played it, it was more a memento of my youth more than anything. Then two things happened: 1.) I bought a house, so finally had some space, and 2.) The Raspberry Pi launched.
I bought my first Pi just to configure as a PC-DC server, but again, it sat in the drawer for months while I started rebuilding my Sega collection. I had months of addiction to the Master System (which I modded to get an RGB out) and my Mega Drive, the Dreamcast remained unplayed. Then I had my daughter and was off on paternity leave, and I started tinkering with getting the DC online (I think mainly to keep some sanity through the sleepless nights), and what struck me was how clunky it all was. You had to manually answer the DC dial, there were people switching the phone line with the wall socket to get a dial tone, one gamer had wired an audio cable to the line to play a dial tone signal, half the games didn't work because they wouldn't blind dial or the DNS didn't work or whatever. My first thought was, "I can make this so much better". The eureka moment was realizing that modems obviously play audio down a phone line and I can leverage that to simulate the dial tone. In fact, some people had already found that a modem can generate its own tone with the right commands, but the problem is that it "blocks", and so while it's playing the tone it can't also be listening for the Dreamcast dialing. That was the other piece of the puzzle, realizing that the DC dialing out was the signal I needed to time the answering. All I needed to do was simultaneously play a fake dial tone, while listening for the DC to dial the first number, then I can hand everything over to the PPP (point-to-point) process.
It took ages to get right though, I had to go out and buy an actual telephone and connect it to the Pi and try all sorts to get a dial tone playing. Even now I *know* that the dial tone code isn't right, but it seems to work well enough! It took quite a few iterations of the software until things became really reliable."
Q: What about Dreamcast Now? What made you first come up with the idea? Was it something you planned on implementing from the very beginning?
"Dreamcast Now was an accident. While making the DreamPi software I'd had to install a DNS server on the Pi image for various reasons, one of the things I had done is enable logging of the domains that games were accessing. It was mainly for debugging, but I'd left it switched on. Then someone (you?) mentioned something about seeing who was playing what, and immediately I realized I had this information! Then it took a couple of weeks of web development, and adding a process to relay the information to the site. I also had to put a lot of thought into doing it all securely."
Q: Did you ever expect DreamPi to become as popular as it is with over 100 players registered on Dreamcast Now? It seems DreamPi coupled with all the online games being revived lately have really pushed people to get their Dreamcasts online.
"To be honest, I never really had a handle on how many people still played their Dreamcasts, I thought it was only a handful of people, but I'm pleased to be wrong about that! It's really exciting seeing people coming online. But the DreamPi is only a stop-gap, one day someone will come up with a proper WiFi adapter for the Dreamcast, it's totally doable and at that point the DreamPi will fade away :)"
Q: Can users expect any new features to come to DreamPi or Dreamcast Now in the future?
"To be honest, no. At least not anything major, the DreamPi does what it was designed to do, and aside from bug fixing I can't see what else I can do to improve things. I do plan on updating the Dreamcast Now site and making it better though, but I severely lack time and I'm working hard on other things at the moment."
Q: Are you working on any other Dreamcast-related projects? Any inside information you'd like to share?
"OK, so there are a couple of things. The first is that I've developed hardware that interfaces the Pi Zero directly into the Dreamcast modem port, but that's as far as I've got, it's mainly for investigation into the G2 bus itself, I haven't gotten much further because I'm working on my other hobby project, which is a game engine.
The game engine currently isn't for the Dreamcast, but that is my eventual intention. I've been working on it on-and-off for 5 years now, it's open source and currently only runs on Linux (and Android with some work). My eventual aim is for it to be a general-purpose game engine for Windows, Mac, Linux, Android and Dreamcast, but that's not going to happen for a couple of years so don't get excited. If there are any devs out there who want to get involved they can contact me on the project's Gitter chat.
Sort of related to that, I have a half-implemented port of SDL 2 to the Dreamcast, which when the time comes I'll resume work on, but likewise if anyone wants to pick that up, contact me!"