|
|
| version 1.6, 2003/12/08 00:55:30 | version 1.9, 2004/01/05 12:54:56 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "cpucore.h" | #include "cpucore.h" |
| #include "memory.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "bios.h" | #include "bios.h" |
| Line 733 static BYTE sxsi_pos(long *pos) { | Line 732 static BYTE sxsi_pos(long *pos) { |
| } | } |
| static BYTE sxsi_operate(BYTE type) { | UINT8 sxsi_operate(UINT8 type) { |
| BYTE ret_ah = 0x00; | BYTE ret_ah = 0x00; |
| BYTE drv; | BYTE drv; |
| Line 996 void bios0x1b(void) { | Line 995 void bios0x1b(void) { |
| BYTE ret_ah; | BYTE ret_ah; |
| REG8 flag; | REG8 flag; |
| #if 0 // bypass to disk bios | |
| REG8 seg; | |
| seg = mem[0x004b0 + (CPU_AH >> 4)]; | |
| if (seg) { | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 2), CPU_DS); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 4), CPU_SI); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 6), CPU_DI); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 8), CPU_ES); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 10), CPU_BP); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 12), CPU_DX); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 14), CPU_CX); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 16), CPU_BX); | |
| i286_memword_write(CPU_SS, (REG16)(CPU_SP - 18), CPU_AX); | |
| CPU_SP -= 18; | |
| CPU_CS = seg << 8; | |
| CPU_IP = 0x18; | |
| TRACEOUT(("bypass to %.4x:%.4x", CPU_CS, CPU_IP)); | |
| return; | |
| } | |
| #endif | |
| switch(CPU_AL & 0xf0) { | switch(CPU_AL & 0xf0) { |
| case 0x90: | case 0x90: |
| ret_ah = fdd_operate(DISKTYPE_2HD, 0, 0); | ret_ah = fdd_operate(DISKTYPE_2HD, 0, 0); |