diff --git a/ide.cpp b/ide.cpp index 7559c66c..14c9986b 100644 --- a/ide.cpp +++ b/ide.cpp @@ -79,12 +79,12 @@ uint8_t ide_buf[ide_io_max_size * 512]; ide_config ide_inst[2] = {}; -uint16_t ide_check(int status) +uint16_t ide_check() { uint16_t res; EnableIO(); res = spi_w(UIO_DMA_SDIO); - if (status || !res) res = (uint8_t)spi_w((uint16_t)status); + if (!res) res = (uint8_t)spi_w(0); DisableIO(); return res; } diff --git a/ide.h b/ide.h index 8aed6e00..ffca1a7e 100644 --- a/ide.h +++ b/ide.h @@ -141,7 +141,7 @@ void ide_sendbuf(ide_config *ide, uint16_t reg, uint32_t length, uint16_t *data) void ide_recvbuf(ide_config *ide, uint16_t reg, uint32_t length, uint16_t *data); void ide_reg_set(ide_config *ide, uint16_t reg, uint16_t value); -uint16_t ide_check(int status = 0); +uint16_t ide_check(); int ide_img_mount(fileTYPE *f, const char *name, int rw); void ide_img_set(uint32_t drvnum, fileTYPE *f, int cd, int sectors = 0, int heads = 0, int offset = 0, int type = 0); int ide_is_placeholder(int num); diff --git a/support/x86/x86.cpp b/support/x86/x86.cpp index c1238326..40f95034 100644 --- a/support/x86/x86.cpp +++ b/support/x86/x86.cpp @@ -300,12 +300,12 @@ void x86_init() load_bios(user_io_make_filepath(home, "boot0.rom"), 0); load_bios(user_io_make_filepath(home, "boot1.rom"), 1); - uint8_t cfg = ide_check(); + uint16_t cfg = ide_check(); uint8_t hotswap[4] = { 0, 0, - ((cfg >> 8) & 1) ^ 1, - (cfg >> 9) & 1, + (uint8_t)(((cfg >> 8) & 1) ^ 1), + (uint8_t)((cfg >> 9) & 1), }; ide_reset(hotswap);