Page 1 of 7

Dreamcast Development

Posted: Tue Feb 23, 2010 11:26 am
by Lord Pingas
Hello. :mrgreen:

I have been wondering a lot on this subject, but never taken it to proper interest until now.

I was wondering where to start with Dreamcast development. I have searched and googled everwhere but I couldn't find anything. :oops:

So my main question is what things do I need to start Dreamcast development?

I also need to know where Falco and other Dreamcast developers learned KallistiOS. Maybe a tutorial?

Or if anybody can tell me how to port SDL programs on the Dreamcast?

Oh and where can I download KallistiOS?

Thanks. :bow:

Re: Dreamcast Development

Posted: Tue Feb 23, 2010 8:55 pm
by Trask
Here are the links provided in the Getting Started videos from Gyro, may help you find what you're looking for.

Dreamcast Development:
http://dcemulation.org
http://gamedev.allusion.net/softprj/kos/
http://dreamcast-scene.com

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 5:58 am
by Lord Pingas
Trask wrote:Here are the links provided in the Getting Started videos from Gyro, may help you find what you're looking for.

Dreamcast Development:
http://dcemulation.org
http://gamedev.allusion.net/softprj/kos/
http://dreamcast-scene.com
Thanks for the links, I know these will come in handy. :)

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 6:51 am
by MrDeathNote
Lord Pingas wrote:
Trask wrote:Here are the links provided in the Getting Started videos from Gyro, may help you find what you're looking for.

Dreamcast Development:
http://dcemulation.org
http://gamedev.allusion.net/softprj/kos/
http://dreamcast-scene.com
Thanks for the links, I know these will come in handy. :)
As far as i know gyro used to use cygwin to build his DC projects but now hes built a kubuntu server and uses that to build both psp and dc projects which is pretty sweet.....

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 8:31 am
by Falco Girgis
Yeah, I used Cygwin at first, and that worked fine.

