Page 1 of 57

Sega Genesis Dev Kit (SGDK)

Posted: Thu Nov 30, 2006 10:00 pm
by Stef
Heya :)

SGDK (aka Sega Genesis Dev Kit) is a small development kit for the Sega Megadrive/Genesis.

It's divided in 2 parts :
- GCC compiler & tools binaries for Windows platform only (sorry for osx and linux users).
- the development library sources which provide facilities to develop on the Sega Megadrive/Genesis System.

You'll see that only required part of GCC are provided to keep the whole archive to a reasonable size (< 20 MB).

Updated version 1.60, download it here : https://github.com/Stephane-D/SGDK

You can find some tutorials about how use it in the Wiki section of project's page.

Free feel to post issue or request, also if you want to contribute in some way you can contact me on the project page :)

Don't hesitate to post bugs or feature request in the issues tracker :
https://github.com/Stephane-D/SGDK/issues

You can also support SGDK on its Patreon page : https://www.patreon.com/SGDK
SGDK Discord server: https://discord.gg/xmnBWQS

Thanks :D

Re: mini Genesis dev kit v0.1

Posted: Fri Dec 01, 2006 2:36 am
by plee
Stef wrote:Hello everyone :)

Here's the link of my blog... actually it's just dealing about genesis deving. You can find my small dev kit and a test rom using it :)
It's all french but seems we only have french people here except Mask of Destiny for now :p

http://stefda.spaces.live.com/blog/

Here're links for direct download :
http://gens.consolemul.com/download/tem ... sDev01.zip
http://gens.consolemul.com/download/temp/gencube3D.zip

let's have fun and nice deving !
Nice...are you doing your own pixel draw routines?

Not everybody here is french :D

Posted: Fri Dec 01, 2006 12:46 pm
by Stef
Yep, i did my own draw routines. You can see them by downloading the mini devkit, libraries sources are included.
I'm using a 2 horizontal pixels based drawing methos because it's faster to manipulate byte than "half byte" :)
All code is in pure C, we can obtain better performance with ASM but imo that's not that bad for C code :)
Genesis isn't designed for bitmap drawing, I've to use an internal bitmap buffer in main memory then blit it to video memory in software because i need to convert the bitmap in tiles.

I did a brief translation in english about the contect of my blog, i can post it here but believe me, it's not really interesting ;) People just need the download links ;)

Re: mini Genesis dev kit v0.1

Posted: Fri Dec 01, 2006 5:25 pm
by cdoty
plee wrote: Not everybody here is french :D
Nope, at least two of us are from Texas (Houston area even)!

Re: mini Genesis dev kit v0.1

Posted: Fri Dec 01, 2006 7:34 pm
by Stef
cdoty wrote:
plee wrote: Not everybody here is french :D
Nope, at least two of us are from Texas (Houston area even)!
hehe ;)
Don't worry, it was a joke, i'm not from one of these chauvinistic french ;)

Posted: Fri Dec 01, 2006 10:56 pm
by cdoty
Stef wrote:Genesis isn't designed for bitmap drawing, I've to use an internal bitmap buffer in main memory then blit it to video memory in software because i need to convert the bitmap in tiles.
Are you double buffering the screen?

Do you DMA transfer the screen over multiple frames?

Re: mini Genesis dev kit v0.1

Posted: Fri Dec 01, 2006 10:59 pm
by cdoty
Stef wrote:Don't worry, it was a joke, i'm not from one of these chauvinistic french ;)
I found it funny that two of us are from the Houston area.

Houston is now officially the center of the Genesis dev world! :)

I mean, look at sega.s included with SGCC and GenesisDev01, we're both credited in that file.

Re: mini Genesis dev kit v0.1

Posted: Sat Dec 02, 2006 6:00 am
by plee
cdoty wrote:
Stef wrote:Don't worry, it was a joke, i'm not from one of these chauvinistic french ;)
I found it funny that two of us are from the Houston area.

Houston is now officially the center of the Genesis dev world! :)

I mean, look at sega.s included with SGCC and GenesisDev01, we're both credited in that file.


8)

