esp_dma_enable(ncr->devobject.lsistate, ncr->dma_on);
ncr->states[0] = val;
ncr->dma_cnt = 0;
+#if NCR_DEBUG
if (ncr->dma_on) {
write_log(_T("Trifecta DMA %08x %c\n"), ncr->dma_ptr, (val & 1) ? 'R' : 'W');
}
+#endif
} else if (addr == 0x402) {
ncr->dma_ptr &= 0xffff00;
ncr->dma_ptr |= val;
{
if (!(s->rregs[ESP_RSTAT] & STAT_INT)) {
s->rregs[ESP_RSTAT] |= STAT_INT;
- esp_raise_ext_irq(s);
+#if ESPLOG
+ write_log("irq->1\n");
+#endif
+ esp_raise_ext_irq(s);
}
}
{
if (s->rregs[ESP_RSTAT] & STAT_INT) {
s->rregs[ESP_RSTAT] &= ~STAT_INT;
- esp_lower_ext_irq(s);
+#if ESPLOG
+ write_log("irq->0\n");
+#endif
+ esp_lower_ext_irq(s);
}
}
{
if (!(s->rregs[ESP_REGS + NCR_PSTAT] & NCRPSTAT_SIRQ)) {
s->rregs[ESP_REGS + NCR_PSTAT] |= NCRPSTAT_SIRQ;
+#if ESPLOG
+ write_log("irq408->1\n");
+#endif
esp_raise_ext_irq(s);
}
}
{
if (s->rregs[ESP_REGS + NCR_PSTAT] & NCRPSTAT_SIRQ) {
s->rregs[ESP_REGS + NCR_PSTAT] &= ~NCRPSTAT_SIRQ;
- esp_lower_ext_irq(s);
+#if ESPLOG
+ write_log("irq408->0\n");
+#endif
+ esp_lower_ext_irq(s);
}
}
s->rregs[ESP_RINTR] = INTR_DC;
s->rregs[ESP_RSEQ] = 0;
//s->rregs[ESP_RFLAGS] = 0;
- // Features enable
- if (!(s->wregs[ESP_CFG2] & 0x40)) {
- // Masoboshi driver expects phase=0!
- s->rregs[ESP_RSTAT] &= ~7;
- }
+ // Masoboshi and Trifecta drivers expects phase=0
+ s->rregs[ESP_RSTAT] &= ~7;
esp_raise_irq(s);
break;
case CMD_PAD: