Welcome!

General Emulation => MAME => Topic started by: KingHanco on November 26, 2005, 08:35:27 PM

Title: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on November 26, 2005, 08:35:27 PM
It not fully coded yet and doesn't work at all. Get a red neogeo screen on bootup.  Who made it info which not added in. This is dump 7/2/2005 and 7/4/2005. The rest of the roms are from kof97 which the lates version of WinKawaks and Mame is using.

Anyone want to continue working on this or help me out. You can do so. I be more happy getting this to work. :D

Code: [Select]
        DRIVER( kog )          /* 5232 (c) 2005 */

ROM_START( kog )
ROM_REGION( 0x200000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "5232-p1.bin", 0x000000, 0x200000, CRC(d2413ec6) SHA1(c0bf409d1e714cba5fdc6f79e4c2aec805316634) )

NEO_SFIX_128K( "5232-s1.bin", CRC(0bef69da) SHA1(80918586e694dce35c4dba796eb18abf6a070ebb) )

NEO_BIOS_SOUND_128K( "232-m1.bin", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) )

ROM_REGION( 0xc00000, REGION_SOUND1, 0)
ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) )
ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) )
ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) )

NO_DELTAT_REGION

ROM_REGION( 0x3000000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "5232-c1a.bin", 0x0000000, 0x800000, CRC(4eab9b0a) SHA1(a6f6b755215a3f41474e0a76b5463303a522c2d3) )
ROM_LOAD16_BYTE( "5232-c1b.bin", 0x0000001, 0x800000, CRC(1143fdf3) SHA1(9dc5fe9a3b7599380db62095880e2d6f237a41bd) )
ROM_LOAD16_BYTE( "5232-c2a.bin", 0x1000000, 0x800000, CRC(697f8fd0) SHA1(5784464c2357ccef8e6e79b6298843fc3d13b39c) )
ROM_LOAD16_BYTE( "5232-c2b.bin", 0x1000001, 0x800000, CRC(ea82cf8f) SHA1(3d9ab64b69cecd6b3950839ac2c6d151ad66dcf8) )
ROM_LOAD16_BYTE( "5232-c3a.bin", 0x2000000, 0x400000, CRC(abd1be07) SHA1(857eb68bbee4538770bbfa77aaa540d61ab0abcd) ) // was 5232-c3.bin
ROM_LOAD16_BYTE( "5232-c3b.bin", 0x2000001, 0x400000, CRC(d2bd967b) SHA1(c494e0a98e127d37ca360a28accc167fa50fb626) ) // was 5232-c4.bin
ROM_END

DRIVER_INIT( kog )
{
        init_neogeo();
}

/* Testing */
GAMEB( 2005, kog, kof97, neogeo, neogeo, neogeo,  kog,   ROT0, "???", "King of Gladiator", 0 )

I gotting another roms set which is dump in 12/24/1996 and I didn't make a driver at all on this one.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on November 27, 2005, 03:04:11 AM
Ok Robert,

I going to try it out.

I saw that you added the kof97 p2 rom in there which I didn't do. I change the 5232-c3a.bin and 5232-c3a.bin back into c3 and c4 in the neogeo.c.  :biggrin:

I bet James33 or iq_132 can get rid of that unresolved graphics issues. Unless you bet them to it.  :cool:
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on November 27, 2005, 04:54:01 AM
James gave me most of the above, and I tidied up the DRIVER_INIT.

You will most likely get an error with sx_decrypt(1), as it's a custom routine I use.
Replace it with samsh5bl_sx_decrypt().

Ether one doesn't work because of the sx_decrypt(). Same error. Try this samsh5b _gfx_decrypt(?) - What ever it needed in between the ( ).

Another thing is that I don't have the samsh5bl at all.

But I do have the samsho5, samsho5h and the samsh5sp (Neo-Geo 20050712) roms. But no drivers yet for those in my build.

================================================================================

Ok I trying to clearup the screen all the way. But it still scamble on the screen. Look like there is a warning on the screen and won't go anywhere after that.

