32x: watchdog for Star Wars, SCI IRQs for X-men (also needs idle loop hacks)
[picodrive.git] / cpu / sh2mame / sh2.h
index 97520f3..e5616ae 100644 (file)
@@ -44,19 +44,22 @@ typedef struct
        UINT32  delay;\r
        UINT32  test_irq;\r
 \r
-       int     pending_irq;\r
-       void    (*irq_callback)(int level);\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
-       // XXX: unused, will we ever use?\r
-       int   internal_irq_level;\r
-       int   is_slave;\r
+       UINT32  cycles_aim;     // subtract sh2_icount to get global counter\r
 } SH2;\r
 \r
+SH2 *sh2; // active sh2\r
 extern int sh2_icount;\r
 \r
-void sh2_init(SH2 *sh2);\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