Skip to content
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions src/mame/misc/marywu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class marywu_state : public driver_device
uint8_t m_selected_7seg_module = 0;

output_finder<32> m_digits;
output_finder<30> m_leds;
output_finder<48> m_leds;
required_ioport_array<4> m_inputs;
};

Expand Down Expand Up @@ -127,10 +127,16 @@ void marywu_state::ay2_port_a_w(uint8_t data)
void marywu_state::ay2_port_b_w(uint8_t data)
{
// we only have 30 LEDs. The last 2 bits in this port are unused.
for (uint8_t i = 0; i < 6; i++)
for (uint8_t i = 0; i < 8; i++)
m_leds[i + 24] = BIT(data, i);
}

void marywu_state::p3_port_w(uint8_t data) // 1 led are used.
{
for (uint8_t i = 0; i < 8; i++)
m_leds[i + 32] = BIT(data, i);
}

void marywu_state::multiplex_7seg_w(uint8_t data)
{
m_selected_7seg_module = data;
Expand Down Expand Up @@ -190,6 +196,7 @@ void marywu_state::marywu(machine_config &config)
maincpu.set_addrmap(AS_DATA, &marywu_state::data_map);
//TODO: figure out what each bit is mapped to in the 80c31 ports P1 and P3
maincpu.port_in_cb<1>().set_ioport("P1");
maincpu.port_out_cb<3>().set(FUNC(p3_port_w));

NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);

Expand Down
Loading