unsigned int p32x_pwm_read16(unsigned int a, unsigned int cycles);\r
void p32x_pwm_write16(unsigned int a, unsigned int d, unsigned int cycles);\r
void p32x_pwm_update(int *buf32, int length, int stereo);\r
-void p32x_timers_do(unsigned int m68k_now, unsigned int m68k_slice);\r
-void p32x_timers_recalc(void);\r
+void p32x_pwm_ctl_changed(void);\r
void p32x_pwm_schedule(unsigned int m68k_now);\r
void p32x_pwm_schedule_sh2(SH2 *sh2);\r
void p32x_pwm_irq_event(unsigned int m68k_now);\r
void p32x_pwm_state_loaded(void);\r
+\r
+// 32x/sh2soc.c\r
+void p32x_dreq0_trigger(void);\r
+void p32x_dreq1_trigger(void);\r
+void p32x_timers_recalc(void);\r
+void p32x_timers_do(unsigned int m68k_slice);\r
+unsigned int sh2_peripheral_read8(unsigned int a, int id);\r
+unsigned int sh2_peripheral_read16(unsigned int a, int id);\r
+unsigned int sh2_peripheral_read32(unsigned int a, int id);\r
+int sh2_peripheral_write8(unsigned int a, unsigned int d, int id);\r
+int sh2_peripheral_write16(unsigned int a, unsigned int d, int id);\r
+void sh2_peripheral_write32(unsigned int a, unsigned int d, int id);\r
+\r
#else\r
#define Pico32xInit()\r
#define PicoPower32x()\r
#define EL_CDREG3 0x00040000 /* MCD: register 3 only */\r
#define EL_32X 0x00080000\r
#define EL_PWM 0x00100000 /* 32X PWM stuff (LOTS of output) */\r
+#define EL_32XP 0x00200000 /* 32X peripherals */\r
\r
#define EL_STATUS 0x40000000 /* status messages */\r
#define EL_ANOMALY 0x80000000 /* some unexpected conditions (during emulation) */\r