--- np2/i286x/v30patch.cpp 2003/10/16 17:57:31 1.1 +++ np2/i286x/v30patch.cpp 2004/07/12 10:33:02 1.7 @@ -1,11 +1,10 @@ #include "compiler.h" -#include "i286.h" +#include "cpucore.h" #include "i286x.h" #include "i286xadr.h" #include "i286xs.h" #include "i286xrep.h" #include "i286xcts.h" -#include "memory.h" #include "pccore.h" #include "bios.h" #include "iocore.h" @@ -15,7 +14,7 @@ typedef struct { - DWORD opnum; + UINT opnum; void (*v30opcode)(void); } V30PATCH_T; @@ -94,7 +93,7 @@ I286 v30pop_ss(void) { // 17: pop shl eax, 4 // make segreg mov SS_BASE, eax mov SS_FIX, eax - cmp i286s.prefix, 0 // 00/06/24 + cmp i286core.s.prefix, 0 // 00/06/24 je noprefix call removeprefix pop eax @@ -204,7 +203,7 @@ I286 v30mov_seg_ea(void) { // 8E: m segsetr:ret align 4 - setss: cmp i286s.prefix, 0 // 00/05/13 + setss: cmp i286core.s.prefix, 0 // 00/05/13 je noprefix pop eax call eax // eax<-offset removeprefix @@ -992,7 +991,7 @@ static void v30patching(void (*dst[])(vo #define V30PATCHING(a, b) v30patching(a, b, sizeof(b)/sizeof(V30PATCH_T)) -void v30init(void) { +void v30xinit(void) { CopyMemory(v30op, i286op, sizeof(v30op)); V30PATCHING(v30op, v30patch_op); @@ -1002,11 +1001,11 @@ void v30init(void) { V30PATCHING(v30op_repe, v30patch_repe); } -LABEL void v30(void) { +LABEL void v30x(void) { __asm { pushad - mov ebx, dword ptr (i286s.prefetchque) + mov ebx, dword ptr (i286core.s.prefetchque) movzx esi, I286_IP cmp I286_TRAP, 0 @@ -1017,9 +1016,9 @@ LABEL void v30(void) { align 4 v30_mnlp: movzx eax, bl call v30op[eax*4] - cmp nevent.remainclock, 0 + cmp I286_REMCLOCK, 0 jg v30_mnlp - mov dword ptr (i286s.prefetchque), ebx + mov dword ptr (i286core.s.prefetchque), ebx mov I286_IP, si popad ret @@ -1028,9 +1027,9 @@ v30_mnlp: movzx eax, bl v30_dma_mnlp: movzx eax, bl call v30op[eax*4] call dmap_i286 - cmp nevent.remainclock, 0 + cmp I286_REMCLOCK, 0 jg v30_dma_mnlp - mov dword ptr (i286s.prefetchque), ebx + mov dword ptr (i286core.s.prefetchque), ebx mov I286_IP, si popad ret @@ -1042,18 +1041,18 @@ v30_trapping: movzx eax, bl je v30notrap mov ecx, 1 call i286x_localint -v30notrap: mov dword ptr (i286s.prefetchque), ebx +v30notrap: mov dword ptr (i286core.s.prefetchque), ebx mov I286_IP, si popad ret } } -LABEL void v30_step(void) { +LABEL void v30x_step(void) { __asm { pushad - mov ebx, dword ptr (i286s.prefetchque) + mov ebx, dword ptr (i286core.s.prefetchque) movzx esi, I286_IP movzx eax, bl @@ -1064,7 +1063,7 @@ LABEL void v30_step(void) { mov ecx, 1 call i286x_localint nexts: - mov dword ptr (i286s.prefetchque), ebx + mov dword ptr (i286core.s.prefetchque), ebx mov I286_IP, si call dmap_i286