-
Posts
2,311 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Events
Forums
Blogs
Downloads
Everything posted by iq_132
-
Xbins of course
-
I'm Dutch...
-
I think the kf2k3pcb cx decrypt came from Razoola & Halrin. Actually, it was something I put together and sent Haze It used code from Raz's cx decrypt and Halrin's svc cx decrypt. If you look at how the Cx are loaded it's also changed.
-
Well, the kf2k3pcb cx decrypt is one (I don't know where that code came from lol) Also, the kof2003 bootlegs were fixed up, and proper sram emulation.
-
Yeah, ZeZu is just that way (no offense), there's no need to take what he says to heart.
-
I'd suggest syncing up all of the roms except the M roms. Use what johnboy's dats suggest for those.
-
Also, IIRC, they correctly emulated the sound processor.
-
kof2k3up fix: change your kof2002b_px_decrypt code to this: static void kof2003b_px_decrypt() { /* Descrambling Px by X-or */ unsigned char* src = Neo68KROM; unsigned char* dst = (unsigned char*)malloc(0x800000); unsigned int sec[]= {0x700000, 0x000000, 0x100000, 0x200000, 0x300000, 0x400000, 0x500000, 0x600000}; if (dst) { memcpy(dst, src, 0x800000); for(int i = 0; i < 8; ++i) { memcpy(src + i * 0x100000, dst + sec[i], 0x100000); } free(dst); } } And use this for your kof2k3up decrypt static void kof2k3upDecrypt() { kof2003b_px_decrypt(); unsigned char *src = Neo68KROM + 0xfe000; unsigned char *dst = Neo68KROM + 0xd0610; for( int i = 0; i < 0x2000 / 2; i++ ) { int ofst = (i & 0xff00) + BITSWAP08( (i & 0x00ff), 7, 6, 0, 4, 3, 2, 1, 5 ); memcpy( &src[ i * 2 ], &dst[ ofst * 2 ], 2 ); } }
-
// King Of Fighters 2002, The (bootleg) static struct BurnRomInfo kof2002bRomDesc[] = { { "265-p1.bin", 0x100000, 0x9EDE7323, 1 | BRF_ESS | BRF_PRG }, // 0 68K code { "265-p2b.bin", 0x400000, 0x6DBEE4DF, 1 | BRF_ESS | BRF_PRG }, // 1 // { "2k2-s1b.bin", 0x020000, 0x2255F5BF, 2 | BRF_GRA }, // 2 Text data { "2k2-c1b.bin", 0x800000, 0xF25D3D66, 3 | BRF_GRA }, // 3 Sprite data { "2k2-c2b.bin", 0x800000, 0xE3E66F1D, 3 | BRF_GRA }, // 4 { "2k2-c3b.bin", 0x800000, 0x8732FA30, 3 | BRF_GRA }, // 5 { "2k2-c4b.bin", 0x800000, 0x0989FD40, 3 | BRF_GRA }, // 6 { "2k2-c5b.bin", 0x800000, 0x60635CD2, 3 | BRF_GRA }, // 7 { "2k2-c6b.bin", 0x800000, 0xBD736824, 3 | BRF_GRA }, // 8 { "2k2-c7b.bin", 0x800000, 0x2DA8D8CF, 3 | BRF_GRA }, // 9 { "2k2-c8b.bin", 0x800000, 0x2048404A, 3 | BRF_GRA }, // 10 { "265-m1_decrypted.bin", 0x020000, 0x1c661a4b, 4 | BRF_ESS | BRF_PRG }, // 11 Z80 code { "265-v1.bin", 0x800000, 0x15E8F3F5, 5 | BRF_SND }, // 16 { "265-v2.bin", 0x800000, 0xDA41D6F9, 5 | BRF_SND }, // 17 }; STDROMPICKEXT(kof2002b, kof2002b, neogeo); STD_ROM_FN(kof2002b); static int kof2002bInit() { int nRet; nPCM2=true; pNeoInitCallback = PCM2DecryptP; nRet = NeoInit(); if (nRet == 0) { PCM2DecryptVInfo Info = { 0x0A5000, 0x000000, { 0xF9, 0xE0, 0x5D, 0xF3, 0xEA, 0x92, 0xBE, 0xEF } }; PCM2DecryptV(&Info); } InitSpritePaging(PAGEFILE, nPCM2spritesize, 256*1024, 76); InitPageAndFrameTables(); NeoInitSprites(); return nRet; } struct BurnDriver BurnDrvkof2002b = { "kof2002b", "kof2002", "neogeo", "2002", "King of Fighters 2002, The - Challenge to Ultimate Battle (bootleg)\0", "needs decrypted C ROMs for now", "Eolith / Playmore Corporation", "Neo-Geo", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_BOOTLEG, 2, HARDWARE_SNK_NEOGEO, NULL, kof2002bRomInfo, kof2002bRomName, neogeoInputInfo, neogeoDIPInfo, kof2002bInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, nNeoScreenWidth, 224, 4, 3 }; Put this in neo_decrypt.cpp void kof2002b_gfx_decrypt(unsigned char* src, int size) { int t[8][10] = { { 0, 8, 7, 3, 4, 5, 6, 2, 1 }, { 1, 0, 8, 4, 5, 3, 7, 6, 2 }, { 2, 1, 0, 3, 4, 5, 8, 7, 6 }, { 6, 2, 1, 5, 3, 4, 0, 8, 7 }, { 7, 6, 2, 5, 3, 4, 1, 0, 8 }, { 0, 1, 2, 3, 4, 5, 6, 7, 8 }, { 2, 1, 0, 4, 5, 3, 6, 7, 8 }, { 8, 0, 7, 3, 4, 5, 6, 2, 1 }, }; unsigned char* dst = (unsigned char*)malloc(0x10000); for (int i = 0; i < size; i+=0x10000) { memcpy(dst, src+i,0x10000); for (int j = 0; j < 0x200; j++) { int *n = t[(j % 0x40) / 8]; int ofst = BITSWAP16(j, 15, 14, 13, 12, 11, 10, 9, n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7], n[8]); memcpy(src+i+ofst*128, dst+j*128, 128); } } free(dst); } neogeo.h extern void kof2002b_gfx_decrypt(unsigned char* src, int size); neogeo.cpp after the cx decrypt code for svcboot if (!strcmp(BurnDrvGetTextA(DRV_NAME), "kof2002b")) { kof2002b_gfx_decrypt(SpriteBuf, (dwBytesDone - nSpriteSize)); }
-
I'll see what I can do with these tonight.
-
You can get cthd/svcboot's Cx decrypted in a similar way: add this somewhere, neo_decrypt is a good place for it... void DoPerm(int g, unsigned char *src) { unsigned int idx[2][ 0x10 ] = { {0, 1, 2, 3, 3, 4, 4, 5, 0, 1, 2, 3, 3, 4, 4, 5}, // cthd2003 {0, 1, 0, 1, 2, 3, 2, 3, 3, 4, 3, 4, 4, 5, 4, 5}, // svcboot }; unsigned int tbl[ 6 ][ 4 ] = { { 3, 0, 1, 2 }, { 2, 3, 0, 1 }, { 1, 2, 3, 0 }, { 0, 1, 2, 3 }, { 3, 2, 1, 0 }, { 3, 0, 2, 1 }, }; unsigned char dst[0x800]; for(int i = 0; i < 0x2000; i++) { for(int j = 0; j < 16; j++) { unsigned int *b = tbl[ idx[g][(i>>(5-g))&0xF] ]; int ofst = BITSWAP08(j, 7, 6, 5, 4, b[3], b[2], b[1], b[0] ); memcpy( dst + j * 0x80, src + (i * 0x800) + ofst * 0x80, 0x80 ); } memcpy (src + i * 0x800, dst, 0x800); } } Add this to neogeo.h extern void DoPerm(int g, unsigned char *src); Add this to neogeo.cpp after the code you added for kog if (!strcmp(BurnDrvText(0), "svcboot")) { DoPerm(1, SpriteBuf); } if ((!strcmp(BurnDrvText(0), "cthd2003"))||(!strcmp(BurnDrvText(0), "matrimbl"))) { DoPerm(0, SpriteBuf); }
-
+ T +, I think I may have a solution to allow you to use the scrambled Cx roms from kog and lans2004 in neogeo.cpp find this: // If the ROMs combined are 0x800000 bytes large, place swap the 0x0400000 byte blocks if (BurnDrvGetHardwareCode() & HARDWARE_SNK_SWAPC && ri.nLen == 0x400000) { // i counts 16-bit words! for (int j = 0; j < 0x200000; j++) { short n = ((short*)(SpriteBuf))[j]; ((short*)(SpriteBuf))[j] = ((short*)(SpriteBuf))[j + 0x200000]; ((short*)(SpriteBuf))[j + 0x200000] = n; } } Add this after: if ((!strcmp(BurnDrvText(0), "kog"))||(!strcmp(BurnDrvText(0), "lans2004"))) { unsigned char *tmp = (unsigned char*)malloc(0x40); int tsize = dwBytesDone - nSpriteSize; if (tmp) { for (int z = 0; z < tsize; z+=0x80) { memcpy (tmp + 0, SpriteBuf + z + 0, 0x40); memcpy (SpriteBuf + z + 0, SpriteBuf + z + 0x40, 0x40); memcpy (SpriteBuf + z + 0x40, tmp + 0, 0x40); } free (tmp); } } This definitely works for kog, I haven't tested lans2004, and it may also work with samsh5bl. BTW, do you post your source ever? I'd like to take a look at it if you do
-
Does Tekken Tag Tournament work?
iq_132 replied to garyoak99's topic in Arcade Emulators [/pc/arcade]
Nope. It has unemulated protections. -
Super Smash Brothers is another great one, All of the Mario Party games are good... I would suggest modding your cube. There are 4 chips that should fit for different budgets low end Xeno Chip // http://www.divineo.com/cgi-bin/div-us/dd-gc-xeno GC Ninja Mod // don't bother with this one Viper GC // nice chip, but small bios Qoob -- a very very nice chip Viper GC Extreme // http://www.divineo.com/cgi-bin/div-us/dd-gc-vipextr
-
I've never even heard of "Mother", what's this all about?
-
MAME32 Removes ALL 3rd Party Joystick Config's
iq_132 replied to Robert's topic in Emulator Releases [/emu]
Sounds like the MAME32 team is going to start asking for $$ to add controller configs... -
Old. I saw this years ago. They used every bit of power the saturn had, even (from what I heard) using some of the sound processor's cycles to process geometry data. It also would have taken like 10 regular cds to hold it
-
I don't get it... What is the purpose of this thing??
-
GameStop “Having Major Troubles” Says Insider
iq_132 replied to Wizard's topic in Gaming and Tech News [/gtech]
lol, fat chance. Execs will 99.9% of the time NEVER take a pay cut. Even if their companies are crashing and burning, they don't care, as long as they get their big fat paychecks. -
Check it out at: http://www.citylan.it/reip/
-
SMF a member of the MAME team has posted some screenshots of Ghoul Panic on his Blog. Visit the link below to check them out. http://smf.mameworld.info/
-
This one was compile by Haze, as usual, the.diff can be gotten at http://www.mamedev.com MAME32 0.103u2 released MAME32FX 0.103u2 released MAME Plus! 0.103u2 released
-
No links to this one, the bios contains copyrighted material.
-
See pics and the post here: http://rbelmont.mameworld.info/?p=85
-
Looks like this dumbass wanted to make "Peace" in the #1emu channel. I figured it out right away when I did a whois on him. Little does he know that proxies don't work that easily on IRC so I got his real IP address too! Here's the conversation (pretty short).. Banned on #1emu Oh and his real IP address again: 207.38.225.43 Somebody report his IP address and contact the NYPD to get his ass arrested or something.