tiger1020x Posted October 30, 2005 Share 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!!! Link to comment Share on other sites More sharing options...
Robert Posted November 1, 2005 Share 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. Link to comment Share on other sites More sharing options...
James Posted November 1, 2005 Share 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 ) Link to comment Share on other sites More sharing options...
tiger1020x Posted November 3, 2005 Author Share 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 Link to comment Share on other sites More sharing options...
James Posted November 3, 2005 Share 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; } Link to comment Share on other sites More sharing options...
tiger1020x Posted November 6, 2005 Author Share 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!!!!! Link to comment Share on other sites More sharing options...
James Posted November 6, 2005 Share 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 Link to comment Share on other sites More sharing options...
Robert Posted November 6, 2005 Share Posted November 6, 2005 Link doesn't work. Link to comment Share on other sites More sharing options...
James Posted November 6, 2005 Share Posted November 6, 2005 Link doesn't work.<{POST_SNAPBACK}> Its not meant too. Link to comment Share on other sites More sharing options...
tiger1020x Posted November 8, 2005 Author Share 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? Link to comment Share on other sites More sharing options...
James Posted November 8, 2005 Share 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); } Link to comment Share on other sites More sharing options...
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