diff --git a/src/emu/machine/6522via.c b/src/emu/machine/6522via.c index 39700cbb7d4..60d463ad631 100644 --- a/src/emu/machine/6522via.c +++ b/src/emu/machine/6522via.c @@ -931,7 +931,7 @@ WRITE8_DEVICE_HANDLER(via_porta_w) CA1 input -------------------------------------------------*/ -READ8_DEVICE_HANDLER(via_ca1_r) +READ_LINE_DEVICE_HANDLER(via_ca1_r) { via6522_t *v = get_token(device); return v->in_ca1; @@ -943,20 +943,17 @@ READ8_DEVICE_HANDLER(via_ca1_r) CA1 input -------------------------------------------------*/ -WRITE8_DEVICE_HANDLER(via_ca1_w) +WRITE_LINE_DEVICE_HANDLER(via_ca1_w) { via6522_t *v = get_token(device); - /* limit the data to 0 or 1 */ - data = data ? 1 : 0; - /* handle the active transition */ - if (data != v->in_ca1) + if (state != v->in_ca1) { if (TRACE_VIA) - logerror("%s:6522VIA chip %s: CA1 = %02X\n", cpuexec_describe_context(device->machine), device->tag, data); + logerror("%s:6522VIA chip %s: CA1 = %02X\n", cpuexec_describe_context(device->machine), device->tag, state); - if ((CA1_LOW_TO_HIGH(v->pcr) && data) || (CA1_HIGH_TO_LOW(v->pcr) && !data)) + if ((CA1_LOW_TO_HIGH(v->pcr) && state) || (CA1_HIGH_TO_LOW(v->pcr) && !state)) { if (PA_LATCH_ENABLE(v->acr)) { @@ -983,7 +980,7 @@ WRITE8_DEVICE_HANDLER(via_ca1_w) } } - v->in_ca1 = data; + v->in_ca1 = state; } } @@ -993,7 +990,7 @@ WRITE8_DEVICE_HANDLER(via_ca1_w) CA2 input -------------------------------------------------*/ -READ8_DEVICE_HANDLER(via_ca2_r) +READ_LINE_DEVICE_HANDLER(via_ca2_r) { via6522_t *v = get_token(device); return v->in_ca2; @@ -1005,27 +1002,24 @@ READ8_DEVICE_HANDLER(via_ca2_r) CA2 input -------------------------------------------------*/ -WRITE8_DEVICE_HANDLER(via_ca2_w) +WRITE_LINE_DEVICE_HANDLER(via_ca2_w) { via6522_t *v = get_token(device); - /* limit the data to 0 or 1 */ - data = data ? 1 : 0; - /* CA2 is in input mode */ if (CA2_INPUT(v->pcr)) { /* the new state has caused a transition */ - if (v->in_ca2 != data) + if (v->in_ca2 != state) { /* handle the active transition */ - if ((data && CA2_LOW_TO_HIGH(v->pcr)) || (!data && CA2_HIGH_TO_LOW(v->pcr))) + if ((state && CA2_LOW_TO_HIGH(v->pcr)) || (!state && CA2_HIGH_TO_LOW(v->pcr))) { /* mark the IRQ */ via_set_int (device, INT_CA2); } /* set the new value for CA2 */ - v->in_ca2 = data; + v->in_ca2 = state; } } @@ -1064,7 +1058,7 @@ WRITE8_DEVICE_HANDLER(via_portb_w) CB1 input -------------------------------------------------*/ -READ8_DEVICE_HANDLER(via_cb1_r) +READ_LINE_DEVICE_HANDLER(via_cb1_r) { via6522_t *v = get_token(device); return v->in_cb1; @@ -1076,17 +1070,14 @@ READ8_DEVICE_HANDLER(via_cb1_r) CB1 input -------------------------------------------------*/ -WRITE8_DEVICE_HANDLER(via_cb1_w) +WRITE_LINE_DEVICE_HANDLER(via_cb1_w) { via6522_t *v = get_token(device); - /* limit the data to 0 or 1 */ - data = data ? 1 : 0; - /* handle the active transition */ - if (data != v->in_cb1) + if (state != v->in_cb1) { - if ((CB1_LOW_TO_HIGH(v->pcr) && data) || (CB1_HIGH_TO_LOW(v->pcr) && !data)) + if ((CB1_LOW_TO_HIGH(v->pcr) && state) || (CB1_HIGH_TO_LOW(v->pcr) && !state)) { if (PB_LATCH_ENABLE(v->acr)) { @@ -1114,7 +1105,7 @@ WRITE8_DEVICE_HANDLER(via_cb1_w) } } } - v->in_cb1 = data; + v->in_cb1 = state; } } @@ -1124,7 +1115,7 @@ WRITE8_DEVICE_HANDLER(via_cb1_w) CB2 input -------------------------------------------------*/ -READ8_DEVICE_HANDLER(via_cb2_r) +READ_LINE_DEVICE_HANDLER(via_cb2_r) { via6522_t *v = get_token(device); return v->in_cb2; @@ -1136,27 +1127,24 @@ READ8_DEVICE_HANDLER(via_cb2_r) CB2 input -------------------------------------------------*/ -WRITE8_DEVICE_HANDLER(via_cb2_w) +WRITE_LINE_DEVICE_HANDLER(via_cb2_w) { via6522_t *v = get_token(device); - /* limit the data to 0 or 1 */ - data = data ? 1 : 0; - /* CB2 is in input mode */ if (CB2_INPUT(v->pcr)) { /* the new state has caused a transition */ - if (v->in_cb2 != data) + if (v->in_cb2 != state) { /* handle the active transition */ - if ((data && CB2_LOW_TO_HIGH(v->pcr)) || (!data && CB2_HIGH_TO_LOW(v->pcr))) + if ((state && CB2_LOW_TO_HIGH(v->pcr)) || (!state && CB2_HIGH_TO_LOW(v->pcr))) { /* mark the IRQ */ via_set_int (device, INT_CB2); } /* set the new value for CB2 */ - v->in_cb2 = data; + v->in_cb2 = state; } } } diff --git a/src/emu/machine/6522via.h b/src/emu/machine/6522via.h index e875a3b63b8..3a6d558a74d 100644 --- a/src/emu/machine/6522via.h +++ b/src/emu/machine/6522via.h @@ -82,16 +82,16 @@ WRITE8_DEVICE_HANDLER(via_porta_w); READ8_DEVICE_HANDLER(via_portb_r); WRITE8_DEVICE_HANDLER(via_portb_w); -READ8_DEVICE_HANDLER(via_ca1_r); -WRITE8_DEVICE_HANDLER(via_ca1_w); +READ_LINE_DEVICE_HANDLER(via_ca1_r); +WRITE_LINE_DEVICE_HANDLER(via_ca1_w); -READ8_DEVICE_HANDLER(via_ca2_r); -WRITE8_DEVICE_HANDLER(via_ca2_w); +READ_LINE_DEVICE_HANDLER(via_ca2_r); +WRITE_LINE_DEVICE_HANDLER(via_ca2_w); -READ8_DEVICE_HANDLER(via_cb1_r); -WRITE8_DEVICE_HANDLER(via_cb1_w); +READ_LINE_DEVICE_HANDLER(via_cb1_r); +WRITE_LINE_DEVICE_HANDLER(via_cb1_w); -READ8_DEVICE_HANDLER(via_cb2_r); -WRITE8_DEVICE_HANDLER(via_cb2_w); +READ_LINE_DEVICE_HANDLER(via_cb2_r); +WRITE_LINE_DEVICE_HANDLER(via_cb2_w); #endif /* __6522VIA_H__ */ diff --git a/src/mame/drivers/trvquest.c b/src/mame/drivers/trvquest.c index 0405ec42257..4176e263ed0 100644 --- a/src/mame/drivers/trvquest.c +++ b/src/mame/drivers/trvquest.c @@ -211,8 +211,8 @@ static MACHINE_RESET( trvquest ) static INTERRUPT_GEN( trvquest_interrupt ) { gameplan_state *state = (gameplan_state *)device->machine->driver_data; - via_ca1_w(state->via_2, 0, 1); - via_ca1_w(state->via_2, 0, 0); + via_ca1_w(state->via_2, 1); + via_ca1_w(state->via_2, 0); } static MACHINE_DRIVER_START( trvquest ) diff --git a/src/mame/machine/beezer.c b/src/mame/machine/beezer.c index a652711ce47..e9e91660293 100644 --- a/src/mame/machine/beezer.c +++ b/src/mame/machine/beezer.c @@ -8,8 +8,8 @@ static int pbus; static READ8_DEVICE_HANDLER( b_via_0_pb_r ); static WRITE8_DEVICE_HANDLER( b_via_0_pa_w ); static WRITE8_DEVICE_HANDLER( b_via_0_pb_w ); -static READ8_DEVICE_HANDLER( b_via_0_ca2_r ); -static WRITE8_DEVICE_HANDLER( b_via_0_ca2_w ); +static READ_LINE_DEVICE_HANDLER( b_via_0_ca2_r ); +static WRITE_LINE_DEVICE_HANDLER( b_via_0_ca2_w ); static READ8_DEVICE_HANDLER( b_via_1_pa_r ); static READ8_DEVICE_HANDLER( b_via_1_pb_r ); @@ -19,27 +19,27 @@ static WRITE8_DEVICE_HANDLER( b_via_1_pb_w ); const via6522_interface b_via_0_interface = { /*inputs : A/B */ DEVCB_NULL, DEVCB_HANDLER(b_via_0_pb_r), - /*inputs : CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_DEVICE_HANDLER("via6522_1", via_ca2_r), DEVCB_HANDLER(b_via_0_ca2_r), DEVCB_DEVICE_HANDLER("via6522_1", via_ca1_r), + /*inputs : CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_DEVICE_LINE("via6522_1", via_ca2_r), DEVCB_LINE(b_via_0_ca2_r), DEVCB_DEVICE_LINE("via6522_1", via_ca1_r), /*outputs: A/B */ DEVCB_HANDLER(b_via_0_pa_w), DEVCB_HANDLER(b_via_0_pb_w), - /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_HANDLER(b_via_0_ca2_w), DEVCB_DEVICE_HANDLER("via6522_1", via_ca1_w), + /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_LINE(b_via_0_ca2_w), DEVCB_DEVICE_LINE("via6522_1", via_ca1_w), /*irq */ DEVCB_CPU_INPUT_LINE("maincpu", M6809_IRQ_LINE) }; const via6522_interface b_via_1_interface = { /*inputs : A/B */ DEVCB_HANDLER(b_via_1_pa_r), DEVCB_HANDLER(b_via_1_pb_r), - /*inputs : CA/B1,CA/B2 */ DEVCB_DEVICE_HANDLER("via6522_0", via_cb2_r), DEVCB_NULL, DEVCB_DEVICE_HANDLER("via6522_0", via_cb1_r), DEVCB_NULL, + /*inputs : CA/B1,CA/B2 */ DEVCB_DEVICE_LINE("via6522_0", via_cb2_r), DEVCB_NULL, DEVCB_DEVICE_LINE("via6522_0", via_cb1_r), DEVCB_NULL, /*outputs: A/B */ DEVCB_HANDLER(b_via_1_pa_w), DEVCB_HANDLER(b_via_1_pb_w), - /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_DEVICE_HANDLER("via6522_0", via_cb1_w), DEVCB_NULL, + /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_DEVICE_LINE("via6522_0", via_cb1_w), DEVCB_NULL, /*irq */ DEVCB_CPU_INPUT_LINE("audiocpu", M6809_IRQ_LINE) }; -static READ8_DEVICE_HANDLER( b_via_0_ca2_r ) +static READ_LINE_DEVICE_HANDLER( b_via_0_ca2_r ) { return 0; } -static WRITE8_DEVICE_HANDLER( b_via_0_ca2_w ) +static WRITE_LINE_DEVICE_HANDLER( b_via_0_ca2_w ) { } diff --git a/src/mame/video/beezer.c b/src/mame/video/beezer.c index 83f01259d98..48e5420d8ad 100644 --- a/src/mame/video/beezer.c +++ b/src/mame/video/beezer.c @@ -10,7 +10,7 @@ INTERRUPT_GEN( beezer_interrupt ) const device_config *via_0 = devtag_get_device(device->machine, "via6522_0"); scanline = (scanline + 1) % 0x80; - via_ca2_w (via_0, 0, scanline & 0x10); + via_ca2_w(via_0, (scanline & 0x10) ? 1 : 0); if ((scanline & 0x78) == 0x78) cpu_set_input_line(device, M6809_FIRQ_LINE, ASSERT_LINE); else diff --git a/src/mame/video/gameplan.c b/src/mame/video/gameplan.c index bc97f9c78fb..e6374d12990 100644 --- a/src/mame/video/gameplan.c +++ b/src/mame/video/gameplan.c @@ -145,60 +145,60 @@ static TIMER_CALLBACK( clear_screen_done_callback ) gameplan_state *state = (gameplan_state *)machine->driver_data; /* indicate that the we are done clearing the screen */ - via_ca1_w(state->via_0, 0, 0); + via_ca1_w(state->via_0, 0); } -static WRITE8_DEVICE_HANDLER( video_command_trigger_w ) +static WRITE_LINE_DEVICE_HANDLER( video_command_trigger_w ) { - gameplan_state *state = (gameplan_state *)device->machine->driver_data; + gameplan_state *driver_state = (gameplan_state *)device->machine->driver_data; - if (data == 0) + if (state == 0) { - switch (state->video_command) + switch (driver_state->video_command) { /* draw pixel */ case 0: /* auto-adjust X? */ - if (state->video_data & 0x10) + if (driver_state->video_data & 0x10) { - if (state->video_data & 0x40) - state->video_x = state->video_x - 1; + if (driver_state->video_data & 0x40) + driver_state->video_x = driver_state->video_x - 1; else - state->video_x = state->video_x + 1; + driver_state->video_x = driver_state->video_x + 1; } /* auto-adjust Y? */ - if (state->video_data & 0x20) + if (driver_state->video_data & 0x20) { - if (state->video_data & 0x80) - state->video_y = state->video_y - 1; + if (driver_state->video_data & 0x80) + driver_state->video_y = driver_state->video_y - 1; else - state->video_y = state->video_y + 1; + driver_state->video_y = driver_state->video_y + 1; } - state->videoram[state->video_y * (HBSTART - HBEND) + state->video_x] = state->video_data & 0x0f; + driver_state->videoram[driver_state->video_y * (HBSTART - HBEND) + driver_state->video_x] = driver_state->video_data & 0x0f; break; /* load X register */ case 1: - state->video_x = state->video_data; + driver_state->video_x = driver_state->video_data; break; /* load Y register */ case 2: - state->video_y = state->video_data; + driver_state->video_y = driver_state->video_data; break; /* clear screen */ case 3: /* indicate that the we are busy */ { - via_ca1_w(state->via_0, 0, 1); + via_ca1_w(driver_state->via_0, 1); } - memset(state->videoram, state->video_data & 0x0f, state->videoram_size); + memset(driver_state->videoram, driver_state->video_data & 0x0f, driver_state->videoram_size); /* set a timer for an arbitrarily short period. The real time it takes to clear to screen is not @@ -236,31 +236,31 @@ static READ8_DEVICE_HANDLER( vblank_r ) const via6522_interface gameplan_via_0_interface = { - DEVCB_NULL, DEVCB_HANDLER(vblank_r), /*inputs : A/B */ + DEVCB_NULL, DEVCB_HANDLER(vblank_r), /*inputs : A/B */ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, /*inputs : CA/B1,CA/B2 */ - DEVCB_HANDLER(video_data_w), DEVCB_HANDLER(gameplan_video_command_w), /*outputs: A/B */ - DEVCB_NULL, DEVCB_NULL, DEVCB_HANDLER(video_command_trigger_w), DEVCB_NULL, /*outputs: CA/B1,CA/B2 */ - DEVCB_LINE(via_irq) /*irq */ + DEVCB_HANDLER(video_data_w), DEVCB_HANDLER(gameplan_video_command_w), /*outputs: A/B */ + DEVCB_NULL, DEVCB_NULL, DEVCB_LINE(video_command_trigger_w), DEVCB_NULL, /*outputs: CA/B1,CA/B2 */ + DEVCB_LINE(via_irq) /*irq */ }; const via6522_interface leprechn_via_0_interface = { - DEVCB_NULL, DEVCB_HANDLER(vblank_r), /*inputs : A/B */ + DEVCB_NULL, DEVCB_HANDLER(vblank_r), /*inputs : A/B */ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, /*inputs : CA/B1,CA/B2 */ - DEVCB_HANDLER(video_data_w), DEVCB_HANDLER(leprechn_video_command_w), /*outputs: A/B */ - DEVCB_NULL, DEVCB_NULL, DEVCB_HANDLER(video_command_trigger_w), DEVCB_NULL, /*outputs: CA/B1,CA/B2 */ - DEVCB_LINE(via_irq) /*irq */ + DEVCB_HANDLER(video_data_w), DEVCB_HANDLER(leprechn_video_command_w), /*outputs: A/B */ + DEVCB_NULL, DEVCB_NULL, DEVCB_LINE(video_command_trigger_w), DEVCB_NULL, /*outputs: CA/B1,CA/B2 */ + DEVCB_LINE(via_irq) /*irq */ }; const via6522_interface trvquest_via_0_interface = { - DEVCB_NULL, DEVCB_HANDLER(vblank_r), /*inputs : A/B */ + DEVCB_NULL, DEVCB_HANDLER(vblank_r), /*inputs : A/B */ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, /*inputs : CA/B1,CA/B2 */ - DEVCB_HANDLER(video_data_w), DEVCB_HANDLER(gameplan_video_command_w), /*outputs: A/B */ - DEVCB_NULL, DEVCB_NULL, DEVCB_HANDLER(video_command_trigger_w), DEVCB_NULL, /*outputs: CA/B1,CA/B2 */ - DEVCB_NULL /*irq */ + DEVCB_HANDLER(video_data_w), DEVCB_HANDLER(gameplan_video_command_w), /*outputs: A/B */ + DEVCB_NULL, DEVCB_NULL, DEVCB_LINE(video_command_trigger_w), DEVCB_NULL, /*outputs: CA/B1,CA/B2 */ + DEVCB_NULL /*irq */ }; @@ -269,7 +269,7 @@ static TIMER_CALLBACK( via_0_ca1_timer_callback ) gameplan_state *state = (gameplan_state *)machine->driver_data; /* !VBLANK is connected to CA1 */ - via_ca1_w(state->via_0, 0, (UINT8)param); + via_ca1_w(state->via_0, param); if (param) timer_adjust_oneshot(state->via_0_ca1_timer, video_screen_get_time_until_pos(machine->primary_screen, VBSTART, 0), 0);