sfiii2's coderegoin doesn't encrypt, so fast boot mode change to:
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
#if 0
Sh2Reset( *(unsigned int *)(RomBios + 0), *(unsigned int *)(RomBios + 4) );
#else
// fast boot
if (cps3_isSpecial)
// sfiii2 only
Sh2Reset( *(unsigned int *)(RomGame + 0), *(unsigned int *)(RomGame + 4) );
else
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4) );
Sh2SetVBR(0x06000000);
#endif
......
ok, let us make some test:
add some code after cps3_decrypt_bios(); in cps3Init()
......
be_to_le( RomBios, 0x080000 );
cps3_decrypt_bios();
unsigned int a1 = *(unsigned int *)( RomBios + 0x01fed8 );
unsigned int m1 = cps3_mask(0x01fed8, cps3_key1, cps3_key2);
bprintf(0, _T("%08x ^ %08x = %08x\n"), a1 ^ m1, m1, a1 );
.....
we'll got
fda7ee86 ^ ce87ce87 = 33202001 : redearth : Japan
fda7ee84 ^ ce87ce87 = 33202003 : warzard : Euro
so :
Asia (NCD) 33202008 ^ ce87ce87 = fda7ee8f
now we copy the bios file warzard_euro.29f400.u2 to redearth_nocd.bios
edit redearth_nocd.bios by a hex edit tools at offset 0x01fedb with value 0x8f
compress the redearth_nocd.bios to redeartn.zip update the crc in d_cps3.cpp
done !!! we got the redearth_nocd.bios ^^