Dreamcast Development
Moderator: Coders of Rage
- Lord Pingas
- 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
Hello.
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.
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.
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.
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.
- Trask
- 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
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
Dreamcast Development:
http://dcemulation.org
http://gamedev.allusion.net/softprj/kos/
http://dreamcast-scene.com
Dear god, they actually ported ES to a piece of celery!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.
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."
- Lord Pingas
- 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
Thanks for the links, I know these will come in handy.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
- MrDeathNote
- 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
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.....Lord Pingas wrote:Thanks for the links, I know these will come in handy.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
http://www.youtube.com/user/MrDeathNote1988
"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
"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
- Falco Girgis
- 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
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).
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).
- Trask
- 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
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.
Dear god, they actually ported ES to a piece of celery!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.
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."
- Falco Girgis
- 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
Yeah.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.
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.
- MrDeathNote
- 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
Agreed, i'm really tempted to myself, sounds like a good package.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.
http://www.youtube.com/user/MrDeathNote1988
"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
"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
- Falco Girgis
- 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
And I would personally be glad to help with any questions/post regarding the Dreamcast on the forums. Anything for the Dream.
- Lord Pingas
- 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
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?
I mean can't I just link all the includes and libs to the compiler like I did with SDL?
- Falco Girgis
- 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
Sure, there's a way to use dev-cpp, but the majority of Dreamcast COMPILATION is done at the command line.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?
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.
- Lord Pingas
- 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
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.
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.
- Falco Girgis
- 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
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.
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.
- Lord Pingas
- 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
Oh, ok.
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?
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?
- Falco Girgis
- 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
Very good, young'n.Lord Pingas wrote:Oh, ok.
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.
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:Sorry if I sounded like a asshole there, I was just a little confused. Hehe.
Nope. That's what the DCDevISOr4 is for. You will be installing Cygwin, which is basically a Linux environment that runs INSIDE of Windows.Lord Pingas wrote:But do I have to have a Unix system?
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.