finally it's working!.. but I suppose you've made a mistake... you're trying to write memory more, than you took it before...
static void kog_cx_decrypt()
{
// unsigned char* cso = (unsigned char*)malloc(64);
unsigned char* cso = (unsigned char*)malloc(128); // this one is correct
for (int i = 0; i < 0x2800000; i += 128){
memcpy(cso + 0, NeoSpriteROM + i + 64, 64);
memcpy(cso + 64, NeoSpriteROM + i + 0, 64);
memcpy(NeoSpriteROM + i, cso, 128);
}
free(cso);
}
maybe it working on your system, but not on my... thanks anyway, you've already helped me twice...
PS and sorry again for my poor English...