If you find this article contains errors or problems rendering it unreadable (missing images or files, mangled code, improper text formatting, etc) please contact the editor so corrections can be made. Thank you for helping us improve this resource
Disclaimer: Please be aware that all information is provided as-is, and may be used at your own risk. "Sega" and "Dreamcast" are trademarks of Sega Enterprises. All information here has derived from my own experience. Nothing in this document is under any type of NDA nor does it include any information from the official dreamcast development kit.
Dreamcast hacking, or tinkering as you might call it, has exploded all over the game console homebrew scene over the past few months. In reality console programming is not really that new. But most people like myself never really took part in it because it was very difficult and expensive to get started. But now the Dreamcast provides us with a relatively simple interface to get our feet wet in console programming. No more ASM-only coding or non-existant FREE libraries. We now have an easy way to program our Dreamcasts thanks to the hard work done by some very talented coders like Dan Potter, Marcus Comstedt, Hitmen and many others.
What you need to do before we start
This is just a simply guide to get you started in DC programming it is by no means complete.
The goal of this series is to get experienced game programmers into DC coding. Thus it is missing all those nice hand-holding beginner’s steps.
Here is a list of the hardware and software you will need in order to get started developing for your Dreamcast.
Sega Dreamcast Console - $99.95 At a Major Retail Store
PC to Dreamcast Serial Adaptor (Must be custom-built). Instructions to build one yourself can be found here - about $35.00-$45.00
Linux or Windows PC with GCC installed and configured to cross-compile for the SH-4 processor. Instructions can be found here – FREE (Optional: you should also cross-compile GCC for the ARM processor too)
Dreamcast Serial Slave CD – FREE Download here. Instructions for burning a CD can be found on the same page.
Putting Everything Together
I’m not going to kid you, setting up all this stuff can be a long process if you’ve never done anything like this before. So you better plan on spending at least a day working on it. Also choose your OS carefully. Cygwin under Win32 works fine but using Linux has so many other advantages. I would recommend that if you do have Linux experience then go with Linux, otherwise use Windows. Make sure you follow all the steps outlined on the above sites for creating the necessary tools e.g. Serial Cable, GCC-Cross Compiler, Serial Slave CD cross-compiler.
Compiling Our First Program
Once everything is setup, you can test it by compiling the Stars demo from Dan Potter’s site.
Note: You will have to edit the Makefile to fit your system
Note: If you are using the uploader.py script you must keep Minicom open
Try typing make run from the console in the current directory of the demo program. This will test whether you have built your cross-compiler correctly and that your system is producing SH-4 executable files in little endian format. make run will also attempt to upload your srec to the Dreamcast only if you have installed uploader.py from Dan’s site.
Try typing make srec from the console in the current directory of the demo program. This will test whether you have built your cross-compiler correctly and that your system is producing SH-4 executable files in little endian format. Now you will have to use a Windows load utility to upload your srec file to your Dreamcast. DC Uploader 2.01 works great for this.
After the uploading is done you should see the stars demo on the screen.
Congratulations!!!! You’re now ready to create your own real homebrew Dreamcast programs. The next part in this series will talk about using Libdream and KOS for drawing graphics on the screen.