37 |
|
|
38 |
|
|
39 |
|
/* NativeOp instruction format: |
40 |
< |
+------------+--------------------------+--+----------+------------+ |
41 |
< |
| 6 | |FN| OP | 2 | |
42 |
< |
+------------+--------------------------+--+----------+------------+ |
43 |
< |
0 5 |6 19 20 21 25 26 31 |
40 |
> |
+------------+-------------------------+--+-----------+------------+ |
41 |
> |
| 6 | |FN| OP | 2 | |
42 |
> |
+------------+-------------------------+--+-----------+------------+ |
43 |
> |
0 5 |6 18 19 20 25 26 31 |
44 |
|
*/ |
45 |
|
|
46 |
< |
#define POWERPC_NATIVE_OP(LR, OP) \ |
47 |
< |
(POWERPC_EMUL_OP | ((LR) << 11) | (((uint32)OP) << 6) | 2) |
46 |
> |
#define POWERPC_NATIVE_OP(FN, OP) \ |
47 |
> |
(POWERPC_EMUL_OP | ((FN) << 12) | (((uint32)OP) << 6) | 2) |
48 |
|
|
49 |
|
/* |
50 |
|
* Return the fake PowerPC opcode to handle specified native code |
84 |
|
case NATIVE_GET_1_IND_RESOURCE: |
85 |
|
case NATIVE_R_GET_RESOURCE: |
86 |
|
case NATIVE_MAKE_EXECUTABLE: |
87 |
+ |
case NATIVE_SYNC_HOOK: |
88 |
+ |
case NATIVE_BITBLT_HOOK: |
89 |
+ |
case NATIVE_FILLRECT_HOOK: |
90 |
+ |
case NATIVE_BITBLT: |
91 |
+ |
case NATIVE_INVRECT: |
92 |
+ |
case NATIVE_FILLRECT: |
93 |
|
opcode = POWERPC_NATIVE_OP(1, selector); |
94 |
|
break; |
95 |
|
default: |
253 |
|
DEFINE_NATIVE_OP(NATIVE_SERIAL_STATUS, SerialStatus); |
254 |
|
DEFINE_NATIVE_OP(NATIVE_SERIAL_CLOSE, SerialClose); |
255 |
|
DEFINE_NATIVE_OP(NATIVE_MAKE_EXECUTABLE, MakeExecutable); |
256 |
+ |
DEFINE_NATIVE_OP(NATIVE_SYNC_HOOK, NQD_sync_hook); |
257 |
+ |
DEFINE_NATIVE_OP(NATIVE_BITBLT_HOOK, NQD_bitblt_hook); |
258 |
+ |
DEFINE_NATIVE_OP(NATIVE_FILLRECT_HOOK, NQD_fillrect_hook); |
259 |
+ |
DEFINE_NATIVE_OP(NATIVE_BITBLT, NQD_bitblt); |
260 |
+ |
DEFINE_NATIVE_OP(NATIVE_INVRECT, NQD_invrect); |
261 |
+ |
DEFINE_NATIVE_OP(NATIVE_FILLRECT, NQD_fillrect); |
262 |
|
#undef DEFINE_NATIVE_OP |
263 |
|
#endif |
264 |
|
|