diff options
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 |
commit | 394936fc61dd8a76a1cf8896f5f3330cb85fc17c (patch) | |
tree | b211280af9afe07f04c6e52343214be7d9029347 /src/mame/drivers/amusco.cpp | |
parent | 24e98ca45613b802adc5fe1e3788fe83fb3a2d4c (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.cpp | 33 |
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 ) |