Jump to content

Recommended Posts

Posted (edited)

Well, finally I got my MAME32 to support mslug5 and mslug5nd! :-D

 

P.S. the mame driver code posted by O-Fear is incomplete!

Edited by deltaquad
  • Replies 536
  • Created
  • Last Reply

Top Posters In This Topic

Posted
Well, finally I got my MAME32 to support mslug5 and mslug5nd!  :-D

 

P.S. the mame driver code posted by O-Fear is incomplete!

what do you mean by that ?

Posted (edited)

I mean that just before this line:

 

static WRITE16_HANDLER( mslug5_calc_bankoffset_w )

 

There's need to be this line:

 

int ms5_bank_offset = 0;

 

In the O-Fear post this line wasn't there so the driver does not function. :(

It is probably due to a cut&paste mistake. :-D-_-

Edited by deltaquad
Posted
I mean that just before this line:

 

static WRITE16_HANDLER( mslug5_calc_bankoffset_w )

 

There's need to be this line:

 

int ms5_bank_offset = 0;

 

In the O-Fear post this line wasn't there so the driver does not function.  :(

It is probably due to a cut&paste mistake.  :-D  -_-

no mine never needed that

Posted

As I can see from your pm, you have a slightly different but equivalent line:

 

int ms5_bank_offset;

 

Probably you got it from another source. -_-:-D

Posted
As I can see from your pm, you have a slightly different but equivalent line:

 

int ms5_bank_offset;

 

Probably you got it from another source.  -_-  :-D

it works tho

 

i never used the mslug5 driver

 

so what is the diffence betwwen the mslug5nd and mslug5 driver can you show me

 

?

Posted
Someone in the neogeo thread section posted the mame version by itself for download. I was thankful because I didn't want to have to download the entire rom zip again just to get the mame part.  Looks like it does work fine. I've already enabled blood and set the video to display 640x480 with scanlines. Looks fine.

 

BTW James, what was all that talk about this rom set being a "FAKE FAKE FAKE"? Turns out it was "REAL REAL REAL".

cause some of the older rom sets were fake

Posted (edited)
it works tho

 

i never used the mslug5 driver

 

so what is the diffence betwwen the mslug5nd and mslug5 driver can you show me

 

?

 

I don't have the mslug5.zip romset, so I played only mslug5nd.zip romset for the moment.

Anyway here is the complete code, surely you know better than me how to read it! :-D

 

ROM_START( mslug5 )
   ROM_REGION( 0x800000, REGION_CPU1, 0 )
   ROM_LOAD16_WORD_SWAP( "268-p1.bin", 0x000000, 0x800000, CRC(3F1CF3D2) SHA1(2C85EB5ACDEDE4816675B91F8989C9E13C1573F8) )

   ROM_REGION( 0x20000, REGION_GFX1, 0 )
   ROM_FILL(                 0x000000, 0x20000, 0 )
   ROM_REGION( 0x20000, REGION_GFX2, 0 )
   ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

   NEO_BIOS_SOUND_128K( "268-m1d.bin", CRC(6FA01C9A) SHA1(3DAB7593BFCCE318D22EC3DF672EE3B4AB73DCF5) )

   ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
   ROM_LOAD( "268-v1.bin", 0x000000, 0x400000, CRC(C3540E0D) SHA1(BF7CA3ABE291B28A4CFAEF791F0C556CC98AD8D8) )
   ROM_LOAD( "268-v2.bin", 0x400000, 0x400000, CRC(077BD2F4) SHA1(1699959D17F8C7113CEBDB9DA2E1CD18CE48486C) )
   ROM_LOAD( "268-v3.bin", 0x800000, 0x400000, CRC(39B14567) SHA1(1658612A93BA30130F9260BC41D3F18F6B90C1E7) )
   ROM_LOAD( "268-v4.bin", 0xc00000, 0x400000, CRC(969FF3B2) SHA1(50FECEB741A1C08B000B077A33151AB1352EB798) )

   NO_DELTAT_REGION

   ROM_REGION( 0x4000000, REGION_GFX3, 0 )
   ROM_LOAD16_BYTE( "268-c1.bin", 0x0000000, 0x800000, CRC(27d59de8) SHA1(DE3C5CFA980CCA2FAB0416AC0D292948B5D4C9C3) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c2.bin", 0x0000001, 0x800000, CRC(e600dee1) SHA1(3198EE5C7C2C7563B49EBD9F7BA95D9B0B303F6C) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "268-c3.bin", 0x1000000, 0x800000, CRC(b650f098) SHA1(99443EA4C1BAB45F1977A390EB7E1A0163915110) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c4.bin", 0x1000001, 0x800000, CRC(10499589) SHA1(68A36D336582069E79AD481638D92F57C4CD6523) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "268-c5.bin", 0x2000000, 0x800000, CRC(19352405) SHA1(4AE15D29BA979601598EDDF8905072FE1D9E0A98) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c6.bin", 0x2000001, 0x800000, CRC(bbec8745) SHA1(86A6C036BF51AF516FEA83A30874026EC1586A83) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "268-c7.bin", 0x3000000, 0x800000, CRC(fe2c1338) SHA1(30F3280FE527098ECF46541CC645A59B366105EA) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c8.bin", 0x3000001, 0x800000, CRC(ecce3141) SHA1(B5D0D81D5CC624538B0651C568295E578A1330D1) ) /* Plane 2,3 */
