FMMUSIC.H
上传用户:junwei_58
上传日期:2007-05-15
资源大小:79k
文件大小:1k
源码类别:

其他智力游戏

开发平台:

Visual C++

  1. #ifndef FMMUSIC_H
  2. #define FMMUSIC_H
  3. typedef enum {
  4. _R=  0,
  5. _C=  262, _Ch= 277,
  6. _D=  294, _Dh= 311,
  7. _E=  330,
  8. _F=  349, _Fh= 370,
  9. _G=  392, _Gh= 415,
  10. _A=  440, _Ah= 466,
  11. _B=  494,
  12. }Note;
  13. #ifdef EXTERN
  14. #undef EXTERN
  15. #endif
  16. #define EXTERN extern
  17. #ifdef FMMUSIC_C
  18. #undef EXTERN
  19. #define EXTERN
  20. #else
  21. extern Note notetable[];
  22. extern int timetable[];
  23. #endif
  24. #define FM_PORT 0x388
  25. enum {
  26. _4_0=384,
  27. _2_0=192,
  28. _1_1=96,
  29. _1_2=48,
  30. _1_4=24,
  31. _1_8=12,
  32. _1_16=6,
  33. _1_32=3,
  34. };
  35. typedef struct{
  36. int note:10;   // 0~12 ,0 is stop ,1 is doe, 2 is #doe ...
  37. int  octave:3; //
  38. int   time;
  39. }FMMusicNote;
  40. EXTERN FMMusicNote far *music;
  41. EXTERN int length;
  42. #ifdef __cplusplus
  43. extern "C"{
  44. #endif
  45. void WriteFM(char reg,char data);
  46. char ReadFM();
  47. int  FMready();
  48. void FMSound(int freq,char block);
  49. void FMSoundOFF(int freq,char block);
  50. void delayFM(int time);
  51. void initPiano();
  52. #ifdef __cplusplus
  53. }
  54. #endif
  55. #endif