/[cebix]/SheepShaver/src/thunks.cpp
ViewVC logotype

Diff of /SheepShaver/src/thunks.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17 by gbeauche, Sat May 13 17:12:18 2006 UTC revision 1.18 by gbeauche, Sun May 14 07:21:10 2006 UTC
# Line 57  uint32 NativeOpcode(int selector) Line 57  uint32 NativeOpcode(int selector)
57          switch (selector) {          switch (selector) {
58          case NATIVE_CHECK_LOAD_INVOC:          case NATIVE_CHECK_LOAD_INVOC:
59          case NATIVE_NAMED_CHECK_LOAD_INVOC:          case NATIVE_NAMED_CHECK_LOAD_INVOC:
60            case NATIVE_NQD_SYNC_HOOK:
61            case NATIVE_NQD_BITBLT_HOOK:
62            case NATIVE_NQD_FILLRECT_HOOK:
63            case NATIVE_NQD_UNKNOWN_HOOK:
64            case NATIVE_NQD_BITBLT:
65            case NATIVE_NQD_INVRECT:
66            case NATIVE_NQD_FILLRECT:
67                  opcode = POWERPC_NATIVE_OP(0, selector);                  opcode = POWERPC_NATIVE_OP(0, selector);
68                  break;                  break;
69          case NATIVE_PATCH_NAME_REGISTRY:          case NATIVE_PATCH_NAME_REGISTRY:
# Line 89  uint32 NativeOpcode(int selector) Line 96  uint32 NativeOpcode(int selector)
96          case NATIVE_GET_NAMED_RESOURCE:          case NATIVE_GET_NAMED_RESOURCE:
97          case NATIVE_GET_1_NAMED_RESOURCE:          case NATIVE_GET_1_NAMED_RESOURCE:
98          case NATIVE_MAKE_EXECUTABLE:          case NATIVE_MAKE_EXECUTABLE:
         case NATIVE_NQD_SYNC_HOOK:  
         case NATIVE_NQD_BITBLT_HOOK:  
         case NATIVE_NQD_FILLRECT_HOOK:  
         case NATIVE_NQD_UNKNOWN_HOOK:  
         case NATIVE_NQD_BITBLT:  
         case NATIVE_NQD_INVRECT:  
         case NATIVE_NQD_FILLRECT:  
99                  opcode = POWERPC_NATIVE_OP(1, selector);                  opcode = POWERPC_NATIVE_OP(1, selector);
100                  break;                  break;
101          default:          default:
# Line 262  bool ThunksInit(void) Line 262  bool ThunksInit(void)
262  {  {
263  #if EMULATED_PPC  #if EMULATED_PPC
264          for (int i = 0; i < NATIVE_OP_MAX; i++) {          for (int i = 0; i < NATIVE_OP_MAX; i++) {
265                  uintptr base = SheepMem::Reserve(12);                  uintptr base = SheepMem::Reserve(16);
266                  WriteMacInt32(base + 0, base + 8);                  WriteMacInt32(base + 0, base + 8);
267                  WriteMacInt32(base + 4, 0); // Fake TVECT                  WriteMacInt32(base + 4, 0); // Fake TVECT
268                  WriteMacInt32(base + 8, NativeOpcode(i));                  WriteMacInt32(base + 8, NativeOpcode(i));
269                    WriteMacInt32(base + 12, POWERPC_BLR);
270                  native_op[i].tvect = base;                  native_op[i].tvect = base;
271                  native_op[i].func  = base + 8;                  native_op[i].func  = base + 8;
272          }          }

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

Christian Bauer">Christian Bauer
ViewVC Help
Powered by ViewVC 1.1.17