/* ATN remains asserted until TC == 0 */
if (esp_get_tc(s) == 0) {
esp_set_phase(s, STAT_CD);
+ s->rregs[ESP_CMD] = 0;
s->rregs[ESP_RSEQ] = SEQ_CD;
s->rregs[ESP_RINTR] |= INTR_BS;
esp_raise_irq(s);
*/
s->cmdfifo_cdb_offset = fifo8_num_used(&s->cmdfifo);
esp_set_phase(s, STAT_CD);
+ s->rregs[ESP_CMD] = 0;
s->rregs[ESP_RSEQ] = SEQ_CD;
s->rregs[ESP_RINTR] |= INTR_BS;
esp_raise_irq(s);
*/
s->rregs[ESP_RINTR] |= INTR_BS | INTR_FC;
break;
+
+ case CMD_TI | CMD_DMA:
+ case CMD_TI:
+ s->rregs[ESP_CMD] = 0;
+ break;
}
/* Raise bus service interrupt to indicate change to STATUS phase */
* Bus service interrupt raised because of initial change to
* DATA phase
*/
+ s->rregs[ESP_CMD] = 0;
s->rregs[ESP_RINTR] |= INTR_BS;
break;
}