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 [email="bard-dcdev@%28nospam%29allusion.net"]Dan Potter[/email], [email="firstname.lastname@example.org"]Marcus Comstedt[/email], Hitmen and many others.
[size="3"]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)
- Next you'll want to grab:
- Dreamcast Serial Slave CD - FREE Download here. Instructions for burning a CD can be found on the same page.
[size="5"]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.
[size="5"]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 [font="Courier New"][color="#000080"]make run[/color][/font] 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. [font="Courier New"][color="#000080"]make run[/color][/font] will also attempt to upload your srec to the Dreamcast only if you have installed uploader.py from Dan's site.
Try typing [font="Courier New"][color="#000080"]make srec[/color][/font] 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.
First you should visit www.julesdcdev.com. This is a GREAT portal site with lots of resources to get you started in DC programming. Also try http://newbie.julesdcdev.com. Also, I would advise anyone that is interested in DC programming to join the dcdev mailing list: [email="email@example.com"]firstname.lastname@example.org[/email]