5 // XXX: move somewhere else
\r
6 unsigned int p32x_sh2_read8(unsigned int a, int id);
\r
7 unsigned int p32x_sh2_read16(unsigned int a, int id);
\r
8 unsigned int p32x_sh2_read32(unsigned int a, int id);
\r
9 void p32x_sh2_write8(unsigned int a, unsigned int d, int id);
\r
10 void p32x_sh2_write16(unsigned int a, unsigned int d, int id);
\r
11 void p32x_sh2_write32(unsigned int a, unsigned int d, int id);
\r
21 unsigned int gbr, vbr;
\r
22 unsigned int mach, macl;
\r
26 unsigned int test_irq;
\r
29 int pending_int_irq; // internal irq
\r
30 int pending_int_vector;
\r
31 void (*irq_callback)(int id, int level);
\r
34 int icount; // cycles left in current timeslice
\r
35 unsigned int cycles_aim; // subtract sh2_icount to get global counter
\r
36 unsigned int cycles_done;
\r
39 extern SH2 *sh2; // active sh2
\r
41 void sh2_init(SH2 *sh2, int is_slave);
\r
42 void sh2_reset(SH2 *sh2);
\r
43 void sh2_irl_irq(SH2 *sh2, int level);
\r
44 void sh2_internal_irq(SH2 *sh2, int level, int vector);
\r
46 void sh2_execute(SH2 *sh2, int cycles);
\r
48 #endif /* __SH2_H__ */
\r