Cooljerk
Well-known member
- Joined
- Jun 8, 2019
- Messages
- 47
A quick and dirty tutorial to guide people through adding a USB development port to their Sega Dreamcast:
The Sega Dreamcast was one of the most forward thinking consoles ever. One of its best features is the least used: this serial port on the dreamcast is very important for modern dreamcast homebrew.
One of the most apparent uses today is the sd card adapter. This gives the Dreamcast a form of large persistent storage that homebrew games can use. These are cheap and widely available on ebay.
The problem with the serial port is that it has a very unique form, its very hard to source connectors for it. You can make them from hdmi cables but its difficult. Those sd card readers provide a connector that can be sacrificed. For what? A coders cable! Coders cables are an essential part of any Dreamcast Homebrew tool kit. It lets you link your dreamcast up to a pc to do remote debugging, provides a terminal to output, and lets you send executables without burning a disc. Super useful!
Unfortunately, building a cable is pretty tricky. Tutorials online date back to 2001, and expect a serial port on your pc. And then sourcing connectors. One alternative is to use the $200+ broadband adapter, but thats prohibitively expensive. One other alternative is to solder the cable directly to your dreamcast serial port, but that involves desoldering the existing port and ruins the ability to use an sd card adapter. And its tricky soldering. And the tutorials online to do this are old.
So let's build a newer cable, as cheaply and easily as possible. Its not 2001 anymore, we can use usb! This FTDI FT232R usb breakout board and chip is perfect for this. They are like $2 on ebay.
Start by taking the top cover off of your Dreamcast. We will have to remove the motherboard, which is under EVERYTHING. Start with the psu on the left.
The Dreamcast psu is held down by screws but is still hard to pull out even after they are removed. Thats because the terminal connection at the bottom has metal prongs going thru the board. So pull up with a bit of force.
Once the Dreamcast psu is off, we can move on to taking out the gdrom drive. Its attached to a metal plate held with screws.
The removed drive:
Next up, we need to remove the Dreamcast controller board. Its sort of tricky, there is a plastic piece holding the controller port that is connected by two screws in the middle.
Make sure you disconnect the Dreamcast fan and ribbon cable carefully, then move the controller board out of the way.
The last step is to remove the Dreamcast metal plate that protects the motherboard. Its just held in by simple screws.
The exposed Dreamcast motherboard. Old tutorials online would tell you to solder on this side of the board, but thats actually a tiny bit tricky.
This is an example of how another user online recommended you'd solder to the Dreamcast motherboard. I find working in that cramped space really difficult myself, but then again I'm not great at soldering. But, there exists a secret alternative that's way easier!
On the back of the Dreamcast motherboard, if you study hard enough, you'll realize there are a bunch of unpopulated ports all over the board. These are called test points. They are intended for diagnostic devices to be soldered to, to test every part of the dreamcast.
Up in the right corner of the back of the Dreamcast exists 5 small solder test points with circles around them. Those 5 points are the serial line connections!
One is tx, for sending data. One is rx, for receiving data. One is rts, for request to send. One is cts, for clear to send. And one is ground. All we need to communicate from our Dreamcast via usb! All that needs to be done is to wire those Dreamcast test points to the appropriate ports on our ft232r usb breakout board, and we'll have a dedicated usb coders port on our dreamcast! Perfect for Homebrew. Reminder that this is a serial connection, so RXD on the Dreamcast goes to TXD on the USB Breakout Board, and TXD on the Dreamcast goes to RXD on the USB Breakout Board. Don't forget to wire up Ground as well, you can find that in any obvious place.
It's wise to solder in a brightly lit place with good ventilation. If you're lacking in space, a stove/oven is usually a good spot, as they usually have overhead lighting and a fan to blow away smoke. Make sure you use fan while soldering to avoid breathing chemicals.
We need to solder some wire onto 4 test points in the lower corner of the pic. These test points are tiny, they look larger through the magnifying glass I use.
Keep in mind you don't want too much exposed wire when you are soldering, or else you might create accidental bridges. Expose just a tiny piece of metal in your wire.
try to position your 18 gauge wire in a way so that it lays naturally on the test point pad.
You should probably use flux to make for cleaner connections. I use liquid flux and just flood the area I'm working on.
in the tip of your soldering iron after flooding the area with flux, then place it on top of the test point pad with the wire in between, wait a second, and you'll have a clean solder point.
you need to tap these 5 points on the dreamcast board. They map to ground, data transmission, data reception, request to send and clear to send. We need to map those points to the appropriate points on our FTDI FT232R.
Remember: Connect TXD on Dreamcast to RXD on FT232R, and RXD on Dreamcast to TXD on FT232R. With all this set, we now have a USB debug port on our dreamcast!
You can connect your running dreamcast to a host PC through this port using a USB cable. Your Host PC will see your dreamcast connected as a serial port, and you can use a program called DC-Load-Serial to debug and execute homebrew Dreamcast games in real time on a retail unit. Far, faaaaar cheaper than trying to buy a Katana dev kit!
Took a little wiggling. I mentioned how dc tx goes to usb rx and vice versa, but forgot that dc cts goes to usb rts as well. Once those are crossed, files transfer like normal.
All set up and working:
Happy debugging!
The Sega Dreamcast was one of the most forward thinking consoles ever. One of its best features is the least used: this serial port on the dreamcast is very important for modern dreamcast homebrew.
One of the most apparent uses today is the sd card adapter. This gives the Dreamcast a form of large persistent storage that homebrew games can use. These are cheap and widely available on ebay.
The problem with the serial port is that it has a very unique form, its very hard to source connectors for it. You can make them from hdmi cables but its difficult. Those sd card readers provide a connector that can be sacrificed. For what? A coders cable! Coders cables are an essential part of any Dreamcast Homebrew tool kit. It lets you link your dreamcast up to a pc to do remote debugging, provides a terminal to output, and lets you send executables without burning a disc. Super useful!
Unfortunately, building a cable is pretty tricky. Tutorials online date back to 2001, and expect a serial port on your pc. And then sourcing connectors. One alternative is to use the $200+ broadband adapter, but thats prohibitively expensive. One other alternative is to solder the cable directly to your dreamcast serial port, but that involves desoldering the existing port and ruins the ability to use an sd card adapter. And its tricky soldering. And the tutorials online to do this are old.
So let's build a newer cable, as cheaply and easily as possible. Its not 2001 anymore, we can use usb! This FTDI FT232R usb breakout board and chip is perfect for this. They are like $2 on ebay.
Start by taking the top cover off of your Dreamcast. We will have to remove the motherboard, which is under EVERYTHING. Start with the psu on the left.
The Dreamcast psu is held down by screws but is still hard to pull out even after they are removed. Thats because the terminal connection at the bottom has metal prongs going thru the board. So pull up with a bit of force.
Once the Dreamcast psu is off, we can move on to taking out the gdrom drive. Its attached to a metal plate held with screws.
The removed drive:
Next up, we need to remove the Dreamcast controller board. Its sort of tricky, there is a plastic piece holding the controller port that is connected by two screws in the middle.
Make sure you disconnect the Dreamcast fan and ribbon cable carefully, then move the controller board out of the way.
The last step is to remove the Dreamcast metal plate that protects the motherboard. Its just held in by simple screws.
The exposed Dreamcast motherboard. Old tutorials online would tell you to solder on this side of the board, but thats actually a tiny bit tricky.
This is an example of how another user online recommended you'd solder to the Dreamcast motherboard. I find working in that cramped space really difficult myself, but then again I'm not great at soldering. But, there exists a secret alternative that's way easier!
On the back of the Dreamcast motherboard, if you study hard enough, you'll realize there are a bunch of unpopulated ports all over the board. These are called test points. They are intended for diagnostic devices to be soldered to, to test every part of the dreamcast.
Up in the right corner of the back of the Dreamcast exists 5 small solder test points with circles around them. Those 5 points are the serial line connections!
One is tx, for sending data. One is rx, for receiving data. One is rts, for request to send. One is cts, for clear to send. And one is ground. All we need to communicate from our Dreamcast via usb! All that needs to be done is to wire those Dreamcast test points to the appropriate ports on our ft232r usb breakout board, and we'll have a dedicated usb coders port on our dreamcast! Perfect for Homebrew. Reminder that this is a serial connection, so RXD on the Dreamcast goes to TXD on the USB Breakout Board, and TXD on the Dreamcast goes to RXD on the USB Breakout Board. Don't forget to wire up Ground as well, you can find that in any obvious place.
It's wise to solder in a brightly lit place with good ventilation. If you're lacking in space, a stove/oven is usually a good spot, as they usually have overhead lighting and a fan to blow away smoke. Make sure you use fan while soldering to avoid breathing chemicals.
We need to solder some wire onto 4 test points in the lower corner of the pic. These test points are tiny, they look larger through the magnifying glass I use.
Keep in mind you don't want too much exposed wire when you are soldering, or else you might create accidental bridges. Expose just a tiny piece of metal in your wire.
try to position your 18 gauge wire in a way so that it lays naturally on the test point pad.
You should probably use flux to make for cleaner connections. I use liquid flux and just flood the area I'm working on.
in the tip of your soldering iron after flooding the area with flux, then place it on top of the test point pad with the wire in between, wait a second, and you'll have a clean solder point.
you need to tap these 5 points on the dreamcast board. They map to ground, data transmission, data reception, request to send and clear to send. We need to map those points to the appropriate points on our FTDI FT232R.
Remember: Connect TXD on Dreamcast to RXD on FT232R, and RXD on Dreamcast to TXD on FT232R. With all this set, we now have a USB debug port on our dreamcast!
You can connect your running dreamcast to a host PC through this port using a USB cable. Your Host PC will see your dreamcast connected as a serial port, and you can use a program called DC-Load-Serial to debug and execute homebrew Dreamcast games in real time on a retail unit. Far, faaaaar cheaper than trying to buy a Katana dev kit!
Took a little wiggling. I mentioned how dc tx goes to usb rx and vice versa, but forgot that dc cts goes to usb rts as well. Once those are crossed, files transfer like normal.
All set up and working:
Happy debugging!
Last edited: