diff options
| author | 2025-08-30 14:19:50 +0200 | |
|---|---|---|
| committer | 2025-08-30 14:19:50 +0200 | |
| commit | c745d0bce07097aea0659fd10bff3077105efeee (patch) | |
| tree | f763a0c7c325fb1403a452ae97043e0a9fb1027a | |
| parent | 20c7b21807070b55979c01eb4dd1257170868494 (diff) | |
skeleton/banpresto_bpsc68000.cpp: added preliminary hook-up for ticket dispenser
| -rw-r--r-- | src/mame/skeleton/banpresto_bpsc68000.cpp | 15 |
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") |
