Thank you again sir. You've saved me about 2 weeks of work, I would have got there eventually, I swear. (j/k) It runs pretty well, there's just that bad graphics in the title screen that you mentioned. I've tidied up that code and removed the redundant and duplicated stuff. It works the same - I tested it. //----------------------------------------------------------------------kog experimental code
DRIVER_INIT( kog )
{
UINT8 *rom = memory_region( REGION_CPU1 );
UINT8 *buf = malloc( 0x100000 );
int i;
unsigned int nBank[] = { 0x3, 0x8, 0x7, 0xC, 0x1, 0xA, 0x6, 0xD };
for (i = 0; i < 8; i++)
{
memcpy (buf + i * 0x20000, rom + nBank[i] * 0x20000, 0x20000);
}
memcpy( &rom[ 0x000000 ], &buf[ 0x000000 ], 0x100000); //move unscrambled p1 back
memcpy( &rom[ 0x100000 ], &rom[ 0x200000 ], 0x400000); //move p2 rom to original location
free(buf);
samsh5bl_sx_decrypt(); //works
samsh5bl_cx_decrypt(); //works
init_neogeo();
}