What you need is the DCDevISO (I think it's R4 now). It's an entire setup/install ISO provided by the DC community that downloads and installs everything you need to develop for DC (including toolkits and Cygwin) on a fresh computer.

http://dcemulation.org/phpBB/viewtopic.php?f=29&t=96802

Seriously, the most useful Windows-based tool the community has ever created. Usually everything is so *nix based, because of the toolkit. This kind of gives Windows the upper hand (because it's so damn easy to set up).

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 8:36 am
by Trask
GyroVorbis wrote:Yeah, I used Cygwin at first, and that worked fine.

What you need is the DCDevISO (I think it's R4 now). It's an entire setup/install ISO provided by the DC community that downloads and installs everything you need to develop for DC (including toolkits and Cygwin) on a fresh computer.

http://dcemulation.org/phpBB/viewtopic.php?f=29&t=96802

Seriously, the most useful Windows-based tool the community has ever created. Usually everything is so *nix based, because of the toolkit. This kind of gives Windows the upper hand (because it's so damn easy to set up).

Ooh, that's great to hear. I hate how complicated setting up dev environments can be sometimes, but something this streamlined is great for the cause. I may have to poke at DC development if they're going to open the door this wide for me.

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 8:39 am
by Falco Girgis
Trask wrote:
GyroVorbis wrote:Yeah, I used Cygwin at first, and that worked fine.

What you need is the DCDevISO (I think it's R4 now). It's an entire setup/install ISO provided by the DC community that downloads and installs everything you need to develop for DC (including toolkits and Cygwin) on a fresh computer.

http://dcemulation.org/phpBB/viewtopic.php?f=29&t=96802

Seriously, the most useful Windows-based tool the community has ever created. Usually everything is so *nix based, because of the toolkit. This kind of gives Windows the upper hand (because it's so damn easy to set up).

Ooh, that's great to hear. I hate how complicated setting up dev environments can be sometimes, but something this streamlined is great for the cause. I may have to poke at DC development if they're going to open the door this wide for me.
Yeah.

To be completely honest, if you guys want to get started, this is what you do:

1) Download + install that DCDevISOr4

2) Navigate to your KOS directory and start looking at the examples--They are WELL documented. Look at drawing a sprite. Then look at getting input. Then look at playing music. Then put that shit together, and make a game for Dreamcast.

3) If you're serious, buy something to make your development easier. To "test" your stuff, you're either going to be using an emulator or BURNING your builds to CDs--both of those suck ass in my opinion. There's the coder's cable, which is a slow ass serial connection you can upload/transfer shit to your DC with (I have 2). There's a 10mbit LAN cable and 100mbit ethernet cable (both are super rare and go for about $100 on ebay (this is what I use, and it's amazing)), then there WAS a dude who started making his own USB coder's cable, and NOW the Dreamcast has an SD card reader. I haven't looked much into the card reader, but I have a feeling it's going to be the future of the DC homebrew scene.

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 10:06 am
by MrDeathNote
Trask wrote:
GyroVorbis wrote:Yeah, I used Cygwin at first, and that worked fine.

What you need is the DCDevISO (I think it's R4 now). It's an entire setup/install ISO provided by the DC community that downloads and installs everything you need to develop for DC (including toolkits and Cygwin) on a fresh computer.

http://dcemulation.org/phpBB/viewtopic.php?f=29&t=96802

Seriously, the most useful Windows-based tool the community has ever created. Usually everything is so *nix based, because of the toolkit. This kind of gives Windows the upper hand (because it's so damn easy to set up).

Ooh, that's great to hear. I hate how complicated setting up dev environments can be sometimes, but something this streamlined is great for the cause. I may have to poke at DC development if they're going to open the door this wide for me.
Agreed, i'm really tempted to myself, sounds like a good package.

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 11:24 am
by Falco Girgis
And I would personally be glad to help with any questions/post regarding the Dreamcast on the forums. Anything for the Dream.

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 11:29 am
by Lord Pingas
Can't I just use Dev C++?

I mean can't I just link all the includes and libs to the compiler like I did with SDL?

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 11:34 am
by Falco Girgis
Lord Pingas wrote:Can't I just use Dev C++?

I mean can't I just link all the includes and libs to the compiler like I did with SDL?
Sure, there's a way to use dev-cpp, but the majority of Dreamcast COMPILATION is done at the command line.

I use Visual Studio as my IDE, but I don't actually compile with Visual Studio. Why? DevCpp's compiler is GCC for the x86 architecture (your PC). You need the DREAMCAST version of the compiler (SH4). So you either need an IDE that allows you to specify a custom compiler (VS doesn't do it very well) or you are only going to be using your IDE to edit your code, and actual compilation is going to be done by invoking GNU GCC tools from the Linux/Cygwin terminal.

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 11:39 am
by Lord Pingas
Grrr, this is so confusing.

So I can't use Dev C++, I need another compiler (The one you showed me)?

So is this why people edit the Makefile? I don't really understand what the Makefile is. :oops:

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 11:42 am
by Falco Girgis
Alright, alright, chill out. It's always very confusing for somebody who has been babied by compilers on Windows to understand GNU GCC tools. Let me help you out.

A compiler is nothing but a terminal application that takes .cpp files to compile to an executable as command-line arguments. Your IDE (devCPP) handles all of this stuff for you behind the scenes so that you never actually have to pass anything to the compiler yourself. You push compile, and it magically passes all of your .cpp files to the compiler (which then creates the executable for you).

In the Unix/Linux world, you don't really have IDEs like DevCPP that invoke the compiler for you. So a makefile is just a fancy file that basically has a list of your .cpp files and sends them to the compiler via the command-line.

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 11:50 am
by Lord Pingas
Oh, ok. :lol:

Sorry, I got a lot to learn.

I think I understand a little better now...

Basically Windows has all these IDEs that compile everything for you so you don't have to type in to the command line. But with that fancy compiler you mentioned (DCDevISOr4), you can compile to the Dreamcast, but it's from the command line.

Sorry if I sounded like a asshole there, I was just a little confused. Hehe.

But do I have to have a Unix system?

Re: Dreamcast Development

Posted: Wed Feb 24, 2010 11:54 am
by Falco Girgis
Lord Pingas wrote:Oh, ok. :lol:

Sorry, I got a lot to learn.

I think I understand a little better now...

Basically Windows has all these IDEs that compile everything for you so you don't have to type in to the command line. But with that fancy compiler you mentioned (DCDevISOr4), you can compile to the Dreamcast, but it's from the command line.
Very good, young'n.
Lord Pingas wrote:Sorry if I sounded like a asshole there, I was just a little confused. Hehe.
Don't be. I remember when I was trying to learn for Dreamcast, I had the same problem. There were all of these brilliant people who either 1) didn't want to explain it to me or 2) weren't articulate enough to explain well.
Lord Pingas wrote:But do I have to have a Unix system?
Nope. That's what the DCDevISOr4 is for. You will be installing Cygwin, which is basically a Linux environment that runs INSIDE of Windows.

And compiling on the command line in a Linux environment isn't that hard. All you do is navigate to a directory with a makefile and literally type "make." That tells GNU Make to invoke the makefile in the current directory, and the makefile does all of the work for you.

So you can have your cute little DevC++ project to edit and manage your project. Then when you want to compile, you switch over to your cygwin terminal window and type "make" and it does the dirty work.

You can also create a batch file(/bash script) to invoke the makefile for you, so that you CAN use DevC++'s compile button to do everything just like you normally would.