x86: fix ide flags.

This commit is contained in:
Sorgelig
2022-02-06 23:50:58 +08:00
parent 96b3fa9275
commit a9f8801324
3 changed files with 6 additions and 6 deletions

View File

@@ -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;
}

2
ide.h
View File

@@ -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);

View File

@@ -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);