-
Posts
12,980 -
Joined
-
Last visited
-
Days Won
364
Content Type
Profiles
Events
Forums
Blogs
Downloads
Everything posted by Robert
-
Well I finally decided to get a newish computer. It certainly outperforms the old 500mhz model. Now Zinc runs all games at 60fps instead of about 4fps. All my neogeo games run at full speed now as well. MAME32 takes I don't really know about the best video card or processor or whatever, but here are some specs (whatever they mean) Processor: intel PentiumD Dual Core 3.0ghz Motherboard: ABIT AW8-Max RAM: 4gb Case: Antec Plus View II Extreme Hard Drive: Seagate NCQ 400gb SATA Graphics: Powercolor X850XT 256mb OS: XP professional 2002 SP2 DVDROM: Lite-On 16x DVD Rewriter: LG 16x Dual Layer Dual Mode Power Supply: ATX EPS 400w TV card: Ultraview DBT-plus High Definition Card (with remote control) Sound: Creative Soundblaster Audigy 2 ZS Platinum (with remote control) Extra 80mm Blue-Light fan (and it glows in the dark when illuminated by an ultra-violet lamp) Now, it all sounds terribly impressive to me, but is it really?
-
Anti3d still runs a server, according to this - http://www.anti3d.com/servers.php
-
Only Kawaks/Nebula with loader is in asr.dat MAME doesn't have an equivalent, you need to compile MAME with your additions.
-
Happy 20th birthday to bubbawmu2 !!
-
Old news, sorry if it's been mentioned somewhere else... Source Official Microsoft List -> HERE Compatibilty Questions and Answers -> HERE
-
From Mamedev, the latest update to the King of Emulators. >> Get the DIFF HERE History.dat 1.05d -> HERE Mameinfo v0.102u2 -> HERE MAME32qa -> HERE MAMEplus! -> HERE Mame32Plus Special (no link) MAME32FX -> HERE MAME32Hp4 -> HERE
-
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
Yes. -
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
You are trying to make kof2002 a parent of kof2k2nd and making kof2k2nd a parent of kf2k2pa and kf2k2pls. You are not allowed to make parents of parents. Make kof2002 a parent of the 3 others. -
Changed "&" in title to "and", because "&" crashes RSS feed.
-
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
The one specified was 2058ec5e. You have the encrypted one which I could not find anywhere. To get it to work, you will have to add an extra line in the DRIVER_INIT section, just above the "init_neogeo()" line. My guess is the line would be: neo_pcm2_playmore_2002(5); But you'll need to add an extra subroutine just above any DRIVER_INIT's you've added. // © PLAYMORE 2002 20-09-2004 //-------- to decypt v roms ----------------- static void neo_pcm2_playmore_2002(int value) { //kof2002,matrimelee,mslug5 (pcb and mvs),samsho5,svcchaos (pcb and mvs),kof2003 (pcb and mvs),samsh5sp (mvs and aes) //offset,xor address unsigned int addrs[7][2]={ {0x000000,0xA5000}, //kof2002 {0xFFCE20,0x01000}, //matrimelee {0xFE2CF6,0x4E001}, //mslug5 {0xFEB2C0,0x0A000}, //samsho5 {0xFFAC28,0xC2000}, //svcchaos {0xFF14EA,0xA7001}, //kof2003 {0xFFB440,0x02000}, //samsh5sp }; unsigned int xordata[7][8]={ {0xF9,0xE0,0x5D,0xF3,0xEA,0x92,0xBE,0xEF}, //kof2002 {0xC4,0x83,0xA8,0x5F,0x21,0x27,0x64,0xAF}, //matrimelee {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, //mslug5 {0xCB,0x29,0x7D,0x43,0xD2,0x3A,0xC2,0xB4}, //samsho5 {0xC3,0xFD,0x81,0xAC,0x6D,0xE7,0xBF,0x9E}, //svcchaos {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, //kof2003 {0x4B,0xA4,0x63,0x46,0xF0,0x91,0xEA,0x62}, //samsh5sp }; UINT8 *src = memory_region(REGION_SOUND1); UINT8 *buf = malloc(0x1000000); int i, j, d; memcpy(buf,src,0x1000000); for (i=0;i<0x1000000;i++) { j=BITSWAP24(i,23,22,21,20,19,18,17,0,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,16); j=j^addrs[value][1]; d=((i+addrs[value][0])&0xffffff); src[j]=buf[d]^xordata[value][j&0x7]; } free(buf); } -
Source Perhaps you'd better move to Australia.
-
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
What is the CRC of the V rom that you are using? -
Yes it is possible, although because it was a work-related thing, we set up a Sandisk Mini-Cruzer usb stick to boot to Windows 98 command-line. You didn't say what OS you wanted to boot into, or for what purpose.
-
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
In what way is it bad? Does it keep repeating like an echo box, or is it all fuzzy? -
Yape emulates the Commodore Plus/4 and C16 consoles. >> Get it HERE
-
It is? LOL Congratulations, have a good day. Present for you: robbbert attacked Disoblige with a Atomic Bomb (672 str) and took off 1244! Disoblige has 0 HP left!
-
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
It's the driver I happened to find. I just had a look and I don't possess the encrypted rom anyway. So there's not much choice. -
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
Look for this one: static void neogeo_custom_memory(void) -
NeoGeo games drivers - I need help.
Robert replied to KillerBee's topic in Arcade Emulators [/pc/arcade]
Yes that driver is a bit old now. This is what I have, it's a rather complex driver. Firstly delete all the stuff you've put in from drivers\neogeo.c and machine\neogeo.c Now, this goes in drivers\neogeo.c ROM_START( kof2003 ) ROM_REGION( 0x900000, REGION_CPU1, 0 ) ROM_LOAD32_WORD_SWAP( "271-p1.bin", 0x000000, 0x400000, CRC(b9da070c) SHA1(1a26325af142a4dd221c336061761468598c4634) ) ROM_LOAD32_WORD_SWAP( "271-p2.bin", 0x000002, 0x400000, CRC(da3118c4) SHA1(582e4f44f03276adecb7b2848d3b96bf6da57f1e) ) ROM_LOAD16_WORD_SWAP( "271-p3.bin", 0x800000, 0x100000, CRC(5cefd0d2) SHA1(cddc3164629fed4b6f715e12b109ad35d1009355) ) ROM_LOAD16_WORD_SWAP( "271-p3d.bin", 0x800000, 0x100000, CRC(59d376da) SHA1(3c3ad0b79e8b37e838893a8f7b87e11d7eeee8f2) ) ROM_REGION( 0x100000, REGION_GFX1, 0 ) ROM_FILL( 0x000000, 0x100000, 0 ) ROM_REGION( 0x20000, REGION_GFX2, 0 ) ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) ) ROM_REGION16_BE( 0x40000, REGION_USER1, 0 ) ROM_LOAD16_WORD_SWAP( "271-bios.bin", 0x00000, 0x040000, CRC(c521b5bc) SHA1(c9a5db63523191dedd1b39baab8772f64f09b77f) ) ROM_REGION( 0x90000, REGION_CPU2, 0 ) ROM_LOAD( "sm1.sm1", 0x00000, 0x20000, CRC(97cf998b) SHA1(977387a7c76ef9b21d0b01fa69830e949a9a9626) ) ROM_LOAD( "271-m1d.bin", 0x00000, 0x80000, CRC(0e86af8f) SHA1(769102b67bb1a699cfa5674d66cdb46ae633cb65) ) ROM_RELOAD( 0x10000, 0x80000 ) ROM_REGION( 0x10000, REGION_GFX4, 0 ) ROM_LOAD( "000-lo.lo", 0x00000, 0x10000, CRC(e09e253c) SHA1(2b1c719531dac9bb503f22644e6e4236b91e7cfc) ) ROM_REGION( 0x1000000, REGION_SOUND1, 0 ) ROM_LOAD( "271-v1d.bin", 0x000000, 0x1000000, CRC(2058ec5e) SHA1(567fdf328f87551a949dc601f4e71c55368debf0) ) // ROM_LOAD( "271-v1.bin", 0x000000, 0x1000000, CRC(1d96154b) SHA1(1d4e262b0d30cee79a4edc83bb9706023c736668) ) ROM_REGION( 0x6000000, REGION_GFX3, 0 ) ROM_LOAD16_BYTE( "271-c1d.bin", 0x0000000, 0x1000000, CRC(c29acd28) SHA1(8a10409c5a9ad95fa9b56e94c14f1b96101fb179) ) ROM_LOAD16_BYTE( "271-c2d.bin", 0x0000001, 0x1000000, CRC(328e80b1) SHA1(c7f8069488be1a88a2ea03718b6a131f5c96bd3f) ) ROM_LOAD16_BYTE( "271-c3d.bin", 0x2000000, 0x1000000, CRC(020a11f1) SHA1(85cfae76234f72b0039ebc02f931bb2a9c10b1af) ) ROM_LOAD16_BYTE( "271-c4d.bin", 0x2000001, 0x1000000, CRC(991b5ed2) SHA1(99c4c470bc9cb388773e27de6df4a16803fc7b45) ) ROM_LOAD16_BYTE( "271-c5d.bin", 0x4000000, 0x1000000, CRC(c2de8b66) SHA1(40c2ea48fc20d470163a9dbb40c0276fc4cfceb9) ) ROM_LOAD16_BYTE( "271-c6d.bin", 0x4000001, 0x1000000, CRC(3ff750db) SHA1(714f14a2eb2df6f25d10a6b6aff4b3adfbc7a5dc) ) ROM_END //--------------------------------------------------------kof2003 static void kof2003_px_decrypt( void ) { const unsigned char xor2[ 0x20 ] = { 0xb4, 0x0f, 0x40, 0x6c, 0x38, 0x07, 0xd0, 0x3f, 0x53, 0x08, 0x80, 0xaa, 0xbe, 0x07, 0xc0, 0xfa, 0xd0, 0x08, 0x10, 0xd2, 0xf1, 0x03, 0x70, 0x7e, 0x87, 0x0B, 0x40, 0xf6, 0x2a, 0x0a, 0xe0, 0xf9 }; int i; int ofst; UINT8 *rom, *buf; rom = memory_region( REGION_CPU1 ); for( i = 0x100000; i < 0x800000; i++ ) rom[ i ] ^= xor2[ (i % 0x20) ]; for( i = 0x100000; i < 0x800000; i += 4 ) { UINT16 *rom16 = (UINT16*)&rom[ i + 1 ]; *rom16 = BITSWAP16( *rom16, 15, 14, 13, 12, 4, 5, 6, 7, 8, 9, 10, 11, 3, 2, 1, 0 ); } buf = malloc( 0x800000 ); memcpy( buf, rom, 0x800000 ); for( i = 0; i < 0x0100000 / 0x10000; i++ ) { ofst = (i & 0xf0) + BITSWAP8( (i & 0x0f), 7, 6, 5, 4, 1, 0, 3, 2 ); memcpy( &rom[ i * 0x10000 ], &buf[ ofst * 0x10000 ], 0x10000 ); } for( i = 0x100000; i < 0x800000; i += 0x100 ) { ofst = (i & 0xf000ff) + ((i & 0x000f00) ^ 0x00300) + (BITSWAP8( ((i & 0x0ff000) >> 12), 4, 5, 6, 7, 1, 0, 3, 2 ) << 12); memcpy( &rom[ i ], &buf[ ofst ], 0x100 ); } free( buf ); buf = malloc(0x900000); memcpy( buf, rom, 0x900000 ); memcpy( &rom[0x100000], &buf[0x800000], 0x100000 ); memcpy( &rom[0x200000], &buf[0x100000], 0x700000 ); free(buf); } static void kof2003_sx_decrypt( void ) { int i; int tx_size = memory_region_length( REGION_GFX1 ); int rom_size = memory_region_length( REGION_GFX3 ); UINT8 *src,*dst; src = memory_region( REGION_GFX3 ) + rom_size - 0x1000000 - 0x80000; dst = memory_region( REGION_GFX1 ); for( i = 0; i < tx_size / 2; i++ ) dst[ i ] = src[ (i & ~0x1f) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4) ]; src = memory_region( REGION_GFX3 ) + rom_size - 0x80000; dst = memory_region( REGION_GFX1 ) + 0x80000; for( i = 0; i < tx_size / 2; i++ ) dst[ i ] = src[ (i & ~0x1f) + ((i & 7) << 2) + ((~i & 8) >> 2) + ((i & 0x10) >> 4) ]; dst = memory_region( REGION_GFX1 ); for( i = 0; i < tx_size; i++ ) dst[ i ] = BITSWAP8( dst[ i ] ^ 0xd2, 4, 0, 7, 2, 5, 1, 6, 3 ); } DRIVER_INIT( kof2003 ) { kof2003_px_decrypt(); kof2003_sx_decrypt(); neogeo_fix_bank_type = 2; init_neogeo(); } GAMEB( 2003, kof2003, neogeo, neogeo, neogeo, neogeo, kof2003, ROT0, "SNK Playmore", "The King of Fighters 2003 (PCB, decrypted C)", 0 ) In machine\neogeo.c look for neogeo_custom_memory and put this just before it //----------------------------------------new bankswitch code from neosource // thanks to BMS888 and Halrin for much of this code // MAME port by IQ_132 - neosource.1emulation.com static unsigned short CartRAM[0x1000]; void pvc_w8(unsigned int offset, unsigned char data) { *(((unsigned char*)CartRAM)+offset)=data; } unsigned char pvc_r8(unsigned int offset) { return *(((unsigned char*)CartRAM)+offset); } // These perform some palette calculations // Unpack palette word to RGB dword void pvc_prot1( void ) // on writes to e0/e1 { unsigned char b1, b2; b1 = pvc_r8(0x1fe1); b2 = pvc_r8(0x1fe0); pvc_w8(0x1fe2,(((b2>>0)&0xf)<<1)|((b1>>4)&1)); pvc_w8(0x1fe3,(((b2>>4)&0xf)<<1)|((b1>>5)&1)); pvc_w8(0x1fe4,(((b1>>0)&0xf)<<1)|((b1>>6)&1)); pvc_w8(0x1fe5, (b1>>7)); } // Pack RGB dword to palette word void pvc_prot2( void ) // on writes to e8/e9/ea/eb { unsigned char b1, b2, b3, b4; b1 = pvc_r8(0x1fe9); b2 = pvc_r8(0x1fe8); b3 = pvc_r8(0x1feb); b4 = pvc_r8(0x1fea); pvc_w8(0x1fec,(b2>>1)|((b1>>1)<<4)); pvc_w8(0x1fed,(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)); *(((unsigned char *)CartRAM) + 0x1ff0) = 0xA0; *(((unsigned char *)CartRAM) + 0x1ff1) &= 0xFE; *(((unsigned char *)CartRAM) + 0x1ff3) &= 0x7F; neogeo_set_cpu1_second_bank(bankaddress+0x100000); } static READ16_HANDLER( pvc_prot_r ) { return CartRAM[ offset ]; } 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)pvc_write_bankswitch(); } still machine\neogeo.c, look in the neogeo_custom_memory routine, you will see code for various games. Add this: //-------------------------------------------------------------------------kof2003 if (!strcmp(Machine->gamedrv->name,"kof2003")) { 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, 0xc00000, 0xc3ffff, 0, 0, MRA16_BANK3 ); // 256k bios } Now, do a clean compile and it "should" work. Good luck. -
As I don't have mod rights on this forum, we will have to wait for a supermod or admin.
-
I've yet to encounter a mame version that overall goes faster than its predecessor.
-
I was wondering that myself.
-
>> Aaron Giles home page HERE