And DC390 for today.

Restore the old way of identifying the chip id in the DC390. Fixes NT 4.0 booting from CD-ROM using said SCSI controller when its BIOS is enabled.
This commit is contained in:
TC1995
2025-01-09 23:47:30 +01:00
parent 3a22930c07
commit 738b80f1ab

View File

@@ -630,6 +630,7 @@ esp_hard_reset(esp_t *dev)
fifo8_reset(&dev->fifo); fifo8_reset(&dev->fifo);
fifo8_reset(&dev->cmdfifo); fifo8_reset(&dev->cmdfifo);
dev->dma = 0; dev->dma = 0;
dev->tchi_written = 0;
dev->rregs[ESP_CFG1] = dev->mca ? dev->HostID : 7; dev->rregs[ESP_CFG1] = dev->mca ? dev->HostID : 7;
esp_log("ESP Reset\n"); esp_log("ESP Reset\n");
@@ -1346,7 +1347,7 @@ esp_reg_read(esp_t *dev, uint32_t saddr)
if (dev->mca) { if (dev->mca) {
ret = dev->rregs[ESP_TCHI]; ret = dev->rregs[ESP_TCHI];
} else { } else {
if (dev->rregs[ESP_CFG2] & 0x40) if (!dev->tchi_written)
ret = TCHI_AM53C974; ret = TCHI_AM53C974;
else else
ret = dev->rregs[ESP_TCHI]; ret = dev->rregs[ESP_TCHI];
@@ -1369,6 +1370,8 @@ esp_reg_write(esp_t *dev, uint32_t saddr, uint32_t val)
esp_log("Write reg %02x = %02x\n", saddr, val); esp_log("Write reg %02x = %02x\n", saddr, val);
switch (saddr) { switch (saddr) {
case ESP_TCHI: case ESP_TCHI:
dev->tchi_written = 1;
fallthrough;
case ESP_TCLO: case ESP_TCLO:
case ESP_TCMID: case ESP_TCMID:
esp_log("ESP TCW reg%02x = %02x.\n", saddr, val); esp_log("ESP TCW reg%02x = %02x.\n", saddr, val);