X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fsh2%2Fsh2.h;h=42de6305ccbdacb591ae54e5a9f92844ffcbe339;hb=f3fe3e5ba2e5966bb08f51c9e78716ee07651058;hp=bdb2fd99a72d95d6e4434bef8098306b3f81a297;hpb=f4c0720c249d4d51f13f9cd69e3f149dcdf64a9e;p=picodrive.git diff --git a/cpu/sh2/sh2.h b/cpu/sh2/sh2.h index bdb2fd9..42de630 100644 --- a/cpu/sh2/sh2.h +++ b/cpu/sh2/sh2.h @@ -39,6 +39,15 @@ typedef struct SH2_ void *p_rom; unsigned int pdb_io_csum[2]; +#define SH2_STATE_RUN (1 << 0) // to prevent recursion +#define SH2_STATE_SLEEP (1 << 1) +#define SH2_STATE_CPOLL (1 << 2) // polling comm regs +#define SH2_STATE_VPOLL (1 << 3) // polling VDP + unsigned int state; + unsigned int poll_addr; + int poll_cycles; + int poll_cnt; + // interpreter stuff int icount; // cycles left in current timeslice unsigned int ea; @@ -89,4 +98,10 @@ int REGPARM(3) p32x_sh2_write8 (unsigned int a, unsigned int d, SH2 *sh2); int REGPARM(3) p32x_sh2_write16(unsigned int a, unsigned int d, SH2 *sh2); int REGPARM(3) p32x_sh2_write32(unsigned int a, unsigned int d, SH2 *sh2); +// debug +#ifdef DRC_CMP +void do_sh2_trace(SH2 *current, int cycles); +void do_sh2_cmp(SH2 *current); +#endif + #endif /* __SH2_H__ */