tiger1020x Posted October 30, 2005 Posted October 30, 2005 Hello all i was wondering if anyone had a few drivers i want... i use linux so no winkawaks or fba option..also i'm using an older xmame port..085 actually... i do have 0.100 sources but newer versions seem very testy as far as xmame well anyway here goesking of fighters 2001 remix pro Archive: /roms/kof2k1rp.zip Length Method Size Ratio Date Time CRC-32 Name-------- ------ ------- ----- ---- ---- ------ ---- 8388608 Defl:N 3865184 54% 01-19-02 17:47 4c7ec427 kof2k1rp_c3.rom 8388608 Defl:N 2749955 67% 01-19-02 17:05 1d237aa6 kof2k1rp_c4.rom 8388608 Defl:N 3638288 57% 01-19-02 17:06 c2256db5 kof2k1rp_c5.rom 8388608 Defl:N 2646416 69% 01-19-02 17:06 8d6565a9 kof2k1rp_c6.rom 8388608 Defl:N 3663766 56% 03-30-02 13:41 ef682ed2 kof2k1rp_c7.rom 8388608 Defl:N 2502410 70% 01-19-02 17:08 954d0e16 kof2k1rp_c8.rom 131072 Defl:N 29594 77% 02-08-04 10:36 56a9067f kof2k1rp_m1.rom 1048576 Defl:N 367388 65% 04-17-04 14:24 e9e42e55 kof2k1rp_p1.rom 4194304 Defl:N 1719134 59% 04-17-04 14:25 91668d86 kof2k1rp_p2.rom 131072 Defl:N 39624 70% 04-17-04 14:26 492f5efe kof2k1rp_s1.rom 4194304 Defl:N 3535609 16% 03-31-96 01:28 83d49ecf kof2k1rp_v1.rom 4194304 Defl:N 3560821 15% 03-31-96 01:39 003f1843 kof2k1rp_v2.rom 4194304 Defl:N 3350869 20% 03-31-96 03:17 2ae38dbe kof2k1rp_v3.rom 4194304 Defl:N 3155605 25% 03-31-96 19:47 26ec4dd9 kof2k1rp_v4.rom 8388608 Defl:N 3737752 55% 01-19-02 17:03 f298b87b kof2k1rp_c1.rom 8388608 Defl:N 2381880 72% 01-19-02 17:04 f9d05d99 kof2k1rp_c2.rom also an older kof2k4es (mines same as kof2k4seArchive: /roms/kof2k4es.zip Length Method Size Ratio Date Time CRC-32 Name-------- ------ ------- ----- ---- ---- ------ ---- 4194304 Defl:N 3495271 17% 11-23-04 17:09 63bb5462 2k4-v4.rom 8388608 Defl:N 3661131 56% 11-23-04 17:04 7a050288 2k4-c1.rom 8388608 Defl:N 2638966 69% 11-23-04 17:22 e924afcf 2k4-c2.rom 8388608 Defl:N 3996914 52% 12-11-02 19:56 959fad0b 2k4-c3.rom 8388608 Defl:N 3830638 54% 12-11-02 19:56 74bba7c6 2k4-c5.rom 8388608 Defl:N 3418271 59% 11-23-04 17:05 fa705b2b 2k4-c7.rom 8388608 Defl:N 2480524 70% 11-23-04 17:25 2c912ff9 2k4-c8.rom 131072 Defl:N 51935 60% 11-23-04 17:22 5a47d9ad 2k4-m1.rom 1048576 Defl:N 368791 65% 11-23-04 17:05 5f482757 2k4-p1.rom 131072 Defl:N 18050 86% 11-23-04 17:22 a3c9b2d8 2k4-s1.rom 4194304 Defl:N 3497325 17% 11-23-04 17:08 8991f6e9 2k4-v1.rom 4194304 Defl:N 3564763 15% 11-23-04 17:08 511e4d2f 2k4-v2.rom 4194304 Defl:N 3515174 16% 11-23-04 17:08 1dd8b53a 2k4-v3.rom 8388608 Defl:N 2517424 70% 12-11-02 19:57 e20d2216 2k4-c6.rom 8388608 Defl:N 2840175 66% 10-23-02 20:00 efe6a468 2k4-c4.rom 4194304 Defl:N 1669326 60% 11-23-04 17:32 698679a7 2k4-p2.rom 1048576 Defl:N 369886 65% 01-07-05 02:33 388c5cba 2k4s-p1.bin 131072 Defl:N 17651 87% 01-07-05 02:48 348686dd 2k4s-s1.bin i did find a few drivers online but i'm getting scrambled graphics and think that i didn't corvert themproperly to the old driver format or maybe i need something in machine/neogeo.c like cthd and such thanks in advance!!!
Robert Posted November 1, 2005 Posted November 1, 2005 I think the kof2k4 driver might possibly be here http://www.1emulation.com/forums/index.php?showtopic=10562 The other one I have no idea.
James Posted November 1, 2005 Posted November 1, 2005 ROM_START( kf2k4spe ) ROM_REGION( 0x500000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "k2k4s-p2.bin", 0x000000, 0x080000, CRC(21a84084) SHA1(973e8a0bffa0e1f055803f663f81a8e03701802d) ) ROM_LOAD16_WORD_SWAP( "k2k4s-p3.bin", 0x080000, 0x080000, CRC(febb484e) SHA1(4b1838795b84f22d578ad043641df0a7bf7d9774) ) ROM_LOAD16_WORD_SWAP( "k2k4s-p1.bin", 0x100000, 0x400000, CRC(e6c50566) SHA1(cc6a3489a3bfeb4dcc65b6ddae0030f7e66fbabe) ) NEO_SFIX_128K( "k2k4s-s1.bin", CRC(a3c9b2d8) SHA1(1472d2cbd7bb73e84824ecf773924007e6117e77) ) NEO_BIOS_SOUND_128K( "k2k4s-m1.bin", CRC(60ba7947) SHA1(061141463fe59c5e0d4cf81d28a09b0b5d9c1566) ) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "k2k4s-v2.bin", 0x000000, 0x800000, CRC(e4ddfb3f) SHA1(eb8220ab01c16cf9244b7f3f9912bec0db561b85) ) ROM_LOAD( "k2k4s-v1.bin", 0x800000, 0x800000, CRC(b887d287) SHA1(f593a5722df6f6fac023d189a739a117e976bb2f) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "k2k4s-c4.bin", 0x0000000, 0x800000, CRC(7a050288) SHA1(55a20c5b01e11a859f096af3f8e09986025d288f) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c8.bin", 0x0000001, 0x800000, CRC(e924afcf) SHA1(651e974f7339d2cdcfa58c5398013197a0525b77) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "k2k4s-c3.bin", 0x1000000, 0x800000, CRC(959fad0b) SHA1(63ab83ddc5f688dc8165a7ff8d262df3fcd942a2) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c7.bin", 0x1000001, 0x800000, CRC(efe6a468) SHA1(2a414285e48aa948b5b0d4a9333bab083b5fb853) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "k2k4s-c2.bin", 0x2000000, 0x800000, CRC(74bba7c6) SHA1(e01adc7a4633bc0951b9b4f09abc07d728e9a2d9) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c6.bin", 0x2000001, 0x800000, CRC(e20d2216) SHA1(5d28eea7b581e780b78f391a8179f1678ee0d9a5) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "k2k4s-c1.bin", 0x3000000, 0x800000, CRC(fa705b2b) SHA1(f314c66876589601806352484dd8e45bc41be692) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c5.bin", 0x3000001, 0x800000, CRC(2c912ff9) SHA1(b624a625ea3e221808b7ea43fb0b1a51d8c1853e) ) /* Plane 2,3 */ ROM_END DRIVER_INIT( kf2k4spe ) { int i; UINT8 *src = memory_region(REGION_CPU1)+0x100000; UINT8 *dst = malloc(0x400000); unsigned int sec[] = {0x300000,0x200000,0x100000,0x000000}; if (dst) { memcpy(dst,src,0x400000); for (i = 0; i < 4; ++i) { memcpy(src+i*0x100000,dst+sec[i],0x100000); } free(dst); } init_neogeo(); } GAMEB( 2004, kf2k4spe, kof2002, neogeo, raster, neogeo, kf2k4spe, ROT0, "Eolith / Playmore Corporation", "The King of Fighters 2004 Special Edition (Hack)", 0 )
tiger1020x Posted November 3, 2005 Author Posted November 3, 2005 ROM_START( kf2k4spe ) ROM_REGION( 0x500000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "k2k4s-p2.bin", 0x000000, 0x080000, CRC(21a84084) SHA1(973e8a0bffa0e1f055803f663f81a8e03701802d) ) ROM_LOAD16_WORD_SWAP( "k2k4s-p3.bin", 0x080000, 0x080000, CRC(febb484e) SHA1(4b1838795b84f22d578ad043641df0a7bf7d9774) ) ROM_LOAD16_WORD_SWAP( "k2k4s-p1.bin", 0x100000, 0x400000, CRC(e6c50566) SHA1(cc6a3489a3bfeb4dcc65b6ddae0030f7e66fbabe) ) NEO_SFIX_128K( "k2k4s-s1.bin", CRC(a3c9b2d8) SHA1(1472d2cbd7bb73e84824ecf773924007e6117e77) ) NEO_BIOS_SOUND_128K( "k2k4s-m1.bin", CRC(60ba7947) SHA1(061141463fe59c5e0d4cf81d28a09b0b5d9c1566) ) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "k2k4s-v2.bin", 0x000000, 0x800000, CRC(e4ddfb3f) SHA1(eb8220ab01c16cf9244b7f3f9912bec0db561b85) ) ROM_LOAD( "k2k4s-v1.bin", 0x800000, 0x800000, CRC(b887d287) SHA1(f593a5722df6f6fac023d189a739a117e976bb2f) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "k2k4s-c4.bin", 0x0000000, 0x800000, CRC(7a050288) SHA1(55a20c5b01e11a859f096af3f8e09986025d288f) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c8.bin", 0x0000001, 0x800000, CRC(e924afcf) SHA1(651e974f7339d2cdcfa58c5398013197a0525b77) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "k2k4s-c3.bin", 0x1000000, 0x800000, CRC(959fad0b) SHA1(63ab83ddc5f688dc8165a7ff8d262df3fcd942a2) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c7.bin", 0x1000001, 0x800000, CRC(efe6a468) SHA1(2a414285e48aa948b5b0d4a9333bab083b5fb853) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "k2k4s-c2.bin", 0x2000000, 0x800000, CRC(74bba7c6) SHA1(e01adc7a4633bc0951b9b4f09abc07d728e9a2d9) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c6.bin", 0x2000001, 0x800000, CRC(e20d2216) SHA1(5d28eea7b581e780b78f391a8179f1678ee0d9a5) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "k2k4s-c1.bin", 0x3000000, 0x800000, CRC(fa705b2b) SHA1(f314c66876589601806352484dd8e45bc41be692) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "k2k4s-c5.bin", 0x3000001, 0x800000, CRC(2c912ff9) SHA1(b624a625ea3e221808b7ea43fb0b1a51d8c1853e) ) /* Plane 2,3 */ ROM_END DRIVER_INIT( kf2k4spe ) { int i; UINT8 *src = memory_region(REGION_CPU1)+0x100000; UINT8 *dst = malloc(0x400000); unsigned int sec[] = {0x300000,0x200000,0x100000,0x000000}; if (dst) { memcpy(dst,src,0x400000); for (i = 0; i < 4; ++i) { memcpy(src+i*0x100000,dst+sec[i],0x100000); } free(dst); } init_neogeo(); } GAMEB( 2004, kf2k4spe, kof2002, neogeo, raster, neogeo, kf2k4spe, ROT0, "Eolith / Playmore Corporation", "The King of Fighters 2004 Special Edition (Hack)", 0 )<{POST_SNAPBACK}> thanks james !! however i have a bad p2 i believe i know how bad a p1 can cause a disturbance in the force but can a p2 do it as well (garbled graphics) wasn't there a kof2002 > kof2k4se patch floating around? also do you have a matrimbl driver (kawaks dev version)? thanks again james
James Posted November 3, 2005 Posted November 3, 2005 ROM_START( matrimbl ) /* Bootleg */ ROM_REGION( 0x500000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "266-p1.bin", 0x000000, 0x100000, CRC(5d4c2dc7) SHA1(8d723b0d28ec344eef26009b361a2b97d300dd51) ) ROM_LOAD16_WORD_SWAP( "266-p2.bin", 0x100000, 0x400000, CRC(a14b1906) SHA1(1daa14d73512f760ef569b06f9facb279437d1db) ) ROM_REGION( 0x80000, 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( "266-m1b.bin", CRC(3ea96ab1) SHA1(e5053c4312f658faed2a34e38325a22ef792d384) ) ROM_REGION( 0X1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* byte swapped */ ROM_LOAD( "266b-v1d.bin", 0x000000, 0x400000, CRC(352b0a07) SHA1(19f7cc12f3f6d0fda9c7449816c4c32367447897) ) ROM_LOAD16_WORD_SWAP( "266b-v2d.bin", 0x400000, 0x400000, CRC(1e9bd59e) SHA1(0f754e780d0ebb815a92a45ad55f85f6d0181b70) ) ROM_LOAD( "266b-v3d.bin", 0x800000, 0x400000, CRC(e8362fcc) SHA1(42d558fd80cabe22a1c09a1fa75741afbcf46b7c) ) ROM_LOAD16_WORD_SWAP( "266b-v4d.bin", 0xc00000, 0x400000, CRC(c8c79b19) SHA1(9c7a5e694d68f37a27209e1400b60b6241a04cc7) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) /* Scrambled GFX */ ROM_LOAD16_BYTE( "266-c1b.bin", 0x0000000, 0x800000, CRC(a5595656) SHA1(d86281607f22e4f2001047eaeeda99cd673c508c) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c2b.bin", 0x0000001, 0x800000, CRC(c5f7c300) SHA1(9ff5ffb750bd2e925667d84389192f92183e8677) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "266-c3b.bin", 0x1000000, 0x800000, CRC(574efd7d) SHA1(6cac303db705fe2800701ee51de9e9fca04e6e66) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c4b.bin", 0x1000001, 0x800000, CRC(109d54d9) SHA1(22cb748b3b14317b90d9d9951297ada2bfc3a3f1) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "266-c5b.bin", 0x2000000, 0x800000, CRC(15c9e882) SHA1(1c9f1ccaed4fdd9d8f5cc9b6fcaca3c4e328e59e) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c6b.bin", 0x2000001, 0x800000, CRC(77497b97) SHA1(c6481bea5a36f8210971fdcb4bfbe7ed93c769de) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "266-c7b.bin", 0x3000000, 0x800000, CRC(ab481bb6) SHA1(6b2d97c5505eeb28e300b075f37f0d69ef44463a) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c8b.bin", 0x3000001, 0x800000, CRC(906cf267) SHA1(b0f2cf8887794d715f208751ddd1ed26b2c3ffdf) ) /* Plane 2,3 */ ROM_END /* descrambling information from razoola */ static void matrimbl_neogeo_gfx_address_fix_do(int start, int end, int bit3shift, int bit2shift, int bit1shift, int bit0shift) { int i,j; int tilesize=128; UINT8* rom = (UINT8*)malloc(16*tilesize); // 16 tiles buffer UINT8* realrom = memory_region(REGION_GFX3) + start*tilesize; for (i = 0; i < (end-start)/16; i++) { for (j = 0; j < 16; j++) { int offset = (((j&1)>>0)<<bit0shift) +(((j&2)>>1)<<bit1shift) +(((j&4)>>2)<<bit2shift) +(((j&8)>>3)<<bit3shift); memcpy(rom+j*tilesize, realrom+offset*tilesize, tilesize); } memcpy(realrom,rom,tilesize*16); realrom+=16*tilesize; } free(rom); } static void matrimbl_neogeo_gfx_address_fix(int start, int end) { matrimbl_neogeo_gfx_address_fix_do(start+512*0, end+512*0, 0,3,2,1); matrimbl_neogeo_gfx_address_fix_do(start+512*1, end+512*1, 1,0,3,2); matrimbl_neogeo_gfx_address_fix_do(start+512*2, end+512*2, 2,1,0,3); // skip 3 & 4 matrimbl_neogeo_gfx_address_fix_do(start+512*5, end+512*5, 0,1,2,3); matrimbl_neogeo_gfx_address_fix_do(start+512*6, end+512*6, 0,1,2,3); matrimbl_neogeo_gfx_address_fix_do(start+512*7, end+512*7, 0,2,3,1); } static void matrimbl_c(int pow) { int i; for (i=0; i<=192; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=200; i<=392; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=400; i<=592; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=600; i<=792; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=800; i<=992; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=1000; i<=1016; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); } #define MATRIMBLFIX(i) (i^(BITSWAP8(i&0x3,4,3,1,2,0,7,6,5)<<8)) DRIVER_INIT( matrimbl ) { UINT8 *src = memory_region(REGION_CPU1)+0x100000; UINT8 *dst = malloc(0x400000); int i; int j=0; int tx_size = memory_region_length(REGION_GFX1); int rom_size = memory_region_length(REGION_GFX3); unsigned int sec[]={0x100000,0x280000,0x300000,0x180000,0x000000,0x380000,0x200000,0x080000}; if (dst){ memcpy(dst,src,0x400000); for(i=0;i<8;++i){ memcpy(src+i*0x80000,dst+sec[i],0x80000); } free(dst); } matrimbl_c(0); src = memory_region(REGION_GFX3)+rom_size-tx_size; 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)]; neogeo_fix_bank_type = 2; src = memory_region(REGION_CPU2)+0x10000; dst = (UINT8*)malloc(0x20000); memcpy(dst,src,0x20000); for(i=0x00000;i<0x20000;i++){ if (i&0x10000){ if (i&0x800){ j=MATRIMBLFIX(i); j=j^0x10000; }else{ j=MATRIMBLFIX((i^0x01)); } }else{ if (i&0x800){ j=MATRIMBLFIX((i^0x01)); j=j^0x10000; }else{ j=MATRIMBLFIX(i); } } src[j]=dst[i]; } free(dst); memcpy(src-0x10000,src,0x10000); init_neogeo(); } GAMEB( 2002, matrimbl, matrim, neogeo, raster, neogeo, matrimbl, ROT0, "Bootleg", "Matrimelee (Bootleg)", 0 ) Then in Machine\neogeo.c after static void neogeo_custom_memory(void)if (!strcmp(Machine->gamedrv->name,"matrim") || !strcmp(Machine->gamedrv->name,"matrimd") || !strcmp(Machine->gamedrv->name,"matrimbl")) { /* the game hangs after a while without this patch */ UINT16 *mem16 = (UINT16 *)memory_region(REGION_CPU1); mem16[0x310 >> 1] = 0x4e71; mem16[0x318 >> 1] = 0x4e71; /* Patch out loop to disable console mode */ mem16[0x1050 >> 1] = 0x4e75; }
tiger1020x Posted November 6, 2005 Author Posted November 6, 2005 ROM_START( matrimbl ) /* Bootleg */ ROM_REGION( 0x500000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "266-p1.bin", 0x000000, 0x100000, CRC(5d4c2dc7) SHA1(8d723b0d28ec344eef26009b361a2b97d300dd51) ) ROM_LOAD16_WORD_SWAP( "266-p2.bin", 0x100000, 0x400000, CRC(a14b1906) SHA1(1daa14d73512f760ef569b06f9facb279437d1db) ) ROM_REGION( 0x80000, 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( "266-m1b.bin", CRC(3ea96ab1) SHA1(e5053c4312f658faed2a34e38325a22ef792d384) ) ROM_REGION( 0X1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* byte swapped */ ROM_LOAD( "266b-v1d.bin", 0x000000, 0x400000, CRC(352b0a07) SHA1(19f7cc12f3f6d0fda9c7449816c4c32367447897) ) ROM_LOAD16_WORD_SWAP( "266b-v2d.bin", 0x400000, 0x400000, CRC(1e9bd59e) SHA1(0f754e780d0ebb815a92a45ad55f85f6d0181b70) ) ROM_LOAD( "266b-v3d.bin", 0x800000, 0x400000, CRC(e8362fcc) SHA1(42d558fd80cabe22a1c09a1fa75741afbcf46b7c) ) ROM_LOAD16_WORD_SWAP( "266b-v4d.bin", 0xc00000, 0x400000, CRC(c8c79b19) SHA1(9c7a5e694d68f37a27209e1400b60b6241a04cc7) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) /* Scrambled GFX */ ROM_LOAD16_BYTE( "266-c1b.bin", 0x0000000, 0x800000, CRC(a5595656) SHA1(d86281607f22e4f2001047eaeeda99cd673c508c) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c2b.bin", 0x0000001, 0x800000, CRC(c5f7c300) SHA1(9ff5ffb750bd2e925667d84389192f92183e8677) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "266-c3b.bin", 0x1000000, 0x800000, CRC(574efd7d) SHA1(6cac303db705fe2800701ee51de9e9fca04e6e66) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c4b.bin", 0x1000001, 0x800000, CRC(109d54d9) SHA1(22cb748b3b14317b90d9d9951297ada2bfc3a3f1) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "266-c5b.bin", 0x2000000, 0x800000, CRC(15c9e882) SHA1(1c9f1ccaed4fdd9d8f5cc9b6fcaca3c4e328e59e) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c6b.bin", 0x2000001, 0x800000, CRC(77497b97) SHA1(c6481bea5a36f8210971fdcb4bfbe7ed93c769de) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "266-c7b.bin", 0x3000000, 0x800000, CRC(ab481bb6) SHA1(6b2d97c5505eeb28e300b075f37f0d69ef44463a) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "266-c8b.bin", 0x3000001, 0x800000, CRC(906cf267) SHA1(b0f2cf8887794d715f208751ddd1ed26b2c3ffdf) ) /* Plane 2,3 */ ROM_END /* descrambling information from razoola */ static void matrimbl_neogeo_gfx_address_fix_do(int start, int end, int bit3shift, int bit2shift, int bit1shift, int bit0shift) { int i,j; int tilesize=128; UINT8* rom = (UINT8*)malloc(16*tilesize); // 16 tiles buffer UINT8* realrom = memory_region(REGION_GFX3) + start*tilesize; for (i = 0; i < (end-start)/16; i++) { for (j = 0; j < 16; j++) { int offset = (((j&1)>>0)<<bit0shift) +(((j&2)>>1)<<bit1shift) +(((j&4)>>2)<<bit2shift) +(((j&8)>>3)<<bit3shift); memcpy(rom+j*tilesize, realrom+offset*tilesize, tilesize); } memcpy(realrom,rom,tilesize*16); realrom+=16*tilesize; } free(rom); } static void matrimbl_neogeo_gfx_address_fix(int start, int end) { matrimbl_neogeo_gfx_address_fix_do(start+512*0, end+512*0, 0,3,2,1); matrimbl_neogeo_gfx_address_fix_do(start+512*1, end+512*1, 1,0,3,2); matrimbl_neogeo_gfx_address_fix_do(start+512*2, end+512*2, 2,1,0,3); // skip 3 & 4 matrimbl_neogeo_gfx_address_fix_do(start+512*5, end+512*5, 0,1,2,3); matrimbl_neogeo_gfx_address_fix_do(start+512*6, end+512*6, 0,1,2,3); matrimbl_neogeo_gfx_address_fix_do(start+512*7, end+512*7, 0,2,3,1); } static void matrimbl_c(int pow) { int i; for (i=0; i<=192; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=200; i<=392; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=400; i<=592; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=600; i<=792; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=800; i<=992; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); for (i=1000; i<=1016; i+=8) matrimbl_neogeo_gfx_address_fix(i*512,i*512+512); } #define MATRIMBLFIX(i) (i^(BITSWAP8(i&0x3,4,3,1,2,0,7,6,5)<<8)) DRIVER_INIT( matrimbl ) { UINT8 *src = memory_region(REGION_CPU1)+0x100000; UINT8 *dst = malloc(0x400000); int i; int j=0; int tx_size = memory_region_length(REGION_GFX1); int rom_size = memory_region_length(REGION_GFX3); unsigned int sec[]={0x100000,0x280000,0x300000,0x180000,0x000000,0x380000,0x200000,0x080000}; if (dst){ memcpy(dst,src,0x400000); for(i=0;i<8;++i){ memcpy(src+i*0x80000,dst+sec[i],0x80000); } free(dst); } matrimbl_c(0); src = memory_region(REGION_GFX3)+rom_size-tx_size; 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)]; neogeo_fix_bank_type = 2; src = memory_region(REGION_CPU2)+0x10000; dst = (UINT8*)malloc(0x20000); memcpy(dst,src,0x20000); for(i=0x00000;i<0x20000;i++){ if (i&0x10000){ if (i&0x800){ j=MATRIMBLFIX(i); j=j^0x10000; }else{ j=MATRIMBLFIX((i^0x01)); } }else{ if (i&0x800){ j=MATRIMBLFIX((i^0x01)); j=j^0x10000; }else{ j=MATRIMBLFIX(i); } } src[j]=dst[i]; } free(dst); memcpy(src-0x10000,src,0x10000); init_neogeo(); } GAMEB( 2002, matrimbl, matrim, neogeo, raster, neogeo, matrimbl, ROT0, "Bootleg", "Matrimelee (Bootleg)", 0 ) Then in Machine\neogeo.c after static void neogeo_custom_memory(void)if (!strcmp(Machine->gamedrv->name,"matrim") || !strcmp(Machine->gamedrv->name,"matrimd") || !strcmp(Machine->gamedrv->name,"matrimbl")) { /* the game hangs after a while without this patch */ UINT16 *mem16 = (UINT16 *)memory_region(REGION_CPU1); mem16[0x310 >> 1] = 0x4e71; mem16[0x318 >> 1] = 0x4e71; /* Patch out loop to disable console mode */ mem16[0x1050 >> 1] = 0x4e75; }<{POST_SNAPBACK}> hi James i got them working and a few more.. here goes in /src/drivers/neogeo.cROM_START( kof2k4esd ) ROM_REGION( 0x500000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "2k4-p1.bin", 0x000000, 0x100000, CRC(5f482757)) ROM_LOAD16_WORD_SWAP( "2k-p2.bin", 0x100000, 0x400000, CRC(698679a7) ) NEO_SFIX_128K( "2k4s-s1.bin", CRC(348686dd)) NEO_BIOS_SOUND_128K( "2k4-m1.bin", CRC(5a47d9ad) SHA1(0197737934653acc6c97221660d789e9914f3578)) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "2k4-v1.bin", 0x000000, 0x400000, CRC(8991f6e9) SHA1(ce5afc0169c142d7f98111afbc60b3a9a2e17256)) ROM_LOAD( "2k4-v2.bin", 0x400000, 0x400000, CRC(511e4d2f) SHA1(28190ec86ac2169ab6fad80635ed13cfcf430c65)) ROM_LOAD( "2k4-v3.bin", 0x800000, 0x400000, CRC(1dd8b53a) SHA1(9aa84f145ba07f5f3c3b3fb682eb8a8ab1500b4c)) ROM_LOAD( "2k4-v4.bin", 0xc00000, 0x400000, CRC(63bb5462) SHA1(afc6a085e25bd006f26e16beda4244bc8bc19bb8)) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "2k4-c1.bin", 0x0000000, 0x800000, CRC(7a050288) SHA1(55a20c5b01e11a859f096af3f8e09986025d288f)) ROM_LOAD16_BYTE( "2k4-c2.bin", 0x0000001, 0x800000, CRC(e924afcf) SHA1(651e974f7339d2cdcfa58c5398013197a0525b77)) ROM_LOAD16_BYTE( "2k4-c3.bin", 0x1000000, 0x800000, CRC(959fad0b) SHA1(63ab83ddc5f688dc8165a7ff8d262df3fcd942a2)) ROM_LOAD16_BYTE( "2k4-c4.bin", 0x1000001, 0x800000, CRC(efe6a468) SHA1(2a414285e48aa948b5b0d4a9333bab083b5fb853)) ROM_LOAD16_BYTE( "2k4-c5.bin", 0x2000000, 0x800000, CRC(74bba7c6) SHA1(e01adc7a4633bc0951b9b4f09abc07d728e9a2d9)) ROM_LOAD16_BYTE( "2k4-c6.bin", 0x2000001, 0x800000, CRC(e20d2216) SHA1(5d28eea7b581e780b78f391a8179f1678ee0d9a5)) ROM_LOAD16_BYTE( "2k4-c7.bin", 0x3000000, 0x800000, CRC(fa705b2b) SHA1(f314c66876589601806352484dd8e45bc41be692)) ROM_LOAD16_BYTE( "2k4-c8.bin", 0x3000001, 0x800000, CRC(2c912ff9) SHA1(b624a625ea3e221808b7ea43fb0b1a51d8c1853e))ROM_END in the end of src/drivers/neogeo.cGAMEB( 2004, kof2k4esd, kof2002, neogeo, neogeo, neogeo, neogeo, ROT0, "Bootleg", "The King of Fighters 2004 Special Edition Decrypted" as far as kof 2001 remix pro (and a worthwhile hack)working with.................. ROM_START( kof2k1rp ) ROM_REGION( 0x500000, REGION_CPU1, 0 ) ROM_LOAD16_WORD_SWAP( "kof2k1rp_p1.rom", 0x000000, 0x100000, CRC(e9e42e55) ) ROM_LOAD16_WORD_SWAP( "kof2k1rp_p2.rom", 0x100000, 0x400000, CRC(91668d86) ) NEO_SFIX_128K( "kof2k1rp_s1.rom", CRC(492f5efe) ) NEO_BIOS_SOUND_128K( "kof2k1rp_m1.rom", CRC(56a9067f) ) ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY ) ROM_LOAD( "kof2k1rp_v1.rom", 0x000000, 0x400000, CRC(83d49ecf) ) ROM_LOAD( "kof2k1rp_v2.rom", 0x400000, 0x400000, CRC(003f1843) ) ROM_LOAD( "kof2k1rp_v3.rom", 0x800000, 0x400000, CRC(2ae38dbe) ) ROM_LOAD( "kof2k1rp_v4.rom", 0xc00000, 0x400000, CRC(26ec4dd9) ) NO_DELTAT_REGION ROM_REGION( 0x4000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "kof2k1rp_c1.rom", 0x0000000, 0x800000, CRC(f298b87b) ) /* plane 0,1 */ ROM_LOAD16_BYTE( "kof2k1rp_c2.rom", 0x0000001, 0x800000, CRC(f9d05d99) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "kof2k1rp_c3.rom", 0x1000000, 0x800000, CRC(4c7ec427) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "kof2k1rp_c4.rom", 0x1000001, 0x800000, CRC(1d237aa6) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "kof2k1rp_c5.rom", 0x2000000, 0x800000, CRC(c2256db5) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "kof2k1rp_c6.rom", 0x2000001, 0x800000, CRC(8d6565a9) ) /* Plane 2,3 */ ROM_LOAD16_BYTE( "kof2krp_c7.rom", 0x3000000, 0x800000, CRC(ef682ed2) ) /* Plane 0,1 */ ROM_LOAD16_BYTE( "kof2k1rp_c8.rom", 0x3000001, 0x800000, CRC(954d0e16) ) /* Plane 2,3 */ROM_END and in the end of src/driver/neogeo.c GAMEB( 2001, kof2k1rp, kof2001, neogeo, neogeo, neogeo, neogeo, ROT0, "Eolith /SNK ", "The King of Fighters 2001 Remix Pro" ) kof2k1rp is well worth grabbing might i mention extra moves and blue lifebars.. anyone thats enuff of an "snkmaniak" can find them on the 'netthanks again bro i've been a fan sice the westnet/kula days.... keep up the good work..and many thanks for your drivers and help!!!!!
James Posted November 6, 2005 Posted November 6, 2005 thanks again bro i've been a fan sice the westnet/kula days.... keep up the good work..and many thanks for your drivers and help!!!!!<{POST_SNAPBACK}> its still there But is at http://www.iinet.net.au/ now
James Posted November 6, 2005 Posted November 6, 2005 Link doesn't work.<{POST_SNAPBACK}> Its not meant too.
tiger1020x Posted November 8, 2005 Author Posted November 8, 2005 sorry to keep bugging you james hopefully i'll stop after this.. but i was wondering if you had a kof2003 ultra plus driver for the encypted set.. this one.. Length Method Size Ratio Date Time CRC-32 Name-------- ------ ------- ----- ---- ---- ------ ---- 8388608 Defl:N 1979454 76% 11-06-05 09:44 87294c01 271-p1up.bin 131072 Defl:N 15111 89% 11-06-05 09:37 e5708c0c 271-s1up.bin and i can't find a patch to get the decrypted set.. it was a total nightmare patching it with windows tools in a unix system..grrrri did attempt to use other kof2003 driver types but oddly i'm getting a blue and yellow screen with no crash or restart or even any garbage... some weird form of protection ? who knows and off the record are the "SHA" 's simply md5sums?
James Posted November 8, 2005 Posted November 8, 2005 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.cIgnore 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); }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now