| Previous | 199869 Revisions | Next |
| r18623 Saturday 20th October, 2012 at 17:07:26 UTC by R. Belmont |
|---|
| New clones added ---------------- 4-in-1 MAME bootleg (set 1, ver 3.00) [Haze] 4-in-1 MAME bootleg (set 2) [Haze] 19-in-1 MAME bootleg [Haze] 48-in-1 MAME bootleg (set 2, ver 3.09, alt flash) [Haze] 60-in-1 MAME bootleg (ver 3.00) [Haze, Andreas Naive] |
| [src/mame] | mame.lst |
| [src/mame/drivers] | 39in1.c |
| r18622 | r18623 | |
|---|---|---|
| 52 | 52 | UINT32 m_pxa255_lcd_palette[0x100]; |
| 53 | 53 | UINT8 m_pxa255_lcd_framebuffer[0x100000]; |
| 54 | 54 | |
| 55 | ||
| 55 | 56 | //FILE* audio_dump; |
| 56 | 57 | UINT32 m_words[0x800]; |
| 57 | 58 | INT16 m_samples[0x1000]; |
| r18622 | r18623 | |
| 73 | 74 | DECLARE_WRITE32_MEMBER(cpld_w); |
| 74 | 75 | DECLARE_READ32_MEMBER(prot_cheater_r); |
| 75 | 76 | DECLARE_DRIVER_INIT(39in1); |
| 77 | DECLARE_MACHINE_START(60in1); | |
| 76 | 78 | virtual void machine_start(); |
| 77 | 79 | UINT32 screen_update_39in1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| 78 | 80 | INTERRUPT_GEN_MEMBER(pxa255_vblank_start); |
| r18622 | r18623 | |
| 1435 | 1437 | |
| 1436 | 1438 | DRIVER_INIT_MEMBER(_39in1_state,39in1) |
| 1437 | 1439 | { |
| 1438 | ||
| 1439 | 1440 | m_dmadac[0] = machine().device<dmadac_sound_device>("dac1"); |
| 1440 | 1441 | m_dmadac[1] = machine().device<dmadac_sound_device>("dac2"); |
| 1441 | 1442 | m_eeprom = machine().device<eeprom_device>("eeprom"); |
| r18622 | r18623 | |
| 1444 | 1445 | space.install_read_handler (0xa0151648, 0xa015164b, read32_delegate(FUNC(_39in1_state::prot_cheater_r), this)); |
| 1445 | 1446 | } |
| 1446 | 1447 | |
| 1448 | ||
| 1449 | ||
| 1447 | 1450 | static ADDRESS_MAP_START( 39in1_map, AS_PROGRAM, 32, _39in1_state ) |
| 1448 | 1451 | AM_RANGE(0x00000000, 0x0007ffff) AM_ROM |
| 1449 | 1452 | AM_RANGE(0x00400000, 0x005fffff) AM_ROM AM_REGION("data", 0) |
| r18622 | r18623 | |
| 1550 | 1553 | for (i = 0; i < 0x80000; i += 2) |
| 1551 | 1554 | { |
| 1552 | 1555 | ROM[i] = BITSWAP8(ROM[i],7,2,5,6,0,3,1,4) ^ BITSWAP8((i>>3)&0xf, 3,2,4,1,4,4,0,4) ^ 0x90; |
| 1556 | } | |
| 1553 | 1557 | |
| 1554 | // 60-in-1 decrypt | |
| 1555 | // if ((i%2)==0) | |
| 1556 | // { | |
| 1557 | // ROM[i] = BITSWAP8(ROM[i],5,1,4,2,0,7,6,3)^BITSWAP8(i, 6,0,4,13,0,5,3,11); | |
| 1558 | // } | |
| 1558 | pxa255_start(); | |
| 1559 | } | |
| 1560 | ||
| 1561 | MACHINE_START_MEMBER(_39in1_state,60in1) | |
| 1562 | { | |
| 1563 | UINT8 *ROM = machine().root_device().memregion("maincpu")->base(); | |
| 1564 | int i; | |
| 1565 | ||
| 1566 | for (i = 0; i < 0x80000; i += 2) | |
| 1567 | { | |
| 1568 | if ((i%2)==0) | |
| 1569 | { | |
| 1570 | ROM[i] = BITSWAP8(ROM[i],5,1,4,2,0,7,6,3)^BITSWAP8(i, 6,0,4,13,0,5,3,11); | |
| 1571 | } | |
| 1559 | 1572 | } |
| 1560 | 1573 | |
| 1561 | 1574 | pxa255_start(); |
| r18622 | r18623 | |
| 1588 | 1601 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) |
| 1589 | 1602 | MACHINE_CONFIG_END |
| 1590 | 1603 | |
| 1604 | static MACHINE_CONFIG_DERIVED( 60in1, 39in1 ) | |
| 1605 | MCFG_MACHINE_START_OVERRIDE(_39in1_state,60in1) | |
| 1606 | MACHINE_CONFIG_END | |
| 1607 | ||
| 1591 | 1608 | ROM_START( 39in1 ) |
| 1592 | 1609 | // main program, encrypted |
| 1593 | 1610 | ROM_REGION( 0x80000, "maincpu", 0 ) |
| r18622 | r18623 | |
| 1616 | 1633 | ROM_LOAD16_WORD_SWAP( "48in1_93c66_eeprom.bin", 0x000, 0x200, NO_DUMP ) |
| 1617 | 1634 | ROM_END |
| 1618 | 1635 | |
| 1636 | ||
| 1637 | ROM_START( 48in1b ) | |
| 1638 | // main program, encrypted | |
| 1639 | ROM_REGION( 0x80000, "maincpu", 0 ) | |
| 1640 | ROM_LOAD( "hph_ver309", 0x000000, 0x080000, CRC(27023186) SHA1(a2b3770c4b03d6026c6a0ff2e62ab17c3b359b12) ) | |
| 1641 | ||
| 1642 | // data ROM - contains a filesystem with ROMs, fonts, graphics, etc. in an unknown compressed format | |
| 1643 | ROM_REGION32_LE( 0x400000, "data", 0 ) | |
| 1644 | ROM_LOAD( "48_flash.u19", 0x000000, 0x400000, CRC(a975db44) SHA1(5be6520b2ba7728e9e2de3c62ae7c3b88b25172a) ) | |
| 1645 | ||
| 1646 | // EEPROM - contains security data | |
| 1647 | ROM_REGION16_BE( 0x200, "eeprom", 0 ) | |
| 1648 | ROM_LOAD16_WORD_SWAP( "48_93c66.u32", 0x000, 0x200, CRC(cec06912) SHA1(2bc2e45602c5b1e8a3e031dd384e9f16be4e2ddb) ) | |
| 1649 | ROM_END | |
| 1650 | ||
| 1651 | ||
| 1619 | 1652 | ROM_START( 48in1a ) |
| 1620 | 1653 | // main program, encrypted |
| 1621 | 1654 | ROM_REGION( 0x80000, "maincpu", 0 ) |
| r18622 | r18623 | |
| 1630 | 1663 | ROM_LOAD16_WORD_SWAP( "48in1_93c66_eeprom.bin", 0x000, 0x200, NO_DUMP ) |
| 1631 | 1664 | ROM_END |
| 1632 | 1665 | |
| 1666 | ||
| 1667 | ROM_START( 60in1 ) | |
| 1668 | // main program, encrypted | |
| 1669 | ROM_REGION( 0x80000, "maincpu", 0 ) | |
| 1670 | ROM_LOAD( "hph_ver300.u8", 0x000000, 0x080000, CRC(6fba84c4) SHA1(28881e51227e94a80c8449d9c00a1a675f008d64) ) | |
| 1671 | ||
| 1672 | // data ROM - contains a filesystem with ROMs, fonts, graphics, etc. in an unknown compressed format | |
| 1673 | ROM_REGION32_LE( 0x400000, "data", 0 ) | |
| 1674 | ROM_LOAD( "flash.u19", 0x000000, 0x400000, CRC(0cfed2a0) SHA1(9aac23f5267af56255e6f8aefade9f00bc106325) ) | |
| 1675 | ||
| 1676 | // EEPROM - contains security data | |
| 1677 | ROM_REGION16_BE( 0x200, "eeprom", 0 ) | |
| 1678 | ROM_LOAD16_WORD_SWAP( "60in1_eeprom.u32", 0x000, 0x200, CRC(54af5973) SHA1(30aca7790458f4be906f7fa7c74206e16d9fc36f) ) | |
| 1679 | ROM_END | |
| 1680 | ||
| 1681 | ROM_START( 4in1a ) | |
| 1682 | // main program, encrypted | |
| 1683 | ROM_REGION( 0x80000, "maincpu", 0 ) | |
| 1684 | ROM_LOAD( "plz-v014_ver300.bin", 0x000000, 0x080000, CRC(775f101d) SHA1(8a299a67b487518ba2e2cb5334347b93f8640190) ) | |
| 1685 | ||
| 1686 | // data ROM - contains a filesystem with ROMs, fonts, graphics, etc. in an unknown compressed format | |
| 1687 | ROM_REGION32_LE( 0x200000, "data", 0 ) | |
| 1688 | ROM_LOAD( "16mflash.bin", 0x000000, 0x200000, CRC(a089f0f8) SHA1(e975eadd9176a8b9e416229589dfe3158cba22cb) ) // confirmed same flash rom as 39 in 1 | |
| 1689 | ||
| 1690 | // EEPROM - contains security data | |
| 1691 | ROM_REGION16_BE( 0x200, "eeprom", 0 ) | |
| 1692 | ROM_LOAD16_WORD_SWAP( "4in1_eeprom.bin", 0x000, 0x200, CRC(df1724f7) SHA1(07814aee3622f4bb8bada938f2a93fae791d6e31) ) | |
| 1693 | ROM_END | |
| 1694 | ||
| 1695 | ROM_START( 4in1b ) | |
| 1696 | // main program, encrypted | |
| 1697 | ROM_REGION( 0x80000, "maincpu", 0 ) | |
| 1698 | ROM_LOAD( "pzv001-4.bin", 0x000000, 0x080000, CRC(7679a95f) SHA1(56c20fa7d086560b76477b42208cb43d42adba41) ) | |
| 1699 | ||
| 1700 | // data ROM - contains a filesystem with ROMs, fonts, graphics, etc. in an unknown compressed format | |
| 1701 | ROM_REGION32_LE( 0x200000, "data", 0 ) | |
| 1702 | ROM_LOAD( "16mflash.bin", 0x000000, 0x200000, CRC(a089f0f8) SHA1(e975eadd9176a8b9e416229589dfe3158cba22cb) ) | |
| 1703 | ||
| 1704 | // EEPROM - contains security data | |
| 1705 | ROM_REGION16_BE( 0x200, "eeprom", 0 ) | |
| 1706 | ROM_LOAD16_WORD_SWAP( "93c66-4.bin", 0x000, 0x200, CRC(84d1c26a) SHA1(de823adddf949bf77d8478762720fe0b56fba8ea) ) | |
| 1707 | ROM_END | |
| 1708 | ||
| 1709 | // 19-in-1 is visibly different hardware, extent of differences unknown due to lack of quality pictures/scans | |
| 1710 | // also, there is a bootleg of the 19-in-1 which may have less or different protection | |
| 1711 | ROM_START( 19in1 ) | |
| 1712 | // main program, encrypted | |
| 1713 | ROM_REGION( 0x80000, "maincpu", 0 ) | |
| 1714 | ROM_LOAD( "19in1.u8", 0x000000, 0x080000, CRC(87b0506c) SHA1(c43ae4b403864a28e56370685572fa02e7572e66) ) | |
| 1715 | ||
| 1716 | // data ROM - contains a filesystem with ROMs, fonts, graphics, etc. in an unknown compressed format | |
| 1717 | ROM_REGION32_LE( 0x200000, "data", 0 ) | |
| 1718 | ROM_LOAD( "16mflash.bin", 0x000000, 0x200000, CRC(a089f0f8) SHA1(e975eadd9176a8b9e416229589dfe3158cba22cb) ) // assuming same flash rom | |
| 1719 | ||
| 1720 | // EEPROM - contains security data | |
| 1721 | ROM_REGION16_BE( 0x200, "eeprom", 0 ) | |
| 1722 | ROM_LOAD16_WORD_SWAP( "19in1_eeprom.bin", 0x000, 0x200, NO_DUMP ) | |
| 1723 | ROM_END | |
| 1724 | ||
| 1725 | GAME(2004, 4in1a, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "4 in 1 MAME bootleg (set 1, ver 3.00)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1726 | GAME(2004, 4in1b, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "4 in 1 MAME bootleg (set 2)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1727 | GAME(2004, 19in1, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "19 in 1 MAME bootleg", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1633 | 1728 | GAME(2004, 39in1, 0, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "39 in 1 MAME bootleg", GAME_IMPERFECT_SOUND) |
| 1634 | GAME(2004, 48in1, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (ver 3.09)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1635 | GAME(2004, 48in1a, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (ver 3.02)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1729 | GAME(2004, 48in1, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (set 1, ver 3.09)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1730 | GAME(2004, 48in1b, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (set 2, ver 3.09, alt flash)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1731 | GAME(2004, 48in1a, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (set 3, ver 3.02)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) | |
| 1732 | GAME(2004, 60in1, 39in1, 60in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "60 in 1 MAME bootleg (ver 3.00)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND) |
| r18622 | r18623 | |
|---|---|---|
| 10220 | 10220 | gstream // (c) 2002, Oriental Soft Japan |
| 10221 | 10221 | miniboy7 // (c) 1983, Bonanza Enterprises |
| 10222 | 10222 | miniboy7a // (c) 1983, Bonanza Enterprises |
| 10223 | 4in1a // MAME based bootleg | |
| 10224 | 4in1b // MAME based bootleg | |
| 10225 | 19in1 // MAME based bootleg | |
| 10223 | 10226 | 39in1 // MAME based bootleg |
| 10224 | 10227 | 48in1 // MAME based bootleg |
| 10225 | 10228 | 48in1a // MAME based bootleg |
| 10229 | 48in1b // MAME based bootleg | |
| 10230 | 60in1 // MAME based bootleg | |
| 10226 | 10231 | kingpin // (c) 1983 American Communications Laboratories Inc. |
| 10227 | 10232 | maxideal // (c) 1983 American Communications Laboratories Inc. |
| 10228 | 10233 | thayers // (c) 1983 RDI Video Systems |
| Previous | 199869 Revisions | Next |