Dreamcast Development

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

Post Reply
User avatar
Lord Pingas
Chaos Rift Regular
Chaos Rift Regular
Posts: 178
Joined: Thu Dec 31, 2009 9:33 am
Favorite Gaming Platforms: NES, SNES, Nintendo 64, Dreamcast, Wii
Programming Language of Choice: C++
Location: Hiding In My Mum's Basement With My Pokemon Cards

Dreamcast Development

Post 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:
User avatar
Trask
ES Beta Backer
ES Beta Backer
Posts: 738
Joined: Wed Oct 29, 2008 8:17 pm
Current Project: Building a 2D Engine
Favorite Gaming Platforms: Sega Genesis and Xbox 360
Programming Language of Choice: C/C++
Location: Pittsburgh, PA
Contact:

Re: Dreamcast Development

Post 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
MarauderIIC wrote:You know those people that are like "CHECK IT OUT I just made Linux run on this piece of celery [or other random object]!!"? Yeah, that's Falco, but with ES.
Dear god, they actually ported ES to a piece of celery!
Martin Golding wrote: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
User avatar
Lord Pingas
Chaos Rift Regular
Chaos Rift Regular
Posts: 178
Joined: Thu Dec 31, 2009 9:33 am
Favorite Gaming Platforms: NES, SNES, Nintendo 64, Dreamcast, Wii
Programming Language of Choice: C++
Location: Hiding In My Mum's Basement With My Pokemon Cards

Re: Dreamcast Development

Post 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. :)
User avatar
MrDeathNote
ES Beta Backer
ES Beta Backer
Posts: 594
Joined: Sun Oct 11, 2009 9:57 am
Current Project: cocos2d-x project
Favorite Gaming Platforms: SNES, Sega Megadrive, XBox 360
Programming Language of Choice: C/++
Location: Belfast, Ireland
Contact:

Re: Dreamcast Development

Post 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.....
http://www.youtube.com/user/MrDeathNote1988

Image
Image

"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Dreamcast Development

Post 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).
User avatar
Trask
ES Beta Backer
ES Beta Backer
Posts: 738
Joined: Wed Oct 29, 2008 8:17 pm
Current Project: Building a 2D Engine
Favorite Gaming Platforms: Sega Genesis and Xbox 360
Programming Language of Choice: C/C++
Location: Pittsburgh, PA
Contact:

Re: Dreamcast Development

Post 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.
MarauderIIC wrote:You know those people that are like "CHECK IT OUT I just made Linux run on this piece of celery [or other random object]!!"? Yeah, that's Falco, but with ES.
Dear god, they actually ported ES to a piece of celery!
Martin Golding wrote: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Dreamcast Development

Post 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.
User avatar
MrDeathNote
ES Beta Backer
ES Beta Backer
Posts: 594
Joined: Sun Oct 11, 2009 9:57 am
Current Project: cocos2d-x project
Favorite Gaming Platforms: SNES, Sega Megadrive, XBox 360
Programming Language of Choice: C/++
Location: Belfast, Ireland
Contact:

Re: Dreamcast Development

Post 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.
http://www.youtube.com/user/MrDeathNote1988

Image
Image

"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Dreamcast Development

Post 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.
User avatar
Lord Pingas
Chaos Rift Regular
Chaos Rift Regular
Posts: 178
Joined: Thu Dec 31, 2009 9:33 am
Favorite Gaming Platforms: NES, SNES, Nintendo 64, Dreamcast, Wii
Programming Language of Choice: C++
Location: Hiding In My Mum's Basement With My Pokemon Cards

Re: Dreamcast Development

Post 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?
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Dreamcast Development

Post 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.
User avatar
Lord Pingas
Chaos Rift Regular
Chaos Rift Regular
Posts: 178
Joined: Thu Dec 31, 2009 9:33 am
Favorite Gaming Platforms: NES, SNES, Nintendo 64, Dreamcast, Wii
Programming Language of Choice: C++
Location: Hiding In My Mum's Basement With My Pokemon Cards

Re: Dreamcast Development

Post 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:
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Dreamcast Development

Post 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.
User avatar
Lord Pingas
Chaos Rift Regular
Chaos Rift Regular
Posts: 178
Joined: Thu Dec 31, 2009 9:33 am
Favorite Gaming Platforms: NES, SNES, Nintendo 64, Dreamcast, Wii
Programming Language of Choice: C++
Location: Hiding In My Mum's Basement With My Pokemon Cards

Re: Dreamcast Development

Post 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?
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Dreamcast Development

Post 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.
Post Reply