summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2025-08-30 14:19:50 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2025-08-30 14:19:50 +0200
commitc745d0bce07097aea0659fd10bff3077105efeee (patch)
treef763a0c7c325fb1403a452ae97043e0a9fb1027a
parent20c7b21807070b55979c01eb4dd1257170868494 (diff)
skeleton/banpresto_bpsc68000.cpp: added preliminary hook-up for ticket dispenser
-rw-r--r--src/mame/skeleton/banpresto_bpsc68000.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/mame/skeleton/banpresto_bpsc68000.cpp b/src/mame/skeleton/banpresto_bpsc68000.cpp
index 41516cf37c6..375584c878d 100644
--- a/src/mame/skeleton/banpresto_bpsc68000.cpp
+++ b/src/mame/skeleton/banpresto_bpsc68000.cpp
@@ -26,7 +26,8 @@ The audio section also has unpopulated space marked for a YMZ280.
TODO:
-- ticket_dispenser (main roadblock to playable state)
+- missing fortune wheel sprites (they are in sprite ROM but are not put in sprite RAM?)
+- verify ticket dispenser hook-up (seems to work)
- unknown read / writes as noted in memory map
- spams "requested to play sample on non-stopped voice" from the Oki. Why?
- layout (cab picture is available)
@@ -135,11 +136,17 @@ void bpsc68000_state::counters_w(uint16_t data)
machine().bookkeeping().coin_counter_w(1, BIT(data, 5)); // medal
- for (int i = 0x06; i < 0x10; i++)
+ // TODO: strange hook-up, check if correct
+ if (BIT(data, 6))
+ m_ticket_dispenser->motor_w(1);
+
+ if (BIT(data, 7))
+ m_ticket_dispenser->motor_w(0);
+
+ for (int i = 0x08; i < 0x10; i++)
if (BIT(data, i))
logerror("%s counters_w unknown bit %1x written: %04x\n", machine().describe_context(), i, data);
- // bit 6 and / or 7 seem ticket dispenser related
}
void bpsc68000_state::lamps_1_w(uint16_t data)
@@ -196,7 +203,7 @@ static INPUT_PORTS_START( lnumbers )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_SERVICE_NO_TOGGLE( 0x10, IP_ACTIVE_LOW )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no effect in test mode
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) // PORT_READ_LINE_DEVICE_MEMBER("ticket_dispenser", FUNC(ticket_dispenser_device::line_r)) // Medal sensor
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("ticket_dispenser", FUNC(ticket_dispenser_device::line_r)) // Medal sensor
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // no effect in test mode
PORT_START("IN1")