Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Sega console programming(homebrew?).


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
16 replies to this topic

#1 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 19 October 2012 - 02:41 PM

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.

Sponsor:

#2 Dunge   Members   -  Reputation: 405

Like
0Likes
Like

Posted 19 October 2012 - 03:23 PM

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.

#3 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 19 October 2012 - 03:39 PM

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.

#4 frob   Moderators   -  Reputation: 22692

Like
1Likes
Like

Posted 19 October 2012 - 03:45 PM

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.

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.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#5 Dunge   Members   -  Reputation: 405

Like
1Likes
Like

Posted 19 October 2012 - 04:00 PM

[...]although I do wonder if Gunlord uses one. For a small team I doubt they have paid a licence to Sega[...]


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 game and the developers 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, 19 October 2012 - 04:01 PM.


#6 MrDaaark   Members   -  Reputation: 3555

Like
1Likes
Like

Posted 19 October 2012 - 04:14 PM

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, 19 October 2012 - 04:15 PM.


#7 dudeman21   Members   -  Reputation: 419

Like
1Likes
Like

Posted 19 October 2012 - 09:03 PM

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 (). If you're masochistic enough to do it, go for it!
---------------------------Visit my Blog at http://robwalkerdme.blogspot.com

#8 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 20 October 2012 - 05:25 AM

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!

#9 Sik_the_hedgehog   Crossbones+   -  Reputation: 1833

Like
1Likes
Like

Posted 21 October 2012 - 01:23 PM

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 =/

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.

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)
Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.

#10 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 23 October 2012 - 08:47 AM

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! ^_^

#11 6677   Members   -  Reputation: 1058

Like
1Likes
Like

Posted 23 October 2012 - 02:05 PM

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.

#12 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 24 October 2012 - 02:51 PM

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.

#13 Ravyne   GDNet+   -  Reputation: 8069

Like
2Likes
Like

Posted 24 October 2012 - 03:55 PM

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.

#14 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 25 October 2012 - 01:56 PM

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! ^_^

#15 Ravyne   GDNet+   -  Reputation: 8069

Like
0Likes
Like

Posted 25 October 2012 - 03:11 PM

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.

#16 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 25 October 2012 - 04:05 PM

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! ^_^

#17 6677   Members   -  Reputation: 1058

Like
1Likes
Like

Posted 26 October 2012 - 12:37 PM

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.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS