|
|
| version 1.7, 2005/05/20 13:59:46 | version 1.8, 2011/01/15 18:04:42 |
|---|---|
| Line 13 void bios0x0c(void) { | Line 13 void bios0x0c(void) { |
| UINT16 dseg; | UINT16 dseg; |
| REG8 flag; | REG8 flag; |
| UINT8 data; | UINT8 data; |
| UINT8 stat; | UINT8 status; |
| REG16 pos; | REG16 pos; |
| REG16 cnt; | REG16 cnt; |
| Line 22 void bios0x0c(void) { | Line 22 void bios0x0c(void) { |
| flag = MEMR_READ8(dseg, doff + R_FLAG); | flag = MEMR_READ8(dseg, doff + R_FLAG); |
| data = iocore_inp8(0x30); // データ引き取り | data = iocore_inp8(0x30); // データ引き取り |
| stat = iocore_inp8(0x32) & 0xfc; // ステータス | status = iocore_inp8(0x32) & 0xfc; // ステータス |
| stat |= (iocore_inp8(0x33) & 3); | status |= (iocore_inp8(0x33) & 3); |
| #if 0 | #if 0 |
| if (stat & 0x38) { | if (status & 0x38) { |
| iocore_out8(0x32, flag | 0x10); | iocore_out8(0x32, flag | 0x10); |
| } | } |
| #endif | #endif |
| Line 62 void bios0x0c(void) { | Line 62 void bios0x0c(void) { |
| } | } |
| // データ投棄 | // データ投棄 |
| pos = MEMR_READ16(dseg, doff + R_PUTP); | pos = MEMR_READ16(dseg, doff + R_PUTP); |
| MEMR_WRITE16(dseg, pos, (UINT16)((data << 8) | stat)); | MEMR_WRITE16(dseg, pos, (UINT16)((data << 8) | status)); |
| // 次のポインタをストア | // 次のポインタをストア |
| pos = (UINT16)(pos + 2); | pos = (UINT16)(pos + 2); |