diff options
| author | 2012-04-08 13:01:39 +0000 | |
|---|---|---|
| committer | 2012-04-08 13:01:39 +0000 | |
| commit | 86b2abfdbb2bd494dc39da7beb015edc0dbe7835 (patch) | |
| tree | 0e0a97afd88cdd33349bdd3b2a44fea009111bb2 /src | |
| parent | ee4a9b45b684a137d5360ed7566e1cedd7cbaaa5 (diff) | |
New NOT WORKING game
--------------------
Dragon World Pretty Chance [Smitdogg, Tjeerd Carter]
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/drivers/pgm.c | 45 | ||||
| -rw-r--r-- | src/mame/drivers/sigmab98.c | 1 | ||||
| -rw-r--r-- | src/mame/includes/pgm.h | 1 | ||||
| -rw-r--r-- | src/mame/machine/pgmprot1.c | 2 | ||||
| -rw-r--r-- | src/mame/machine/pgmprot2.c | 38 | ||||
| -rw-r--r-- | src/mame/machine/pgmprot3.c | 2 | ||||
| -rw-r--r-- | src/mame/mame.lst | 1 |
7 files changed, 81 insertions, 9 deletions
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c index 1094cc2f87e..ab193265bd0 100644 --- a/src/mame/drivers/pgm.c +++ b/src/mame/drivers/pgm.c @@ -2496,18 +2496,18 @@ ROM_START( kov2p205 ) ROM_END /* - + Do Donpachi II Cave, 2001 - + This is a PGM cart containing not a lot.... 5x SOP44 mask ROMs (4x 64M, 1x 32M) -2x EPROMs (1x 4M, 1x 16M) +2x EPROMs (1x 1M, 1x 16M) 2x PALs (labelled FN U14 and FN U15) 1x custom IGS027A (QFP120) 3x RAMs WINBOND W24257AJ-8N Some logic IC's, resistors, caps etc. - + */ @@ -2641,6 +2641,36 @@ ROM_START( dw2001 ) ROM_LOAD( "2001.u7", 0x200000, 0x200000, CRC(4ea62f21) SHA1(318f8a1ff5d4ff029a1c4133fe7acc2fc185d112) ) ROM_END + + + +ROM_START( dwpc ) + ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */ + PGM_68K_BIOS + ROM_LOAD16_WORD_SWAP( "dwpc_v101jp.u22", 0x100000, 0x80000, CRC(b93027c0) SHA1(602e5f651ccb63e6465ebd7762d8d2dcf7d54077) ) + + ROM_REGION( 0x4000, "prot", ROMREGION_ERASEFF ) /* ARM protection ASIC - internal rom */ + ROM_LOAD( "dwpc_igs027a.bin", 0x000000, 0x04000, NO_DUMP ) + + ROM_REGION32_LE( 0x4000000, "user1", ROMREGION_ERASEFF ) + ROM_LOAD( "dwpc_v100jp.u12", 0x000000, 0x80000, CRC(0d112126) SHA1(2b569b8ef974d1d9906cc052eee63b869c8d4fa4) ) // external ARM data rom (encrypted) + + ROM_REGION( 0x600000, "tiles", 0 ) /* 8x8 Text Tiles + 32x32 BG Tiles */ + PGM_VIDEO_BIOS + ROM_LOAD( "dwpc_v100jp.u11", 0x180000, 0x400000, CRC(3aa5a787) SHA1(ef7bb83f7141b24621c86237244fd9f280923ed1) ) + + ROM_REGION( 0x400000, "sprcol", 0 ) /* Sprite Colour Data */ + ROM_LOAD( "dwpc_v100jp.u2", 0x000000, 0x200000, CRC(e7115763) SHA1(f1bf06e9434a3b962166849f51b9dc3a74d7f2a4) ) + ROM_LOAD( "dwpc_v100jp.u3", 0x200000, 0x200000, CRC(49c184a4) SHA1(320504adf596c38db56247e9cef02e7c7a363ccb) ) + + ROM_REGION( 0x0200000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */ + ROM_LOAD( "dwpc_v100jp.u9", 0x000000, 0x200000, CRC(412b9913) SHA1(52fc42a966575e02991aa92382b855744f44854a) ) + + ROM_REGION( 0x1000000, "ics", 0 ) /* Samples - (8 bit mono 11025Hz) - */ + PGM_AUDIO_BIOS + ROM_LOAD( "dwpc_v100jp.u7", 0x200000, 0x200000, CRC(5cf9bada) SHA1(c5868a31e09e6909c724411a402d8964c29584fc) ) +ROM_END + /* Puzzli 2 @@ -3666,7 +3696,7 @@ GAME( 2001, ddp2100, ddp2, pgm_arm_type2, ddp2, ddp2, ROT // ARM version strings don't match 100% with labels... for 68k ROMs I'm using the build time / date stamp from near the start of the rom, there are some slightly different time stamps later GAME( 2002, dmnfrnt, pgm, pgm_arm_type3, pgm, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V105, ROM M105XX 08/05/02) (ARM label V105, ROM 08/05/02 S105XX)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k time: 10:24:11 ARM time: 10:33:23 GAME( 2002, dmnfrnta, dmnfrnt, pgm_arm_type3, pgm, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V102, ROM M102XX 06/19/02) (ARM label V102, ROM 05/24/02 S101XX)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k time: 13:44:08 ARM time: 13:04:31 -GAME( 2002, dmnfrntpcb, dmnfrnt, pgm_arm_type3, pgm, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V107KR, ROM M107KR 11/03/03) (ARM label V107KR, ROM 10/16/03 S106KR) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // works but reports version mismatch (wants internal rom version and region to match external?) +GAME( 2002, dmnfrntpcb, dmnfrnt, pgm_arm_type3, pgm, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V107KR, ROM M107KR 11/03/03) (ARM label V106KR, ROM 10/16/03 S106KR) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // works but reports version mismatch (wants internal rom version and region to match external?) @@ -3725,7 +3755,10 @@ GAME( 1998, drgw3100, drgw3, pgm_022_025_dw, dw3, drgw3, R GAME( 1998, dwex, pgm, pgm_022_025_dw, dw3, drgw3, ROT0, "IGS", "Dragon World 3 EX (ver. 100)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) -GAME( 2001, dw2001, pgm, pgm_arm_type2, dw2001, dw2001, ROT0, "IGS", "Dragon World 2001", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // V0000 02/21/01 16:05:16 +GAME( 2001, dw2001, pgm, pgm_arm_type2, dw2001, dw2001, ROT0, "IGS", "Dragon World 2001", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 02/21/01 16:05:16 + +GAME( 2001, dwpc, pgm, pgm_arm_type2, dw2001, dwpc, ROT0, "IGS", "Dragon World Pretty Chance (V101, Japan)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 09/26/01 10:23:26 + GAME( 1999, puzlstar, pgm, pgm_arm_type1_sim, pstar, pstar, ROT0, "IGS", "Puzzle Star (ver. 100MG)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c index 61c02999062..298f179fa63 100644 --- a/src/mame/drivers/sigmab98.c +++ b/src/mame/drivers/sigmab98.c @@ -1197,6 +1197,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_palette_w) logerror("%s: itazuram_palette_w offset = %03x with unknown bank = %02x\n", machine().describe_context(), offset, m_rombank); } } + READ8_MEMBER(sigmab98_state::itazuram_palette_r) { return m_generic_paletteram_8[offset]; diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h index 66a44c9fd4b..658d5fb2220 100644 --- a/src/mame/includes/pgm.h +++ b/src/mame/includes/pgm.h @@ -325,6 +325,7 @@ DRIVER_INIT( ddp2 ); /* simulations (or missing) */ DRIVER_INIT( dw2001 ); +DRIVER_INIT( dwpc ); INPUT_PORTS_EXTERN( ddp2 ); INPUT_PORTS_EXTERN( kov2 ); diff --git a/src/mame/machine/pgmprot1.c b/src/mame/machine/pgmprot1.c index d7d63040378..a49db39d8d4 100644 --- a/src/mame/machine/pgmprot1.c +++ b/src/mame/machine/pgmprot1.c @@ -1,5 +1,5 @@ /*********************************************************************** - PGM IGA027A (55857E* type) ARM protection simulations & emulation + PGM IGS027A (55857E* type) ARM protection simulations & emulation *guess, the part number might not be directly tied to behavior, see note below these are simulations of the 'kov' type ARM device diff --git a/src/mame/machine/pgmprot2.c b/src/mame/machine/pgmprot2.c index 3cf39f007c8..f531f3d411a 100644 --- a/src/mame/machine/pgmprot2.c +++ b/src/mame/machine/pgmprot2.c @@ -1,5 +1,5 @@ /*********************************************************************** - PGM IGA027A (55857F* type) ARM protection emulation + PGM IGS027A (55857F* type) ARM protection emulation *guess, the part number might not be directly tied to behavior, see note below these are emulation of the 'kov2' type ARM device @@ -16,6 +16,7 @@ ROMs are not yet dumped Dragon World 2001 (dw2001) + Dragon World Pretty Chance (dwpc) ---- @@ -341,6 +342,41 @@ DRIVER_INIT( dw2001 ) temp16[(0x0090)/2] = 0x0400; temp16[(0x0092)/2] = 0x1000; +} + +DRIVER_INIT( dwpc ) +{ + //pgm_arm_type2_state *state = machine.driver_data<pgm_arm_type2_state>(); + UINT16 *mem16 = (UINT16 *)machine.region("maincpu")->base(); + + pgm_basic_init(machine); + kov2_latch_init(machine); + pgm_mm_decrypt(machine); // encryption is the same as martial masters + + mem16[0x11EDDA / 2] = 0x4e71; + mem16[0x11EDDC / 2] = 0x4e71; + + mem16[0x11EDE8 / 2] = 0x4e71; + + mem16[0x11EFC4 / 2] = 0x4e71; + mem16[0x11EFC6 / 2] = 0x4e71; + + mem16[0x11EFD2 / 2] = 0x4e71; + + + /* patch ARM area with fake code */ + UINT16 *temp16 = (UINT16 *)machine.region("prot")->base(); + temp16[(0x0000)/2] = 0xd088; + temp16[(0x0002)/2] = 0xe59f; + temp16[(0x0004)/2] = 0x0680; + temp16[(0x0006)/2] = 0xe3a0; + temp16[(0x0008)/2] = 0x0001; + temp16[(0x000a)/2] = 0xe280; + temp16[(0x000c)/2] = 0xff10; + temp16[(0x000e)/2] = 0xe12f; + + temp16[(0x0090)/2] = 0x0400; + temp16[(0x0092)/2] = 0x1000; } diff --git a/src/mame/machine/pgmprot3.c b/src/mame/machine/pgmprot3.c index 0585908c845..40b863ea7d7 100644 --- a/src/mame/machine/pgmprot3.c +++ b/src/mame/machine/pgmprot3.c @@ -1,5 +1,5 @@ /*********************************************************************** - PGM IGA027A (55857G* type) ARM protection emulation + PGM IGS027A (55857G* type) ARM protection emulation *guess, the part number might not be directly tied to behavior, see note below these are emulation of the 'dmnfrnt' type ARM device diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 3376435850f..f2c15657229 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -8992,6 +8992,7 @@ theglad // (c) 2001 theglada // (c) 2001 thegladpcb dw2001 // (c) 2001 +dwpc // (c) 2001 py2k2 // (c) 2001 dmnfrnt // (c) 2002 dmnfrnta // (c) 2002 |
