Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.1 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. synth.h
  5. Abstract:
  6. This include file defines constants and types for
  7. the Microsoft midi synthesizer driver
  8. This header file is shared between the low level driver and the
  9. kernel mode driver.
  10. Author:
  11. Robin Speed (RobinSp) 20-Oct-92
  12. Revision History:
  13. --*/
  14. #define STR_DRIVERNAME L"synth"
  15. #define STR_MV_DRIVERNAME L"mvopl3"
  16. #define STR_OPL3_DEVICENAME L"\\Device\\opl3.mid"
  17. #define STR_ADLIB_DEVICENAME L"\\Device\\adlib.mid"
  18. /*
  19. * Stucture for passing synth data
  20. * Why on earth isn't there a type for sharing short data?
  21. */
  22. typedef struct {
  23. unsigned short IoPort;
  24. unsigned short PortData;
  25. } SYNTH_DATA, *PSYNTH_DATA;
  26. /* positions within FM */
  27. #define AD_LSI (0x000)
  28. #define AD_LSI2 (0x101)
  29. #define AD_TIMER1 (0x001)
  30. #define AD_TIMER2 (0x002)
  31. #define AD_MASK (0x004)
  32. #define AD_CONNECTION (0x104)
  33. #define AD_NEW (0x105)
  34. #define AD_NTS (0x008)
  35. #define AD_MULT (0x020)
  36. #define AD_MULT2 (0x120)
  37. #define AD_LEVEL (0x040)
  38. #define AD_LEVEL2 (0x140)
  39. #define AD_AD (0x060)
  40. #define AD_AD2 (0x160)
  41. #define AD_SR (0x080)
  42. #define AD_SR2 (0x180)
  43. #define AD_FNUMBER (0x0a0)
  44. #define AD_FNUMBER2 (0x1a0)
  45. #define AD_BLOCK (0x0b0)
  46. #define AD_BLOCK2 (0x1b0)
  47. #define AD_DRUM (0x0bd)
  48. #define AD_FEEDBACK (0x0c0)
  49. #define AD_FEEDBACK2 (0x1c0)
  50. #define AD_WAVE (0x0e0)
  51. #define AD_WAVE2 (0x1e0)
  52. /*
  53. ** Special IOCTL
  54. */
  55. #define IOCTL_MIDI_SET_OPL3_MODE CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x000A, METHOD_BUFFERED, FILE_WRITE_ACCESS)