From: Toni Wilen Date: Wed, 7 Jun 2017 17:42:17 +0000 (+0300) Subject: CMD_ICCS puts both status and message byte in FIFO, even in PIO mode. Fixes Masoboshi... X-Git-Tag: 3500~11 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=1dbe661020c75db87efd6210852431f9d4000584;p=francis%2Fwinuae.git CMD_ICCS puts both status and message byte in FIFO, even in PIO mode. Fixes Masoboshi SCSI. --- diff --git a/qemuvga/esp.cpp b/qemuvga/esp.cpp index 03109db6..3bf3556f 100644 --- a/qemuvga/esp.cpp +++ b/qemuvga/esp.cpp @@ -292,7 +292,7 @@ static void write_response(ESPState *s) // sure wrong buffer is not read. s->pio_on = 0; s->async_buf = NULL; - s->fifo_on = 1; + s->fifo_on = 2; s->ti_buf[0] = s->status; s->ti_buf[1] = 0; @@ -620,7 +620,7 @@ uint64_t esp_reg_read(void *opaque, uint32_t saddr) else v = s->ti_size; } - if (!s->dma && v > 1) + if (!s->dma && v > 1 && s->fifo_on != 2) v = 1; return v | (s->rregs[ESP_RSEQ] << 5); }