trunk/src/mame/drivers/subsino.c
| r20219 | r20220 | |
| 17 | 17 | SOUND: M6295, YM2413 or YM3812 |
| 18 | 18 | OTHER: Battery |
| 19 | 19 | |
| 20 | To Do: |
| 20 | 21 | |
| 22 | - Remove ROM patches from smoto, stisub and tesorone, emulate the protection instead. |
| 23 | - Hopper emulation currently hooked up in stisub, tesorone and smoto. Add to others. |
| 24 | |
| 21 | 25 | **************************************************************************** |
| 22 | 26 | |
| 23 | 27 | Game Notes: |
| r20219 | r20220 | |
| 214 | 218 | #include "cpu/z180/z180.h" |
| 215 | 219 | #include "machine/i8255.h" |
| 216 | 220 | #include "machine/subsino.h" |
| 221 | #include "machine/ticket.h" |
| 217 | 222 | #include "sound/okim6295.h" |
| 218 | 223 | #include "sound/2413intf.h" |
| 219 | 224 | #include "sound/3812intf.h" |
| r20219 | r20220 | |
| 227 | 232 | #include "tisub.lh" |
| 228 | 233 | #include "stisub.lh" |
| 229 | 234 | |
| 230 | | |
| 231 | 235 | class subsino_state : public driver_device |
| 232 | 236 | { |
| 233 | 237 | public: |
| r20219 | r20220 | |
| 240 | 244 | m_reel1_scroll(*this, "reel1_scroll"), |
| 241 | 245 | m_reel1_ram(*this, "reel1_ram"), |
| 242 | 246 | m_reel2_ram(*this, "reel2_ram"), |
| 243 | | m_reel3_ram(*this, "reel3_ram"){ } |
| 247 | m_reel3_ram(*this, "reel3_ram"), |
| 248 | m_stisub_out_c(*this, "stisub_out_c") |
| 249 | { |
| 250 | } |
| 244 | 251 | |
| 245 | 252 | required_shared_ptr<UINT8> m_colorram; |
| 246 | 253 | required_shared_ptr<UINT8> m_videoram; |
| r20219 | r20220 | |
| 250 | 257 | optional_shared_ptr<UINT8> m_reel1_ram; |
| 251 | 258 | optional_shared_ptr<UINT8> m_reel2_ram; |
| 252 | 259 | optional_shared_ptr<UINT8> m_reel3_ram; |
| 260 | optional_shared_ptr<UINT8> m_stisub_out_c; |
| 253 | 261 | |
| 254 | 262 | tilemap_t *m_tmap; |
| 255 | 263 | tilemap_t *m_reel1_tilemap; |
| r20219 | r20220 | |
| 257 | 265 | tilemap_t *m_reel3_tilemap; |
| 258 | 266 | int m_tiles_offset; |
| 259 | 267 | UINT8 m_out_c; |
| 260 | | UINT8* m_reel1_attr; |
| 261 | | UINT8* m_reel2_attr; |
| 262 | | UINT8* m_reel3_attr; |
| 268 | UINT8 *m_reel1_attr; |
| 269 | UINT8 *m_reel2_attr; |
| 270 | UINT8 *m_reel3_attr; |
| 263 | 271 | UINT8 m_flash_val; |
| 264 | 272 | UINT8 m_flash_packet; |
| 265 | 273 | UINT8 m_flash_packet_start; |
| 266 | 274 | int m_colordac_offs; |
| 267 | | UINT8* m_stisub_colorram; |
| 268 | | UINT8 m_stisub_outc; |
| 275 | UINT8 *m_stisub_colorram; |
| 276 | |
| 277 | ticket_dispenser_device *m_hopper; |
| 278 | |
| 269 | 279 | DECLARE_WRITE8_MEMBER(subsino_tiles_offset_w); |
| 270 | 280 | DECLARE_WRITE8_MEMBER(subsino_videoram_w); |
| 271 | 281 | DECLARE_WRITE8_MEMBER(subsino_colorram_w); |
| r20219 | r20220 | |
| 279 | 289 | DECLARE_READ8_MEMBER(hwcheck_r); |
| 280 | 290 | DECLARE_WRITE8_MEMBER(subsino_out_c_w); |
| 281 | 291 | DECLARE_WRITE8_MEMBER(colordac_w); |
| 282 | | DECLARE_WRITE8_MEMBER(stisub_out_c_w); |
| 283 | 292 | DECLARE_WRITE8_MEMBER(reel_scrollattr_w); |
| 284 | 293 | DECLARE_READ8_MEMBER(reel_scrollattr_r); |
| 285 | 294 | DECLARE_DRIVER_INIT(stisub); |
| 295 | DECLARE_DRIVER_INIT(tesorone); |
| 286 | 296 | DECLARE_DRIVER_INIT(smoto20); |
| 287 | 297 | DECLARE_DRIVER_INIT(sharkpy); |
| 288 | 298 | DECLARE_DRIVER_INIT(smoto16); |
| r20219 | r20220 | |
| 309 | 319 | UINT32 screen_update_subsino(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 310 | 320 | UINT32 screen_update_subsino_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 311 | 321 | UINT32 screen_update_stisub_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 322 | virtual void machine_start(); |
| 312 | 323 | }; |
| 313 | 324 | |
| 325 | void subsino_state::machine_start() |
| 326 | { |
| 327 | m_hopper = machine().device<ticket_dispenser_device>("hopper"); |
| 328 | } |
| 314 | 329 | |
| 315 | | |
| 316 | 330 | /*************************************************************************** |
| 317 | 331 | * Video Hardware * |
| 318 | 332 | ***************************************************************************/ |
| r20219 | r20220 | |
| 663 | 677 | coin_counter_w( machine(), 2, data & 0x10 ); /* keyout */ |
| 664 | 678 | coin_counter_w( machine(), 3, data & 0x20 ); /* payout */ |
| 665 | 679 | |
| 680 | m_hopper->write(space, 0, (data & 0x0020) ? 0x80 : 0); // hopper motor |
| 681 | |
| 666 | 682 | // popmessage("Out A %02x",data); |
| 667 | | |
| 668 | 683 | } |
| 669 | 684 | |
| 670 | 685 | WRITE8_MEMBER(subsino_state::subsino_out_b_w) |
| r20219 | r20220 | |
| 1083 | 1098 | } |
| 1084 | 1099 | |
| 1085 | 1100 | |
| 1086 | | WRITE8_MEMBER(subsino_state::stisub_out_c_w) |
| 1087 | | { |
| 1088 | | m_stisub_outc = data; |
| 1089 | | |
| 1090 | | } |
| 1091 | | |
| 1092 | 1101 | // this stuff is banked.. |
| 1093 | 1102 | // not 100% sure on the bank bits.. other bits are also set |
| 1094 | 1103 | WRITE8_MEMBER(subsino_state::reel_scrollattr_w) |
| 1095 | 1104 | { |
| 1096 | | if (m_stisub_outc&0x20) |
| 1105 | if (*m_stisub_out_c & 0x20) |
| 1097 | 1106 | { |
| 1098 | 1107 | if (offset<0x200) |
| 1099 | 1108 | { |
| r20219 | r20220 | |
| 1153 | 1162 | AM_RANGE( 0x0d005, 0x0d005 ) AM_READ_PORT( "INB" ) |
| 1154 | 1163 | AM_RANGE( 0x0d006, 0x0d006 ) AM_READ_PORT( "INA" ) |
| 1155 | 1164 | |
| 1156 | | AM_RANGE( 0x0d008, 0x0d008 ) AM_WRITE(stisub_out_c_w ) |
| 1165 | AM_RANGE( 0x0d008, 0x0d008 ) AM_RAM AM_SHARE("stisub_out_c") |
| 1157 | 1166 | |
| 1158 | 1167 | AM_RANGE( 0x0d009, 0x0d009 ) AM_WRITE(subsino_out_b_w ) |
| 1159 | 1168 | AM_RANGE( 0x0d00a, 0x0d00a ) AM_WRITE(subsino_out_a_w ) |
| r20219 | r20220 | |
| 1601 | 1610 | PORT_DIPSETTING( 0x10, "1 Pulse / 25 Credits" ) |
| 1602 | 1611 | PORT_DIPSETTING( 0x08, "1 Pulse / 50 Credits" ) |
| 1603 | 1612 | PORT_DIPSETTING( 0x00, "1 Pulse / 100 Credits" ) |
| 1604 | | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") |
| 1605 | | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 1606 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1607 | | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") |
| 1608 | | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 1609 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1613 | PORT_DIPNAME( 0x40, 0x40, "Pay-out" ) PORT_DIPLOCATION("SW1:7") |
| 1614 | PORT_DIPSETTING( 0x40, "Coin" ) |
| 1615 | PORT_DIPSETTING( 0x00, "Key" ) |
| 1616 | PORT_DIPNAME( 0x80, 0x80, "Hold Function" ) PORT_DIPLOCATION("SW1:8") |
| 1617 | PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) |
| 1618 | PORT_DIPSETTING( 0x00, DEF_STR( No ) ) |
| 1610 | 1619 | |
| 1611 | 1620 | PORT_START("SW2") |
| 1612 | 1621 | PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" ) PORT_DIPLOCATION("SW2:1,2") |
| r20219 | r20220 | |
| 1632 | 1641 | PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) |
| 1633 | 1642 | |
| 1634 | 1643 | PORT_START( "SW3" ) |
| 1635 | | PORT_DIPNAME( 0x07, 0x07, "Win Rate" ) PORT_DIPLOCATION("SW3:1,2,3") |
| 1644 | PORT_DIPNAME( 0x07, 0x07, "Win Rate" ) PORT_DIPLOCATION("SW3:1,2,3") |
| 1636 | 1645 | PORT_DIPSETTING( 0x00, "84%" ) |
| 1637 | 1646 | PORT_DIPSETTING( 0x01, "84%" ) // yes, again! |
| 1638 | 1647 | PORT_DIPSETTING( 0x02, "86%" ) |
| r20219 | r20220 | |
| 1641 | 1650 | PORT_DIPSETTING( 0x07, "92%" ) |
| 1642 | 1651 | PORT_DIPSETTING( 0x05, "94%" ) |
| 1643 | 1652 | PORT_DIPSETTING( 0x06, "96%" ) |
| 1644 | | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4") |
| 1653 | PORT_DIPNAME( 0x08, 0x08, "Control Panel" ) PORT_DIPLOCATION("SW3:4") |
| 1654 | PORT_DIPSETTING( 0x08, "Type A (No Hold)" ) |
| 1655 | PORT_DIPSETTING( 0x00, "Type B" ) |
| 1656 | PORT_DIPNAME( 0x30, 0x30, "Max Bonus" ) PORT_DIPLOCATION("SW3:5,6") |
| 1657 | PORT_DIPSETTING( 0x30, "1000" ) |
| 1658 | PORT_DIPSETTING( 0x20, "2000" ) |
| 1659 | PORT_DIPSETTING( 0x10, "3000" ) |
| 1660 | PORT_DIPSETTING( 0x00, "5000" ) |
| 1661 | PORT_DIPNAME( 0x40, 0x40, "Gather Rate of Bonus" ) PORT_DIPLOCATION("SW3:7") |
| 1662 | PORT_DIPSETTING( 0x40, "1.0%" ) |
| 1663 | PORT_DIPSETTING( 0x00, "0.5%" ) |
| 1664 | PORT_DIPNAME( 0x80, 0x80, "Reel Speed" ) PORT_DIPLOCATION("SW3:8") |
| 1665 | PORT_DIPSETTING( 0x80, "Slow" ) |
| 1666 | PORT_DIPSETTING( 0x00, "Fast" ) |
| 1667 | |
| 1668 | PORT_START( "SW4" ) |
| 1669 | PORT_DIPNAME( 0x07, 0x07, "Double-Up Level" ) PORT_DIPLOCATION("SW4:1,2,3") |
| 1670 | PORT_DIPSETTING( 0x07, "7 (Easy)" ) |
| 1671 | PORT_DIPSETTING( 0x06, "6" ) |
| 1672 | PORT_DIPSETTING( 0x05, "5" ) |
| 1673 | PORT_DIPSETTING( 0x04, "4" ) |
| 1674 | PORT_DIPSETTING( 0x03, "3" ) |
| 1675 | PORT_DIPSETTING( 0x02, "2" ) |
| 1676 | PORT_DIPSETTING( 0x01, "1" ) |
| 1677 | PORT_DIPSETTING( 0x00, "0 (Hard)" ) |
| 1678 | PORT_DIPNAME( 0x08, 0x08, "Double-Up Limit" ) PORT_DIPLOCATION("SW4:4") |
| 1679 | PORT_DIPSETTING( 0x08, "5000" ) |
| 1680 | PORT_DIPSETTING( 0x00, "10000" ) |
| 1681 | PORT_DIPNAME( 0x10, 0x10, "Double-Up Game" ) PORT_DIPLOCATION("SW4:5") |
| 1682 | PORT_DIPSETTING( 0x10, "Dancers / Panties Colors" ) |
| 1683 | PORT_DIPSETTING( 0x00, "Cards / Seven-Bingo" ) |
| 1684 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:6") |
| 1685 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 1686 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1687 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:7") |
| 1688 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 1689 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1690 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:8") |
| 1691 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 1692 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1693 | |
| 1694 | PORT_START("INA") |
| 1695 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1696 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1697 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1698 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Stop All") |
| 1699 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_CODE(KEYCODE_C) PORT_NAME("Bet / Stop 2") |
| 1700 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_CODE(KEYCODE_Z) PORT_NAME("Double / Info") |
| 1701 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1702 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1703 | |
| 1704 | PORT_START( "INB" ) |
| 1705 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin |
| 1706 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // key in |
| 1707 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1708 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1709 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping. |
| 1710 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Current settings. |
| 1711 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout |
| 1712 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out |
| 1713 | |
| 1714 | PORT_START("INC") |
| 1715 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_CODE(KEYCODE_V) PORT_NAME("Small / Black / Stop 3") |
| 1716 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor |
| 1717 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset |
| 1718 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CODE(KEYCODE_B) PORT_NAME("Big / Red") |
| 1719 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1720 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1721 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_CODE(KEYCODE_X) PORT_NAME("Take / Stop 1") |
| 1722 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1723 | INPUT_PORTS_END |
| 1724 | |
| 1725 | |
| 1726 | static INPUT_PORTS_START( tesorone ) |
| 1727 | PORT_START("SW1") |
| 1728 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1") |
| 1729 | PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) // 5 |
| 1730 | PORT_DIPSETTING( 0x01, "1 Coin / 10 Credits" ) // 16 |
| 1731 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") // ? |
| 1732 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 1733 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1734 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") // ? |
| 1735 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1736 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1737 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") |
| 1645 | 1738 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1646 | 1739 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1647 | | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5") |
| 1740 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") |
| 1648 | 1741 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 1649 | 1742 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1650 | | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6") |
| 1743 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") |
| 1651 | 1744 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 1652 | 1745 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1653 | | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7") |
| 1746 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") // ? |
| 1654 | 1747 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 1655 | 1748 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1656 | | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8") |
| 1749 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") // ? |
| 1657 | 1750 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 1658 | 1751 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1659 | 1752 | |
| 1660 | | PORT_START( "SW4" ) |
| 1661 | | PORT_DIPNAME( 0x07, 0x07, "Double-Up Level" ) PORT_DIPLOCATION("SW4:1,2,3") |
| 1662 | | PORT_DIPSETTING( 0x00, "0" ) |
| 1663 | | PORT_DIPSETTING( 0x01, "1" ) |
| 1664 | | PORT_DIPSETTING( 0x02, "2" ) |
| 1665 | | PORT_DIPSETTING( 0x03, "3" ) |
| 1666 | | PORT_DIPSETTING( 0x04, "4" ) |
| 1667 | | PORT_DIPSETTING( 0x05, "5" ) |
| 1668 | | PORT_DIPSETTING( 0x06, "6" ) |
| 1669 | | PORT_DIPSETTING( 0x07, "7" ) |
| 1670 | | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:4") |
| 1753 | PORT_START("SW2") |
| 1754 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1") // ? |
| 1755 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 1756 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1757 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2") // ? |
| 1758 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 1759 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1760 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3") // ? |
| 1761 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1762 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1763 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4") |
| 1671 | 1764 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1672 | 1765 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1673 | | PORT_DIPNAME( 0x10, 0x10, "Double-Up Game" ) PORT_DIPLOCATION("SW4:5") |
| 1674 | | PORT_DIPSETTING( 0x10, "Dancers / Panties Colors" ) |
| 1675 | | PORT_DIPSETTING( 0x00, "Cards / Seven-Bingo" ) |
| 1676 | | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:6") |
| 1766 | PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:5") |
| 1767 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 1768 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1769 | PORT_DIPNAME( 0x60, 0x60, "Game Limit" ) PORT_DIPLOCATION("SW2:6,7") |
| 1770 | PORT_DIPSETTING( 0x40, "5000" ) |
| 1771 | PORT_DIPSETTING( 0x60, "10000" ) |
| 1772 | PORT_DIPSETTING( 0x20, "20000" ) |
| 1773 | PORT_DIPSETTING( 0x00, "30000" ) |
| 1774 | PORT_DIPNAME( 0x80, 0x80, "Double Up" ) PORT_DIPLOCATION("SW2:8") |
| 1775 | PORT_DIPSETTING( 0x00, DEF_STR( No ) ) |
| 1776 | PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) |
| 1777 | |
| 1778 | PORT_START( "SW3" ) |
| 1779 | PORT_DIPNAME( 0x07, 0x07, "Win Rate" ) PORT_DIPLOCATION("SW3:1,2,3") |
| 1780 | PORT_DIPSETTING( 0x00, "59%" ) |
| 1781 | PORT_DIPSETTING( 0x01, "64%" ) |
| 1782 | PORT_DIPSETTING( 0x02, "69%" ) |
| 1783 | PORT_DIPSETTING( 0x03, "74%" ) |
| 1784 | PORT_DIPSETTING( 0x04, "79%" ) |
| 1785 | PORT_DIPSETTING( 0x07, "84%" ) |
| 1786 | PORT_DIPSETTING( 0x05, "89%" ) |
| 1787 | PORT_DIPSETTING( 0x06, "94%" ) |
| 1788 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4") // ? |
| 1789 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1790 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1791 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5") |
| 1792 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 1793 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1794 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6") |
| 1677 | 1795 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 1678 | 1796 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1679 | | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:7") |
| 1797 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7") |
| 1680 | 1798 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 1681 | 1799 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1682 | | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:8") |
| 1800 | PORT_DIPNAME( 0x80, 0x80, "Reel Speed" ) PORT_DIPLOCATION("SW3:8") |
| 1801 | PORT_DIPSETTING( 0x80, "Slow" ) |
| 1802 | PORT_DIPSETTING( 0x00, "Fast" ) |
| 1803 | |
| 1804 | PORT_START( "SW4" ) |
| 1805 | PORT_DIPNAME( 0x07, 0x07, "Double-Up Level" ) PORT_DIPLOCATION("SW4:1,2,3") |
| 1806 | PORT_DIPSETTING( 0x07, "7 (Easy)" ) |
| 1807 | PORT_DIPSETTING( 0x06, "6" ) |
| 1808 | PORT_DIPSETTING( 0x05, "5" ) |
| 1809 | PORT_DIPSETTING( 0x04, "4" ) |
| 1810 | PORT_DIPSETTING( 0x03, "3" ) |
| 1811 | PORT_DIPSETTING( 0x02, "2" ) |
| 1812 | PORT_DIPSETTING( 0x01, "1" ) |
| 1813 | PORT_DIPSETTING( 0x00, "0 (Hard)" ) |
| 1814 | PORT_DIPNAME( 0x08, 0x08, "Double-Up Limit" ) PORT_DIPLOCATION("SW4:4") |
| 1815 | PORT_DIPSETTING( 0x08, "5000" ) |
| 1816 | PORT_DIPSETTING( 0x00, "10000" ) |
| 1817 | PORT_DIPNAME( 0x70, 0x70, "Remote Credits" ) PORT_DIPLOCATION("SW4:5,6,7") |
| 1818 | // PORT_DIPSETTING( 0x00, "50" ) |
| 1819 | // PORT_DIPSETTING( 0x10, "50" ) |
| 1820 | // PORT_DIPSETTING( 0x20, "50" ) |
| 1821 | PORT_DIPSETTING( 0x30, "50" ) |
| 1822 | PORT_DIPSETTING( 0x70, "100" ) |
| 1823 | PORT_DIPSETTING( 0x60, "200" ) |
| 1824 | PORT_DIPSETTING( 0x50, "400" ) |
| 1825 | PORT_DIPSETTING( 0x40, "800" ) |
| 1826 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:8") // ? |
| 1683 | 1827 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) |
| 1684 | 1828 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1685 | 1829 | |
| r20219 | r20220 | |
| 1705 | 1849 | |
| 1706 | 1850 | PORT_START("INC") |
| 1707 | 1851 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_CODE(KEYCODE_V) PORT_NAME("Small / Black / Stop 3") |
| 1708 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1852 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor |
| 1709 | 1853 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset |
| 1710 | 1854 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CODE(KEYCODE_B) PORT_NAME("Big / Red") |
| 1711 | 1855 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| r20219 | r20220 | |
| 2057 | 2201 | PORT_DIPSETTING( 0x01, "1 Coin / 10 Credits" ) |
| 2058 | 2202 | PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) |
| 2059 | 2203 | PORT_DIPUNKNOWN( 0x02, 0x02 ) |
| 2060 | | PORT_DIPUNKNOWN( 0x04, 0x04 ) |
| 2204 | PORT_DIPNAME( 0x04, 0x04, "Hopper" ) |
| 2205 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 2206 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2061 | 2207 | PORT_DIPUNKNOWN( 0x08, 0x08 ) |
| 2062 | 2208 | PORT_DIPUNKNOWN( 0x10, 0x10 ) |
| 2063 | 2209 | PORT_DIPUNKNOWN( 0x20, 0x20 ) |
| r20219 | r20220 | |
| 2112 | 2258 | PORT_DIPSETTING( 0x00, "Left-Right Marker" ) |
| 2113 | 2259 | PORT_DIPUNKNOWN( 0x80, 0x80 ) |
| 2114 | 2260 | |
| 2115 | | PORT_START( "INA" ) |
| 2261 | PORT_START( "INA" ) // d005 |
| 2116 | 2262 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Double (Select)") |
| 2117 | 2263 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Right") |
| 2118 | 2264 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Left") |
| r20219 | r20220 | |
| 2122 | 2268 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_NAME("Bet / Speed") PORT_IMPULSE(3) |
| 2123 | 2269 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2124 | 2270 | |
| 2125 | | PORT_START( "INB" ) |
| 2271 | PORT_START( "INB" ) // d006 |
| 2126 | 2272 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin |
| 2127 | 2273 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2128 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2274 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor |
| 2129 | 2275 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2130 | 2276 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping. |
| 2131 | 2277 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others. |
| 2132 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout? |
| 2278 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout |
| 2133 | 2279 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out? |
| 2134 | 2280 | |
| 2135 | | PORT_START( "INC" ) |
| 2281 | PORT_START( "INC" ) // d00c |
| 2136 | 2282 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2137 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2283 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor |
| 2138 | 2284 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset |
| 2139 | 2285 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2140 | 2286 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| r20219 | r20220 | |
| 2151 | 2297 | PORT_DIPSETTING( 0x01, "1 Coin / 10 Credits" ) |
| 2152 | 2298 | PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) |
| 2153 | 2299 | PORT_DIPUNKNOWN( 0x02, 0x02 ) |
| 2154 | | PORT_DIPUNKNOWN( 0x04, 0x04 ) |
| 2300 | PORT_DIPNAME( 0x04, 0x04, "Hopper" ) |
| 2301 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 2302 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2155 | 2303 | PORT_DIPUNKNOWN( 0x08, 0x08 ) |
| 2156 | 2304 | PORT_DIPUNKNOWN( 0x10, 0x10 ) |
| 2157 | 2305 | PORT_DIPUNKNOWN( 0x20, 0x20 ) |
| r20219 | r20220 | |
| 2206 | 2354 | PORT_DIPSETTING( 0x00, "Left-Right Marker" ) |
| 2207 | 2355 | PORT_DIPUNKNOWN( 0x80, 0x80 ) |
| 2208 | 2356 | |
| 2209 | | PORT_START( "INA" ) |
| 2357 | PORT_START( "INA" ) // d005 |
| 2210 | 2358 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Double (Select)") |
| 2211 | 2359 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Right") |
| 2212 | 2360 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Left") |
| r20219 | r20220 | |
| 2216 | 2364 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_NAME("Bet / Speed") PORT_IMPULSE(3) |
| 2217 | 2365 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2218 | 2366 | |
| 2219 | | PORT_START( "INB" ) |
| 2367 | PORT_START( "INB" ) // d006 |
| 2220 | 2368 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin |
| 2221 | 2369 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2222 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2370 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor |
| 2223 | 2371 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2224 | 2372 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping. |
| 2225 | 2373 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others. |
| 2226 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout? |
| 2374 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout |
| 2227 | 2375 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out? |
| 2228 | 2376 | |
| 2229 | | PORT_START( "INC" ) |
| 2377 | PORT_START( "INC" ) // d00c |
| 2230 | 2378 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2231 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2379 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor |
| 2232 | 2380 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset |
| 2233 | 2381 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2234 | 2382 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| r20219 | r20220 | |
| 2651 | 2799 | MCFG_CPU_PROGRAM_MAP(victor21_map) |
| 2652 | 2800 | MCFG_CPU_IO_MAP(subsino_iomap) |
| 2653 | 2801 | |
| 2802 | MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) |
| 2803 | |
| 2654 | 2804 | /* video hardware */ |
| 2655 | 2805 | MCFG_SCREEN_ADD("screen", RASTER) |
| 2656 | 2806 | MCFG_SCREEN_REFRESH_RATE(60) |
| r20219 | r20220 | |
| 2691 | 2841 | MCFG_CPU_PROGRAM_MAP(crsbingo_map) |
| 2692 | 2842 | MCFG_CPU_IO_MAP(subsino_iomap) |
| 2693 | 2843 | |
| 2844 | MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) |
| 2845 | |
| 2694 | 2846 | /* video hardware */ |
| 2695 | 2847 | MCFG_SCREEN_ADD("screen", RASTER) |
| 2696 | 2848 | MCFG_SCREEN_REFRESH_RATE(60) |
| r20219 | r20220 | |
| 2720 | 2872 | MCFG_CPU_PROGRAM_MAP(srider_map) |
| 2721 | 2873 | MCFG_CPU_IO_MAP(subsino_iomap) |
| 2722 | 2874 | |
| 2875 | MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) |
| 2876 | |
| 2723 | 2877 | /* video hardware */ |
| 2724 | 2878 | MCFG_SCREEN_ADD("screen", RASTER) |
| 2725 | 2879 | MCFG_SCREEN_REFRESH_RATE(60) |
| r20219 | r20220 | |
| 2759 | 2913 | MCFG_CPU_PROGRAM_MAP(tisub_map) |
| 2760 | 2914 | MCFG_CPU_IO_MAP(subsino_iomap) |
| 2761 | 2915 | |
| 2916 | MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) |
| 2917 | |
| 2762 | 2918 | /* video hardware */ |
| 2763 | 2919 | MCFG_SCREEN_ADD("screen", RASTER) |
| 2764 | 2920 | MCFG_SCREEN_REFRESH_RATE(60) |
| r20219 | r20220 | |
| 2787 | 2943 | MCFG_CPU_PROGRAM_MAP(stisub_map) |
| 2788 | 2944 | MCFG_CPU_IO_MAP(subsino_iomap) |
| 2789 | 2945 | |
| 2946 | MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) |
| 2947 | |
| 2790 | 2948 | /* video hardware */ |
| 2791 | 2949 | MCFG_SCREEN_ADD("screen", RASTER) |
| 2792 | 2950 | MCFG_SCREEN_REFRESH_RATE(60) |
| r20219 | r20220 | |
| 3101 | 3259 | ROM_LOAD( "shark_n.1.u18", 0x0a000, 0x6000, CRC(25aeac2f) SHA1(d94e3e5cfffd150ac48e1463493a8323f42e7a89) ) // is this mapped correctly? - used during gameplay? |
| 3102 | 3260 | ROM_CONTINUE(0x0000, 0xa000) |
| 3103 | 3261 | |
| 3104 | | |
| 3105 | 3262 | ROM_REGION( 0x40000, "tilemap", 0 ) |
| 3106 | 3263 | ROM_LOAD( "shark_n.3.u16", 0x00000, 0x08000, CRC(a7a715ce) SHA1(38b93e05377d9cb816688f5070e847480f195c6b) ) |
| 3107 | 3264 | ROM_CONTINUE( 0x10000, 0x08000 ) |
| r20219 | r20220 | |
| 3201 | 3358 | ROM_LOAD( "sharkpye.u18", 0x0a000, 0x6000, CRC(12473814) SHA1(9c24ed41781aefee0161add912e730ba0d4f4d3e) ) |
| 3202 | 3359 | ROM_CONTINUE(0x0000, 0xa000) |
| 3203 | 3360 | |
| 3204 | | |
| 3205 | 3361 | ROM_REGION( 0x40000, "tilemap", 0 ) |
| 3206 | 3362 | ROM_LOAD( "sharkpye.u16", 0x00000, 0x08000, CRC(90862185) SHA1(9d632bfa707d3449a87d7f370eb2b5c36e61aadd) ) |
| 3207 | 3363 | ROM_CONTINUE( 0x10000, 0x08000 ) |
| r20219 | r20220 | |
| 3264 | 3420 | ROM_LOAD( "victor_6ii_alpha_1_ver2.3.u18", 0x0a000, 0x6000, CRC(2a3eaecd) SHA1(18bf2dfec8cd5690d6465f750093942afda66475) ) |
| 3265 | 3421 | ROM_CONTINUE(0x0000, 0xa000) |
| 3266 | 3422 | |
| 3267 | | |
| 3268 | 3423 | ROM_REGION( 0x40000, "tilemap", 0 ) |
| 3269 | 3424 | ROM_LOAD( "victor_6ii-rom_3_ver1.0.u16", 0x00000, 0x08000, CRC(4e96c30a) SHA1(4989b10a52ba61459864aa44be9ebafe68b4d231) ) |
| 3270 | 3425 | ROM_CONTINUE( 0x10000, 0x08000 ) |
| r20219 | r20220 | |
| 3289 | 3444 | ROM_LOAD( "victor_6ii_rom_1_ver1.2.u18", 0x0a000, 0x6000, CRC(309876fc) SHA1(305c4cf347b512607e2c58a580075a34b48bedd5) ) |
| 3290 | 3445 | ROM_CONTINUE(0x0000, 0xa000) |
| 3291 | 3446 | |
| 3292 | | |
| 3293 | 3447 | ROM_REGION( 0x40000, "tilemap", 0 ) |
| 3294 | 3448 | ROM_LOAD( "victor_6ii-rom_3_ver1.0.u16", 0x00000, 0x08000, CRC(4e96c30a) SHA1(4989b10a52ba61459864aa44be9ebafe68b4d231) ) |
| 3295 | 3449 | ROM_CONTINUE( 0x10000, 0x08000 ) |
| r20219 | r20220 | |
| 3445 | 3599 | |
| 3446 | 3600 | /*************************************************************************** |
| 3447 | 3601 | |
| 3448 | | Super Treasure Island |
| 3449 | | - is this better here or in bishjan.c? |
| 3602 | Treasure Bonus |
| 3603 | (C) American Alpha |
| 3450 | 3604 | |
| 3605 | CPU module marked 'Super Treasure Island' |
| 3606 | |
| 3451 | 3607 | ***************************************************************************/ |
| 3452 | 3608 | |
| 3453 | 3609 | ROM_START( stisub ) |
| 3454 | | ROM_REGION( 0x18000, "maincpu", 0 ) |
| 3610 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 3455 | 3611 | ROM_LOAD( "trbon-rlu16.u12", 0x00000, 0x10000, CRC(07771290) SHA1(c485943045396d8580271504a1fec7c88579f4a2) ) |
| 3456 | 3612 | |
| 3457 | 3613 | ROM_REGION( 0x100000, "tilemap", 0 ) |
| r20219 | r20220 | |
| 3467 | 3623 | ROM_LOAD( "sti-alpha_9-ver1.1.u22", 0x60000, 0x20000, CRC(9710a223) SHA1(76ef6bd77ae33d91a9b6a9a615d07caee3356dfb) ) |
| 3468 | 3624 | ROM_END |
| 3469 | 3625 | |
| 3626 | /*************************************************************************** |
| 3470 | 3627 | |
| 3628 | Tesorone Dell'Isola (2 sets) |
| 3629 | (C) Subsino |
| 3630 | |
| 3631 | Italian version of "Treasure Bonus" |
| 3632 | |
| 3633 | PCB: SN01256-3 CS186P006-1 (same as "Treasure Bonus") |
| 3634 | |
| 3635 | Chips: |
| 3636 | |
| 3637 | 1x pLSI 1032-60 |
| 3638 | 2x FILE KD89C55A (equivalent to 8255) |
| 3639 | 1x K-664 (equivalent to YM3014) |
| 3640 | 1x K-665 (equivalent to M6295) |
| 3641 | 1x K-666 (equivalent to YM3812) |
| 3642 | 1x custom DIP42 SUBSINO SS9101 |
| 3643 | 1x HMC HM86171-80 (RAMDAC) |
| 3644 | |
| 3645 | 2x oscillator 12.000MHz ? |
| 3646 | 1x oscillator 4.43361MHz ? |
| 3647 | |
| 3648 | Other: |
| 3649 | |
| 3650 | 1x empty ROM socket for upgrades |
| 3651 | 1x battery (unpopulated) |
| 3652 | 1x 6x2 edge connector (con2) |
| 3653 | 1x 36x2 edge connector |
| 3654 | 1x pushbutton (sw5) |
| 3655 | 4x 8 switches dips (sw1-4) |
| 3656 | 1x trimmer (volume) |
| 3657 | 1x BIG BLACK BOX |
| 3658 | |
| 3659 | ***************************************************************************/ |
| 3660 | |
| 3661 | ROM_START( tesorone ) |
| 3662 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 3663 | ROM_LOAD( "tesorone.d.isol.italy_1ver2.41.u12", 0x00000, 0x10000, CRC(b019b689) SHA1(ba7acd15842b29e6ac37795a4d6e0f93d99393a4) ) |
| 3664 | |
| 3665 | ROM_REGION( 0x100000, "tilemap", 0 ) |
| 3666 | ROM_LOAD( "tesorone.d.isol.italy_2ver1.7.u30", 0x00000, 0x40000, CRC(295887c5) SHA1(b36914977b276ac5e5e31902dff28796f3a28ea1) ) |
| 3667 | ROM_LOAD( "tesorone.d.isol.italy_3ver1.7.u29", 0x40000, 0x40000, CRC(89469522) SHA1(ba373900e0310aad3d04ff58909f6144d9b689a7) ) |
| 3668 | ROM_LOAD( "tesorone.d.isol.italy_4ver1.7.u28", 0x80000, 0x40000, CRC(2092a368) SHA1(05e1af15761e0186ea7ddb8b82c177e35fcdd382) ) |
| 3669 | ROM_LOAD( "tesorone.d.isol.italy_5ver1.7.u27", 0xc0000, 0x40000, CRC(57870bad) SHA1(7a3342c5cc3ed5f48d2dda224913eb357aeb401b) ) |
| 3670 | |
| 3671 | ROM_REGION( 0x80000, "reels", 0 ) |
| 3672 | ROM_LOAD( "tesorone.d.isol.italy_6ver1.7.u25", 0x00000, 0x20000, CRC(e5578d00) SHA1(28882131d13f052bc31c3fc1b6dc5d9e45d30e82) ) |
| 3673 | ROM_LOAD( "tesorone.d.isol.italy_7ver1.7.u24", 0x20000, 0x20000, CRC(c29a7841) SHA1(7bec4a4db0b545b9b9d9a4c14efa9442e7738d8a) ) |
| 3674 | ROM_LOAD( "tesorone.d.isol.italy_8ver1.7.u23", 0x40000, 0x20000, CRC(2b4b195a) SHA1(cb165f6737231ae52dbf9775fff13b778835fcac) ) |
| 3675 | ROM_LOAD( "tesorone.d.isol.italy_9ver1.7.u22", 0x60000, 0x20000, CRC(1c9f754e) SHA1(7b2feeeaaa4845d2fcfebb2c1bc4d6b69d937400) ) |
| 3676 | ROM_END |
| 3677 | |
| 3678 | ROM_START( tesorone240 ) |
| 3679 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 3680 | ROM_LOAD( "tesorone.d.isol.italy_1ver2.4.u12", 0x00000, 0x10000, CRC(6a7d5395) SHA1(448184b78b6a3e28f891731c83a4e2d1e283c205) ) |
| 3681 | |
| 3682 | ROM_REGION( 0x100000, "tilemap", 0 ) |
| 3683 | ROM_LOAD( "tesorone.d.isol.italy_2ver1.7.u30", 0x00000, 0x40000, CRC(295887c5) SHA1(b36914977b276ac5e5e31902dff28796f3a28ea1) ) |
| 3684 | ROM_LOAD( "tesorone.d.isol.italy_3ver1.7.u29", 0x40000, 0x40000, CRC(89469522) SHA1(ba373900e0310aad3d04ff58909f6144d9b689a7) ) |
| 3685 | ROM_LOAD( "tesorone.d.isol.italy_4ver1.7.u28", 0x80000, 0x40000, CRC(2092a368) SHA1(05e1af15761e0186ea7ddb8b82c177e35fcdd382) ) |
| 3686 | ROM_LOAD( "tesorone.d.isol.italy_5ver1.7.u27", 0xc0000, 0x40000, CRC(57870bad) SHA1(7a3342c5cc3ed5f48d2dda224913eb357aeb401b) ) |
| 3687 | |
| 3688 | ROM_REGION( 0x80000, "reels", 0 ) |
| 3689 | ROM_LOAD( "tesorone.d.isol.italy_6ver1.7.u25", 0x00000, 0x20000, CRC(e5578d00) SHA1(28882131d13f052bc31c3fc1b6dc5d9e45d30e82) ) |
| 3690 | ROM_LOAD( "tesorone.d.isol.italy_7ver1.7.u24", 0x20000, 0x20000, CRC(c29a7841) SHA1(7bec4a4db0b545b9b9d9a4c14efa9442e7738d8a) ) |
| 3691 | ROM_LOAD( "tesorone.d.isol.italy_8ver1.7.u23", 0x40000, 0x20000, CRC(2b4b195a) SHA1(cb165f6737231ae52dbf9775fff13b778835fcac) ) |
| 3692 | ROM_LOAD( "tesorone.d.isol.italy_9ver1.7.u22", 0x60000, 0x20000, CRC(1c9f754e) SHA1(7b2feeeaaa4845d2fcfebb2c1bc4d6b69d937400) ) |
| 3693 | ROM_END |
| 3694 | |
| 3695 | |
| 3471 | 3696 | /*************************************************************************** |
| 3472 | 3697 | |
| 3473 | 3698 | This is allegedly Magic Train - Clear NVRAM ROM: |
| r20219 | r20220 | |
| 3561 | 3786 | |
| 3562 | 3787 | DRIVER_INIT_MEMBER(subsino_state,stisub) |
| 3563 | 3788 | { |
| 3789 | #if 1 |
| 3564 | 3790 | UINT8 *rom = memregion( "maincpu" )->base(); |
| 3565 | 3791 | rom[0x1005] = 0x1d; //patch protection check |
| 3566 | 3792 | rom[0x7ab] = 0x18; //patch "winning protection" check |
| 3567 | 3793 | rom[0x957] = 0x18; //patch "losing protection" check |
| 3794 | #endif |
| 3795 | |
| 3568 | 3796 | m_stisub_colorram = auto_alloc_array(machine(), UINT8, 256*3); |
| 3569 | 3797 | |
| 3570 | 3798 | m_reel1_scroll.allocate(0x40); |
| r20219 | r20220 | |
| 3575 | 3803 | m_reel2_attr = auto_alloc_array(machine(), UINT8, 0x200); |
| 3576 | 3804 | m_reel3_attr = auto_alloc_array(machine(), UINT8, 0x200); |
| 3577 | 3805 | } |
| 3806 | DRIVER_INIT_MEMBER(subsino_state,tesorone) |
| 3807 | { |
| 3808 | #if 1 |
| 3809 | UINT8 *rom = memregion( "maincpu" )->base(); |
| 3810 | rom[0x10a4] = 0x18; //patch protection check ("ERROR 08073"): |
| 3811 | rom[0x10a5] = 0x11; |
| 3812 | rom[0x8b6] = 0x18; //patch "winning protection" check |
| 3813 | rom[0xa84] = 0x18; //patch "losing protection" check |
| 3814 | #endif |
| 3578 | 3815 | |
| 3816 | m_stisub_colorram = auto_alloc_array(machine(), UINT8, 256*3); |
| 3817 | |
| 3818 | m_reel1_scroll.allocate(0x40); |
| 3819 | m_reel2_scroll.allocate(0x40); |
| 3820 | m_reel3_scroll.allocate(0x40); |
| 3821 | |
| 3822 | m_reel1_attr = auto_alloc_array(machine(), UINT8, 0x200); |
| 3823 | m_reel2_attr = auto_alloc_array(machine(), UINT8, 0x200); |
| 3824 | m_reel3_attr = auto_alloc_array(machine(), UINT8, 0x200); |
| 3825 | } |
| 3826 | |
| 3579 | 3827 | DRIVER_INIT_MEMBER(subsino_state,mtrainnv) |
| 3580 | 3828 | { |
| 3581 | 3829 | m_stisub_colorram = auto_alloc_array(machine(), UINT8, 256*3); |
| r20219 | r20220 | |
| 3589 | 3837 | m_reel3_attr = auto_alloc_array(machine(), UINT8, 0x200); |
| 3590 | 3838 | } |
| 3591 | 3839 | |
| 3592 | | |
| 3593 | 3840 | /*************************************************************************** |
| 3594 | 3841 | * Game Drivers * |
| 3595 | 3842 | ***************************************************************************/ |
| 3596 | 3843 | |
| 3597 | | // YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT |
| 3598 | | GAMEL( 1990, victor21, 0, victor21, victor21, subsino_state, victor21, ROT0, "Subsino / Buffy", "Victor 21", 0, layout_victor21 ) |
| 3599 | | GAMEL( 1991, victor5, 0, victor5, victor5, subsino_state, victor5, ROT0, "Subsino", "G.E.A.", 0, layout_victor5 ) // PCB black-box was marked 'victor 5' - in-game says G.E.A with no manufacturer info? |
| 3600 | | GAMEL( 1992, tisub, 0, tisub, tisub, subsino_state, tisub, ROT0, "Subsino", "Treasure Island (Subsino, set 1)", 0, layout_tisub ) |
| 3601 | | GAMEL( 1992, tisuba, tisub, tisub, tisub, subsino_state, tisuba, ROT0, "Subsino", "Treasure Island (Subsino, set 2)", 0, layout_tisub ) |
| 3602 | | GAMEL( 1991, crsbingo, 0, crsbingo, crsbingo, subsino_state, crsbingo, ROT0, "Subsino", "Poker Carnival", 0, layout_crsbingo ) |
| 3603 | | GAMEL( 1995, stisub, 0, stisub, stisub, subsino_state, stisub, ROT0, "American Alpha", "Treasure Bonus (Subsino)", 0, layout_stisub ) // board CPU module marked 'Super Treasure Island' (alt title?) |
| 3604 | | GAMEL( 1996, sharkpy, 0, sharkpy, sharkpy, subsino_state, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.3)", 0, layout_sharkpy ) // missing POST messages? |
| 3605 | | GAMEL( 1996, sharkpya, sharkpy, sharkpy, sharkpy, subsino_state, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.6)", 0, layout_sharkpy ) // missing POST messages? |
| 3606 | | GAMEL( 1995, sharkpye, sharkpy, sharkpy, sharkpye, subsino_state, sharkpye, ROT0, "American Alpha", "Shark Party (English, Alpha license)", 0, layout_sharkpye ) // PCB black-box was marked 'victor 6' |
| 3607 | | GAMEL( 1995, victor6, 0, sharkpy, victor6, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3N)", 0, layout_sharkpye ) // ^^ |
| 3608 | | GAMEL( 1995, victor6a, victor6, sharkpy, victor6a, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3)", 0, layout_sharkpye ) // ^^ |
| 3609 | | GAMEL( 1995, victor6b, victor6, sharkpy, victor6b, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v1.2)", 0, layout_sharkpye ) // ^^ Version # according to label, not displayed |
| 3610 | | GAMEL( 1996, smoto20, 0, srider, smoto20, subsino_state, smoto20, ROT0, "Subsino", "Super Rider (Italy, v2.0)", 0, layout_smoto ) |
| 3611 | | GAMEL( 1996, smoto16, smoto20, srider, smoto16, subsino_state, smoto16, ROT0, "Subsino", "Super Moto (Italy, v1.6)", 0, layout_smoto ) |
| 3612 | | GAME ( 1996, mtrainnv, mtrain, mtrainnv, stisub, subsino_state, mtrainnv, ROT0, "Subsino", "Magic Train (Clear NVRAM ROM?)", GAME_NOT_WORKING ) |
| 3844 | // YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT |
| 3845 | GAMEL( 1990, victor21, 0, victor21, victor21, subsino_state, victor21, ROT0, "Subsino / Buffy", "Victor 21", 0, layout_victor21 ) |
| 3846 | GAMEL( 1991, victor5, 0, victor5, victor5, subsino_state, victor5, ROT0, "Subsino", "G.E.A.", 0, layout_victor5 ) // PCB black-box was marked 'victor 5' - in-game says G.E.A with no manufacturer info? |
| 3847 | GAMEL( 1992, tisub, 0, tisub, tisub, subsino_state, tisub, ROT0, "Subsino", "Treasure Island (Subsino, set 1)", 0, layout_tisub ) |
| 3848 | GAMEL( 1992, tisuba, tisub, tisub, tisub, subsino_state, tisuba, ROT0, "Subsino", "Treasure Island (Subsino, set 2)", 0, layout_tisub ) |
| 3849 | GAMEL( 1991, crsbingo, 0, crsbingo, crsbingo, subsino_state, crsbingo, ROT0, "Subsino", "Poker Carnival", 0, layout_crsbingo ) |
| 3850 | GAMEL( 1995, stisub, 0, stisub, stisub, subsino_state, stisub, ROT0, "American Alpha", "Treasure Bonus (Subsino, v1.6)", 0, layout_stisub ) // board CPU module marked 'Super Treasure Island' (alt title?) |
| 3851 | GAMEL( 1995, tesorone, stisub, stisub, tesorone, subsino_state, tesorone, ROT0, "Subsino", "Tesorone Dell'Isola (Italy, v2.41)", 0, layout_stisub ) |
| 3852 | GAMEL( 1995, tesorone240, stisub, stisub, tesorone, subsino_state, tesorone, ROT0, "Subsino", "Tesorone Dell'Isola (Italy, v2.40)", 0, layout_stisub ) |
| 3853 | GAMEL( 1996, sharkpy, 0, sharkpy, sharkpy, subsino_state, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.3)", 0, layout_sharkpy ) // missing POST messages? |
| 3854 | GAMEL( 1996, sharkpya, sharkpy, sharkpy, sharkpy, subsino_state, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.6)", 0, layout_sharkpy ) // missing POST messages? |
| 3855 | GAMEL( 1995, sharkpye, sharkpy, sharkpy, sharkpye, subsino_state, sharkpye, ROT0, "American Alpha", "Shark Party (English, Alpha license)", 0, layout_sharkpye ) // PCB black-box was marked 'victor 6' |
| 3856 | GAMEL( 1995, victor6, 0, sharkpy, victor6, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3N)", 0, layout_sharkpye ) // ^^ |
| 3857 | GAMEL( 1995, victor6a, victor6, sharkpy, victor6a, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3)", 0, layout_sharkpye ) // ^^ |
| 3858 | GAMEL( 1995, victor6b, victor6, sharkpy, victor6b, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v1.2)", 0, layout_sharkpye ) // ^^ Version # according to label, not displayed |
| 3859 | GAMEL( 1996, smoto20, 0, srider, smoto20, subsino_state, smoto20, ROT0, "Subsino", "Super Rider (Italy, v2.0)", 0, layout_smoto ) |
| 3860 | GAMEL( 1996, smoto16, smoto20, srider, smoto16, subsino_state, smoto16, ROT0, "Subsino", "Super Moto (Italy, v1.6)", 0, layout_smoto ) |
| 3861 | GAME ( 1996, mtrainnv, mtrain, mtrainnv, stisub, subsino_state, mtrainnv, ROT0, "Subsino", "Magic Train (Clear NVRAM ROM?)", GAME_NOT_WORKING ) |