Jump to content

Old Pro patch for FBA-XXX


+ T +

Recommended Posts

  • Replies 175
  • Created
  • Last Reply

Top Posters In This Topic

Ok i have to ask this, i posted on Gogo's site regarding this. Whats the deal with Metal slug 2. Why does this game come to a crawl even with the cpu overclocked at 150. I new that it would slow down bad in the 1st level(just as you reach the first building its really bad when the cpu is at 100%) and the overclock feature fixed it, but today i decided to play it through and in the later levels it got bad. I dont understand this, considering it plays all the other Mslug games perfect. Can this be fixed? is there a configuration that works? Thanks

Link to comment
Share on other sites

+T+  nice glad i grabbed those you just added ahead of time. :blink:

 

all in all good

 

is your ct2k3sp  working 

 

mine loads and runs but the graphix are all jumbled

crcs check out fine

 

 

:o

I don't have this set so any changes made to improve compatibility are based entirely on guesswork.

 

Ok i have to ask this, i posted on Gogo's site regarding this. Whats the deal with Metal slug 2. Why does this game come to a crawl even with the cpu overclocked at 150. I new that it would slow down bad in the 1st level(just as you reach the first building its really bad when the cpu is at 100%) and the overclock feature fixed it, but today i decided to play it through and in the later levels it got bad. I dont understand this, considering it plays all the other Mslug games perfect. Can this be fixed? is there a configuration that works? Thanks

My understanding is that Metal Slug 2 suffers from these slowdown problems even on original hardware. If this is the case then the emulator is doing its job and there's nothing to be fixed.

Link to comment
Share on other sites

Gameplay

 

I really, really wish I didn’t have to say this, but Metal Slug 2 is disappointing in a few areas. Yes, the game is better than the original visually, but it lacks in a few more important parts of the game. The biggest flaw is slowdowns. On the original console [both in arcades and on the AES], Metal Slug 2 lags horribly when many characters appear on the screen at the same time. One of the greatest things in the original was that the hardware managed not to slow down with such amount of detail and characters at once, but sadly enough this is not the case with Metal Slug 2. The slowdown isn’t very noticeable in the first level, but later on you’ll experience lagging as if you were on some really bad drugs or walking at the moon. This makes it hard to avoid bullets and some times it’s also very hard to time jumping over gaps or between enemy fire. The Metal Slug feeling itself does also vanish when everything moves at just a few frames per second. Metal Slug should be fast - not slow.

 

 

Found this on gamefaqs, your right T, guess they fixed since MslugX

Edited by lawnspic
Link to comment
Share on other sites

UPDATE:

 

- Updated and fixed ct2k3sp.

 

- Up-to-date kof2003a/kof2003d sets now working fine.

 

- Fixed sound errors after playing certain roms.

 

- Re-mapped reset button combination to L+R+Start.

 

- A few tweaks to default skin.

 

 

Enjoy. :blink:

Link to comment
Share on other sites

awsome wish i knew how you fix things like that.

 

but now mslug5.zip doesnt wrk

it worked under the last patch even though it couldnt find

268-m1.bin crc 4a5a6e0e

which i hear is unreleased/private though i dont understand that process

 

otherwise here are some preview screenshots to help folks out

 

FBAXXX Pro preview screenshots

 

 

edit: mslug5d also not working now

Edited by Victor Von Doom
Link to comment
Share on other sites

awsome wish i knew how you fix things like that.

 

but now mslug5.zip doesnt wrk

it worked under the last patch even though it couldnt find

268-m1.bin crc 4a5a6e0e

which i hear is unreleased/private though i dont understand that process

 

otherwise here are some preview screenshots to help folks out

 

FBAXXX Pro preview screenshots

 

 

edit: mslug5d also not working now

for me i need the 268-v1cd. bin n v2cd.bin files..

my rom name its mslug5nd

 

ok i actually had them, went through al of the different roms i had.. lol..

