summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2020-03-31 18:58:23 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2020-03-31 18:58:23 +0200
commit68b4451635cd0afb045c5c2f77bc4962c109b4d5 (patch)
tree4ec4755a6694dd869a7f6dd4423d89f35517713d /src/mame
parent74498b3163744e6918f25cb48d0f9ef28cf3c966 (diff)
unkpoker.cpp: identified some inputs (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/unkpoker.cpp45
1 files changed, 33 insertions, 12 deletions
diff --git a/src/mame/drivers/unkpoker.cpp b/src/mame/drivers/unkpoker.cpp
index c5b3462dc42..331caac43aa 100644
--- a/src/mame/drivers/unkpoker.cpp
+++ b/src/mame/drivers/unkpoker.cpp
@@ -16,7 +16,7 @@ Two 2112 Rams
Two 5101 Rams (Low Power Versions, one connected to Battery)
Four position DIP Switch - DIP 1 changes on screen text from
-normal to high lighted as seen pics. Other DIPS unknown.
+normal to highlighted as seen in pics. Other DIPs unknown.
Sound?
@@ -25,7 +25,8 @@ Date of manufacture unknown. Latest date codes on logic chips is 1980.
Chaneman 3/20/2019
-TODO: everything
+TODO: stuck if it isn't immediately coined up at boot.
+ Game can be tested by keeping COIN1 (5 by default) pressed at boot.
*******************************************************************************************/
@@ -76,7 +77,7 @@ uint32_t unkpoker_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
uint8_t chr = m_videoram[x + ma] & 0x7f;
uint8_t gfx = m_chargen[(chr << 3) | ra];
- /* Display a scanline of a character */
+ // Display a scanline of a character
*p++ = BIT(gfx, 7);
*p++ = BIT(gfx, 6);
*p++ = BIT(gfx, 5);
@@ -93,23 +94,43 @@ uint32_t unkpoker_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
}
-void unkpoker_state::mem_map(address_map &map) {
+void unkpoker_state::mem_map(address_map &map)
+{
map(0x0000,0x0fff).rom();
map(0x1000,0x1fff).ram();
- map(0x8000,0x83ff).ram().share("videoram");
+ map(0x8000,0x83ff).ram().share(m_videoram);
}
-void unkpoker_state::io_map(address_map &map) {
- map(0x01,0x01).portr("IN");
- map(0x02,0x02).portr("DSW");
+void unkpoker_state::io_map(address_map &map)
+{
+ map(0x01,0x01).portr("IN1"); // writes here
+ map(0x02,0x02).portr("DSW"); // writes here, seems sound related
+ map(0x04,0x04).portr("IN2");
}
static INPUT_PORTS_START( unkpoker )
- PORT_START("IN")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW")
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // does something
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_NAME("Ante")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
+
+ PORT_START("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // does something
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_CANCEL )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL )
+
+ PORT_START("DSW") // seem to change coinage, but DSW:1 should do something different (see notes on top of the driver)
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW:3")