26#ifndef _USBSID_INTERFACE_H_
27#define _USBSID_INTERFACE_H_
38 typedef void * USBSIDitf;
39 USBSIDitf create_USBSID(
void);
40 int init_USBSID(USBSIDitf,
bool start_threaded,
bool with_cycles);
41 void close_USBSID(USBSIDitf);
42 void pause_USBSID(USBSIDitf);
43 void reset_USBSID(USBSIDitf);
44 void resetallregisters_USBSID(USBSIDitf);
45 void clearbus_USBSID(USBSIDitf);
46 void mute_USBSID(USBSIDitf);
47 void unmute_USBSID(USBSIDitf);
48 void setclockrate_USBSID(USBSIDitf,
long clockrate_cycles,
bool suspend_sids);
49 long getclockrate_USBSID(USBSIDitf);
50 long getrefreshrate_USBSID(USBSIDitf);
51 long getrasterrate_USBSID(USBSIDitf);
52 int getnumsids_USBSID(USBSIDitf);
53 int getfmoplsid_USBSID(USBSIDitf);
54 int getpcbversion_USBSID(USBSIDitf);
55 void setstereo_USBSID(USBSIDitf,
int state);
56 void togglestereo_USBSID(USBSIDitf);
59 bool initialised_USBSID(USBSIDitf);
60 bool available_USBSID(USBSIDitf);
61 bool portisopen_USBSID(USBSIDitf);
65 void writesingle_USBSID(USBSIDitf,
unsigned char *buff,
int len);
66 unsigned char readsingle_USBSID(USBSIDitf, uint8_t reg);
69 void writebuffer_USBSID(USBSIDitf,
unsigned char *buff,
int len);
70 void write_USBSID(USBSIDitf, uint8_t reg, uint8_t val);
71 void writecycled_USBSID(USBSIDitf, uint8_t reg, uint8_t val, uint16_t cycles);
72 unsigned char read_USBSID(USBSIDitf p, uint8_t reg);
75 void writering_USBSID(USBSIDitf, uint8_t reg, uint8_t val);
76 void writeringcycled_USBSID(USBSIDitf, uint8_t reg, uint8_t val, uint16_t cycles);
79 void enablethread_USBSID(USBSIDitf);
80 void disablethread_USBSID(USBSIDitf);
81 void setflush_USBSID(USBSIDitf);
82 void flush_USBSID(USBSIDitf);
83 void restartringbuffer_USBSID(USBSIDitf);
84 void setbuffsize_USBSID(USBSIDitf,
int size);
85 void setdiffsize_USBSID(USBSIDitf,
int size);
88 void restartthread_USBSID(USBSIDitf,
bool with_cycles);
91 int_fast64_t waitforcycle_USBSID(USBSIDitf, uint_fast64_t cycles);