DreamPi DX

Background information about DreamPi

  The Sega Dreamcast was quite innovative for its time. One major selling point and unique feature for the console during its tragically short, but glorious lifespan was the inclusion of a built-in 56k dial-up internet modem, making the Sega Dreamcast the first home video game console to have online support out-of-the-box. The modem could be upgraded to a Broadband Adapter (BBA) for a higher speed, larger bandwidth DSL internet connection; however, these units are rare, in high-demand, and expensive (even today on eBay). With the 56k modem, players could surf the web using a dial-up connection and Dreamcast web browsers such as PlanetWeb (or likewise could use a DSL connection with the BBA). Most of these web browsers also allowed players to read and send email. Moreover, many games supported online features, such as online multiplayer, leaderboards, and the ability to download DLC to the VMU memory card for usage in-game. 

   Despite the Sega Dreamcast being discontinued prematurely in 2001, many of the game servers stayed online for a few years afterwards. Eventually, however, as the Sega Dreamcast grew older and less socially relevant, all of the games' official servers were retired offline. Recently there have been many online Dreamcast games whose inner workings have been reverse-engineered, and private servers created to resurrect their online functionality. Despite this, however, nowadays with the advent of newer online connection types (such as DSL, fiber, etc), real landline dial-up connections to use with the default 56k modem are becoming obsolete and it is getting much harder to find ISPs who can actually offer a bonafide dial-up connection, while the BBA adapter (for usage with DSL connections) is still rare and expensive.

Enter DreamPi

   In order to create a standardized, modern set of hardware to allow players to connect their Dreamcasts to the internet and applicable games to their respective resurrected game servers, a fellow named "Kazade" created the DreamPi. It is a customized Debian-based Linux distro that runs on a Raspberry Pi Model 2 or 3, which will allow a Dreamcast to connect online via a modern-day RJ45 Ethernet or WiFi connection.

A DreamPi setup consists of the following:

  With the DreamPi software and the USB modem setup, the DreamPi will answer to the Dreamcast's dial-up calls, and allow it to connect to the internet! The Dreamcast Now website displays which players are currently online with registered DreamPis and for what games. Furthermore, a DreamPi can be used to get other dial-up based consoles and computers back online for surfing the web, such as a Sega Saturn. With a DreamPi, the Sega Saturn can browse online with a PlanetWeb web browser and NetLink modem cartridge, or browse the resurrected NetLink Zones for Netlink-enabled games. (More information about surfing the NetLink Zones via the DreamPi on the Sega Saturn available here).

  One minor disadvantage of the DreamPi distro, however, is that it is not NOOBS compatible; the distro must be installed directly to the SD Card by writing the image to it, meaning that one cannot partition the SD Card easily for multi-booting of several Linux-based distros on the SD card. Enter DreamPi NOOBS Image!

"Industrial Strength" LVI

     For those who want to build a DIY LVI, but who struggle with soldering, or for those whom hate dealing with tiny, stranded, standard RJ11 wire (22-24 AWG gauge), I've detailed a polished "Industrial-Strength" LVI you can build. This LVI consists of the standard electronics (resistor, capacitor, 9V battery and clip), but also 2 RJ11 wall plates with wired spade connectors, which help breakout the signals into something more manageable. Everything is installed onto a dedicated breadboard, and into a small metal craft tin.

Full details at the DC-Talk forum thread, or my blog post.

DIY Dreamcast BBA Adapter

You can create your own DIY Dreamcast BBA (Broadband) adapter by using an Atomiswave Communication Cartridge and Xrider's converter kit for high-speed, modern broadband internet connection (RJ45 Ethernet). This is usually cheaper than a real BBA. Some assembly and soldering required!

See Dreamcast Talk thread.

Dreamcast Now Companion App

PC users (Windows, Linux, Mac) can alternatively find online players via the Dreamcast Now Companion App. It allows you to see whom is playing online in real-time, as well as to view their game library. You can also be notified when players that you have favorited go on/offline.

Dreamcast Talk thread
DPC Homepage

DreamPi NOOBS image

   The easiest way to setup a new Raspberry Pi is to install a bootloader software known as NOOBS (New Out Of Box Software).

NOOBS comes in 2 versions:

   NOOBS is run when the Raspberry Pi boots, allows one to install various operating systems in such a way to allow multi-booting, and allows the user to select which OS to run. All the user needs to do to install either is to plop the contents of the NOOBS download to the root of the designated SD Card (formatted to FAT32) for the Raspberry Pi. On first boot, the NOOBS bootloader will create a primary FAT32 partition sized appropriately to contain the NOOBS bootloader files and local OSes (if any) for installation on the SD Card's root folder; afterwards, the user can select what OSes to install (either locally from this partition in the "os" folder for the full-version, or online for the lite-version from the online server for various officially-sponsored distros). The lite-version can only install OSes from the online server. Installing OSes via NOOBS allows for multi-boot capabilities.

   A much better alternative to NOOBS is PINN (PINN Is Not NOOBS), which I highly recommend using over NOOBS.

PINN is based off of NOOBS, has the same features as NOOBS, and also has the following enhancements such as:

   To allow easy setup of a DreamPi distro on a Raspberry Pi (with multi-boot capabilities for other OSes), I have a created a NOOBS/PINN-compatible DreamPi image, based against the latest version of DreamPi. This image has its own OS icon and slideshow images too when installing!

About DreamPi DX NOOBS image

   This image is a deluxe (DX) version of the stock DreamPi image (v1.7 DLE) with various community addon patches pre-installed:

Other addons for DreamPi:

How to install DreamPi via NOOBS/PINN

If modifying an existing NOOBS/PINN setup, it is highly recommended to backup the SD Card first!

"Make sure to add any OSes to the /os/ folder before you boot [NOOBS/PINN] in [an] RPi for the first time. Otherwise you will find the partition has been shrunk to its minimum size and there will be no room to add any more OSes to the card later."

Installing DreamPi (for dual-boot setup in PINN)

DreamPi installation Slideshow

How to convert stock DreamPi image
into a NOOBS-compatible image

   This section is just a quick summary of the technical details for the conversion process, for those curious (and as a note to myself on the process for future ref :P). It is performed for the creation of each NOOBS-compatible image, and is based off the information on this mounting guide and conversion guide. For this quick guide, we'll use the Stock DreamPi v1.7 image as an example ("DreamPi-1.7.img").

How to setup an online repository to host
a NOOBS-compatible image
(for internet downloading from NOOBS/PINN)

An online repository consists of 2 items:

The repo_list.json file is setup as such:

   In the "repo_list" field, it contains "name" and "URL" fields. The former is used as a name label for the repo_list, while the latter is the URL pointing to an os_list_v3.json file. The fields for each repo entry are enclosed in curly C++-Styled curly {braces}, with a comma (,) between curly brace entries. The os_list_v3.json URLs should be HTTP, and both should have raw file access (hotlinkable URL with no redirection).

   Storage of these files on Mediafire and Google Drive links for example will not work for this case. It is highly recommended to place both files on a Github repository, and get the raw url
(e.g. http://raw.githubusercontent.com/[username]/[project]/path_to_folder/os_list_v3.json or

The os_list_v3.json file is setup as such:

It contains the following fields (red fields are unique to the repository setup)

   Once all of the distro files are hosted appropriately online and the os_list_v3.json and repo_list.json files are configured and hosted, the server can then be accessed for downloading! Full details on the JSON fields available here.

   To access the server from NOOBS/PINN, please see the "Installing DreamPi (by internet server)" subsection from within the "How to install DreamPi via NOOBS/PINN" section.

Accessing the repo server (summary)