Sugoi! Thanks Stef, I'll try this out tomorrow.
I encourage anyone else, experienced or not to give the devkit a chance, find bugs, send stef your useful functions / ideas, etc. He is excellent about listening, fixing things, implementing new ideas, and great about communicating. I've really enjoyed it so far, especially some of the control functions. It's nice to have things so organized.
It takes a bit to get use moving from your own libs (in the XGCC and SGCC days it seems everyone wrote their own utility libs
), but once you do it makes it so much easier and clean. After porting to the devkit, you can enjoy updates to the new kit with minimal changes to your code.
Thanks for the very nice comment about the mini dev kit and me
It's a pleasure for me to do it and specially with guys like you
Maybe the mini dev kit will become a real complete sega genesis devkit in sometime.
Yeap, i'm a fan too
Tcks for this update.
Just a little bug report :
in genbase.c, function Gen_init(), a call is made to "YM2612_init();", must be replaced by "YM2612_reset();"
YM2612_Init() isn't anymore called in this version as far i remember
In fact i want to minimize as much as possible the "sega.s" task to move them in the C library part. As you probably noticed i already removed the default Z80 driver loading part. Having a more commented, more readable version is interesting tough, i was searching that since sometime now, good to see your
nice logo since initialisation
i do like a lot the sonic picture
For some reason my timer function (which should display the logo for 3 seconds) doesn't work sometime... i need to test that on real hardware.
Fusion seems to be more sensentive than Gens on that point.
I personnaly never use any lib (exept for joypad, waitsync...)... From an experience I had with kaneda, jumping to functions (with parametters) really kill the 68K power :/ So i dropped the dev of my FVRlib (heavily copied from kaneda's lib ^^)
I do agree, i'm very unhappy about how GCC performs the function call stuff, there is no way to optimise them with registers. I recompiled severals version of GCC with the hope of getting something better but no way ! it always pass all parameters from the stack whatever you do... inlining functions also doesn't work and optimisation level > 1 gives generally worst results than O1 :-/
O1 is "correct" but still far from the best we can get with a very good asm code...
Anyway while the speed isn't a problem, the C library is more friendly for genesis deving and already offer some nice possiblities (as my basic 3D rendering
I will *donate* the multitap/4wayplay code I have if there is any interest, to support the project (which is great btw)
There is ! by the way, how you figured this code ? where did you got the documentations ? In gens, my only way to implement multipad support was reverse engineering from 4-players game...