Previous 199869 Revisions Next

r19283 Monday 3rd December, 2012 at 19:21:17 UTC by Angelo Salese
Preliminary Force Ready mechanism for PC-88VA
[src/mess/drivers]pc88va.c

trunk/src/mess/drivers/pc88va.c
r19282r19283
152152   void fdc_irq(bool state);
153153   void fdc_drq(bool state);
154154   DECLARE_FLOPPY_FORMATS( floppy_formats );
155   void pc88va_fdc_update_ready(floppy_image_device *, int);
155156};
156157
157158
r19282r19283
10231024   m_fdc_motor_status[1] = 1;
10241025}
10251026
1027/* TODO: double check schematics */
1028void pc88va_state::pc88va_fdc_update_ready(floppy_image_device *, int)
1029{
1030   bool ready_0 = m_fdc_ctrl_2 & 0x20;
1031   bool ready_1 = m_fdc_ctrl_2 & 0x40;
1032
1033   floppy_image_device *floppy;
1034   floppy = machine().device<floppy_connector>("upd765:0")->get_device();
1035   if(floppy && ready_0)
1036      ready_0 = floppy->ready_r();
1037   floppy = machine().device<floppy_connector>("upd765:1")->get_device();
1038   if(floppy && ready_1)
1039      ready_1 = floppy->ready_r();
1040
1041   m_fdc->ready_w(ready_0 || ready_1);
1042}
1043
10261044WRITE8_MEMBER(pc88va_state::pc88va_fdc_w)
10271045{
10281046   printf("%08x %02x\n",offset<<1,data);
r19282r19283
10931111
10941112         m_fdc_ctrl_2 = data;
10951113
1114         pc88va_fdc_update_ready(NULL, 0);
1115
10961116         break; // FDC control port 2
10971117   }
10981118}
r19282r19283
16381658   m_t3_mouse_timer->adjust(attotime::never);
16391659   m_fdc->setup_drq_cb(upd765a_device::line_cb(FUNC(pc88va_state::fdc_drq), this));
16401660   m_fdc->setup_intrq_cb(upd765a_device::line_cb(FUNC(pc88va_state::fdc_irq), this));
1661   floppy_image_device *floppy;
1662   floppy = machine().device<floppy_connector>("upd765:0")->get_device();
1663   if(floppy)
1664      floppy->setup_ready_cb(floppy_image_device::ready_cb(FUNC(pc88va_state::pc88va_fdc_update_ready), this));
16411665
1666   floppy = machine().device<floppy_connector>("upd765:1")->get_device();
1667   if(floppy)
1668      floppy->setup_ready_cb(floppy_image_device::ready_cb(FUNC(pc88va_state::pc88va_fdc_update_ready), this));
1669
16421670   machine().device<floppy_connector>("upd765:0")->get_device()->set_rpm(300);
16431671   machine().device<floppy_connector>("upd765:1")->get_device()->set_rpm(300);
16441672   machine().device<upd765a_device>("upd765")->set_rate(250000);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team