|
|
| version 1.8, 2003/12/09 15:49:14 | version 1.12, 2003/12/25 19:58:24 |
|---|---|
| Line 5 | Line 5 |
| #include "i286xs.h" | #include "i286xs.h" |
| #include "i286xrep.h" | #include "i286xrep.h" |
| #include "i286xcts.h" | #include "i286xcts.h" |
| #include "memory.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "i286x.mcr" | #include "i286x.mcr" |
| Line 61 void i286x_initialize(void) { | Line 60 void i286x_initialize(void) { |
| void i286x_reset(void) { | void i286x_reset(void) { |
| ZeroMemory(&i286core.s, sizeof(i286core.s)); | ZeroMemory(&i286core.s, sizeof(i286core.s)); |
| I286_CS = 0x1fc0; | I286_CS = 0xffff; |
| CS_BASE = 0x1fc00; | CS_BASE = 0xffff0; |
| i286core.s.adrsmask = 0xfffff; | i286core.s.adrsmask = 0xfffff; |
| } | } |
| void i286x_shut(void) { | |
| I286_MSW = 0; | |
| I286_CS = 0xffff; | |
| CS_BASE = 0xffff0; | |
| I286_IP = 0; | |
| I286_ADRSMASK = 0xfffff; | |
| i286x_resetprefetch(); | |
| } | |
| LABEL void i286x_resetprefetch(void) { | LABEL void i286x_resetprefetch(void) { |
| Line 2678 I286 _popf(void) { // 9D: popf | Line 2687 I286 _popf(void) { // 9D: popf |
| not ax | not ax |
| test al, pic.pi[0].irr | test al, pic.pi[0].irr |
| jne irqcheck | jne irqcheck |
| test al, pic.pi[1].irr | test ah, pic.pi[1].irr |
| jne irqcheck | jne irqcheck |
| nextop: ret | nextop: ret |
| Line 3608 I286 _iret(void) { // CF: iret | Line 3617 I286 _iret(void) { // CF: iret |
| not ax | not ax |
| test al, pic.pi[0].irr | test al, pic.pi[0].irr |
| jne irqcheck | jne irqcheck |
| test al, pic.pi[1].irr | test ah, pic.pi[1].irr |
| jne irqcheck | jne irqcheck |
| nextop: ret | nextop: ret |
| Line 4212 I286 _sti(void) { // FB: sti | Line 4221 I286 _sti(void) { // FB: sti |
| not ax | not ax |
| test al, pic.pi[0].irr | test al, pic.pi[0].irr |
| jne nextopandexit | jne nextopandexit |
| test al, pic.pi[1].irr | test ah, pic.pi[1].irr |
| jne nextopandexit | jne nextopandexit |
| jmp_nextop: jmp i286op[ebp*4] | jmp_nextop: jmp i286op[ebp*4] |