X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2FCyclone%2FCyclone.h;h=6bce6710cdd27e744a27f07240cbb49380e8003a;hb=ee5e024ce624b4a5e5efc38e5d7c6a040a48a8b0;hp=596cb99f33c61d3a13c83a40ba217509c81c6f7e;hpb=b637c56aadc5b854ca28a8a111cf07324bc0e2ad;p=picodrive.git diff --git a/cpu/Cyclone/Cyclone.h b/cpu/Cyclone/Cyclone.h index 596cb99..6bce671 100644 --- a/cpu/Cyclone/Cyclone.h +++ b/cpu/Cyclone/Cyclone.h @@ -15,20 +15,20 @@ extern int CycloneVer; // Version number of library struct Cyclone { - unsigned int d[8]; // [r7,#0x00] - unsigned int a[8]; // [r7,#0x20] - unsigned int pc; // [r7,#0x40] Memory Base+PC - unsigned char srh; // [r7,#0x44] Status Register high (T_S__III) - unsigned char xc; // [r7,#0x45] Extend flag (____??X?) - unsigned char flags; // [r7,#0x46] Flags (ARM order: ____NZCV) [68k order is XNZVC] - unsigned char irq; // [r7,#0x47] IRQ level - unsigned int osp; // [r7,#0x48] Other Stack Pointer (USP/SSP) - unsigned int vector; // [r7,#0x4c] IRQ vector (temporary) - unsigned int prev_pc;// [r7,#0x50] set to start address of currently executed opcode + 2 (if enabled in config.h) - unsigned int unused; // [r7,#0x54] Unused - int stopped; // [r7,#0x58] 1 == processor is in stopped state - int cycles; // [r7,#0x5c] - int membase; // [r7,#0x60] Memory Base (ARM address minus 68000 address) + unsigned int d[8]; // [r7,#0x00] + unsigned int a[8]; // [r7,#0x20] + unsigned int pc; // [r7,#0x40] Memory Base+PC + unsigned char srh; // [r7,#0x44] Status Register high (T_S__III) + unsigned char unused; // [r7,#0x45] Unused + unsigned char flags; // [r7,#0x46] Flags (ARM order: ____NZCV) [68k order is XNZVC] + unsigned char irq; // [r7,#0x47] IRQ level + unsigned int osp; // [r7,#0x48] Other Stack Pointer (USP/SSP) + unsigned int xc; // [r7,#0x4c] Extend flag (bit29: ??X? _) + unsigned int prev_pc; // [r7,#0x50] set to start address of currently executed opcode + 2 (if enabled in config.h) + unsigned int unused1; // [r7,#0x54] Unused + int stopped; // [r7,#0x58] 1 == processor is in stopped state + int cycles; // [r7,#0x5c] + int membase; // [r7,#0x60] Memory Base (ARM address minus 68000 address) unsigned int (*checkpc)(unsigned int pc); // [r7,#0x64] - Called to recalc Memory Base+pc unsigned char (*read8 )(unsigned int a); // [r7,#0x68] unsigned short (*read16 )(unsigned int a); // [r7,#0x6c] @@ -40,8 +40,8 @@ struct Cyclone unsigned short (*fetch16)(unsigned int a); // [r7,#0x84] unsigned int (*fetch32)(unsigned int a); // [r7,#0x88] void (*IrqCallback)(int int_level); // [r7,#0x8c] - optional irq callback function, see config.h - void (*ResetCallback)(); // [r7,#0x90] - if enabled in config.h, calls this whenever RESET opcode is encountered. - int (*UnrecognizedCallback)(); // [r7,#0x94] - if enabled in config.h, calls this whenever unrecognized opcode is encountered. + void (*ResetCallback)(void); // [r7,#0x90] - if enabled in config.h, calls this whenever RESET opcode is encountered. + int (*UnrecognizedCallback)(void); // [r7,#0x94] - if enabled in config.h, calls this whenever unrecognized opcode is encountered. }; // used only if Cyclone was compiled with compressed jumptable, see config.h