From 6643b29183e1c0109058d7b79e88d87803752d47 Mon Sep 17 00:00:00 2001 From: RobertoFresca Date: Sat, 28 Nov 2015 17:50:21 -0300 Subject: [PATCH] New machines marked as NOT_WORKING ---------------------------------- unknown animal-themed game (bottom) [Roberto Fresca, Matt B] unknown animal-themed game (top) [Roberto Fresca, Matt B] --- src/mame/arcade.lst | 2 + src/mame/drivers/goldnpkr.cpp | 138 ++++++++++++++++++++++++++++------ 2 files changed, 115 insertions(+), 25 deletions(-) diff --git a/src/mame/arcade.lst b/src/mame/arcade.lst index 768108444a3..1c8ae815509 100644 --- a/src/mame/arcade.lst +++ b/src/mame/arcade.lst @@ -11350,6 +11350,8 @@ bchanceq // 198?, Unknown pokermon // 1987, Unknown pokersis // 198?, Sisteme France. super98 // 199?, Unknown +animpkr // 198?, Unknown +animpkra // 198?, Unknown // Cal Omega diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp index 3c20e271ab5..c786e0408bd 100644 --- a/src/mame/drivers/goldnpkr.cpp +++ b/src/mame/drivers/goldnpkr.cpp @@ -4547,7 +4547,7 @@ ROM_START( potnpkrh ) ROM_LOAD( "unk_2716.8a", 0x1000, 0x0800, CRC(a138afa6) SHA1(80c6d11086f78e36dfc01c15b23e70667fcf17fc) ) /* char ROM */ /* Backplane at 5a has two bits different against the common cards gfx - Offsets 0x380 and 0x400, bit0 is set to 0 */ + Offsets 0x380 and 0x400, bit0 is set to 0 */ ROM_REGION( 0x1800, "gfx2", 0 ) ROM_LOAD( "unk_2716.4a", 0x0000, 0x0800, CRC(f2f94661) SHA1(f37f7c0dff680fd02897dae64e13e297d0fdb3e7) ) /* cards deck gfx, bitplane1 */ ROM_LOAD( "unk_2716.5a", 0x0800, 0x0800, CRC(daf38d03) SHA1(6b518494688756ad7b753fdec46b6392c4a9ebbe) ) /* cards deck gfx, bitplane2 */ @@ -10130,7 +10130,92 @@ ROM_START( super98 ) ROM_LOAD( "bipolar_prom.bin", 0x0000, 0x0100, BAD_DUMP CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) /* PROM dump needed */ ROM_END +/*------------------------------------------------------------------------- + Unknown animals themed banked game. + + It has 4 character's tiles: + A pig, a duck, a donkey, and a mouse. + Duck and mouse are very close to Disney's characters + Donald Duck and Mickey Mouse. + + The PCB has a lot of wire-hacks doing a weird banking, + and other unknown things (maybe addressing scramble). + These hacks need to be documented. + + Bottom and Top programs ROMs are soldered one over the other, and a wire + hack enable/disable each set through the CE pin. + +--------------------------------------------------------------------------- + + * First game program: + + NMI vector is OK ($29FD). + RES & IRQ/BRK vectors are pointing to 0x2EE3 and $3065 (JMP $2EE3) + $2EE3 --> JMP $FBBB (where is in middle of a routine. Not the real start) + +--------------------------------------------------------------------------- + + * Second game program: + + Expects the string '#2D' placed in offset FAh-FCh (NVRAM) + + fill FAh = 0x23 + FBh = 0x32 + FCh = 0x44 + + #2D + + ...to pass the checks at $638c: JSR $6760 + + Another odd thing: + + bp 6394 + + 639f: lda #$20 + 63a1: sta $a0 + 63a3: lda $a0 \ + 63a5: bne $63a3 / ---> loop waiting for register $a0 cleared! + +-------------------------------------------------------------------------*/ +ROM_START( animpkr ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "2732_bottom.15a", 0x2000, 0x1000, CRC(036f7639) SHA1(7d548dd71692fcde41c260a4a59ccdfa2aa5b07e) ) + ROM_LOAD( "2732_bottom.17a", 0x3000, 0x1000, CRC(92c19e72) SHA1(034d077ede5608160ba882227e981751a5dde26d) ) + + ROM_REGION( 0x1800, "gfx1", 0 ) + ROM_FILL( 0x0000, 0x1000, 0 ) /* filling the R-G bitplanes */ + ROM_LOAD( "2716.8a", 0x1000, 0x0800, CRC(21c9c7f1) SHA1(daa0eddd4f4a9eec0cff3aebe884792adf830238) ) /* char ROM */ + + ROM_REGION( 0x1800, "gfx2", 0 ) + ROM_LOAD( "2716.4a", 0x0000, 0x0800, CRC(0b7f11a2) SHA1(c5e347a377e307d12b2b2d2edf7c48be21ef5cdb) ) /* characters gfx, bitplane1 */ + ROM_LOAD( "2716.5a", 0x0800, 0x0800, CRC(0b2c3c25) SHA1(c69b15c1cea9abc437b12211bc4087d4d5baf084) ) /* characters gfx, bitplane2 */ + ROM_LOAD( "2716.7a", 0x1000, 0x0800, CRC(c48d17b0) SHA1(7c446339ab3aaa49004780fa90a3624b5a382cb1) ) /* characters gfx, bitplane3 */ + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "bprom.bin", 0x0000, 0x0100, BAD_DUMP CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) /* PROM dump needed */ +ROM_END + +ROM_START( animpkra ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "2732_top.15a", 0x2000, 0x1000, CRC(ef6b36ff) SHA1(2ca520502ce32c4327f9bcc85d5c7b6e2f22eeb5) ) + ROM_LOAD( "2732_top.17a", 0x3000, 0x1000, CRC(13fae924) SHA1(c1c92fdb6e7036e6d9349c9b017e9daf3577345b) ) + + ROM_REGION( 0x1800, "gfx1", 0 ) + ROM_FILL( 0x0000, 0x1000, 0 ) /* filling the R-G bitplanes */ + ROM_LOAD( "2716.8a", 0x1000, 0x0800, CRC(21c9c7f1) SHA1(daa0eddd4f4a9eec0cff3aebe884792adf830238) ) /* char ROM */ + + ROM_REGION( 0x1800, "gfx2", 0 ) + ROM_LOAD( "2716.4a", 0x0000, 0x0800, CRC(0b7f11a2) SHA1(c5e347a377e307d12b2b2d2edf7c48be21ef5cdb) ) /* characters gfx, bitplane1 */ + ROM_LOAD( "2716.5a", 0x0800, 0x0800, CRC(0b2c3c25) SHA1(c69b15c1cea9abc437b12211bc4087d4d5baf084) ) /* characters gfx, bitplane2 */ + ROM_LOAD( "2716.7a", 0x1000, 0x0800, CRC(c48d17b0) SHA1(7c446339ab3aaa49004780fa90a3624b5a382cb1) ) /* characters gfx, bitplane3 */ + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "bprom.bin", 0x0000, 0x0100, BAD_DUMP CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) /* PROM dump needed */ +ROM_END + + + /********************************************* * Driver Init * *********************************************/ @@ -10441,32 +10526,32 @@ DRIVER_INIT_MEMBER(goldnpkr_state, vkdlswwv) DRIVER_INIT_MEMBER(goldnpkr_state, icp1db) { /* - int i; - UINT8 *ROM = memregion("maincpu")->base(); + int i; + UINT8 *ROM = memregion("maincpu")->base(); - unsigned char rawData[256] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, - 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, - 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, - 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, - 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, - 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, - 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, - 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, - 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, - 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, - 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, - 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, - 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, - }; + unsigned char rawData[256] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, + 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, 0xB9, + 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, + 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, + 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xBC, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, 0xB8, + }; - for (i = 0; i < 0x10000; i++) - { - ROM[i] = ROM[i] ^ rawData[i & 0xff]; - } + for (i = 0; i < 0x10000; i++) + { + ROM[i] = ROM[i] ^ rawData[i & 0xff]; + } */ } @@ -10684,3 +10769,6 @@ GAMEL( 198?, bchanceq, 0, goldnpkr, goldnpkr, driver_device, 0, GAME( 1987, pokermon, 0, mondial, mondial, driver_device, 0, ROT0, "", "Mundial/Mondial (Italian/French)", 0 ) // banked selectable program GAME( 1998, super98, bsuerte, witchcrd, super98, driver_device, 0, ROT0, "", "Super 98 (3-hands, ICP-1)", MACHINE_NOT_WORKING ) // program checks zeropage registers for changes... + +GAME( 198?, animpkr, 0, pottnpkr, goldnpkr, driver_device, 0, ROT0, "", "unknown animal-themed game (bottom)", MACHINE_NOT_WORKING ) // banked selectable program (bottom). +GAME( 198?, animpkra, animpkr, pottnpkr, goldnpkr, driver_device, 0, ROT0, "", "unknown animal-themed game (top)", MACHINE_NOT_WORKING ) // banked selectable program (top).