Code: [Select]
DRIVER_INIT( kog )
{
        UINT8 *rom = memory_region( REGION_CPU1 );
        UINT8 *buf = malloc( 0x100000 );
        int i;
        unsigned int nBank[] = { 0x3, 0x8, 0x7, 0xC, 0x1, 0xA, 0x6, 0xD };

        for (i = 0; i < 8; i++)
        {
        memcpy (buf + i * 0x20000, rom + nBank[i] * 0x20000, 0x20000);
        }
        memcpy( &rom[ 0x000000 ], &buf[ 0x000000 ], 0x100000);  //move unscrambled p1 back

        memcpy( &rom[ 0x100000 ], &rom[ 0x200000 ], 0x400000);  //move p2 rom to original location

        free(buf);

        neo_pcm2_snk_1999(4);
        neogeo_fix_bank_type = 1;
//      kof2000_neogeo_gfx_decrypt(0x2e);
kof2000_neogeo_gfx_decrypt(0x1e);
        init_neogeo();
}

I trying out the next one.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on November 27, 2005, 08:03:58 AM
Thanks.

I saw that orange neogeo screen. There is a circle with a big F on thee screen. Also the title screen is screwup bady. :D

I think this is a kof97 on the screwup screen. Weard heh...
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: iq_132 on November 27, 2005, 09:32:40 PM
That bad title screen is because there is still code needed to make that game run properly.
It should be very much like kf10thep.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: James33 on November 28, 2005, 03:25:39 AM
I bet James33 or iq_132 can get rid of that unresolved graphics issues. Unless you bet them to it.  :cool:

I have given up for now . But without a doubt there will be people trying to make it work properly .
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on November 28, 2005, 03:32:41 AM
I have given up for now . But without a doubt there will be people trying to make it work properly .

Well anyone can't then what the use trying to get it to work. Anyone will beating their head in the keyboard trying. (Joking.)  :biggrin:

I giving up for now as well. Edit - Not fully working and removed from my build.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on November 29, 2005, 02:00:35 AM
Dam I wish it playable on Mame32.  :biggrin:

Let me knnow guys when it working fully.  :cool:
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: Death Metal on November 30, 2005, 10:17:05 PM
Apart from selecting a few different characters, what makes this game special, anyway?
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: iq_132 on November 30, 2005, 10:54:56 PM
Boobies.  :eek:
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: Death Metal on December 02, 2005, 03:12:32 AM
Oh! Enough for me to be good, then. :p
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 05:48:25 AM
So I nolonger need these right? Because I got a error on the sx_decrypt. Too few arguments to fuction.

Code: [Select]
static void sx_decrypt( void )
{
        int sx_size = memory_region_length( REGION_GFX1 );
        UINT8 *rom = memory_region( REGION_GFX1 );
        int i;

        if ((rom[0] == 0x11) || (rom[0] == 0x22))
        {
        UINT8 *buf = malloc( sx_size );
        memcpy( buf, rom, sx_size );

        for( i = 0; i < sx_size; i += 0x10 )
        {
        memcpy( &rom[ i ], &buf[ i + 8 ], 8 );
        memcpy( &rom[ i + 8 ], &buf[ i ], 8 );
        }
        free( buf );
        }
        else
        if (rom[0] == 0x30)
        {
        for( i = 0; i < sx_size; i++ )
        rom[ i ] = BITSWAP8( rom[ i ], 7, 6, 0, 4, 3, 2, 1, 5 );
    }
}

static void samsh5bl_cx_decrypt( void )
{
       int cx_size = memory_region_length( REGION_GFX3 );
       UINT8 *rom = memory_region( REGION_GFX3 );
       UINT8 *buf = malloc( cx_size );
       int i;

       memcpy( buf, rom, cx_size );

       for( i = 0; i < cx_size / 0x40; i++ )
       memcpy( &rom[ i * 0x40 ], &buf[ (i ^ 1) * 0x40 ], 0x40 );

    free( buf );
}

DRIVER_INIT( kog )
{
       UINT8 *rom = memory_region( REGION_CPU1 );
       UINT8 *buf = malloc( 0x100000 );
       int i;
       unsigned int nBank[] = { 0x3, 0x8, 0x7, 0xC, 0x1, 0xA, 0x6, 0xD };

       for (i = 0; i < 8; i++)
       memcpy (buf + i * 0x20000, rom + nBank[i] * 0x20000, 0x20000);

       memcpy( &rom[ 0x000000 ], &buf[ 0x000000 ], 0x100000);  //move unscrambled p1 back
       memcpy( &rom[ 0x100000 ], &rom[ 0x200000 ], 0x400000);  //move p2 rom to original location

       free(buf);

       sx_decrypt();
       samsh5bl_cx_decrypt();
    init_neogeo();
}

