-
Posts
2,897 -
Joined
-
Last visited
Content Type
Profiles
Events
Forums
Blogs
Downloads
Everything posted by James
-
Yes the driver is in Mame Plus.
-
can't make a dat for mame plus 101u5
James replied to Prican25's topic in Arcade Emulators [/pc/arcade]
EDIT : LOL I missed your edit You need to repleace the DatUtil which can be found here. http://www.logiqx.com/Tools/DatUtil/ -
Yes I know about the samsh5bl driver and thats where part of the code came from. I put it like that because not everyone uses that rom set. And yes there are GFX problems thats why I said the driver is not complete
-
absolutely james of course.. however i think i may drop the ball on this particular driver and it's caused enuff of your time check pm <{POST_SNAPBACK}> Ok The src I will send you is from Mame Plus since that where I add all the hacks too.
-
Can you give me your email address I will send you my source.
-
http://www.mameworld.net/vlinde/
-
kof2003 uses a special bios But kof2003b never did. Just so I am clear on your problem can you tell me what is wrong again please. Does the game play ?
-
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 -- [url=http://neosource.1emulation.com/]http://neosource.1emulation.com/[/url] // Thanks to JotaCE, Jimmy_page, and Robber804 for some info DRIVER_INIT( kog ) { int i; UINT8 *src = memory_region(REGION_CPU1); UINT8 *dst = (UINT8*)malloc(0x600000); if (dst) { unsigned int nBank[] = { 0x3, 0x8, 0x7, 0xC, 0x1, 0xA, 0x6, 0xD }; memcpy (dst, src, 0x200000); for (i = 0; i < 8; i++) { memcpy (src + i * 0x20000, dst + nBank[i] * 0x20000, 0x20000); } memcpy (src + 0x100000, src + 0x200000, 0x400000); memcpy( dst+0x000000, src+0x1A0000, 0x020000 ); memcpy( dst+0x020000, src+0x080000, 0x020000 ); memcpy( dst+0x040000, src+0x140000, 0x020000 ); memcpy( dst+0x060000, src+0x000000, 0x020000 ); memcpy( dst+0x080000, src+0x180000, 0x020000 ); memcpy( dst+0x0A0000, src+0x0A0000, 0x020000 ); memcpy( dst+0x0C0000, src+0x100000, 0x020000 ); memcpy( dst+0x0E0000, src+0x040000, 0x020000 ); memcpy( dst+0x100000, src+0x500000, 0x100000 ); memcpy( dst+0x200000, src+0x400000, 0x100000 ); memcpy( dst+0x300000, src+0x300000, 0x100000 ); memcpy( dst+0x400000, src+0x200000, 0x100000 ); free(dst); } kog_cx_decrypt(); kog_sx_decrypt(); init_neogeo(); }
-
If the game load and plays then there is no problem. You may have differnt roms to what I have. Which you just change the crc in the driver to match your roms. crc and sha1 need to match your roms,
-
Can i talk about sex ?
-
Could not find anything wrong But I moved things around though.
-
I posted mame news but thats it . Normally there are plenty of news being posted.
-
Yes send to me
-
tiger1020x maybe you can send me your neogeo source ? Its just a hack of a hack and thats all I know.
-
Change that crc to match your rom in the driver.
-
ROM_START( kof2k3up ) /* Ultra Plus Hack */ ROM_REGION( 0x800000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "271-p1up.bin", 0x000000, 0x800000, CRC(87294c01) SHA1(21420415a6b2ba1b43ecc1934270dc085d6bd7d9) ) NEO_SFIX_128K( "271-s1up.bin", CRC(e5708c0c) SHA1(5649446d3b0b1bd138b5a8b40b96a6d0f892f4d8) ) NEO_BIOS_SOUND_512K( "271-m1d.bin", CRC(0e86af8f) SHA1(769102b67bb1a699cfa5674d66cdb46ae633cb65) ) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* decrypted */ ROM_LOAD( "271-v1d.bin", 0x000000, 0x1000000, CRC(2964f36e) SHA1(bfc52f81354eb57e27acb3b80fe1547b9e070293) ) NO_DELTAT_REGION ROM_REGION( 0x6000000, REGION_GFX3, 0 ) /* decrypted */ ROM_LOAD16_BYTE( "271-c1d.bin", 0x0000000, 0x1000000, CRC(c29acd28) SHA1(8a10409c5a9ad95fa9b56e94c14f1b96101fb179) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "271-c2d.bin", 0x0000001, 0x1000000, CRC(328e80b1) SHA1(c7f8069488be1a88a2ea03718b6a131f5c96bd3f) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "271-c3d.bin", 0x2000000, 0x1000000, CRC(020a11f1) SHA1(85cfae76234f72b0039ebc02f931bb2a9c10b1af) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "271-c4d.bin", 0x2000001, 0x1000000, CRC(991b5ed2) SHA1(99c4c470bc9cb388773e27de6df4a16803fc7b45) ) /* Plane 2,3 */ ROM_END DRIVER_INIT( kof2k3up ) { /* Codes by HalRIN,IQ_132,bms1221 Modified By James hehe */ /* Descramble P1 (bring part 8 to the front) */ int ofst; int i; UINT8 *rom = memory_region( REGION_CPU1 ) + 0xfe000; UINT8 *buf = memory_region( REGION_CPU1 ) + 0xd0610; UINT8 *src = memory_region(REGION_CPU1); UINT8 *srom = memory_region( REGION_GFX1 ); int rom_size = memory_region_length( REGION_GFX1 ); memcpy(src+0x100000, src, 0x600000); memcpy(src, src+0x700000, 0x100000); for( i = 0; i < 0x2000 / 2; i++ ){ ofst = (i & 0xff00) + BITSWAP8( (i & 0x00ff), 7, 6, 0, 4, 3, 2, 1, 5 ); memcpy( &rom[ i * 2 ], &buf[ ofst * 2 ], 2 ); } for( i = 0; i < rom_size; i++ ){ srom[ i ] = BITSWAP8( srom[ i ], 7, 6, 0, 4, 3, 2, 1, 5 ); } neogeo_fix_bank_type = 2; init_neogeo(); } GAMEB( 2003, kof2k3up, kof2003, neogeo, neogeo, neogeo, kof2k3up, ROT0, "Playmore Corporation", "The King of Fighters 2003 Ultra Plus (Hack)", 0 ) Next part goes in machine\neogeo.c Ignore the other rom names if you do not have those rom sets. It should still compile /* PCB init info */ static unsigned short CartRAM[0x1000]; unsigned char pvc_r8(unsigned int address) { return *(((unsigned char *)CartRAM)+((address^1)-0x2fe000)); } void pvc_w8(unsigned int address, unsigned char data) { *(((unsigned char *)CartRAM)+((address^1)-0x2fe000))=data; } // These perform some palette calculations // Unpack palette word to RGB dword, thanks to bms888 void pvc_prot1( void ) // on writes to e0/e1 { unsigned char b1, b2; b1 = pvc_r8(0x2fffe0); b2 = pvc_r8(0x2fffe1); pvc_w8(0x2fffe3,(((b2>>0)&0xf)<<1)|((b1>>4)&1)); pvc_w8(0x2fffe2,(((b2>>4)&0xf)<<1)|((b1>>5)&1)); pvc_w8(0x2fffe5,(((b1>>0)&0xf)<<1)|((b1>>6)&1)); pvc_w8(0x2fffe4, (b1>>7)); } void pvc_prot2( void ) // on writes to e8/e9/ea/eb { unsigned char b1, b2, b3, b4; b1 = pvc_r8(0x2fffe8); b2 = pvc_r8(0x2fffe9); b3 = pvc_r8(0x2fffea); b4 = pvc_r8(0x2fffeb); pvc_w8(0x2fffed,(b2>>1)|((b1>>1)<<4)); pvc_w8(0x2fffec,(b4>>1)|((b2&1)<<4)|((b1&1)<<5)|((b4&1)<<6)|((b3&1)<<7)); } void pvc_write_bankswitch( void ) { UINT32 bankaddress; bankaddress = ((CartRAM[0xff8]>>8)|(CartRAM[0xff9]<<8))+0x100000; neogeo_set_cpu1_second_bank(bankaddress); } static WRITE16_HANDLER( pvc_prot_w ) { COMBINE_DATA( &CartRAM[ offset ] ); if (offset == 0xFF0)pvc_prot1(); else if(offset >= 0xFF4 && offset <= 0xFF5)pvc_prot2(); else if(offset >= 0xFF8 && offset <= 0xFF9)pvc_write_bankswitch(); } static READ16_HANDLER( pvc_prot_r ) { if (offset >= 0xFF8) { if(CartRAM[0xFF8] == 0xffff) { CartRAM[0xFF8] = 0xfea0; CartRAM[0xFF9] = 0x7fff; } if(CartRAM[0xFF8] == 0x0000) { CartRAM[0xFF8] = 0x00a0; } } return CartRAM[ offset ]; } /* kof2003 bootleg init info */ static READ16_HANDLER( kof2003b_prot_r ) { return CartRAM[0xff9]; } if (!strcmp(Machine->gamedrv->name,"kof2003b") || !strcmp(Machine->gamedrv->name,"kof2003a") || !strcmp(Machine->gamedrv->name,"kof2k3up") || !strcmp(Machine->gamedrv->name,"kf2k3ba")) { memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, pvc_prot_r); memory_install_write16_handler(0, ADDRESS_SPACE_PROGRAM, 0x2fe000, 0x2fffff, 0, 0, pvc_prot_w); memory_install_read16_handler(0, ADDRESS_SPACE_PROGRAM, 0x058196, 0x058197, 0, 0, kof2003b_prot_r); }
-
No
-
The driver is not complete yet. But here is how the roms are loaded.
-
No just changes. It is with drivers as a whole not just cthd2003.
-
Yeah mame plus has that driver cthd2003... =================================== Oh if you had errors from the code I posted, Its outdated since the MameDEV changed a few things I think I should update that thread soon.
-
So you are useing all of the bankswitch for kof2003 ? Anyway go here http://neosource.1emulation.com/forums/index.php?topic=433.0 IQ adds all the code in drivers\neogeo.c Unlike me Where I add all bankswitch code to machine\neogeo.c. where I feel it should be.
-
Its not meant too.
-
its still there But is at http://www.iinet.net.au/ now
-
lol I forgot to post that. What I found funny though. Is that they have added games that I have in my builds for ages now.