x86: fix ide flags.
This commit is contained in:
4
ide.cpp
4
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;
|
||||
}
|
||||
|
||||
2
ide.h
2
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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user