Sign in to follow this  
Anri

Sega console programming(homebrew?).

Recommended Posts

Anri    971
I recently saw the most amazing thing on Classic Game Room(YouTube channel) which was a new DreamCast game called Gunlord and it looks amazing.

So having finished my Degree this week and a basic Java Ray-casting demo, I'm kind of heart-set on a bit of retro-console programming as my next project. Most likely not a full game, but at least a demo or two. One concern I do have - I don't want to have to physically or software-wise modifiy a console to run my demos.

There seems to be two possible target platforms: The DreamCast(wow, I really want one of those in my collection!) or....the sega Mega-CD. Both seem to only require a user to burn a demo/game to a CD and then just pop it in the console as it is. I think the Mega-CD is going to be difficult, but the DreamCast appears to require a knowledge of C which I'm quite happy to use...

I used to program in C/C++, moved on to Java and Visual Basic for my education and even dipped my toe in C64 assembly(still a beginner, though). I would very much like to have someone's opinion on this (foolish?) ambition that has actually done some console homebrewing - and educate me as to the harsh realities one will face, and if there is an ideal console to homebrew for.

Many thanks.

Share this post


Link to post
Share on other sites
Dunge    405
Doing homebrew programming is on the limit of legality depending on the country you live in. To play a burned CD-R on a DreamCast, you either need to install a modchip, or use a boot cd, again barely legal. You can also try to find a few emulators, that might be easier for development and tests. For the technical programming aspect, since you don't have access to the official Sega SDK, I suggest you ask this question on other forums dedicated to emulation and homebrew, there are a few nice ones out there.

Share this post


Link to post
Share on other sites
Anri    971
Thanks for the reply, Dunge. Didn't think about the legality of Homebrew, but I shall certainly look into it.

I didn't know one could use a boot cd for the DreamCast, although I do wonder if Gunlord uses one. For a small team I doubt they have paid a licence to Sega to run the Game without such a disk...if barely legal.

Oh well, its food thought. Cheers.

Share this post


Link to post
Share on other sites
frob    44911
[quote name='Anri' timestamp='1350679268' post='4991920']
I would very much like to have someone's opinion on this (foolish?) ambition that has actually done some console homebrewing - and educate me as to the harsh realities one will face, and if there is an ideal console to homebrew for.
[/quote]
It comes down to WHY you are doing it.

If you have some passion to develop on some old machine, maybe an old Atari 2600, or an old Vectrex, or an old DreamCast, then follow it if you want to. Just understand that VERY few people will understand what you have done and why you have done it.

Occasionally a few collectors will take an interest in homebrew ROM images for old machines. There are very few of them, but they do exist.

Check the forum FAQ for some DreamCast links if that is your interest. They're at the bottom, about to drop off the page.

Share this post


Link to post
Share on other sites
Dunge    405
[quote name='Anri' timestamp='1350682778' post='4991946'][...]although I do wonder if Gunlord uses one. For a small team I doubt they have paid a licence to Sega[...][/quote]

Well, from what I can see they have released the game on the retail market so yes they probably did. They have registered domain names for both the [url="http://www.gun-lord.com/"]game[/url] and the [url="http://www.ngdevteam.com/"]developers[/url] and created two other games, so it's more serious than a basement project. If that's the way you want to do it, fine, go ahead and contact Sega, ask to become a licensed developer and you will get a devkit with the libraries needed and the documentation with it. It won't be free though, if still available. Otherwise, stick to the underground homebrew scene and you will find many people still playing with it and eager to help you. Edited by Dunge

Share this post


Link to post
Share on other sites
Daaark    3553
You're much better off programming for iOS or Android at the moment.

If you are going to put in all that effort to make a nice game, you might as well have an audience of more than six. You'll have nothing to show for it at the end. Edited by Daaark

Share this post


