Previous 199869 Revisions Next

r18345 Sunday 7th October, 2012 at 23:07:44 UTC by smf
(MESS) Uses the IO line from the SASI bus to determine the direction of the SASI data port. This seems the most likely way the hardware works. [smf]
[src/mess/drivers]v1050.c
[src/mess/includes]v1050.h

trunk/src/mess/drivers/v1050.c
r18344r18345
345345   m_subcpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
346346}
347347
348WRITE8_MEMBER( v1050_state::sasi_data_w )
349{
350   data_out = data;
351
352   if( m_sasibus->scsi_io_r() != 0 )
353   {
354      m_sasibus->scsi_data_w( data );
355   }
356}
357
358WRITE_LINE_MEMBER( v1050_state::sasi_io_w )
359{
360   if( state != 0 )
361   {
362      m_sasibus->scsi_data_w( data_out );
363   }
364   else
365   {
366      m_sasibus->scsi_data_w( 0xff );
367   }
368}
369
348370READ8_MEMBER( v1050_state::sasi_status_r )
349371{
350372   /*
r18344r18345
447469   AM_RANGE(0xb0, 0xb0) AM_READWRITE(dint_clr_r, dint_clr_w)
448470   AM_RANGE(0xc0, 0xc0) AM_WRITE(v1050_i8214_w)
449471   AM_RANGE(0xd0, 0xd0) AM_WRITE(bank_w)
450   AM_RANGE(0xe0, 0xe0) AM_DEVREADWRITE(SASIBUS_TAG ":host", scsicb_device, scsi_data_r, scsi_data_w)
472   AM_RANGE(0xe0, 0xe0) AM_WRITE(sasi_data_w) AM_DEVREAD(SASIBUS_TAG ":host", scsicb_device, scsi_data_r)
451473   AM_RANGE(0xe1, 0xe1) AM_READWRITE(sasi_status_r, sasi_ctrl_w)
452474ADDRESS_MAP_END
453475
r18344r18345
9891011   DEVCB_NULL,
9901012   DEVCB_NULL,
9911013   DEVCB_NULL,
1014   DEVCB_DRIVER_LINE_MEMBER(v1050_state, sasi_io_w),
9921015   DEVCB_NULL,
9931016   DEVCB_NULL,
9941017   DEVCB_NULL,
9951018   DEVCB_NULL,
996   DEVCB_NULL,
9971019   DEVCB_NULL
9981020};
9991021
trunk/src/mess/includes/v1050.h
r18344r18345
128128   DECLARE_READ8_MEMBER( videoram_r );
129129   DECLARE_WRITE8_MEMBER( videoram_w );
130130   DECLARE_WRITE_LINE_MEMBER( crtc_vs_w );
131   DECLARE_WRITE8_MEMBER(sasi_data_w);
132   DECLARE_WRITE_LINE_MEMBER(sasi_io_w);
131133   DECLARE_READ8_MEMBER( sasi_status_r );
132134   DECLARE_WRITE8_MEMBER( sasi_ctrl_w );
133135
r18344r18345
157159   required_shared_ptr<UINT8> m_video_ram;          // video RAM
158160   UINT8 *m_attr_ram;         // attribute RAM
159161   UINT8 m_attr;            // attribute latch
162
163   // sasi state
164   UINT8 data_out;
165
160166   TIMER_DEVICE_CALLBACK_MEMBER(v1050_keyboard_tick);
161167   TIMER_DEVICE_CALLBACK_MEMBER(sasi_ack_tick);
162168   TIMER_DEVICE_CALLBACK_MEMBER(sasi_rst_tick);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team