ROM_END

ROM_START( mslug5nd )
   ROM_REGION( 0x800000, REGION_CPU1, 0 )
   ROM_LOAD16_WORD_SWAP( "268-p1.bin", 0x000000, 0x800000, CRC(3F1CF3D2) SHA1(2C85EB5ACDEDE4816675B91F8989C9E13C1573F8) )

   ROM_REGION( 0x20000, REGION_GFX1, 0 )
   ROM_FILL(                 0x000000, 0x20000, 0 )
   ROM_REGION( 0x20000, REGION_GFX2, 0 )
   ROM_LOAD( "sfix.sfx",  0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

   NEO_BIOS_SOUND_128K( "268-m1d.bin", CRC(6FA01C9A) SHA1(3DAB7593BFCCE318D22EC3DF672EE3B4AB73DCF5) )

   ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
   ROM_LOAD( "268-v1.bin", 0x000000, 0x400000, CRC(C3540E0D) SHA1(BF7CA3ABE291B28A4CFAEF791F0C556CC98AD8D8) )
   ROM_LOAD( "268-v2.bin", 0x400000, 0x400000, CRC(077BD2F4) SHA1(1699959D17F8C7113CEBDB9DA2E1CD18CE48486C) )
   ROM_LOAD( "268-v3.bin", 0x800000, 0x400000, CRC(39B14567) SHA1(1658612A93BA30130F9260BC41D3F18F6B90C1E7) )
   ROM_LOAD( "268-v4.bin", 0xc00000, 0x400000, CRC(969FF3B2) SHA1(50FECEB741A1C08B000B077A33151AB1352EB798) )

   NO_DELTAT_REGION

   ROM_REGION( 0x4000000, REGION_GFX3, 0 )
   ROM_LOAD16_BYTE( "268-c1d.bin", 0x0000000, 0x800000, CRC(969C0D62) SHA1(DE3C5CFA980CCA2FAB0416AC0D292948B5D4C9C3) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c2d.bin", 0x0000001, 0x800000, CRC(C69AE867) SHA1(3198EE5C7C2C7563B49EBD9F7BA95D9B0B303F6C) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "268-c3d.bin", 0x1000000, 0x800000, CRC(D7BEAEAF) SHA1(99443EA4C1BAB45F1977A390EB7E1A0163915110) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c4d.bin", 0x1000001, 0x800000, CRC(E1B1131B) SHA1(68A36D336582069E79AD481638D92F57C4CD6523) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "268-c5d.bin", 0x2000000, 0x800000, CRC(2FA1A5AD) SHA1(4AE15D29BA979601598EDDF8905072FE1D9E0A98) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c6d.bin", 0x2000001, 0x800000, CRC(6DE89589) SHA1(86A6C036BF51AF516FEA83A30874026EC1586A83) ) /* Plane 2,3 */
   ROM_LOAD16_BYTE( "268-c7d.bin", 0x3000000, 0x800000, CRC(97BD0C0A) SHA1(30F3280FE527098ECF46541CC645A59B366105EA) ) /* Plane 0,1 */
   ROM_LOAD16_BYTE( "268-c8d.bin", 0x3000001, 0x800000, CRC(C0D5BC20) SHA1(B5D0D81D5CC624538B0651C568295E578A1330D1) ) /* Plane 2,3 */
ROM_END

 

int ms5_bank_offset = 0;

static WRITE16_HANDLER( mslug5_calc_bankoffset_w )
{
   ms5_bank_offset = (data>>12)%0x03;
}

static WRITE16_HANDLER( mslug5_bankswitch_w )
{
   neogeo_set_cpu1_second_bank( (neogeo_ram16[0x10/2] + ms5_bank_offset) << 20 );
}

DRIVER_INIT( mslug5 )
{
   neogeo_fix_bank_type = 1;
   kof2000_neogeo_gfx_decrypt(0x19);

   install_mem_write16_handler(0, 0x2ffff0, 0x2ffff1, mslug5_bankswitch_w);
   install_mem_write16_handler(0, 0x2ffff2, 0x2ffff3, mslug5_calc_bankoffset_w);

   init_neogeo();
}

DRIVER_INIT( mslug5nd )
{
   /* the S data comes from the end of the C data */
   {
       int i;
       int tx_size = memory_region_length(REGION_GFX1);
       int rom_size = memory_region_length(REGION_GFX3);
       
       UINT8 *src = memory_region(REGION_GFX3)+rom_size-tx_size;
       UINT8 *dst = memory_region(REGION_GFX1);

       for (i = 0;i < tx_size;i++)
           dst[i] = src[(i & ~0x1f) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4)];
   }
   
   install_mem_write16_handler(0, 0x2ffff0, 0x2ffff1, mslug5_bankswitch_w);
   install_mem_write16_handler(0, 0x2ffff2, 0x2ffff3, mslug5_calc_bankoffset_w);

   init_neogeo();
}

Edited by deltaquad
Guest
This topic is now closed to further replies.

×
×
  • Create New...