mirror of
https://github.com/holub/mame
synced 2025-04-28 19:14:55 +03:00
- dynax/royalmah.cpp: completed dip definitions for myvegas/a [Recreativos Piscis]
- exidy/exidy.cpp: confirmed PAL dumps for spectar sets [Domenico Cervini] - taito/pkspirit.cpp: added dip definitions [hammy]
This commit is contained in:
parent
c6f17c61b9
commit
12daa85d7a
@ -3565,11 +3565,11 @@ static INPUT_PORTS_START( jansou )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( mjvegasa )
|
||||
static INPUT_PORTS_START( mjvegasa ) // dips definitions and defaults from manual (machine translated)
|
||||
PORT_INCLUDE( mjctrl2 )
|
||||
|
||||
PORT_START("DSW1") // 6810
|
||||
PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate" )
|
||||
PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate" ) PORT_DIPLOCATION("SW1:1,2,3,4")
|
||||
PORT_DIPSETTING( 0x0f, "96%" )
|
||||
PORT_DIPSETTING( 0x0e, "93%" )
|
||||
PORT_DIPSETTING( 0x0d, "90%" )
|
||||
@ -3586,116 +3586,116 @@ static INPUT_PORTS_START( mjvegasa )
|
||||
PORT_DIPSETTING( 0x02, "56%" )
|
||||
PORT_DIPSETTING( 0x01, "53%" )
|
||||
PORT_DIPSETTING( 0x00, "50%" )
|
||||
PORT_DIPNAME( 0x30, 0x30, "Odds Rate" )
|
||||
PORT_DIPNAME( 0x30, 0x00, "Odds Rate" ) PORT_DIPLOCATION("SW1:5,6")
|
||||
PORT_DIPSETTING( 0x30, "1 2 4 8 12 16 24 32" )
|
||||
PORT_DIPSETTING( 0x00, "1 2 3 5 8 15 30 50" )
|
||||
PORT_DIPSETTING( 0x10, "1 2 3 5 10 25 50 100" )
|
||||
PORT_DIPSETTING( 0x20, "1 2 3 5 10 50 100 200" )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, "Max Bet" )
|
||||
PORT_DIPNAME( 0xc0, 0x40, "Max Bet" ) PORT_DIPLOCATION("SW1:7,8")
|
||||
PORT_DIPSETTING( 0xc0, "1" )
|
||||
PORT_DIPSETTING( 0x80, "5" )
|
||||
PORT_DIPSETTING( 0x40, "10" )
|
||||
PORT_DIPSETTING( 0x00, "20" )
|
||||
|
||||
PORT_START("DSW2") // 6811
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "YAKUMAN Times" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, "Minimum Rate" ) PORT_DIPLOCATION("SW2:3,4")
|
||||
PORT_DIPSETTING( 0x0c, "1" )
|
||||
PORT_DIPSETTING( 0x08, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPNAME( 0x70, 0x70, "YAKUMAN Bonus" )
|
||||
PORT_DIPSETTING( 0x70, "Cut" )
|
||||
PORT_DIPSETTING( 0x60, "100?" )
|
||||
PORT_DIPNAME( 0x70, 0x70, "YAKUMAN Bonus" ) PORT_DIPLOCATION("SW2:5,6,7") // this is the default for 'corner' machines, for 'single' it's listed as 0x30
|
||||
PORT_DIPSETTING( 0x70, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x60, "Once on Start" )
|
||||
PORT_DIPSETTING( 0x50, "300" )
|
||||
PORT_DIPSETTING( 0x40, "500" )
|
||||
PORT_DIPSETTING( 0x30, "700" )
|
||||
PORT_DIPSETTING( 0x20, "1000" )
|
||||
// PORT_DIPSETTING( 0x10, "1000" )
|
||||
// PORT_DIPSETTING( 0x00, "1000" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Unknown 2-7" )
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x80, "2" )
|
||||
PORT_DIPSETTING( 0x10, "1000" ) // dip combination not listed in the manual
|
||||
PORT_DIPSETTING( 0x00, "1000" ) // dip combination not listed in the manual
|
||||
PORT_DIPNAME( 0x80, 0x80, "Yakuman Bonus Cycle" ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPSETTING( 0x00, "Once" )
|
||||
PORT_DIPSETTING( 0x80, "Twice" )
|
||||
|
||||
PORT_START("DSW3") // 6812
|
||||
PORT_DIPNAME( 0x01, 0x01, "Unknown 3-0" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Unknown 3-1" )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "3 BAI In YAKUMAN Bonus Chance" )
|
||||
PORT_DIPNAME( 0x01, 0x01, "Payout Type" ) PORT_DIPLOCATION("SW3:1")
|
||||
PORT_DIPSETTING( 0x01, "Credits" )
|
||||
PORT_DIPSETTING( 0x00, "Hopper" )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Hopper Type" ) PORT_DIPLOCATION("SW3:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x00, "Reversed" )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Service Count" ) PORT_DIPLOCATION("SW3:3")
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Unknown 3-3" )
|
||||
PORT_DIPNAME( 0x08, 0x00, "W-Bet" ) PORT_DIPLOCATION("SW3:4")
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Unknown 3-4" )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Renchan Rate" ) PORT_DIPLOCATION("SW3:5")
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Unknown 3-5" )
|
||||
PORT_DIPNAME( 0x20, 0x00, "Auto Reach" ) PORT_DIPLOCATION("SW3:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Unknown 3-6" )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Auto Tsumo" ) PORT_DIPLOCATION("SW3:7") // machine translated as 'automatic mode'
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Unknown 3-7" )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Yakuman Match" ) PORT_DIPLOCATION("SW3:8") // machine translated as 'service point'
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSW4") // 6813
|
||||
PORT_DIPNAME( 0x01, 0x01, "Unknown 4-0" )
|
||||
PORT_DIPNAME( 0x01, 0x00, "Last Chance" ) PORT_DIPLOCATION("SW4:1")
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Show Clock" )
|
||||
PORT_DIPNAME( 0x02, 0x00, "Show Clock" ) PORT_DIPLOCATION("SW4:2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Girls" )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Girls" ) PORT_DIPLOCATION("SW4:3") // Renshu Gal Display according to machine translation
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Background" )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Background" ) PORT_DIPLOCATION("SW4:4")
|
||||
PORT_DIPSETTING( 0x08, "Black" )
|
||||
PORT_DIPSETTING( 0x00, "Green" )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW4:5") // default off according to manual, but left on for testing convenience
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Unknown 4-5" )
|
||||
PORT_DIPNAME( 0x20, 0x00, "In Game Music" ) PORT_DIPLOCATION("SW4:6")
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Unknown 4-6" )
|
||||
PORT_DIPNAME( 0x40, 0x00, "Yakuman Match Frequency" ) PORT_DIPLOCATION("SW4:7") // machine translated as 'time service frequency'
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Unknown 4-7" )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW4:8") // 'OFF' in manual
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWTOP") // 6814
|
||||
PORT_DIPNAME( 0x01, 0x01, "Credits Per Note" )
|
||||
PORT_DIPNAME( 0x01, 0x01, "Credits Per Note" ) PORT_DIPLOCATION("SW1:9")
|
||||
PORT_DIPSETTING( 0x01, "5" )
|
||||
PORT_DIPSETTING( 0x00, "10" )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:10")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Unknown 2-8" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Unknown 2-9" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Flip-Flop Key" )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:9")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Wave of Dividends" ) PORT_DIPLOCATION("SW2:10")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( High ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Don Den Key" ) PORT_DIPLOCATION("SW3:9")
|
||||
PORT_DIPSETTING( 0x00, "Flip-Flop" )
|
||||
PORT_DIPSETTING( 0x10, "Start" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Don Den Times" )
|
||||
PORT_DIPNAME( 0x20, 0x00, "Don Den Times" ) PORT_DIPLOCATION("SW3:10")
|
||||
PORT_DIPSETTING( 0x00, "5" )
|
||||
PORT_DIPSETTING( 0x20, "8" )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Unknown 4-8" )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW4:9") // 'OFF' in manual
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, "Debug Mode" ) // e.g. press start in bet screen
|
||||
PORT_DIPNAME( 0x80, 0x80, "Debug Mode" ) PORT_DIPLOCATION("SW4:10") // e.g. press start in bet screen ('OFF' in manual)
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
@ -1885,7 +1885,7 @@ ROM_START( spectar )
|
||||
|
||||
ROM_REGION( 0x0140, "proms", 0 )
|
||||
ROM_LOAD( "spl5c-2.5c", 0x0000, 0x0100, CRC(9ca2e061) SHA1(4111325b00a1017042d55c59308d41e8333ba627) ) // 6301 according to the Spectar manual, also seen as IM 5623CPE on PCB
|
||||
ROM_LOAD( "prom.6d", 0x0100, 0x0020, BAD_DUMP CRC(e26f9053) SHA1(eec35b6aa2c2d305418306bf4a1754a0583f109f) ) // screen controller PROM, 6331 according to the Spectar manual, dumped from a bootleg
|
||||
ROM_LOAD( "hrl6d-1.6d", 0x0100, 0x0020, CRC(e26f9053) SHA1(eec35b6aa2c2d305418306bf4a1754a0583f109f) ) // screen controller PROM, 6331 according to the Spectar manual, also seen as IM 5610CPE on PCB
|
||||
ROM_LOAD( "hrl14h-1.14h", 0x0120, 0x0020, CRC(f76b4fcf) SHA1(197e0cc508ffeb5cefa4046bdfb158939d598225) ) // 6331 according to the Spectar manual
|
||||
ROM_END
|
||||
|
||||
@ -1899,13 +1899,13 @@ ROM_START( spectar1 )
|
||||
ROM_LOAD( "spl7a-1.7a", 0x3000, 0x0800, CRC(e08b0d8d) SHA1(6ffd6f8fb50c9fc09c38f56da7d6d005b66e78cc) )
|
||||
ROM_LOAD( "spl6a-1.6a", 0x3800, 0x0800, CRC(f0e4e71a) SHA1(5487a94650c964a7ab07f30aacab0b470dcb3b40) )
|
||||
|
||||
ROM_REGION( 0x0400, "gfx1", 0 ) // some PCBs were seen with hrl11d-1
|
||||
ROM_REGION( 0x0400, "gfx1", 0 ) // some PCBs were seen with hrl11d-1 (CRC(9f03513e) SHA1(aa4763e49df65e5686a96431543580b8d8285893))
|
||||
ROM_LOAD( "hrl11d-2.11d", 0x0000, 0x0400, CRC(c55b645d) SHA1(0c18277939d74e3e1281a7f114a34781d30c2baf) ) /* this is actually not used (all FF) */
|
||||
ROM_CONTINUE( 0x0000, 0x0400 ) /* overwrite with the real one */
|
||||
|
||||
ROM_REGION( 0x0140, "proms", 0 )
|
||||
ROM_LOAD( "spl5c-2.5c", 0x0000, 0x0100, CRC(9ca2e061) SHA1(4111325b00a1017042d55c59308d41e8333ba627) ) // 6301 according to the Spectar manual, also seen as IM 5623CPE on PCB
|
||||
ROM_LOAD( "prom.6d", 0x0100, 0x0020, BAD_DUMP CRC(e26f9053) SHA1(eec35b6aa2c2d305418306bf4a1754a0583f109f) ) // screen controller PROM, 6331 according to the Spectar manual, dumped from a bootleg
|
||||
ROM_LOAD( "hrl6d-1.6d", 0x0100, 0x0020, CRC(e26f9053) SHA1(eec35b6aa2c2d305418306bf4a1754a0583f109f) ) // screen controller PROM, 6331 according to the Spectar manual, also seen as IM 5610CPE on PCB
|
||||
ROM_LOAD( "hrl14h-1.14h", 0x0120, 0x0020, CRC(f76b4fcf) SHA1(197e0cc508ffeb5cefa4046bdfb158939d598225) ) // 6331 according to the Spectar manual
|
||||
ROM_END
|
||||
|
||||
|
@ -65,12 +65,14 @@ public:
|
||||
m_mainio(*this, "mainio"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_bg_videoram(*this, "bg_videoram"),
|
||||
m_fg_videoram(*this, "fg_videoram")
|
||||
m_fg_videoram(*this, "fg_videoram"),
|
||||
m_audiobank(*this, "audiobank")
|
||||
{ }
|
||||
|
||||
void pkspirit(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
private:
|
||||
@ -80,6 +82,7 @@ private:
|
||||
|
||||
required_shared_ptr<uint16_t> m_bg_videoram;
|
||||
required_shared_ptr<uint16_t> m_fg_videoram;
|
||||
required_memory_bank m_audiobank;
|
||||
|
||||
tilemap_t *m_bg_tilemap = nullptr;
|
||||
tilemap_t *m_fg_tilemap = nullptr;
|
||||
@ -135,12 +138,17 @@ uint32_t pkspirit_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
|
||||
return 0;
|
||||
}
|
||||
|
||||
void pkspirit_state::machine_start()
|
||||
{
|
||||
m_audiobank->configure_entries(0, 4, memregion("audiocpu")->base(), 0x4000);
|
||||
}
|
||||
|
||||
|
||||
void pkspirit_state::main_map(address_map &map) // TODO: verify everything
|
||||
{
|
||||
map(0x000000, 0x01ffff).rom().region("maincpu", 0);
|
||||
map(0x100000, 0x10001f).rw(m_mainio, FUNC(te7750_device::read), FUNC(te7750_device::write)).umask16(0x00ff);
|
||||
// map(0x200000, 0x200001).r //?
|
||||
map(0x200000, 0x200001).portr("DSW");
|
||||
map(0x300000, 0x30ffff).ram(); // main RAM?
|
||||
map(0x800001, 0x800001).w("ciu", FUNC(pc060ha_device::master_port_w));
|
||||
map(0x800003, 0x800003).rw("ciu", FUNC(pc060ha_device::master_comm_r), FUNC(pc060ha_device::master_comm_w));
|
||||
@ -161,7 +169,8 @@ void pkspirit_state::main_map(address_map &map) // TODO: verify everything
|
||||
|
||||
void pkspirit_state::sound_map(address_map &map) // TODO: verify everything
|
||||
{
|
||||
map(0x0000, 0x7fff).rom().region("audiocpu", 0); // banked?
|
||||
map(0x0000, 0x3fff).rom().region("audiocpu", 0);
|
||||
map(0x4000, 0x7fff).bankr("audiobank");
|
||||
map(0x8000, 0x8fff).ram();
|
||||
map(0xa000, 0xa000).w("ciu", FUNC(pc060ha_device::slave_port_w));
|
||||
map(0xa001, 0xa001).rw("ciu", FUNC(pc060ha_device::slave_comm_r), FUNC(pc060ha_device::slave_comm_w));
|
||||
@ -208,25 +217,56 @@ static INPUT_PORTS_START( pkspirit )
|
||||
PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Hopper Over") // "Hop Over"?
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW1:2")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW1:3")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW1:5")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW1:6")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW1:7")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8")
|
||||
// DSW settings from manual, machine translated. Default is all off.
|
||||
// TODO: Lots of settings are defined only as 'A' or 'B', so actual effects on game should be observed when the driver is more complete
|
||||
PORT_START("DSW")
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "Credit Type" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x0001, "A" )
|
||||
PORT_DIPSETTING( 0x0000, "B" )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, "Back Bar" ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x0002, "A" )
|
||||
PORT_DIPSETTING( 0x0000, "B" )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, "Card Speed" ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x0004, "A" )
|
||||
PORT_DIPSETTING( 0x0000, "B" )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, "Card Deal Type" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x0008, "A" )
|
||||
PORT_DIPSETTING( 0x0000, "B" )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, "Double Up Type" ) PORT_DIPLOCATION("SW1:5")
|
||||
PORT_DIPSETTING( 0x0010, "A" )
|
||||
PORT_DIPSETTING( 0x0000, "B" )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, "Max Bet" ) PORT_DIPLOCATION("SW1:6")
|
||||
PORT_DIPSETTING( 0x0000, "5" )
|
||||
PORT_DIPSETTING( 0x0020, "10" )
|
||||
PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7") // default off according to dip sheet, but left on for testing convenience
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, "Card Type" ) PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x0080, "A" )
|
||||
PORT_DIPSETTING( 0x0000, "B" )
|
||||
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW2:1")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW2:2")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW2:3")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW2:4")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW2:5")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW2:6")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW2:7")
|
||||
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW2:8")
|
||||
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||
PORT_DIPSETTING( 0x0300, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x0000, "1 Coin/10 Credits" )
|
||||
PORT_DIPNAME( 0x0c00, 0x0c00, "Up / Down Credit" ) PORT_DIPLOCATION("SW2:3,4") // actually spelt 'doun' in the dip sheet
|
||||
PORT_DIPSETTING( 0x0c00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0800, "10" )
|
||||
PORT_DIPSETTING( 0x0400, "50" )
|
||||
PORT_DIPSETTING( 0x0000, "100" )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, "Hopper" ) PORT_DIPLOCATION("SW2:5")
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, "Double Up Open Pattern" ) PORT_DIPLOCATION("SW2:6") // TODO: improve machine translation
|
||||
PORT_DIPSETTING( 0x2000, "A" )
|
||||
PORT_DIPSETTING( 0x0000, "B" )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, "Bell" ) PORT_DIPLOCATION("SW2:7")
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( On ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, "Credit Pool 500" ) PORT_DIPLOCATION("SW2:8")
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -259,7 +299,7 @@ void pkspirit_state::pkspirit(machine_config &config)
|
||||
|
||||
TE7750(config, m_mainio);
|
||||
// TODO: check me
|
||||
// m_mainio->ios_cb().set_constant(7);
|
||||
// m_mainio->ios_cb().set_constant(7);
|
||||
m_mainio->in_port1_cb().set_ioport("IN1");
|
||||
m_mainio->in_port2_cb().set_ioport("IN2");
|
||||
m_mainio->in_port3_cb().set_ioport("IN3");
|
||||
@ -287,7 +327,7 @@ void pkspirit_state::pkspirit(machine_config &config)
|
||||
|
||||
ym2203_device &opn(YM2203(config, "opn", 36_MHz_XTAL / 9)); // divider not verified
|
||||
opn.irq_handler().set_inputline("audiocpu", 0);
|
||||
//ymsnd.port_a_write_callback() TODO: writes continuously here.
|
||||
opn.port_a_write_callback().set_membank(m_audiobank).mask(0x03);
|
||||
opn.add_route(ALL_OUTPUTS, "mono", 0.30);
|
||||
|
||||
OKIM6295(config, "oki", 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.5); // all verified
|
||||
|
Loading…
Reference in New Issue
Block a user