Could there be an update to DreamPi with Pico boards?

Online games, how to get online, and anything involving Dreamcast online can be discussed here.

Moderator: pcwzrd13

User avatar
fraggle200
Graffiti Grind
Posts: 317

Could there be an update to DreamPi with Pico boards?

Post by fraggle200 »

I'm going to preface this post as me thinking out loud. I don't, in any way, have the skills/knowledge to achieve what's below. I'm merely asking the question if it's an option.


After watching this video on a cheap BBA mod using an Atomiswave adapter https://youtu.be/rlbOrCMHGDo?si=wE8Up5NlH9x82X54

It got me thinking.... As the DreamPI has been the default option for online for some years now, is there potentially any scope to modernise it and utilise a Pico W board to do the work instead?

My thinking is to harvest the Modem connector as in the vid above, have a custom PCB that interfaces between that and a Pico W board, with the Pico board emulating the modem/BBA and interfacing via Wifi to the outside world. That way it's all contained within the Modem/BBA housing, plus it's Wifi enabled as well.

Now as I said at the top of the post, I don't have the skills/knowledge to do this so I don't even know if there's enough power on that interface connector to power the Pico as well as the pico being capable enough to be able to emulate modem/BBA calls, manage traffic and maintain wifi connection all at the same time. If that was all possible then if the Modem/BBA knew what game was making the calls you could then have a lookup list where it switches to BBA when that's an option.

galaxygod
core
Posts: 128

Re: Could there be an update to DreamPi with Pico boards?

Post by galaxygod »

I know the GameCube just got a new broadband adapter for the sp2 slot, it’s all open source and I’m sure there’s a way to apply something similar to Dreamcast, you could probably come up with a way to switch between broadband and dreampi as well, you just need a company or someone who thinks they can make money on the idea

Edit:the new broadband adapter for GameCube was made by webhdx, seems like he mostly does GameCube mods but maybe someone could team up with him to make something for Dreamcast or get some advise on how he did his broadband adapter project.

User avatar
Xerxes3rd
fire
Posts: 82

Re: Could there be an update to DreamPi with Pico boards?

Post by Xerxes3rd »

The Dreamcast modem presents a number of challenges. First is, as you mentioned, the connector. Nobody has figured out a suitable modern substitute. The most recent conjecture I've seen is that the original part may be a card edge connector with every other (or "alternating") pins removed, giving it the "offset" style. Re-using existing connectors is possible but removing them is tricky and potentially time-consuming- it's probably not something you could easily automate.

The next challenge is the interface: it uses the G2 bus in "simple" mode, meaning the Dreamcast is communicating with the modem via an 8-bit parallel interface. This does limit the number of bytes available for read/write between the host and peripheral to ~255, but the Dreamcast can run this bus at 1-2Mbit. Essentially this means you need dual-ported RAM between the Dreamcast and the microcontroller. Off-the-shelf parts may work although they're a bit pricey- $10-$20 now. However, the PIO of the RP2040 may be able to emulate the dual-ported RAM- this is probably worth exploring. A CLPD or small FPGA would probably do the trick as well. Thankfully, the register map has been fairly well-documented by the Redream team, who implemented modem support in their emulator a couple years ago.

The last piece is the PPP server. I believe LwIP has PPP support, but I don't know if it would work out-of-the-box (or if it's even compiled in to base firmware for either the Pi Zero W or ESP32).

So this seems doable, but it'll take some work. I think either the Pi Pico W or and RP2040+ESP32 would be the best option for this; you may have better luck with LwIP on the ESP32 due to it being a more mature platform than the wireless interface on the Pico W. One approach that might work would be to translate the 8-bit bus reads/writes into AT commands, which might make interfacing with the PPP portion significantly easier, but I'm not sure if there's a clean 1:1 mapping there.

Edit: also, emulating the BBA would be significantly more difficult- it's basically a full PCI interface on there, which adds a whole bunch of complexity.