summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2024-03-03 18:38:21 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2024-03-03 18:38:21 +0100
commit187945dbd04ebb6211507b71b9e1348e9abc094c (patch)
treef5252b804f739a1b349178464c38e033c8f87ae2
parent295b00c0e635f9413d13a3371aa974ededf23b53 (diff)
unico/unico.cpp: verified OKI frequency and pin 7, added dip locations [Guru]
-rw-r--r--src/mame/konami/blockhl.cpp2
-rw-r--r--src/mame/unico/unico.cpp72
2 files changed, 38 insertions, 36 deletions
diff --git a/src/mame/konami/blockhl.cpp b/src/mame/konami/blockhl.cpp
index 82443b6f44a..65cfb7dce4c 100644
--- a/src/mame/konami/blockhl.cpp
+++ b/src/mame/konami/blockhl.cpp
@@ -192,6 +192,8 @@ void blockhl_state::machine_start()
{
// the first 0x8000 are banked, the remaining 0x8000 are directly accessible
m_rombank->configure_entries(0, 4, memregion("maincpu")->base(), 0x2000);
+
+ m_view5800.select(0);
}
void blockhl_state::banking_callback(uint8_t data)
diff --git a/src/mame/unico/unico.cpp b/src/mame/unico/unico.cpp
index e831e85fcf6..b4caf8aa6ee 100644
--- a/src/mame/unico/unico.cpp
+++ b/src/mame/unico/unico.cpp
@@ -275,20 +275,20 @@ static INPUT_PORTS_START( burglarx )
PORT_START("DSW1") /* $80001a.b */
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_SERVICE( 0x0100, IP_ACTIVE_LOW )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Free_Play ) )
+ PORT_SERVICE( 0x0100, IP_ACTIVE_LOW ) PORT_DIPLOCATION("DIP-A:1")
+ PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("DIP-A:2")
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, "Unknown 1-2" )
+ PORT_DIPNAME( 0x0400, 0x0400, "Unknown A-3" ) PORT_DIPLOCATION("DIP-A:3")
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DIP-A:4")
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, "Unknown 1-4" )
+ PORT_DIPNAME( 0x1000, 0x1000, "Unknown A-5" ) PORT_DIPLOCATION("DIP-A:5")
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DIP-A:6,7,8")
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x2000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x4000, DEF_STR( 3C_1C ) )
@@ -300,23 +300,23 @@ static INPUT_PORTS_START( burglarx )
PORT_START("DSW2") /* $80001c.b */
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Bonus_Life ) )
+ PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("DIP-B:1,2")
PORT_DIPSETTING( 0x0200, DEF_STR( None ) )
PORT_DIPSETTING( 0x0300, "A" )
PORT_DIPSETTING( 0x0100, "B" )
PORT_DIPSETTING( 0x0000, "C" )
- PORT_DIPNAME( 0x0400, 0x0400, "Unknown 2-2" )
+ PORT_DIPNAME( 0x0400, 0x0400, "Unknown B-3" ) PORT_DIPLOCATION("DIP-B:3")
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, "Energy" )
+ PORT_DIPNAME( 0x0800, 0x0800, "Energy" ) PORT_DIPLOCATION("DIP-B:4")
PORT_DIPSETTING( 0x0000, "2" )
PORT_DIPSETTING( 0x0800, "3" )
- PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DIP-B:5,6")
PORT_DIPSETTING( 0x2000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) ) PORT_DIPLOCATION("DIP-B:7,8")
PORT_DIPSETTING( 0x8000, "2" )
PORT_DIPSETTING( 0xc000, "3" )
PORT_DIPSETTING( 0x4000, "4" )
@@ -352,22 +352,22 @@ static INPUT_PORTS_START( zeropnt )
PORT_START("DSW1") /* $80001a.b */
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
+ PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIP-A:!1")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Free_Play ) )
+ PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("DIP-A:!2")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0200, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unused ) )
+ PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIP-A:!3")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0400, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DIP-A:!4")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0800, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unused ) )
+ PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIP-A:!5")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x1000, DEF_STR( On ) )
- PORT_DIPNAME( 0xe000, 0x0000, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0xe000, 0x0000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DIP-A:!6,!7,!8")
PORT_DIPSETTING( 0xe000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0xc000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0xa000, DEF_STR( 3C_1C ) )
@@ -379,23 +379,23 @@ static INPUT_PORTS_START( zeropnt )
PORT_START("DSW2") /* $80001c.b */
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
+ PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIP-B:!1")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Unused ) )
+ PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIP-B:!2")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0200, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unused ) )
+ PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIP-B:!3")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0400, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Unused ) )
+ PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Unused ) ) PORT_DIPLOCATION("DIP-B:!4")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0800, DEF_STR( On ) )
- PORT_DIPNAME( 0x3000, 0x0000, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0x3000, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DIP-B:!5,!6")
PORT_DIPSETTING( 0x1000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Hard ) )
- PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Lives ) ) PORT_DIPLOCATION("DIP-B:!7,!8")
PORT_DIPSETTING( 0x4000, "2" )
PORT_DIPSETTING( 0x0000, "3" )
PORT_DIPSETTING( 0x8000, "4" )
@@ -436,21 +436,21 @@ static INPUT_PORTS_START( zeropnt2 )
PORT_START("DSW1") /* $80001a.b */
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Free_Play ) )
+ PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("DIP-A:1")
PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x02000000, 0x02000000, "? Coins To Continue ?" )
- PORT_DIPSETTING( 0x00000000, "1" )
- PORT_DIPSETTING( 0x02000000, "2" )
- PORT_DIPNAME( 0x0c000000, 0x0c000000, "Gun Reloading" )
+ PORT_DIPNAME( 0x02000000, 0x02000000, "Continue Mode" ) PORT_DIPLOCATION("DIP-A:2") // Doesn't work?
+ PORT_DIPSETTING( 0x00000000, DEF_STR( Off ) ) // Manual says 'Continue Mode' and defaults to ON but it doesn't appear to do anthing different when on
+ PORT_DIPSETTING( 0x02000000, DEF_STR( On ) ) // or off and continue with 1 credit is always available regardless. Maybe it wasn't implemented in the code?
+ PORT_DIPNAME( 0x0c000000, 0x0c000000, "Gun Reloading" ) PORT_DIPLOCATION("DIP-A:3,4")
PORT_DIPSETTING( 0x08000000, DEF_STR(No) )
PORT_DIPSETTING( 0x04000000, DEF_STR(Yes) )
PORT_DIPSETTING( 0x0c000000, "Factory Setting" )
// PORT_DIPSETTING( 0x00000000, "unused?" )
- PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Language ) )
+ PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Language ) ) PORT_DIPLOCATION("DIP-A:5")
PORT_DIPSETTING( 0x10000000, DEF_STR( English ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( Japanese ) )
- PORT_DIPNAME( 0xe0000000, 0xe0000000, DEF_STR( Coinage ) )
+ PORT_DIPNAME( 0xe0000000, 0xe0000000, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DIP-A:6,7,8")
PORT_DIPSETTING( 0x00000000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x20000000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( 3C_1C ) )
@@ -463,13 +463,13 @@ static INPUT_PORTS_START( zeropnt2 )
PORT_START("DSW2") /* $80001c.b */
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_DIPNAME( 0x01000000, 0x01000000, "Korean Language" )
+ PORT_DIPNAME( 0x01000000, 0x01000000, "Korean Language" ) PORT_DIPLOCATION("DIP-B:1")
PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x02000000, 0x00000000, DEF_STR( Demo_Sounds ) )
+ PORT_DIPNAME( 0x02000000, 0x00000000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DIP-B:2")
PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1c000000, 0x1c000000, DEF_STR( Lives ) )
+ PORT_DIPNAME( 0x1c000000, 0x1c000000, DEF_STR( Lives ) ) PORT_DIPLOCATION("DIP-B:3,4,5")
PORT_DIPSETTING( 0x10000000, "2" )
PORT_DIPSETTING( 0x0c000000, "3" )
PORT_DIPSETTING( 0x1c000000, "4" )
@@ -478,10 +478,10 @@ static INPUT_PORTS_START( zeropnt2 )
PORT_DIPSETTING( 0x08000000, "4 (duplicate)" )
PORT_DIPSETTING( 0x04000000, "4 (duplicate)" )
PORT_DIPSETTING( 0x00000000, "4 (duplicate)" )
- PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
+ PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DIP-B:6")
PORT_DIPSETTING( 0x20000000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0000000, 0xc0000000, DEF_STR( Difficulty ) )
+ PORT_DIPNAME( 0xc0000000, 0xc0000000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DIP-B:7,8")
PORT_DIPSETTING( 0x80000000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0xc0000000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x40000000, DEF_STR( Harder ) )
@@ -590,7 +590,7 @@ void unico_state::burglarx(machine_config &config)
ymsnd.add_route(ALL_OUTPUTS, "lspeaker", 0.40);
ymsnd.add_route(ALL_OUTPUTS, "rspeaker", 0.40);
- OKIM6295(config, m_oki, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
+ OKIM6295(config, m_oki, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 verified
m_oki->add_route(ALL_OUTPUTS, "lspeaker", 0.80);
m_oki->add_route(ALL_OUTPUTS, "rspeaker", 0.80);
}