Previous 199869 Revisions Next

r26109 Monday 11th November, 2013 at 21:45:11 UTC by Curt Coder
(MESS) abc800: Xebec WIP. (nw)
[src/emu/bus/abcbus]lux21056.c

trunk/src/emu/bus/abcbus/lux21056.c
r26108r26109
200200   {
201201      m_sasibus->scsi_data_w(m_sasi_data);
202202   }
203   else
204   {
205      m_sasibus->scsi_data_w(0);
206   }
203207}
204208
205209WRITE_LINE_MEMBER( luxor_55_21056_device::sasi_req_w )
r26108r26109
338342
339343void luxor_55_21056_device::device_reset()
340344{
345   m_maincpu->reset();
346
341347   m_cs = false;
342348   m_stat = 0;
343349   m_sasi_data = 0;
350
351   set_rdy(m_rdy);
344352}
345353
346354
r26108r26109
370378   if (m_cs)
371379   {
372380      data = m_stat & 0xfe;
373      data |= m_rdy;
381      data |= m_rdy ^ STAT_DIR;
374382   }
375383
376384   return data;
r26108r26109
389397   {
390398      data = m_inp;
391399
392      set_rdy(!m_rdy);
400      if (m_rdy) set_rdy(!m_rdy);
393401   }
394402
395403   return data;
r26108r26109
406414   {
407415      m_out = data;
408416
409      set_rdy(!m_rdy);
417      if (STAT_DIR && !m_rdy) set_rdy(!m_rdy);
410418   }
411419}
412420
r26108r26109
433441{
434442   if (m_cs)
435443   {
436      m_maincpu->reset();
444      device_reset();
437445   }
438446}
439447
r26108r26109
461469
462470   UINT8 data = 0;
463471
464   data |= m_rdy;
472   data |= m_rdy ^ STAT_DIR;
465473
466474   data |= (m_req || m_sasibus->scsi_req_r()) << 1;
467475   data |= m_sasibus->scsi_io_r() << 2;
r26108r26109
480488WRITE8_MEMBER( luxor_55_21056_device::stat_w )
481489{
482490   m_stat = data;
491
492   set_rdy(m_rdy);
483493}
484494
485495
r26108r26109
491501{
492502   UINT8 data = m_out;
493503
494   set_rdy(!m_rdy);
504   if (STAT_DIR && m_rdy) set_rdy(!m_rdy);
495505
496506   return data;
497507}
r26108r26109
505515{
506516   m_inp = data;
507517
508   set_rdy(!m_rdy);
518   if (!STAT_DIR && !m_rdy) set_rdy(!m_rdy);
509519}
510520
511521
r26108r26109
560570
561571WRITE8_MEMBER( luxor_55_21056_device::rdy_reset_w )
562572{
563   set_rdy(STAT_DIR);
573   set_rdy(0);
564574}
565575
566576
r26108r26109
617627{
618628   m_rdy = state;
619629
620   m_dma->rdy_w(m_rdy);
630   m_dma->rdy_w(m_rdy ^ STAT_DIR);
621631}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team