summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/amusco.cpp
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2016-11-13 18:43:06 -0500
committer AJR <ajrhacker@users.noreply.github.com>2016-11-13 18:43:06 -0500
commit394936fc61dd8a76a1cf8896f5f3330cb85fc17c (patch)
treeb211280af9afe07f04c6e52343214be7d9029347 /src/mame/drivers/amusco.cpp
parent24e98ca45613b802adc5fe1e3788fe83fb3a2d4c (diff)
draw88pkr: Input fixes (mostly hacks to get coins working)
Diffstat (limited to 'src/mame/drivers/amusco.cpp')
-rw-r--r--src/mame/drivers/amusco.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/mame/drivers/amusco.cpp b/src/mame/drivers/amusco.cpp
index 1093de611d1..c48cb67e475 100644
--- a/src/mame/drivers/amusco.cpp
+++ b/src/mame/drivers/amusco.cpp
@@ -113,6 +113,7 @@ public:
virtual void machine_start() override;
DECLARE_READ8_MEMBER(hack_coin1_r);
DECLARE_READ8_MEMBER(hack_coin2_r);
+ DECLARE_READ8_MEMBER(hack_bill_r);
DECLARE_READ8_MEMBER(mc6845_r);
DECLARE_WRITE8_MEMBER(mc6845_w);
DECLARE_WRITE8_MEMBER(output_a_w);
@@ -192,6 +193,12 @@ READ8_MEMBER(amusco_state::hack_coin2_r)
return BIT(ioport("IN2")->read(), 2) ? 1 : 0;
}
+READ8_MEMBER(amusco_state::hack_bill_r)
+{
+ // actually set by IRQ4
+ return BIT(ioport("IN1")->read(), 2) ? 0 : 1;
+}
+
/*************************
* Memory Map Information *
*************************/
@@ -204,6 +211,15 @@ static ADDRESS_MAP_START( amusco_mem_map, AS_PROGRAM, 8, amusco_state )
AM_RANGE(0xf8000, 0xfffff) AM_ROM
ADDRESS_MAP_END
+static ADDRESS_MAP_START( draw88pkr_mem_map, AS_PROGRAM, 8, amusco_state )
+ AM_RANGE(0x006ae, 0x006ae) AM_READ(hack_coin1_r)
+ AM_RANGE(0x006b0, 0x006b0) AM_READ(hack_coin2_r)
+ AM_RANGE(0x0069a, 0x0069a) AM_READ(hack_bill_r)
+ AM_RANGE(0x00000, 0x0ffff) AM_RAM
+ AM_RANGE(0xec000, 0xecfff) AM_RAM AM_SHARE("videoram") // placeholder
+ AM_RANGE(0xf8000, 0xfffff) AM_ROM
+ADDRESS_MAP_END
+
READ8_MEMBER( amusco_state::mc6845_r)
{
if(offset & 1)
@@ -372,6 +388,16 @@ static INPUT_PORTS_START( amusco )
PORT_BIT( 0xf9, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END
+static INPUT_PORTS_START( draw88pkr )
+ PORT_INCLUDE( amusco )
+
+ PORT_MODIFY("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BILL1 ) //PORT_WRITE_LINE_DEVICE_MEMBER("pic8259", pic8259_device, ir4_w)
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
+INPUT_PORTS_END
+
+
/*************************
* Graphics Layouts *
@@ -481,6 +507,11 @@ static MACHINE_CONFIG_START( amusco, amusco_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END
+static MACHINE_CONFIG_DERIVED( draw88pkr, amusco )
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(draw88pkr_mem_map)
+MACHINE_CONFIG_END
+
/*************************
* Rom Load *
@@ -531,4 +562,4 @@ ROM_END
/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
GAMEL( 1987, amusco, 0, amusco, amusco, driver_device, 0, ROT0, "Amusco", "American Music Poker (V1.4)", MACHINE_IMPERFECT_COLORS | MACHINE_NODEVICE_PRINTER, layout_amusco ) // palette totally wrong
-GAME( 1988, draw88pkr, 0, amusco, amusco, driver_device, 0, ROT0, "BTE, Inc.", "Draw 88 Poker (V2.0)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_COLORS | MACHINE_NODEVICE_PRINTER )
+GAMEL( 1988, draw88pkr, 0, draw88pkr,draw88pkr,driver_device, 0, ROT0, "BTE, Inc.", "Draw 88 Poker (V2.0)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_COLORS | MACHINE_NODEVICE_PRINTER, layout_amusco )