Edited by GLiTcH
Link to comment
Share on other sites

UPDATE:

 

- Fixed mslug5/mslug5d

 

Thanks for reporting that problem.

 

 

awsome wish i knew how you fix things like that.

In terms of the sound problem it was just that the PCM byteswap used by the svcboot driver to play sound properly wasn't being reset to 0 after exiting the game. Hence any game played afterwards would also have byteswapped sound.

Link to comment
Share on other sites

+ T +, I think I may have a solution to allow you to use the scrambled Cx roms from kog and lans2004

 

in neogeo.cpp find this:

  // If the ROMs combined are 0x800000 bytes large, place swap the 0x0400000 byte blocks
 if (BurnDrvGetHardwareCode() & HARDWARE_SNK_SWAPC && ri.nLen == 0x400000) {
 	// i counts 16-bit words!
 	for (int j = 0; j < 0x200000; j++) {
   short n = ((short*)(SpriteBuf))[j];
   ((short*)(SpriteBuf))[j] = ((short*)(SpriteBuf))[j + 0x200000];
   ((short*)(SpriteBuf))[j + 0x200000] = n;
 	}
 }

 

Add this after:

 

  if ((!strcmp(BurnDrvText(0), "kog"))||(!strcmp(BurnDrvText(0), "lans2004"))) {
 	unsigned char *tmp = (unsigned char*)malloc(0x40);
 	int tsize = dwBytesDone - nSpriteSize;
 	if (tmp) {
   for (int z = 0; z < tsize; z+=0x80) {
   	memcpy (tmp + 0, SpriteBuf + z + 0, 0x40);
   	memcpy (SpriteBuf + z + 0, SpriteBuf + z + 0x40, 0x40);
   	memcpy (SpriteBuf + z + 0x40, tmp + 0, 0x40);
   }
   free (tmp);
 	}
 }

 

 

This definitely works for kog, I haven't tested lans2004, and it may also work with samsh5bl.

 

 

BTW, do you post your source ever?

I'd like to take a look at it if you do :lol:

Edited by iq_132
Link to comment
Share on other sites

You can get cthd/svcboot's Cx decrypted in a similar way:

 

add this somewhere, neo_decrypt is a good place for it...

void DoPerm(int g, unsigned char *src)
{
unsigned int idx[2][ 0x10 ] = {
 {0, 1, 2, 3, 3, 4, 4, 5, 0, 1, 2, 3, 3, 4, 4, 5}, // cthd2003
 {0, 1, 0, 1, 2, 3, 2, 3, 3, 4, 3, 4, 4, 5, 4, 5}, // svcboot
};

unsigned int tbl[ 6 ][ 4 ] = {
 { 3, 0, 1, 2 },
 { 2, 3, 0, 1 },
 { 1, 2, 3, 0 },
 { 0, 1, 2, 3 },
 { 3, 2, 1, 0 },
 { 3, 0, 2, 1 },
};

unsigned char dst[0x800];

for(int i = 0; i < 0x2000; i++)
{
 for(int j = 0; j < 16; j++)
 {
	 unsigned int *b = tbl[ idx[g][(i>>(5-g))&0xF] ];
	 int ofst = BITSWAP08(j, 7, 6, 5, 4, b[3], b[2], b[1], b[0] );
	 memcpy( dst + j * 0x80, src + (i * 0x800) + ofst * 0x80, 0x80 );
 }
 memcpy (src + i * 0x800, dst, 0x800);
}
}

 

 

Add this to neogeo.h

extern void DoPerm(int g, unsigned char *src);

 

 

Add this to neogeo.cpp after the code you added for kog

  if (!strcmp(BurnDrvText(0), "svcboot"))
 {
	 DoPerm(1, SpriteBuf);
 }

  if ((!strcmp(BurnDrvText(0), "cthd2003"))||(!strcmp(BurnDrvText(0), "matrimbl")))
 {
	 DoPerm(0, SpriteBuf);
 }

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...