A handful of IDE fixes.

This commit is contained in:
OBattler
2024-12-30 19:01:48 +01:00
parent b449f6f310
commit 4b24ce53ec

View File

@@ -145,7 +145,7 @@ typedef struct mcide_t {
rom_t bios_rom;
} mcide_t;
ide_board_t *ide_boards[IDE_BUS_MAX];
ide_board_t *ide_boards[IDE_BUS_MAX] = { 0 };
static uint8_t ide_ter_pnp_rom[] = {
/* BOX0001, serial 0, dummy checksum (filled in by isapnp_add_card) */
@@ -618,9 +618,12 @@ ide_hd_identify(const ide_t *ide)
if (!ide_boards[ide->board]->force_ata3 && (bm != NULL)) {
ide->buffer[80] = 0x7e; /*ATA-1 to ATA-6 supported*/
ide->buffer[81] = 0x19; /*ATA-6 revision 3a supported*/
} else {
} else
ide->buffer[80] = 0x0e; /*ATA-1 to ATA-3 supported*/
}
ide->buffer[83] = ide->buffer[84] = 0x4000;
ide->buffer[86] = 0x0000;
ide->buffer[87] = 0x4000;
}
static void
@@ -2219,9 +2222,8 @@ ide_callback(void *priv)
ide->sector_pos = 0;
ret = hdd_image_read(ide->hdd_num, ide_get_sector(ide),
ide->tf->secount ? ide->tf->secount : 256, ide->sector_buffer);
} else {
} else
ret = 0;
}
memcpy(ide->buffer, &ide->sector_buffer[ide->sector_pos * 512], 512);