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
Re: Dreamcast Development
Hey thanks, Falco!
I think I understand much better now.
I'll be sure to give you an update as to when I get a working Dreamcast application working.
One more question, and I hope I'm not wasting you time with these questions, but where did you learn KallistiOS?
I have searched but I couldn't find anything.
I think I understand much better now.
I'll be sure to give you an update as to when I get a working Dreamcast application working.
One more question, and I hope I'm not wasting you time with these questions, but where did you learn KallistiOS?
I have searched but I couldn't find anything.
- 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
You "learn" it after you install it and start digging through the directories. The source code of everything is there along with fairly well documented/obvious example code.
- 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.
I will download it now for later use, then start learning it from looking at the source codes.
Also, I think I know what you was talking about in the Makefile hell part of Elysian Shadows Revolution episode 1. Just saying...
Thanks again.
I will download it now for later use, then start learning it from looking at the source codes.
Also, I think I know what you was talking about in the Makefile hell part of Elysian Shadows Revolution episode 1. Just saying...
Thanks again.
- 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
Oh lord, don't feel bad Lord Pingas... I remember when I had my assembly class back in the day which had my first brush with make files. I was so confused and pined for VS again ;D
Falco's right though, you have to get your hands dirty. Googling error messages can help, but if experienced devs like Falco are willing to get you started, by all means use them. When I was 18-20 and trying to get this stuff working, I could find a soul to help me. But GET YOUR HANDS DIRTY, just reading about this stuff really makes no sense until you get in there and it bites your hand a few times. Then you'll make it your bitch and have yourself a good time.
Falco's right though, you have to get your hands dirty. Googling error messages can help, but if experienced devs like Falco are willing to get you started, by all means use them. When I was 18-20 and trying to get this stuff working, I could find a soul to help me. But GET YOUR HANDS DIRTY, just reading about this stuff really makes no sense until you get in there and it bites your hand a few times. Then you'll make it your bitch and have yourself a good time.
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
That was a bitch, because I was trying to make a single makefile compile a project for either a Dreamcast or PSP--both of which have completely different makefiles.Lord Pingas wrote:Oh ok.
I will download it now for later use, then start learning it from looking at the source codes.
Also, I think I know what you was talking about in the Makefile hell part of Elysian Shadows Revolution episode 1. Just saying...
Thanks again.
I wound up creating two separate makefiles with the same "libGyro.rules" that allowed me to simply specify a folder with DC source code, and a folder with PSP source code then invoke either "makefile.dc" for Dreamcast or "makefile.psp" for PSP.
- 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.Trask wrote:Oh lord, don't feel bad Lord Pingas... I remember when I had my assembly class back in the day which had my first brush with make files. I was so confused and pined for VS again ;D
Falco's right though, you have to get your hands dirty. Googling error messages can help, but if experienced devs like Falco are willing to get you started, by all means use them. When I was 18-20 and trying to get this stuff working, I could find a soul to help me. But GET YOUR HANDS DIRTY, just reading about this stuff really makes no sense until you get in there and it bites your hand a few times. Then you'll make it your bitch and have yourself a good time.
Your words have inspired me and yes, I will get my hands dirty.
Thanks for all your help guys.
- 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
Good thing you made libGyro to make things much easier.GyroVorbis wrote:That was a bitch, because I was trying to make a single makefile compile a project for either a Dreamcast or PSP--both of which have completely different makefiles.Lord Pingas wrote:Oh ok.
I will download it now for later use, then start learning it from looking at the source codes.
Also, I think I know what you was talking about in the Makefile hell part of Elysian Shadows Revolution episode 1. Just saying...
Thanks again.
I wound up creating two separate makefiles with the same "libGyro.rules" that allowed me to simply specify a folder with DC source code, and a folder with PSP source code then invoke either "makefile.dc" for Dreamcast or "makefile.psp" for PSP.
- 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
Gyro, this popped in my mind, perhaps you wouldn't mind sharing some details....
I remember an older video that you had somebody help you who wrote up something in ASM for a certain part of your engine, which I think you've since rewritten yourself, but I honestly don't remember why you needed it and its purpose may have changed since then.
What have you had to do with ASM with Dreamcast and would the casual DC developer need to do something similar as well?
Just curious in case any of us hits a stopping point where this may become relevant.
I remember an older video that you had somebody help you who wrote up something in ASM for a certain part of your engine, which I think you've since rewritten yourself, but I honestly don't remember why you needed it and its purpose may have changed since then.
What have you had to do with ASM with Dreamcast and would the casual DC developer need to do something similar as well?
Just curious in case any of us hits a stopping point where this may become relevant.
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
No, a casual DC developer should be safely abstracted away from anything that low level (same with PSP).
The problem is that the KallistiOS toolkit is also homebrew. My friend (Tvspelsfreak) and I have stumbled upon some absolutely insane Dreamcast documentation that covers pretty much EVERYTHING about the hardware. I honestly don't even know if it's legal that we have these. Could be some secret proprietary Sega documents.
Well, there are things in there that haven't been figured out or implemented in the KallistiOS library. For the two of us to screw with this kind of stuff, we have to drop down to the inline assembly level. For anything that the casual developer would need, you will be programming in C/++ with an API that's pretty friendly and similar to SDL/OpenGL.
The problem is that the KallistiOS toolkit is also homebrew. My friend (Tvspelsfreak) and I have stumbled upon some absolutely insane Dreamcast documentation that covers pretty much EVERYTHING about the hardware. I honestly don't even know if it's legal that we have these. Could be some secret proprietary Sega documents.
Well, there are things in there that haven't been figured out or implemented in the KallistiOS library. For the two of us to screw with this kind of stuff, we have to drop down to the inline assembly level. For anything that the casual developer would need, you will be programming in C/++ with an API that's pretty friendly and similar to SDL/OpenGL.
- 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
Sweet, that's what I figured, but I wanted to be sure.
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
And honestly, for whatever you guys are going to be doing, you aren't going to be doing anything different on the Dreamcast. I'm pretty damn amazed how far that 200mhz processor goes. Consider it a slightly slower PC, and you're good to go. If you even have to do any optimization of your code, I would be surprised. As long as you're using hardware acceleration and rendering things with the GPU, rather than CPU, the Dreamcast has some pretty damn kickass performance.
The only real thing you have to worry about is 8MB of VRAM and 16MB of RAM. Other than that, you're fine pretending that you're coding on a PC.
The only real thing you have to worry about is 8MB of VRAM and 16MB of RAM. Other than that, you're fine pretending that you're coding on a PC.
- 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
Do you need Unix based command lines like Cygwin to develop on other consoles as well as the Dreamcast?
- 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. Pretty much every homebrew compiler is based on GCC and GNU Tools.Lord Pingas wrote:Do you need Unix based command lines like Cygwin to develop on other consoles as well as the Dreamcast?
- 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, got a lot of questions by I'll keep it to the minimum of 300 an hour.
Sorry, got a lot of questions by I'll keep it to the minimum of 300 an hour.
- 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
It's the same with the psp, i've just recently started developing for it (by recently i mean a few days ago). So far ive done a hello world and rendered a sprite, but i have plans for the psp in the near future.....Lord Pingas wrote:Do you need Unix based command lines like Cygwin to develop on other consoles as well as the Dreamcast?
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