I uploaded an updated version of C68K, actually i just upload the complete Genesis Plus DC sources 
You can grab it here :
http://gens.consolemul.com/download/GenPlus_DC.zip
Here are the majors changes in this new version of C68K :
- IRQ callback stuff modified.
- Memory read / write functions prototype modified.
- removed need of dword read / write handler.
- MOVEM instructions fixed (sonic garbages fixed
)
- others minors tweak or changes...
Now, the core is really close to musashi, you can really easily change from musashi to C68K.
The only difference is that it uses FASTCALL convention...
so if you have a function as :
Code:
void write_byte(unsigned int adr, unsigned int value)
{
Â*// write byte stuff
Â*....
}
just do that instead :
Code:
void write_byte(unsigned int adr, unsigned int value)
{
Â*write_bytef(adr, value);
}
void FASTCALL write_bytef(unsigned int adr, unsigned int value)
{
Â*// write byte stuff
Â*....
}
I tested quickly yesterday Genesis Plus DC (optimisation set to -Os for C68K and musashi and -O2 for the rest) :
* frame skip set to 0 :
Â*- musashi : 24 FPS
Â*- C68K : 29 FPS (game speed too slow)
* frame skip set to 3 :
Â*- musashi : 11 FPS (game speed too slow)
Â*- C68K : 15 FPS Â*(game speed ok, a bit fast maybe)
* frame skip set to 4 :
Â*- musashi : 8 FPS (game speed too slow, but close ok)
Â*- C68K : 12 FPS Â*(game speed too fast)
I'm a bit disapointed, C68K doesn't seems that fast, or maybe something else than VDP is eating CPU time (i tried to disable sound but that didn't make any difference since anyway, for some weirds reasons, the sound didn't worked during my tests :-/)
An auto frame skip option would be great imo, i'll see what i can do about that
Bookmarks