1 |
|
/* |
2 |
|
* emul_op.h - 68k opcodes for ROM patches |
3 |
|
* |
4 |
< |
* SheepShaver (C) 1997-2002 Christian Bauer and Marc Hellwig |
4 |
> |
* SheepShaver (C) 1997-2004 Christian Bauer and Marc Hellwig |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
28 |
|
const uint32 POWERPC_BCTR = 0x4e800420; |
29 |
|
const uint32 POWERPC_EMUL_OP = 0x18000000; // Base opcode for EMUL_OP opcodes (only used with PPC emulation) |
30 |
|
|
31 |
– |
enum { // Selectors for NATIVE_EXEC callbacks (only used with PPC emulation) |
32 |
– |
NATIVE_PATCH_NAME_REGISTRY, |
33 |
– |
NATIVE_VIDEO_INSTALL_ACCEL, |
34 |
– |
NATIVE_VIDEO_VBL, |
35 |
– |
NATIVE_VIDEO_DO_DRIVER_IO, |
36 |
– |
NATIVE_ETHER_IRQ, |
37 |
– |
NATIVE_ETHER_INIT, |
38 |
– |
NATIVE_ETHER_TERM, |
39 |
– |
NATIVE_ETHER_OPEN, |
40 |
– |
NATIVE_ETHER_CLOSE, |
41 |
– |
NATIVE_ETHER_WPUT, |
42 |
– |
NATIVE_ETHER_RSRV, |
43 |
– |
NATIVE_SERIAL_NOTHING, |
44 |
– |
NATIVE_SERIAL_OPEN, |
45 |
– |
NATIVE_SERIAL_PRIME_IN, |
46 |
– |
NATIVE_SERIAL_PRIME_OUT, |
47 |
– |
NATIVE_SERIAL_CONTROL, |
48 |
– |
NATIVE_SERIAL_STATUS, |
49 |
– |
NATIVE_SERIAL_CLOSE, |
50 |
– |
NATIVE_GET_RESOURCE, |
51 |
– |
NATIVE_GET_1_RESOURCE, |
52 |
– |
NATIVE_GET_IND_RESOURCE, |
53 |
– |
NATIVE_GET_1_IND_RESOURCE, |
54 |
– |
NATIVE_R_GET_RESOURCE, |
55 |
– |
NATIVE_DISABLE_INTERRUPT, |
56 |
– |
NATIVE_ENABLE_INTERRUPT, |
57 |
– |
NATIVE_OP_MAX |
58 |
– |
}; |
59 |
– |
#define POWERPC_NATIVE_OP(SELECTOR) NativeOpTable[SELECTOR] |
60 |
– |
#define POWERPC_NATIVE_OP_FUNC(SELECTOR) ((uint32)(uintptr)&POWERPC_NATIVE_OP(SELECTOR)) |
61 |
– |
extern const uint32 NativeOpTable[NATIVE_OP_MAX]; |
62 |
– |
|
31 |
|
// 68k opcodes |
32 |
|
const uint16 M68K_ILLEGAL = 0x4afc; |
33 |
|
const uint16 M68K_NOP = 0x4e71; |