UINT32 sr;\r
UINT32 gbr, vbr;\r
UINT32 mach, macl;\r
+\r
UINT32 ea;\r
UINT32 delay;\r
UINT32 test_irq;\r
\r
- // XXX: unused, will we ever use?\r
- void (*irq_callback)(void);\r
- int nmi_line_state;\r
- int internal_irq_level;\r
- int is_slave;\r
+ int pending_irl;\r
+ int pending_int_irq; // internal irq\r
+ int pending_int_vector;\r
+ void (*irq_callback)(int id, int level);\r
+ int is_slave;\r
+\r
+ UINT32 cycles_aim; // subtract sh2_icount to get global counter\r
} SH2;\r
\r
-void sh2_init(SH2 *sh2);\r
+SH2 *sh2; // active sh2\r
+extern int sh2_icount;\r
+\r
+void sh2_init(SH2 *sh2, int is_slave);\r
void sh2_reset(SH2 *sh2);\r
int sh2_execute(SH2 *sh2_, int cycles);\r
+void sh2_irl_irq(SH2 *sh2, int level);\r
+void sh2_internal_irq(SH2 *sh2, int level, int vector);\r
\r
#endif /* __SH2_H__ */\r