Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
+ T +

Old Pro patch for FBA-XXX

Recommended Posts

To be honest, I'm not in any great hurry to fix this since the exact same code works perfectly in the 08/02 based build. The problem must be caused by changes to the FBA-XXX code in 08/26. So I would suggest using the patch2 build for now.

 

I've been considering putting together a best-of-both build that would add several of the improvements from 08/26 with (hopefully) none of the bugs. Then this would be the only FBA-XXX Pro build and we'd be back to just one patch.

Share this post


Link to post
Share on other sites

UPDATE:

 

Okay, here it is.

 

This new FBA-XXX Pro build combines the fixes and features of FBA-XXX 08/26 with the stability of 08/02 and of course the Pro ROMsets.

 

Everything I've tested on it plays perfectly but please let me know if you come across any problems.

Share this post


Link to post
Share on other sites

Thanks +T+, I really appreciate your continued work on Pro and keeping up with Gogo's changes. I know a while back you commented you were growing tired of working with Pro, so the work in keeping Pro current with Gogo's version is greatly appreciated.

Share this post


Link to post
Share on other sites
The crappy bootleg set KoF 10th Extra Plus 's officially released.

Is this a genuine bootleg or just another ROM hack?

 

EDIT: What's up with Gogo's forum, BTW?

Edited by + T +

Share this post


Link to post
Share on other sites

Do you happen to have a driver for it? If so I'll be sure and add it to the next build of FBA-XXX Pro.

 

Thanks. :fish:

Edited by + T +

Share this post


Link to post
Share on other sites

It should be something like this...

I haven't tested this yet, but it should work.

 

// Code by IQ_132
// Thanks to JotaCE, Jimmy_page,
// and Robber804 for some info
static void kf10thepDecrypt()
{
// Fix for FBA program load problems
BurnLoadRom(Neo68KROM + 0x200000, 1, 1);
BurnLoadRom(Neo68KROM + 0x600000, 2, 1);

int i;
unsigned char *src = Neo68KROM;
unsigned char *dst = (unsigned char*)malloc(0x800000);

unsigned int sec[8] = {	0x3, 0x8, 0x7, 0xC, 0x1, 0xA, 0x6, 0xD };

for (i = 0; i < 8; i++)
{
 memcpy (dst + i * 0x20000, src + sec[i] * 0x20000, 0x20000);
}

 memcpy(dst + 0x0002e0, src + 0x0402e0, 0x06a);
 memcpy(dst + 0x0f92bc, src + 0x0492bc, 0xb9e);

for (i = 0xf92bc; i < 0xf9e58; i += 2)
{
 if (*((unsigned short*)(dst + i + 0)) == 0x4eb9 || *((unsigned short*)(dst + i + 0)) == 0x4ef9)
 {
 	if (*((unsigned short*)(dst + i + 2)) == 0x0000)
 	{
   *((unsigned short*)(dst + i + 2)) = 0x000F;
 	}
 }
}
dst[0x00342] = 0x0f;

memcpy (dst + 0x100000, src + 0x200000, 0x600000);
memcpy (src, dst, 0x800000);
}

Edited by iq_132

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...