|
|
1.1 ! root 1: typedef struct _t_ipc { ! 2: void (*function)(struct _t_ipc *ipc); ! 3: uint8 used; /* bitmap of XNZVC flags inspected */ ! 4: uint8 set; /* bitmap of XNZVC flags altered */ ! 5: uint16 opcode; ! 6: uint16 wordlen; ! 7: unsigned int :0; ! 8: uint32 src; ! 9: uint32 dst; ! 10: } t_ipc; ! 11: ! 12: typedef struct _t_ipclist { ! 13: struct _t_ipclist *next; ! 14: uint8 norepeat; ! 15: uint32 pc; ! 16: uint32 clocks; ! 17: void (*compiled)(struct _t_ipc *ipc); ! 18: } t_ipclist; ! 19: ! 20: extern uint8 *cpu68k_rom; ! 21: extern unsigned int cpu68k_romlen; ! 22: extern uint8 *cpu68k_ram; ! 23: extern t_iib *cpu68k_iibtable[65536]; ! 24: extern void (*cpu68k_functable[65536*2])(t_ipc *ipc); ! 25: extern int cpu68k_totalinstr; ! 26: extern int cpu68k_totalfuncs; ! 27: extern unsigned int cpu68k_clocks; ! 28: extern unsigned int cpu68k_clocks_curevent; ! 29: extern unsigned int cpu68k_frames; ! 30: extern unsigned int cpu68k_line; ! 31: extern t_regs regs; ! 32: extern t_ipclist *ipclist[LEN_IPCLISTTABLE]; ! 33: extern uint8 movem_bit[256]; ! 34: extern unsigned int cpu68k_adaptive; ! 35: ! 36: extern t_iib iibs[]; ! 37: extern int iibs_num; ! 38: ! 39: int cpu68k_init(void); ! 40: void cpu68k_ipc(uint32 addr68k, uint8 *addr, t_iib *iib, t_ipc *ipc); ! 41: void cpu68k_reset(void); ! 42: void cpu68k_step(void); ! 43: void cpu68k_framestep(void); ! 44: t_ipclist *cpu68k_makeipclist(uint32 pc); ! 45: void cpu68k_endfield(void); ! 46: ! 47: #define V_RESETSSP 0 ! 48: #define V_RESETPC 1 ! 49: #define V_BUSERR 2 ! 50: #define V_ADDRESS 3 ! 51: #define V_ILLEGAL 4 ! 52: #define V_ZERO 5 ! 53: #define V_CHK 6 ! 54: #define V_TRAPV 7 ! 55: #define V_PRIVILEGE 8 ! 56: #define V_TRACE 9 ! 57: #define V_LINE10 10 ! 58: #define V_LINE15 11 ! 59: #define V_UNINIT 15 ! 60: #define V_SPURIOUS 24 ! 61: #define V_AUTO 25 ! 62: #define V_TRAP 32 ! 63: #define V_USER 64
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.