Posted: Sat Dec 02, 2006 6:03 am
by plee
Stef wrote:Yep, i did my own draw routines. You can see them by downloading the mini devkit, libraries sources are included.
I'm using a 2 horizontal pixels based drawing methos because it's faster to manipulate byte than "half byte" :)
All code is in pure C, we can obtain better performance with ASM but imo that's not that bad for C code :)
Genesis isn't designed for bitmap drawing, I've to use an internal bitmap buffer in main memory then blit it to video memory in software because i need to convert the bitmap in tiles.

I did a brief translation in english about the contect of my blog, i can post it here but believe me, it's not really interesting ;) People just need the download links ;)
Before I lost the code, I did a line/pixel draw by manipulating the tile data memory directly. So I'm wondering would that be faster or not :?:

Posted: Sat Dec 02, 2006 12:13 pm
by Stef
cdoty wrote:
Stef wrote:Genesis isn't designed for bitmap drawing, I've to use an internal bitmap buffer in main memory then blit it to video memory in software because i need to convert the bitmap in tiles.
Are you double buffering the screen?

Do you DMA transfer the screen over multiple frames?
That's not a real "double buffer", you can see it as a main memory buffer which is blitted to video memory each time. I can add a double buffer with a sort of "asynchrone blit" but that will use almost all the main memory :-/
I can't use DMA as i need to rearrange the bitmap buffer in tile. To be more exact, i can use DMA by using some tricks but i need to do a lot of DMA transfert and the total amount of data transfered is 2 time the size transfered in software. Finally, that's not faster than doing a good software transfert.

Posted: Sat Dec 02, 2006 12:20 pm
by Stef
plee wrote:
Stef wrote:Yep, i did my own draw routines. You can see them by downloading the mini devkit, libraries sources are included.
I'm using a 2 horizontal pixels based drawing methos because it's faster to manipulate byte than "half byte" :)
All code is in pure C, we can obtain better performance with ASM but imo that's not that bad for C code :)
Genesis isn't designed for bitmap drawing, I've to use an internal bitmap buffer in main memory then blit it to video memory in software because i need to convert the bitmap in tiles.

I did a brief translation in english about the contect of my blog, i can post it here but believe me, it's not really interesting ;) People just need the download links ;)
Before I lost the code, I did a line/pixel draw by manipulating the tile data memory directly. So I'm wondering would that be faster or not :?:
That all depend of the number of line or pixel you're drawing.
For a small number your method is faster, but if you want a real bitmap buffer you want to manipulate freely and a lot, i think it's better to use my method. As i'm doing some basic 3D rendering (with triangle fill), i just can't use your method.
Your method offers another important advantage : the VDP fill capability ! you can use it to clear your display buffer without any speed penality. On my side i need to :
- clear buffer
- do my draws
- blit the buffer

Posted: Sat Dec 02, 2006 1:47 pm
by plee
Stef wrote:
plee wrote:
Stef wrote:Yep, i did my own draw routines. You can see them by downloading the mini devkit, libraries sources are included.
I'm using a 2 horizontal pixels based drawing methos because it's faster to manipulate byte than "half byte" :)
All code is in pure C, we can obtain better performance with ASM but imo that's not that bad for C code :)
Genesis isn't designed for bitmap drawing, I've to use an internal bitmap buffer in main memory then blit it to video memory in software because i need to convert the bitmap in tiles.

I did a brief translation in english about the contect of my blog, i can post it here but believe me, it's not really interesting ;) People just need the download links ;)
Before I lost the code, I did a line/pixel draw by manipulating the tile data memory directly. So I'm wondering would that be faster or not :?:
That all depend of the number of line or pixel you're drawing.
For a small number your method is faster, but if you want a real bitmap buffer you want to manipulate freely and a lot, i think it's better to use my method. As i'm doing some basic 3D rendering (with triangle fill), i just can't use your method.
Your method offers another important advantage : the VDP fill capability ! you can use it to clear your display buffer without any speed penality. On my side i need to :
- clear buffer
- do my draws
- blit the buffer
Just curious... I like what you did with the lib! :D

Posted: Sat Dec 02, 2006 6:04 pm
by Stef
;)

Posted: Wed Jan 10, 2007 10:34 pm
by Stef
New version of the mini devkit available.
Actually just some improvements in the library (new functions and bugfixes). Download the partic demo with sources included to have a basic example ;)

Genesis Mini DevKit v0.2
Genesis Particules (sources & bin)

Have fun :D

Posted: Thu Jan 11, 2007 8:33 am
by TmEE co.(TM)
Can there be ASM stuff in your lib ?