Link to post
Share on other sites
dudeman21    423
I thought someone may have mentioned it already, but not only can you do homebrew for Sega (in the US, at least), but you can also sell your titles. Check out the newly released Sega title Pier Solar ([url="https://www.youtube.com/watch?v=tQPrOPgtyr8"]https://www.youtube.com/watch?v=tQPrOPgtyr8[/url]). If you're masochistic enough to do it, go for it!

Share this post


Link to post
Share on other sites
Anri    971
My aim at this point is non-commercial, so at best I would only intend to share demos with the retro community. It is merely out of interest and the "cool" factor.

The Android/iOS is something...I just can't stand things like the iPad. I actually sell them at work, but apart from launching a red bird from a catapult...I don't get much buzz from using them.

Yes, I have indeed seen Pier Solar! The packaging alone is gorgeous, and the game itself is simply amazing - a 64MB Megadrive game is like...I dunno, its the "Chuck Norris" of Megadrive carts! I also think its cool how it also comes with a MegaCD cd to enhance the game if you happen to also own a MegaCD...o_O

But anyway, thanks for all the input. I forgot how friendly and helpful GameDev was. To have replies so soon is great.

Cheers!

Share this post


Link to post
Share on other sites
Dreamcast is going to be a lot easier than Mega CD... The latter is like programming two consoles at the same time, and no, you can't get away with only programming half of it because the program boots in the half that doesn't have access to the I/O hardware =/

[quote name='Dunge' timestamp='1350681807' post='4991937']Doing homebrew programming is on the limit of legality depending on the country you live in. To play a burned CD-R on a DreamCast, you either need to install a modchip, or use a boot cd, again barely legal.[/quote]
Or use a MilCD enabled Dreamcast, which can boot CDs just fine without any special requirements... (well, the boot program has its bytes shuffled and an audio track has to come first, but that's it from what I know, no need to use specific software or custom signatures or anything like that)

Share this post


Link to post
Share on other sites
Anri    971
Its good of you to take time to visit my thread, Sik. Your Megadrive work is impressive.

The MilCD sounds brilliant, but apparently they are very hard to obtain. Sega caught on to its weakness early on and stopped producing them. Still, the DreamCast is quite appealing with its CD(compatible) format and even a VGA connection. And that controller is simply champion! ^_^

Share this post


Link to post
Share on other sites
6677    1054
My old dreamcast certainly ran homebrew without a boot disk but it was one of the first off the line ones I reckon. Need to get that back, lent it to someone years ago and its ended up in their attic.




As for homebrew. I tend to roll with: if its not using copyrighted code and your not mucking around with hacking the console (ie like my dreamcast, burn CD>put it in>it works) then its probably not going to get you in trouble in any way. Infact I can't find a law outside of the console EULA that says otherwise.

Your alternative is to develop your game and then run it in an emulator. Similar to homebrew, emulation of a console is in a legal grey area but once again I roll with: if the emulator isn't using copyrighted code (such as console bios etc) then its not really a problem. The roms are another matter as many are of course pirated versions of commercial games but most homebrew was written as free (sometimes open source) software in the first place so is indeed legal (until the issue of running it above). So IMO: emulator + homebrew probably legal.

Share this post


Link to post
Share on other sites
Anri    971
Many thanks 6677.

Looking at the idea of developing for a dead console, I weighed up whether it was a waste of time or not...and I've decided to go ahead with developing a demo or two for the DreamCast. At the end of the day, its a personal project that gives me an excuse to ditch Java for a while and go back to C/C++. At least from that angle I'm getting more experience in that language... ^_^

Once again, thanks to all who have taken time out to reply here.

Share this post


Link to post
Share on other sites
Ravyne    14300
Most Dreamcasts will play burnt CDs just fine, no modification required. Mine is one of the last ones and I've run homebrews and ISOs of unreleased games on it just fine with no tinkering. Some Dreamcasts require the laser power to be turned up in order to read CD-Rs, which is just a matter of popping the hood and turning a small potentiometer screw.

If you want and audience and a fixed (or mostly-so) platform, iOS, Android, Windows Phone, Windows RT, Xbox Live Indie Games, or the Playstation Suite are your best bets.

If instead you're after a more bare-metal programming experience, then you want to look at the Dreamcast, GBA, Nintendo DS, or Older consoles like the Genesis, Master-System, NES, or Gameboy, depending on how retro/limited you want to go. You could also pick up a modern microcontroller board like an arduino or Stellaris board if you want the bare-metal experience and can live without the games focus, or other kits (like the Uzebox, or Andre' LaMothe's kits) if you can't.

In all cases, emulators are what you'd use for most of your development, as burning ROMs or compact discs gets rather tedious and expensive after a time, and debugging facilities are rather limited. You need to test real hardware early and often to ensure that you can run on the genuine article (if you care), but it's not your main development target.

Share this post


Link to post
Share on other sites
Anri    971
Yeah, I will most likely end up doing something like Android or XBox live eventually, but thats in my primary focus of Java/C# and C++.

I was looking at, Ravyne, the Raspberry Pi for some assembly programming as it seems perfect for learning programming(not that I need to, but its experience all the same). It runs an ARM processor similar to the ones in the GBA and DS, so I might give that shot if the DreamCast thing falls flat on its face.

But yes, thanks for the input! ^_^

Share this post


Link to post
Share on other sites
Ravyne    14300
So, something interesting happened with the Raspberry Pi this week, which was that the CPU-side "drivers" for the GPU were released. Now, half the internet is up in arms over the fact that the really interesting GPU stuff is over in the GPU firmware still, and that has not been released (not likely), but what it does mean is that it's now relatively conceivable for a bare-metal program on Raspberry Pi to be able to call into the GPU hardware using an OpenGL-like interface (Including the GLSL compiler).

So, for like $40 bucks you can have that bare-metal, console-like experience, on a very well-documented, powerful platform. It's got an ARM11 processor which I believe supports the vector instruction set, which runs at up to 1ghz, has 512MB of ram, 10/100 ethernet, USB, HDMI and composite out, and some GPIO to boot.

It would be a good bit of work to get it up and running from bare metal, but there's an educational course on building an OS for the Pi to start, but its doable now. That's why I didn't mention the Pi before, because up until now the only way to get at the GPU was through linux.

The Pi is every bit as capable as an Xbox, PS2, Gamecube, or Wii, but with a more flexible GPU.

Share this post


Link to post
Share on other sites
Anri    971
the PI is certainly a nice device that sings to me. Something that is down right sexy about the PI is how some people are quite easily making their own custom PCs with it - some in the style of the old 8-Bit home computers where the computer was "in the keyboard", so to speak. Some even build their casings out of Lego! You can't really get much cooler than that! o_O

Whilst I certainly don't hold my breath for it, it would be interesting if they could get a games market set up for the PI. Not sure if one could use SD cards or even just a download service similar to Steam. I reckon the Foundation should make a third model with a DVD-drive and an additional USB for a joypad...that would be so perfect! ^_^

Share this post


Link to post
Share on other sites
6677    1054
it already has 2 USB's, if your using it as a console you only need the gamepad connected. Power on, boots into game.


But sure, ultimately the pi will attempt to boot any valid code on that card. If you write your game entirely bare metal for the pi, whack it on an SD card, it will boot assuming there are no bugs anywhere. Getting gamepad input might be a little tricky though seeming as you would be writing drivers yourself.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this