Edge-`s Genesis Development Site

'Lo Everyone,

I've added a small section to my personal homepage dedicated to Sega Genesis Development. You may view it at : http://www.thelostangel.net/gendev.php

There isn't much there, and what is there is pretty much avail. at the other Genesis Dev. sites. I hope to put up several tutorials I'm working on geared towards beginners wanting to learn how to get started, using C, as many of the tutorials are heavily based on assembly (which is also important).

It also has the progress of my Advance Wars clone project.

Anyway, thought I would share it with everyone. Thanks for everyone's help and support.
 
It is great. You started some days ago and the progress of your programming skills is awesome. Your port looks quite professional and I´m waiting for more screens and also those tutorials for newbies 😉
 
looks VERY nice. A lil' constructive critisism.....On the title screen, maybe change the proportions so the tank and stuff isn't all streched, specially the tank. all the other stuff u can't rlly tell. But ya, looks sweet so far 🙂. can't wait for a near-finished game, one that plays through a whole mission 🙂. Later
 
Also, is 32x a lot harder t program for then the genesis? If not, maybe even attempt that. you could get this game lookin damn near perfect that way.....how godlike you would be if u managed such a feat, for doing what u already did I envy you.
 
Nice work, seeing Advance Wars on the Genesis reminds me of playing Warsong. I hope you finish this project, it looks awesome.
 
Thanks BJammzz,

Not sure about the 32X, I have yet to find too much info (that a newbie like me can find useful anyway) in regards to programming for the 32X. As to the title screen, I'm planning to replace that background with something a bit different as I get along. I don't plan to leave everything exactly the same as to avoid any issues with the publisher of the game, and I'm not sure how exact of a port it will be (coding by behavior only without seeing the source is a bit tricky 😀 and of course there is quite a gap between the limits of the genesis and the GBA), but its been fun so far and the amount I've learned about console game programming in general (and growth in further respect for the Genesis coders who made entire games in ASM) has been huge 😀.
 
The 32X is both poorly documented and a pain to program for. The only documentation for it that I'm aware of is the official SDK and currently the only way to get that is by asking Eidolon for it.

I've done some work on trying to reverse engineer it (without the SDK), but I've had trouble getting code booted on the SH2s.
 
the Sega Cd adds, in addition to the obvious CD storage and Cd audio, Sprite Scaling and Rotation, and I believe, 2 extra sound channels, all with a faster 68000 processor.

it also could do some video. granted, it is only 64 color and rarely took up the full screen, and was only 10 fps or so, and very grainy.

BC Racers used the scaling and rotation effectively

BCRacers-01.jpg
 
Well, the biggest limitation of the Genesis (IMHO), the limited color pallete, is not changed. However the Sega CD contains both another 68000 and a rotation/scaling processor, so if those capabilities are used properly there can be a noticeable difference.
 
The Sega CD contains the following hardware:

Graphics Co-processor: Capable of SNES Mode7 type effects and even quad rendering (I think, I haven't worked on the other modes yet). It also handles some kind of video conversion (I think from 8-bit framebuffer to 4-bit tiles).

68000 @ 12.5 MHz (the Genesis 68K runs at 7.67)

8 Channel PCM chip (32KHz sample rate, 8-bits per channel) with 64KB sample memory

And of course, the CD controller and the CD DMA controller

The pallete limitation isn't addressed, however, the extra processing power provided allows the Genesis 68K to be involved in other things to help mitigate that (like Raster F/X). You can swap out twice as many colors during HBlank if you poll the Vcounter than if you use Hints.

Most of the software for the system did little with the extra power however.
 
Originally posted by ExCyber@Dec 16, 2003 @ 04:22 AM

Well, the biggest limitation of the Genesis (IMHO), the limited color pallete...

The limited palette does become a bit tricky, one has to be very good at optimizing the colors to get the most out of it. Working with some GBA dev after doing some Genesis Dev is very nice, much larger palette capabilities.

I wonder... how different are the binaries for the Sega CD compared to the core Genesis. Are there different init codes, have there been any examples in C/any one have some experience using SGCC or gcc's 68k to make a SegaCD binary. Thinking I might start deving for the Sega CD as the CD functions would give me a bit more flexibilty with sound and music since my PSG programming is lacking :>/non existant. Are the binaries exactly the same except for the way they are loaded off the CD?

Also, I'm curious how many here actively do or have done Genesis programming in ASM or C. Just curious how big of a community of Gen. devers there are here 😀.

Thanks Guys
 
Originally posted by Edge-`@Dec 16, 2003 @ 05:54 AM

I wonder... how different are the binaries for the Sega CD compared to the core Genesis. Are there different init codes, have there been any examples in C/any one have some experience using SGCC or gcc's 68k to make a SegaCD binary. Thinking I might start deving for the Sega CD as the CD functions would give me a bit more flexibilty with sound and music since my PSG programming is lacking :>/non existant. Are the binaries exactly the same except for the way they are loaded off the CD?

The headers for the boot code and the boot code itself are rather different, but once the machine is booted you can use pretty much whatever binary format you please. I personally use headerless binaries.

Kevin Banks has made a SLO compatible binary (my Sega CD bootloader) using gcc by making some minor modifications to sega.s (the initialization code) and the linker script. Basically, he removed the Genesis header from Sega.s as well as the security code stuff and added a call to BIOS function $368 which registers a handler for VInt. He then modified the linker script to set the origin to $200000 (The beginning of Word RAM on the Genesis side). It is not currently possible to make a boot binary for the Sega CD using the available C compilers. You need some ASM to boot the machine and then load your C binaries.

If you want to start doing some Sega CD dev, I'd be more than happy to help. I've been planning on making a version of SLO that will immediately load a file off the disc instead of displaying the menu to make things easier for C programmers. I've even been toying with the idea of putting together a nice little dev package for the Sega CD.

If you want to stick with the Genesis, I have a sound driver which supports both the 68K and the PSG which I plan on releasing sometime this week. It's written in assembly, but I'd imagine you could get it working with a game written in C with a little bit of work.
 
Back
Top