You didn't say to removed those before make.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: neo04 on December 04, 2005, 05:53:58 AM
u still need cx & sx decrypt code
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 05:57:51 AM
Heh. You post before I did. Thanks for letting me know Robert.

I only need this one time only. kof2km2 already have. It confused with 2. So I need to removed 1 and leave 1 only and nomore after that.

Code: [Select]
static void sx_decrypt( int value )
{
        int sx_size = memory_region_length( REGION_GFX1 );
        UINT8 *rom = memory_region( REGION_GFX1 );
        int i;

        if (value == 1)
        {
        UINT8 *buf = malloc( sx_size );
        memcpy( buf, rom, sx_size );

        for( i = 0; i < sx_size; i += 0x10 )
        {
        memcpy( &rom[ i ], &buf[ i + 8 ], 8 );
        memcpy( &rom[ i + 8 ], &buf[ i ], 8 );
        }
        free( buf );
        }
        else
        if (value == 2)
        {
        for( i = 0; i < sx_size; i++ )
        rom[ i ] = BITSWAP8( rom[ i ], 7, 6, 0, 4, 3, 2, 1, 5 );
    }
}
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: Ashura-X on December 04, 2005, 11:49:08 AM
Well I´ve tried all this code on mame32plus source (my one) and still I have the same orange neogeo logo and no backgrounds at the start screen !!
Any clue about this issue ?
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: neo04 on December 04, 2005, 12:13:15 PM
try this one:
Code: [Select]
// Code by IQ_132 - http://neosource.1emu.net/
// Thanks to Razoola for the info
static void kog_px_decrypt( void )
{
UINT8 *src = memory_region(REGION_CPU1);
UINT8 *dst = malloc( 0x600000 );
UINT16 *rom = (UINT16 *)memory_region(REGION_CPU1);
int i;
unsigned int sec[] = { 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 + 0x0007A6, src + 0x0407A6, 0x000006);
memcpy (dst + 0x0007C6, src + 0x0407C6, 0x000006);
memcpy (dst + 0x0007E6, src + 0x0407E6, 0x000006);
memcpy (dst + 0x090000, src + 0x040000, 0x004000);
memcpy (dst + 0x100000, src + 0x200000, 0x400000);
memcpy (src, dst, 0x600000);
free (dst);

for (i = 0x90000/2; i < 0x94000/2; i++){
if (((rom[i]&0xFFBF) == 0x4EB9 || rom[i] == 0x43F9) && !rom[i + 1])
rom[i + 1] = 0x0009;

if (rom[i] == 0x4EB8)
rom[i] = 0x6100;
}

rom[0x007A8/2] = 0x0009;
rom[0x007C8/2] = 0x0009;
rom[0x007E8/2] = 0x0009;
rom[0x93408/2] = 0xF168;
rom[0x9340C/2] = 0xFB7A;
rom[0x924AC/2] = 0x0009;
rom[0x9251C/2] = 0x0009;
rom[0x93966/2] = 0xFFDA;
rom[0x93974/2] = 0xFFCC;
rom[0x93982/2] = 0xFFBE;
rom[0x93990/2] = 0xFFB0;
rom[0x9399E/2] = 0xFFA2;
rom[0x939AC/2] = 0xFF94;
rom[0x939BA/2] = 0xFF86;
rom[0x939C8/2] = 0xFF78;
rom[0x939D4/2] = 0xFA5C;
rom[0x939E0/2] = 0xFA50;
rom[0x939EC/2] = 0xFA44;
rom[0x939F8/2] = 0xFA38;
rom[0x93A04/2] = 0xFA2C;
rom[0x93A10/2] = 0xFA20;
rom[0x93A1C/2] = 0xFA14;
rom[0x93A28/2] = 0xFA08;
rom[0x93A34/2] = 0xF9FC;
rom[0x93A40/2] = 0xF9F0;
rom[0x93A4C/2] = 0xFD14;
rom[0x93A58/2] = 0xFD08;
rom[0x93A66/2] = 0xF9CA;
rom[0x93A72/2] = 0xF9BE;
rom[0xFFFFE/2] = 0x01FF; // Enable "King of Gladiator" on Title Screen
}
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: Ashura-X on December 04, 2005, 12:20:40 PM
Same thing ! No works :(((((((((((((((
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 05:09:03 PM
Went back onto the orange screen on here as well. I send the drivers to Razoola. He want to take a look on those new games drivers. He looking at the lan2004 right now. I told him there is some problems on the kog.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: James33 on December 04, 2005, 07:42:22 PM
Same thing ! No works :(((((((((((((((


I use Mame Plus 102u2 and this game seems to work the same as it does in kawaks .



Went back onto the orange screen on here as well. I send the drivers to Razoola. He want to take a look on those new games drivers. He looking at the lan2004 right now. I told him there is some problems on the kog.

I just hope you did not send him the ones you done . kog on my mame build seems to work the same way it does on kawaks 1.55 .
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 08:15:06 PM
Doesn't work here. Orange screen is showing with the new p driver. Robert didn't say what we need to move in the neogeo.c.

Code: [Select]
ROM_START( kog )
        ROM_REGION( 0x600000, REGION_CPU1, 0 )
        ROM_LOAD16_WORD_SWAP( "kog_p1.rom", 0x000000, 0x200000, CRC(d2413ec6) SHA1(c0bf409d1e714cba5fdc6f79e4c2aec805316634) )
        ROM_LOAD16_WORD_SWAP( "232-p2.bin", 0x200000, 0x400000, CRC(158b23f6) SHA1(9744620a70513490aaf9c5eda33e5ec31222be19) )

        NEO_SFIX_128K( "kog_s1.rom", CRC(0bef69da) SHA1(80918586e694dce35c4dba796eb18abf6a070ebb) )

        NEO_BIOS_SOUND_128K( "232-m1.bin", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) )

        ROM_REGION( 0xc00000, REGION_SOUND1, 0 )
        ROM_LOAD( "232-v1.bin", 0x000000, 0x400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) )
        ROM_LOAD( "232-v2.bin", 0x400000, 0x400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) )
        ROM_LOAD( "232-v3.bin", 0x800000, 0x400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) )

        ROM_REGION( 0x2800000, REGION_GFX3, 0 )
        ROM_LOAD16_BYTE( "kog_c1a.rom", 0x0000000, 0x800000, CRC(4eab9b0a) SHA1(a6f6b755215a3f41474e0a76b5463303a522c2d3) )
        ROM_LOAD16_BYTE( "kog_c1b.rom", 0x0000001, 0x800000, CRC(1143fdf3) SHA1(9dc5fe9a3b7599380db62095880e2d6f237a41bd) )
        ROM_LOAD16_BYTE( "kog_c2a.rom", 0x1000000, 0x800000, CRC(697f8fd0) SHA1(5784464c2357ccef8e6e79b6298843fc3d13b39c) )
        ROM_LOAD16_BYTE( "kog_c2b.rom", 0x1000001, 0x800000, CRC(ea82cf8f) SHA1(3d9ab64b69cecd6b3950839ac2c6d151ad66dcf8) )
        ROM_LOAD16_BYTE( "kog_c3.rom", 0x2000000, 0x400000, CRC(abd1be07) SHA1(857eb68bbee4538770bbfa77aaa540d61ab0abcd) )
        ROM_LOAD16_BYTE( "kog_c4.rom", 0x2000001, 0x400000, CRC(d2bd967b) SHA1(c494e0a98e127d37ca360a28accc167fa50fb626) )
ROM_END

static void kog_px_decrypt( void )
{
       int i;
       unsigned char *src = memory_region(REGION_CPU1);
       UINT16 *rom = (UINT16*)memory_region( REGION_CPU1 );
       unsigned char *dst = (unsigned char*)malloc(0x600000);
       unsigned int sec[] = { 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 + 0x0007A6, src + 0x0407A6, 0x000006);
       memcpy (dst + 0x0007C6, src + 0x0407C6, 0x000006);
       memcpy (dst + 0x0007E6, src + 0x0407E6, 0x000006);
       memcpy (dst + 0x090000, src + 0x040000, 0x004000);
       memcpy (dst + 0x100000, src + 0x200000, 0x400000);
       memcpy (src, dst, 0x600000);
       free (dst);

       for (i = 0x90000/2; i < 0x94000/2; i++)
       {
       if (((rom[i]&0xFFBF) == 0x4EB9 || rom[i] == 0x43F9) && !rom[i + 1])
       rom[i + 1] = 0x0009;

       if (rom[i] == 0x4EB8)
       rom[i] = 0x6100;
       }

       rom[0x007A8/2] = 0x0009;
       rom[0x007C8/2] = 0x0009;
       rom[0x007E8/2] = 0x0009;
       rom[0x93408/2] = 0xF168;
       rom[0x9340C/2] = 0xFB7A;
       rom[0x924AC/2] = 0x0009;
       rom[0x9251C/2] = 0x0009;
       rom[0x93966/2] = 0xFFDA;
       rom[0x93974/2] = 0xFFCC;
       rom[0x93982/2] = 0xFFBE;
       rom[0x93990/2] = 0xFFB0;
       rom[0x9399E/2] = 0xFFA2;
       rom[0x939AC/2] = 0xFF94;
       rom[0x939BA/2] = 0xFF86;
       rom[0x939C8/2] = 0xFF78;
       rom[0x939D4/2] = 0xFA5C;
       rom[0x939E0/2] = 0xFA50;
       rom[0x939EC/2] = 0xFA44;
       rom[0x939F8/2] = 0xFA38;
       rom[0x93A04/2] = 0xFA2C;
       rom[0x93A10/2] = 0xFA20;
       rom[0x93A1C/2] = 0xFA14;
       rom[0x93A28/2] = 0xFA08;
       rom[0x93A34/2] = 0xF9FC;
       rom[0x93A40/2] = 0xF9F0;
       rom[0x93A4C/2] = 0xFD14;
       rom[0x93A58/2] = 0xFD08;
       rom[0x93A66/2] = 0xF9CA;
       rom[0x93A72/2] = 0xF9BE;

    src[0xFFFFE] = 0x01;
}

static void samsh5bl_cx_decrypt( void )
{
       int cx_size = memory_region_length( REGION_GFX3 );
       UINT8 *rom = memory_region( REGION_GFX3 );
       UINT8 *buf = malloc( cx_size );
       int i;

       memcpy( buf, rom, cx_size );

       for( i = 0; i < cx_size / 0x40; i++ )
       memcpy( &rom[ i * 0x40 ], &buf[ (i ^ 1) * 0x40 ], 0x40 );

    free( buf );
}

DRIVER_INIT( kog )
{
       UINT8 *rom = memory_region( REGION_CPU1 );
       UINT8 *buf = malloc( 0x100000 );
       int i;
       unsigned int nBank[] = { 0x3, 0x8, 0x7, 0xC, 0x1, 0xA, 0x6, 0xD };

       for (i = 0; i < 8; i++)
       memcpy (buf + i * 0x20000, rom + nBank[i] * 0x20000, 0x20000);

       memcpy( &rom[ 0x000000 ], &buf[ 0x000000 ], 0x100000);  //move unscrambled p1 back
       memcpy( &rom[ 0x100000 ], &rom[ 0x200000 ], 0x400000);  //move p2 rom to original location

       free(buf);

       kog_px_decrypt();
       sx_decrypt(1);
       samsh5bl_cx_decrypt();
    init_neogeo();
}

                       !strcmp(Machine->gamedrv->name,"kog") ||

Unless I need to removed the !strcmp(Machine->gamedrv->name,"kog") || ???

I already have this.

Code: [Select]
static void sx_decrypt( int value )
{
        int sx_size = memory_region_length( REGION_GFX1 );
        UINT8 *rom = memory_region( REGION_GFX1 );
        int i;

        if (value == 1)
        {
        UINT8 *buf = malloc( sx_size );
        memcpy( buf, rom, sx_size );

        for( i = 0; i < sx_size; i += 0x10 )
        {
        memcpy( &rom[ i ], &buf[ i + 8 ], 8 );
        memcpy( &rom[ i + 8 ], &buf[ i ], 8 );
        }
        free( buf );
        }
        else
        if (value == 2)
        {
        for( i = 0; i < sx_size; i++ )
        rom[ i ] = BITSWAP8( rom[ i ], 7, 6, 0, 4, 3, 2, 1, 5 );
    }
}

So what the problem then?
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: James33 on December 04, 2005, 08:22:11 PM
Why are you useing two P rom decrypt codes ?
Looks like you have old code that should not be there now .


Just try this only

Code: [Select]
static void kog_cx_decrypt( void )
{
int i;
int cx_size = memory_region_length( REGION_GFX3 );
UINT8 *rom = memory_region( REGION_GFX3 );
UINT8 *buf = malloc( cx_size );

memcpy( buf, rom, cx_size );

for( i = 0; i < cx_size / 0x40; i++ ){
memcpy( &rom[ i * 0x40 ], &buf[ (i ^ 1) * 0x40 ], 0x40 );
}

free( buf );
}

static void kog_sx_decrypt( void )
{
int i;
int sx_size = memory_region_length( REGION_GFX1 );
UINT8 *rom = memory_region( REGION_GFX1 );
UINT8 *buf = malloc( sx_size );

memcpy( buf, rom, sx_size );

for( i = 0; i < sx_size; i += 0x10 ){
memcpy( &rom[ i        ], &buf[ i + 0x08 ], 0x08 );
memcpy( &rom[ i + 0x08 ], &buf[ i        ], 0x08 );
}

free( buf );
}

// Code by IQ_132 -- http://neosource.1emu.net/
// Thanks to JotaCE, Jimmy_page, and Robber804 for some info
DRIVER_INIT( kog )
{
int i;
UINT8 *src = memory_region( REGION_CPU1 );
UINT8 *pTemp = (UINT8 *)malloc( 0x600000 );
int sec[] = { 0x3, 0x8, 0x7, 0xC, 0x1, 0xA, 0x6, 0xD };

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

memcpy (pTemp + 0x0007A6, src + 0x0407A6, 0x000006);
memcpy (pTemp + 0x0007C6, src + 0x0407C6, 0x000006);
memcpy (pTemp + 0x0007E6, src + 0x0407E6, 0x000006);
memcpy (pTemp + 0x090000, src + 0x040000, 0x004000);
memcpy (pTemp + 0x100000, src + 0x200000, 0x400000);
memcpy (src, pTemp, 0x600000);
free (pTemp);
}
for (i = 0x90000; i < 0x94000; i++)
{
if (((*((UINT16*)(src + i))&0xFFBF) == 0x4EB9 || *((UINT16*)(src + i)) == 0x43F9) && !*((UINT16*)(src + i + 2)))
*((UINT16*)(src + i + 2)) = 0x0009;

if (*((UINT16*)(src + i)) == 0x4EB8)
*((UINT16*)(src + i)) = 0x6100;
}

*((UINT16*)(src + 0x007A8)) = 0x0009;
*((UINT16*)(src + 0x007C8)) = 0x0009;
*((UINT16*)(src + 0x007E8)) = 0x0009;
*((UINT16*)(src + 0x93408)) = 0xF168;
*((UINT16*)(src + 0x9340C)) = 0xFB7A;
*((UINT16*)(src + 0x924AC)) = 0x0009;
*((UINT16*)(src + 0x9251C)) = 0x0009;
*((UINT16*)(src + 0x93966)) = 0xFFDA;
*((UINT16*)(src + 0x93974)) = 0xFFCC;
*((UINT16*)(src + 0x93982)) = 0xFFBE;
*((UINT16*)(src + 0x93990)) = 0xFFB0;
*((UINT16*)(src + 0x9399E)) = 0xFFA2;
*((UINT16*)(src + 0x939AC)) = 0xFF94;
*((UINT16*)(src + 0x939BA)) = 0xFF86;
*((UINT16*)(src + 0x939C8)) = 0xFF78;
*((UINT16*)(src + 0x939D4)) = 0xFA5C;
*((UINT16*)(src + 0x939E0)) = 0xFA50;
*((UINT16*)(src + 0x939EC)) = 0xFA44;
*((UINT16*)(src + 0x939F8)) = 0xFA38;
*((UINT16*)(src + 0x93A04)) = 0xFA2C;
*((UINT16*)(src + 0x93A10)) = 0xFA20;
*((UINT16*)(src + 0x93A1C)) = 0xFA14;
*((UINT16*)(src + 0x93A28)) = 0xFA08;
*((UINT16*)(src + 0x93A34)) = 0xF9FC;
*((UINT16*)(src + 0x93A40)) = 0xF9F0;
*((UINT16*)(src + 0x93A4C)) = 0xFD14;
*((UINT16*)(src + 0x93A58)) = 0xFD08;
*((UINT16*)(src + 0x93A66)) = 0xF9CA;
*((UINT16*)(src + 0x93A72)) = 0xF9BE;

src[0xFFFFE] = 0x01; // Enable "King of Gladiator" on Title Screen

kog_cx_decrypt();
kog_sx_decrypt();
init_neogeo();
}

This is based on the driver from here http://neo-source.com/index.php?topic=469.msg3818#msg3818
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 09:30:33 PM
It scramble on the screen. Alots of graphics issues. Screwup on my screen.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: James33 on December 04, 2005, 10:20:01 PM
It scramble on the screen. Alots of graphics issues. Screwup on my screen.

Well its you thats doing something wrong , There is nothing wrong with the driver posted .
When I said use that driver it means you do not add things to the code that you think should be there
There is no doubt that you are doing things wrong .

(http://img225.imageshack.us/img225/7779/cmp102u26qs.jpg)
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 10:27:14 PM
Well its you thats doing something wrong , There is nothing wrong with the driver posted .
When I said use that driver it means you do not add things to the code that you think should be there
There is no doubt that you are doing things wrong .

Heh I forgotting to removed the !strcmp(Machine->gamedrv->name,"kog") ||
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: James33 on December 04, 2005, 10:34:56 PM
Heh I forgotting to removed the !strcmp(Machine->gamedrv->name,"kog") ||

That stays in machine\neogeo.c
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 10:58:48 PM
That stays in machine\neogeo.c

Can I send you the neogeo source? That way you can see what I'm doing wrong. There might be some other drivers that causes that to happen.

MSN or Yahoo?

I'm log on both.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: James33 on December 04, 2005, 11:09:14 PM
*@hotmail.com   .

Thanks IQ was just about to edit it .
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: KingHanco on December 04, 2005, 11:14:47 PM
It send.
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: neo04 on December 26, 2005, 06:41:47 AM
Quote
1. Voice that talks through the intro is missing
2. On the continue screen, the numbers don't fade, they flash off, making the countdown mostly blank.
3. There is not enough time to enter your initials
4. After doing so, they don't show on the high score screen
5. The high score screen always has missing info.
kawaks have the same problems :)
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: iq_132 on December 26, 2005, 03:48:47 PM
Here's a mame port of that code I posted in the FBA section. ;)

Code: [Select]
// Switch kog title between kanji and English
// This is set by a jumper on the PCB (Razoola)
READ16_HANDLER( kog_title_lang_set )
{
return ((neogeo_ram16[0x0FD82/2]+1)>>1)|0xFF00;
}


Code: [Select]
memory_install_read16_handler(0,  ADDRESS_SPACE_PROGRAM, 0x0ffffe, 0x0fffff, 0, 0, kog_title_lang_set);
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: iq_132 on December 26, 2005, 07:20:21 PM
well, the memory address that holds the region setting (jap,asia/eur,us) is 0x10FD83.
The main 68k memory is mapped 0x100000-0x10FFFF.  It is held as a UINT16, so you
must byteswap the data (and the address and divide it by 2).
The program expects that the data read from 0xFFFFE will include 0xFFFFF (68k instuctions are 2 bytes),
and is byteswapped, so you would return 0xFF01 or 0xFF00.

The reason that I did this +1)>>1 is because Japan is 0x00 in the main ram, asia/us is 01 or 02
and this was the shortest way to make 02->01 and 01->01 and 00->00.
the 0xFF00| is to make sure it returns 0xFF01 or 0xFF00.

Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: James33 on December 26, 2005, 09:16:30 PM
Here's a mame port of that code I posted in the FBA section. ;)

Code: [Select]
// Switch kog title between kanji and English
// This is set by a jumper on the PCB (Razoola)
READ16_HANDLER( kog_title_lang_set )
{
return ((neogeo_ram16[0x0FD82/2]+1)>>1)|0xFF00;
}




Code: [Select]
memory_install_read16_handler(0,  ADDRESS_SPACE_PROGRAM, 0x0ffffe, 0x0fffff, 0, 0, kog_title_lang_set);

Cool much better than what I was thinking of .
Title: Re: King of Gladiator (bootleg) - clone of kof97.
Post by: fernando2 on December 29, 2005, 11:55:49 AM
i`m having same problems as king hanco i dont know whats wrong maybe rom loading i dont know please somenone could post a complete working driver


thanks for yur help.