1 #ifndef SN76496_H 2 #define SN76496_H 3 4 #include <stdint.h> 5 6 #ifdef __cplusplus 7 #define SN76496_H_BEGIN_ extern "C" { 8 #define SN76496_H_END_ } 9 #else 10 #define SN76496_H_BEGIN_ 11 #define SN76496_H_END_ 12 #endif 13 14 SN76496_H_BEGIN_ 15 16 #define MAX_76496 4 17 18 struct SN76496interface 19 { 20 int num; /* total number of 76496 in the machine */ 21 int baseclock; 22 int volume[MAX_76496]; 23 }; 24 25 int SN76496_sh_start(); 26 void SN76496_0_w(int offset,int data); 27 void SN76496_1_w(int offset,int data); 28 void SN76496_2_w(int offset,int data); 29 void SN76496_3_w(int offset,int data); 30 void SN76496_dump(int chip, uint8_t buf[16]); 31 void SN76496_restore(int chip, uint8_t buf[16]); 32 void SN76496_set_clock(int chip,int _clock); 33 int SN76496_init(int chip, int clock, int sample_rate, int sample_bits); 34 void SN76496Write(int chip, int data); 35 void SN76496Update_8_2(int chip,void *buffer, int length); 36 void SN76496Update_16_2(int chip,void *buffer, int length); 37 38 SN76496_H_END_ 39 40 #endif 41