diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c index 9001c85f322..89148995934 100644 --- a/src/mame/drivers/meritm.c +++ b/src/mame/drivers/meritm.c @@ -32,6 +32,7 @@ *Megatouch Video (c)1994? *Megatouch II (c)1995 *Megatouch III (c)1995 + Megatouch III Tournament Edition (c)1996 Megatouch IV (c)1996 Megatouch IV Tournament Edition (c)1996 *Super Megatouch IV (c) 1996 @@ -47,7 +48,7 @@ - clean up V9938 interrupt implementation - finish inputs, dsw, outputs (lamps) - problem with registering touches on the bottom of the screen (currently hacked to work) - - megat3: u37 has bad size, should be 8MBit + - megat3: u37 is bad dump (half size) now using rom from megat3te - megat5: has jmp $0000 in the initialization code causing infinite loop, is rom bad? */ @@ -1111,8 +1112,7 @@ ROM_START( megat3 ) ROM_RELOAD( 0x080000, 0x80000) ROM_LOAD( "megat3.u36", 0x100000, 0x80000, CRC(96bb501e) SHA1(f48ef238e8543676c42e3b85464a25ac179dcdd1) ) ROM_RELOAD( 0x180000, 0x80000) - ROM_LOAD( "megat3.u37", 0x200000, 0x80000, BAD_DUMP CRC(96680164) SHA1(dfb8e07ba0e87316a947238e7a00fbf4d6ed5fe4) ) // should be 8MBit - ROM_RELOAD( 0x280000, 0x80000) + ROM_LOAD( "9255-01-r0.u37", 0x200000, 0x100000, BAD_DUMP CRC(273560bd) SHA1(5de8b9f5a7c4b676f131dd7d47ec71d35fa1755c) ) ROM_LOAD( "9255-20-01_u38-rof", 0x300000, 0x80000, CRC(85f48b91) SHA1(7a38644ac7ee55a254c037122af919fb268744a1) ) ROM_RELOAD( 0x380000, 0x80000) @@ -1123,6 +1123,33 @@ ROM_START( megat3 ) ROM_LOAD( "sc3981-0a.u51", 0x000, 0x117, CRC(4fc750d0) SHA1(d09ff7a8c66aeb5c49e9fec84bd1521e3f5d8d0a) ) ROM_END + +/* + Megatouch 3 Tournament Edition + ------------------------------ + Dumped by: Hugh McLenaghan + Dump Date: 2008-05-01 + + PALs should be the same as the megatouch 3 since it's the same hardware. + +*/ +ROM_START( megat3te ) + ROM_REGION( 0x400000, REGION_CPU1, 0 ) + ROM_LOAD( "9255-30-01-r0.u32", 0x000000, 0x100000, CRC(31ac0004) SHA1(4bec97a852a7dadb0ab4f193bc376ed149102082) ) + ROM_LOAD( "9255-01-r0.u36", 0x100000, 0x080000, CRC(96bb501e) SHA1(f48ef238e8543676c42e3b85464a25ac179dcdd1) ) + ROM_RELOAD( 0x180000, 0x080000) + ROM_LOAD( "9255-01-r0.u37", 0x200000, 0x100000, CRC(273560bd) SHA1(5de8b9f5a7c4b676f131dd7d47ec71d35fa1755c) ) + ROM_LOAD( "9255-30-0-r0e.u38", 0x300000, 0x080000, CRC(52ca7dd8) SHA1(9f44f158d67d7443405b87a18fc89d9c88be1dea) ) + ROM_RELOAD( 0x380000, 0x080000) + + ROM_REGION( 0x1000, REGION_USER2, 0 ) // PALs + ROM_LOAD( "sc3943.u20", 0x000, 0x117, CRC(5a72fe78) SHA1(4b1a36904eb7048518507fe14bdade5c2589dbd7) ) + ROM_LOAD( "sc3944-0a.u19", 0x000, 0x2dd, CRC(4cc46c5e) SHA1(0bab970df1539ce905f43603ad13171b05449a01) ) + ROM_LOAD( "sc3980.u40", 0x000, 0x117, CRC(ee0cdab5) SHA1(216fef50a8a0f6a33b704d3501a4c5c3cbac2bad) ) + ROM_LOAD( "sc3981-0a.u51", 0x000, 0x117, CRC(4fc750d0) SHA1(d09ff7a8c66aeb5c49e9fec84bd1521e3f5d8d0a) ) +ROM_END + + ROM_START( megat4 ) ROM_REGION( 0x400000, REGION_CPU1, 0 ) ROM_LOAD( "9255-40-01_u32-ro", 0x000000, 0x100000, CRC(08b1b8fe) SHA1(c562f2e065d6d7f753f6fd1d0b8355b01cb089ec) ) /* Location U32 */ @@ -1222,11 +1249,24 @@ static DRIVER_INIT(megat3) { 0x51, 0xa1, 0xc0, 0x7c, 0x27, 0x6e, 0x51, 0xb9, 0xa5, 0xb2, 0x27, 0x0c, 0xb9, 0x88, 0x82, 0x2c }; ds1204_init(megat3_ds1204_key, megat3_ds1204_nvram); - - // patch for rom check (?) (Question Set Error) - ((UINT8*)memory_region( REGION_CPU1 ))[0x300217] = 0xc3; }; + +static DRIVER_INIT(megat3te) +{ + static const UINT8 megat3_ds1204_key[8] = + { 0xf0, 0xaa, 0x0f, 0x0f, 0x55, 0x55, 0xff, 0xab }; + + static const UINT8 megat3_ds1204_nvram[16] = + { 0x99, 0x53, 0xfc, 0x29, 0x3a, 0x95, 0x8b, 0x58, 0xca, 0xca, 0x00, 0xc2, 0x30, 0x62, 0x0b, 0x96 }; + + ds1204_init(megat3_ds1204_key, megat3_ds1204_nvram); + + memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0xfff8, 0xffff, 0, 0, meritm_ds1644_r, meritm_ds1644_w ); + +}; + + static DRIVER_INIT(megat4) { static const UINT8 megat4_ds1204_nvram[16] = @@ -1260,7 +1300,8 @@ GAME( 1988, spitboss, 0, meritm_crt250, meritm_crt250, 0, ROT0, "Merit", "Su /* CRT 250 + question roms */ GAME( 1994, pitbossm, 0, meritm_crt250_questions, pitbossm, 0, ROT0, "Merit", "Pit Boss Megastar", GAME_IMPERFECT_GRAPHICS ) /* CRT 260 */ -GAME( 1995, megat3, 0, meritm_crt260, meritm_crt260, megat3, ROT0, "Merit", "Megatouch III (9255-20-01 ROF)", GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) +GAME( 1995, megat3, 0, meritm_crt260, meritm_crt260, megat3, ROT0, "Merit", "Megatouch III (9255-20-01 ROF)", GAME_IMPERFECT_GRAPHICS ) +GAME( 1996, megat3te, 0, meritm_crt260, meritm_crt260, megat3te, ROT0, "Merit", "Megatouch III Tournament Edition (9255-30-01 ROE)", GAME_IMPERFECT_GRAPHICS ) GAME( 1996, megat4, 0, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROE)", GAME_IMPERFECT_GRAPHICS ) GAME( 1996, megat4a, megat4, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROD)", GAME_IMPERFECT_GRAPHICS ) GAME( 1996, megat4te, megat4, meritm_crt260, meritm_crt260, megat4te, ROT0, "Merit", "Megatouch IV Tournament Edition (9255-50-01 ROD)", GAME_IMPERFECT_GRAPHICS ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index 2e53bcd3928..7b4cb394e02 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -7814,6 +7814,7 @@ Other Sun games DRIVER( spitboss ) /* (c) 198? Merit */ DRIVER( pitbossm ) /* (c) 1994 Merit */ DRIVER( megat3 ) /* (c) 1995 Merit */ + DRIVER( megat3te ) /* (c) 1996 Merit */ DRIVER( megat4 ) /* (c) 1996 Merit */ DRIVER( megat4a ) /* (c) 1996 Merit */ DRIVER( megat4te ) /* (c) 1996 Merit */