예제 #1
0
static WRITE8_HANDLER( apple1_pia0_dsp_write_signal )
{
	/* PIA output CB2 is inverted to become the DA signal, used to
	   signal a display write to the video hardware. */

	/* DA is directly connected to PIA input PB7, so the processor can
	   read bit 7 of port B to test whether the display has completed
	   a write. */
	pia_set_input_b(0, (!data) << 7);

	/* Once DA is asserted, the display will wait until it can perform
	   the write, when the cursor position is about to be refreshed.
	   Only then will it assert \RDA to signal readiness for another
	   write.  Thus the write delay depends on the cursor position and
	   where the display is in the refresh cycle. */
	if (!data)
		timer_set(apple1_vh_dsp_time_to_ready(), 0, apple1_dsp_ready_start);
}
예제 #2
0
static WRITE8_DEVICE_HANDLER( apple1_pia0_dsp_write_signal )
{
	/* PIA output CB2 is inverted to become the DA signal, used to
       signal a display write to the video hardware. */

	/* DA is directly connected to PIA input PB7, so the processor can
       read bit 7 of port B to test whether the display has completed
       a write. */
    pia6821_device *pia = downcast<pia6821_device *>(device);
	pia->portb_w((!data) << 7);

	/* Once DA is asserted, the display will wait until it can perform
       the write, when the cursor position is about to be refreshed.
       Only then will it assert \RDA to signal readiness for another
       write.  Thus the write delay depends on the cursor position and
       where the display is in the refresh cycle. */
	if (!data)
		device->machine().scheduler().timer_set(apple1_vh_dsp_time_to_ready(device->machine()), FUNC(apple1_dsp_ready_start));
}