|
|
| version 1.4, 2004/06/18 07:42:13 | version 1.6, 2011/01/15 18:04:42 |
|---|---|
| Line 10 | Line 10 |
| void bios0x13(void) { | void bios0x13(void) { |
| BYTE stat; | UINT8 status; |
| BYTE result; | UINT8 result; |
| BYTE *p; | UINT8 *p; |
| BYTE drv; | UINT8 drv; |
| BYTE drvbit; | UINT8 drvbit; |
| // TRACE_("BIOS", 0x13); | // TRACE_("BIOS", 0x13); |
| iocore_out8(0x08, 0x20); | iocore_out8(0x08, 0x20); |
| Line 22 void bios0x13(void) { | Line 22 void bios0x13(void) { |
| iocore_out8(0x00, 0x20); | iocore_out8(0x00, 0x20); |
| } | } |
| stat = iocore_inp8(baseport); | status = iocore_inp8(baseport); |
| while(1) { | while(1) { |
| if (!(stat & FDCSTAT_CB)) { | if (!(status & FDCSTAT_CB)) { |
| if ((stat & (FDCSTAT_RQM | FDCSTAT_DIO)) != FDCSTAT_RQM) { | if ((status & (FDCSTAT_RQM | FDCSTAT_DIO)) != FDCSTAT_RQM) { |
| break; | break; |
| } | } |
| iocore_out8(baseport+2, 0x08); | iocore_out8(baseport+2, 0x08); |
| stat = iocore_inp8(baseport); | status = iocore_inp8(baseport); |
| } | } |
| if ((stat & (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) | if ((status & (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) |
| != (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) { | != (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) { |
| break; | break; |
| } | } |
| Line 52 void bios0x13(void) { | Line 52 void bios0x13(void) { |
| p = mem + MEMX_DISK_RESULT + (drv * 8); | p = mem + MEMX_DISK_RESULT + (drv * 8); |
| while(1) { | while(1) { |
| *p++ = result; | *p++ = result; |
| stat = iocore_inp8(baseport); | status = iocore_inp8(baseport); |
| if ((stat & (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) | if ((status & (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) |
| != (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) { | != (FDCSTAT_RQM | FDCSTAT_DIO | FDCSTAT_CB)) { |
| break; | break; |
| } | } |