This software is currently an Alpha release. Please test and report any issues on GitHub.
If you'd like to support my work on the DreamPi software image, please consider donating to my Patreon. Or, donate via Paypal.me! Thank you!
DreamPi is a piece of software I've written combined with a standard set of hardware which allows the SEGA Dreamcast to connect to the internet without a dial-up ISP.
To demonstrate, here's an old crappy video! (Don't worry, it's no longer manual, just plug and play!)
What You Will Need
To build a DreamPi, you need the following hardware:
- A Raspberry Pi
- An SD card containing the DreamPi software image
- A Linux-compatible, USB dial-up voice modem
- A telephone cable
- An ethernet cable
- Dreamcast browser software (e.g. Dreamkey 3.0)
- A 0.47uf capacitor
- A 380 Ohm resistor
- A 9v battery connector (two if you have a PAL modem)
- A 9v battery (two if you have a PAL modem)
- A soldering iron, some solder, wire strippers, electrical tape, and patience
Right, I have them, now what?
Connect the Raspberry Pi to the USB modem, connect that to the phone cable, connect the phone cable to the Dreamcast. Then, connect the Raspberry Pi into your router.
Now, download the image, decompress with 7zip (or whatever) and follow the instructions here to flash the image to the SD card: https://www.raspberrypi.org/documentation/installation/installing-images/windows.md
Now, insert the SD card into the Pi, and switch it on!
Configuring DreamKey / PlanetWeb
For PlanetWeb, follow the instructions found here under "Configuring the Dreamcast".
For DreamKey 3.0. You need to set the ISP number to dial to 555.
So, what's the deal with PAL modems?
Right, it took me ages to figure this out. U.S modems come in two forms, model "A" modems, and model "B" modems. Model A modems don't draw their power from the telephone line itself, or at least, they don't require it (some USB modems do however). Model B modems do, and so to do a direct modem-to-modem connection with one of those you need to somehow add power to the connecting phone wire. That's what a "Line Voltage Inducer" does. The best instructions I've found for this are here.
But, it gets even more complicated. Generally PAL modems are classed as Model B modems - they require a line voltage. However, I found that not many PAL users had had much luck getting connected, and when I tried, it didn't work for me either, even with a line voltage inducer!
Apparently it seems that U.S. Model B modems can suffice with only 9 volts added to the telephone line, but in europe our fussy PAL modems require 18 volts!
This is simple enough to do, just build the line voltage inducer as normal, but chain two 9 volt batteries together in series, rather than using just one.
Does it work with all games?
Almost! The only games that currently have online servers that don't work are Toy Racer, and the PAL version of Q3 Arena. These games require Dream Arena authentication but hopefully this will be fixed in 2016.
How Does It Work?
When you switch on the Raspberry Pi, the DreamPi software starts automatically. It goes into "listening" mode. When in this mode, the software listens for the DTMF dial tones from the Dreamcast modem. When it stops receiving these tones it assumes that the Dreamcast has finished dialling and is now waiting for the other end to answer. Because we're not going through the telephone network, there is no ringing tone which is why the software waits for the dial tones to stop.
Once DreamPi stops receiving dial tones, it attempts to answer the call. This can take 10-20 seconds. It then hands over the connection to the PPP process running on the Raspberry Pi. DreamPi then enters a connected state and waits for the connection to finish, at which point it re-enters listening state.
Please note: Whenever the Raspberry Pi is on, the batteries in your voltage line inducer will be draining. Make sure you have plenty of 9v batteries handy! Always turn off the Raspberry Pi when you aren't playing online!
Building a Line Voltage Inducer
See here for better instructions with pictures!
Building a line voltage inducer is fairly straightforward if you have a little soldering experience. It is possible to do this without soldering but you'll probably end up with something unreliable.
A telephone cable is made up of 2 or 4 wires. In reality, only the middle 2 wires are normally used (the other two are for extensions when you have another phone connected). These two central wires are referred to as "tip and ring".
What we want to do is cut one of the "tip and ring" wires, and then bridge the gap we make with the capacitor. The capacitor filters out electrical noise from the batteries that we'll connect.
Once we've restored the connection in the wire by using the capacitor, we then need to attach the batteries and resistor in parallel. The easiest way to do this is to first chain the battery connectors and the resistor. Finally attach each end of your chain to each leg of the capacitor. That's it!
I did everything you said, and it doesn't work!
Yeah, well, there's a lot of modems out there, and a lot of things that can go wrong along the way. Things to check:
- If your modem has an "online" light, make sure it comes on before you try to dial the Dreamcast
- If you modem lights don't come on at all, it might be that the modem wasn't detected properly. Please report a bug, with your modem model number on GitHub
- If the lights come on, but the Dreamcast fails to connect, check your line voltage inducer, maybe put in new batteries
- Make sure the dreampi is actually available on your network. Try: "ping dreampi.local" from a terminal or command prompt (I don't use Windows, I think that works there too..., definitely works on OSX and Linux). If you get no response report a bug on GitHub and I'll try to help or improve the software
- Try plugging a monitor or TV into the Pi, it definitely boots up OK right?
Games / Software Verified to Work
- Phantasy Star Online Version 2.
- DreamKey 3.0
- Quake 3 Arena (not PAL as it requires Dreamarena auth)
- Sonic Adventure (website)
- Maximum Pool
- 4x4 Evolution
Games on the Road Map!
- Toy Racer
- Quake 3 Arena (PAL)
How can I thank you?!
Things that you can do to help me:
- Test and report bugs, maybe even fix them!
- Reward me with some U.S. model A and B modems (I'm in the U.K)
- Reward me with some online games for testing (I already have Q3 PAL, PSO v2, Toy Racer, Starlancer)