Cracked the scrambling on kovassg
static void pgm_decode_kovassg_program()
{
int i, j;
unsigned short *rom = (unsigned short *)PGM68KROM;
unsigned short *tmp = (unsigned short *)malloc(0x400000);
for (i = 0; i < 0x400000/2; i++)
{
j = (i & ~0xffff) | (BITSWAP16(i, 15, 14, 13, 12, 11, 10, 7, 3, 1, 9, 4, 8, 6, 0, 2, 5) ^ 0x019c);
tmp[i] = BITSWAP16(rom[j], 13, 9, 10, 11, 2, 0, 12 ,5, 4, 1, 14, 8, 15, 6, 3, 7) ^ 0x9d05;
}
memcpy (rom, tmp, 0x400000);
free (tmp);
}