message("* vm/common_vm")
-SET(THIS_LIB_VERSION 7.8.1)
+SET(THIS_LIB_VERSION 7.9.0)
#include(cotire)
set(s_vm_common_vm_srcs
../upd16434.cpp
../upd1990a.cpp
../upd4991a.cpp
+
../upd71071.cpp
+ ../upd71071_art.cpp
+
+
../upd7220.cpp
../upd765a.cpp
../upd7752.cpp
clear_event(this, event_time_out);
clear_event(this, event_eot);
-// clear_event(this, event_drq);
if((read_length <= 0) && (databuffer->empty())) {
write_signals(&outputs_drq, 0x00000000);
//cdrom_debug_log(_T("NEXT(%s/DMA)"), (by_signal) ? by_dma : by_event);
//cdrom_debug_log(_T("NEXT(%s/DMA)"), (by_signal) ? by_dma : by_event);
// TRY: Register after EOT. 20201123 K.O
+ clear_event(this, event_drq);
write_signals(&outputs_drq, 0x00000000);
if(dma_transfer_phase) {
dma_transfer_phase = false;
do_dma_eot(true);
}
break;
+#if 0
case SIG_TOWNS_CDROM_DMAACK:
if(((data & mask) != 0) && (dma_transfer_phase)) {
//force_register_event(this, EVENT_CDROM_DRQ, 1.0 / 8.0, false, event_drq);
#endif
}
break;
+#endif
default:
// ToDo: Implement master devices.
break;
//dma->set_context_ch2(printer);
dma->set_context_ch3(cdrom);
- dma->set_context_tc1(scsi, SIG_SCSI_EOT, 0xffffffff);
+ extra_dma->set_context_cpu(cpu);
+ extra_dma->set_context_memory(memory);
+
+ //dma->set_context_tc1(scsi, SIG_SCSI_EOT, 0xffffffff);
dma->set_context_tc3(cdrom, SIG_TOWNS_CDROM_DMAINT, 0xffffffff);
//dma->set_context_ack1(scsi_host, SIG_SCSI_ACK, 0xffffffff);
- dma->set_context_ack3(cdrom, SIG_TOWNS_CDROM_DMAACK, 0xffffffff);
+ //dma->set_context_ack3(cdrom, SIG_TOWNS_CDROM_DMAACK, 0xffffffff);
//dma->set_context_ube1(scsi_host, SIG_SCSI_16BIT_BUS, 0x02);
dma->set_context_child_dma(extra_dma);
if((machine_id >= 0x0300) & ((machine_id & 0xff00) != 0x0400)) { // After UX
ex_int_enable = ((data & 0x20) != 0) ? true : false;
// Set host to 16bit bus width. BIT3 ,= '1'.
- if(d_dma != NULL) {
- d_dma->write_signal(SIG_UPD71071_UBE_CH0, 0xffffffff, 0xffffffff);
- }
+ //if(d_dma != NULL) {
+ // d_dma->write_signal(SIG_UPD71071_UBE_CH1, 0xffffffff, 0xffffffff);
+ //}
}
if(ctrl_reg & CTRL_WEN) {
d_host->write_signal(SIG_SCSI_RST, data, CTRL_RST);
}
}*/
break;
- case SIG_SCSI_EOT:
- dma_enabled = ((data & mask) == 0) ? true : false;
+// case SIG_SCSI_EOT:
+// dma_enabled = ((data & mask) == 0) ? true : false;
+// break;
+ default:
break;
}
}