upse-ps1-spu-register-io.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. /*
  2. * UPSE: the unix playstation sound emulator.
  3. *
  4. * Filename: upse-ps1-spu-register-0io.h
  5. * Purpose: libupse: PS1 SPU register I/O operations
  6. *
  7. * Copyright (c) 2007 William Pitcock <nenolod@sacredspiral.co.uk>
  8. * Portions copyright (c) 2002 Neill Corlett
  9. *
  10. * UPSE is free software, released under the GNU General Public License,
  11. * version 2.
  12. *
  13. * A copy of the GNU General Public License, version 2, is included in
  14. * the UPSE source kit as COPYING.
  15. *
  16. * UPSE is offered without any warranty of any kind, explicit or implicit.
  17. */
  18. #define H_SPUReverbAddr 0x0da2
  19. #define H_SPUirqAddr 0x0da4
  20. #define H_SPUaddr 0x0da6
  21. #define H_SPUdata 0x0da8
  22. #define H_SPUctrl 0x0daa
  23. #define H_SPUstat 0x0dae
  24. #define H_SPUmvolL 0x0d80
  25. #define H_SPUmvolR 0x0d82
  26. #define H_SPUrvolL 0x0d84
  27. #define H_SPUrvolR 0x0d86
  28. #define H_SPUon1 0x0d88
  29. #define H_SPUon2 0x0d8a
  30. #define H_SPUoff1 0x0d8c
  31. #define H_SPUoff2 0x0d8e
  32. #define H_FMod1 0x0d90
  33. #define H_FMod2 0x0d92
  34. #define H_Noise1 0x0d94
  35. #define H_Noise2 0x0d96
  36. #define H_RVBon1 0x0d98
  37. #define H_RVBon2 0x0d9a
  38. #define H_SPUMute1 0x0d9c
  39. #define H_SPUMute2 0x0d9e
  40. #define H_CDLeft 0x0db0
  41. #define H_CDRight 0x0db2
  42. #define H_ExtLeft 0x0db4
  43. #define H_ExtRight 0x0db6
  44. #define H_Reverb 0x0dc0
  45. #define H_SPUPitch0 0x0c04
  46. #define H_SPUPitch1 0x0c14
  47. #define H_SPUPitch2 0x0c24
  48. #define H_SPUPitch3 0x0c34
  49. #define H_SPUPitch4 0x0c44
  50. #define H_SPUPitch5 0x0c54
  51. #define H_SPUPitch6 0x0c64
  52. #define H_SPUPitch7 0x0c74
  53. #define H_SPUPitch8 0x0c84
  54. #define H_SPUPitch9 0x0c94
  55. #define H_SPUPitch10 0x0ca4
  56. #define H_SPUPitch11 0x0cb4
  57. #define H_SPUPitch12 0x0cc4
  58. #define H_SPUPitch13 0x0cd4
  59. #define H_SPUPitch14 0x0ce4
  60. #define H_SPUPitch15 0x0cf4
  61. #define H_SPUPitch16 0x0d04
  62. #define H_SPUPitch17 0x0d14
  63. #define H_SPUPitch18 0x0d24
  64. #define H_SPUPitch19 0x0d34
  65. #define H_SPUPitch20 0x0d44
  66. #define H_SPUPitch21 0x0d54
  67. #define H_SPUPitch22 0x0d64
  68. #define H_SPUPitch23 0x0d74
  69. #define H_SPUStartAdr0 0x0c06
  70. #define H_SPUStartAdr1 0x0c16
  71. #define H_SPUStartAdr2 0x0c26
  72. #define H_SPUStartAdr3 0x0c36
  73. #define H_SPUStartAdr4 0x0c46
  74. #define H_SPUStartAdr5 0x0c56
  75. #define H_SPUStartAdr6 0x0c66
  76. #define H_SPUStartAdr7 0x0c76
  77. #define H_SPUStartAdr8 0x0c86
  78. #define H_SPUStartAdr9 0x0c96
  79. #define H_SPUStartAdr10 0x0ca6
  80. #define H_SPUStartAdr11 0x0cb6
  81. #define H_SPUStartAdr12 0x0cc6
  82. #define H_SPUStartAdr13 0x0cd6
  83. #define H_SPUStartAdr14 0x0ce6
  84. #define H_SPUStartAdr15 0x0cf6
  85. #define H_SPUStartAdr16 0x0d06
  86. #define H_SPUStartAdr17 0x0d16
  87. #define H_SPUStartAdr18 0x0d26
  88. #define H_SPUStartAdr19 0x0d36
  89. #define H_SPUStartAdr20 0x0d46
  90. #define H_SPUStartAdr21 0x0d56
  91. #define H_SPUStartAdr22 0x0d66
  92. #define H_SPUStartAdr23 0x0d76
  93. #define H_SPULoopAdr0 0x0c0e
  94. #define H_SPULoopAdr1 0x0c1e
  95. #define H_SPULoopAdr2 0x0c2e
  96. #define H_SPULoopAdr3 0x0c3e
  97. #define H_SPULoopAdr4 0x0c4e
  98. #define H_SPULoopAdr5 0x0c5e
  99. #define H_SPULoopAdr6 0x0c6e
  100. #define H_SPULoopAdr7 0x0c7e
  101. #define H_SPULoopAdr8 0x0c8e
  102. #define H_SPULoopAdr9 0x0c9e
  103. #define H_SPULoopAdr10 0x0cae
  104. #define H_SPULoopAdr11 0x0cbe
  105. #define H_SPULoopAdr12 0x0cce
  106. #define H_SPULoopAdr13 0x0cde
  107. #define H_SPULoopAdr14 0x0cee
  108. #define H_SPULoopAdr15 0x0cfe
  109. #define H_SPULoopAdr16 0x0d0e
  110. #define H_SPULoopAdr17 0x0d1e
  111. #define H_SPULoopAdr18 0x0d2e
  112. #define H_SPULoopAdr19 0x0d3e
  113. #define H_SPULoopAdr20 0x0d4e
  114. #define H_SPULoopAdr21 0x0d5e
  115. #define H_SPULoopAdr22 0x0d6e
  116. #define H_SPULoopAdr23 0x0d7e
  117. #define H_SPU_ADSRLevel0 0x0c08
  118. #define H_SPU_ADSRLevel1 0x0c18
  119. #define H_SPU_ADSRLevel2 0x0c28
  120. #define H_SPU_ADSRLevel3 0x0c38
  121. #define H_SPU_ADSRLevel4 0x0c48
  122. #define H_SPU_ADSRLevel5 0x0c58
  123. #define H_SPU_ADSRLevel6 0x0c68
  124. #define H_SPU_ADSRLevel7 0x0c78
  125. #define H_SPU_ADSRLevel8 0x0c88
  126. #define H_SPU_ADSRLevel9 0x0c98
  127. #define H_SPU_ADSRLevel10 0x0ca8
  128. #define H_SPU_ADSRLevel11 0x0cb8
  129. #define H_SPU_ADSRLevel12 0x0cc8
  130. #define H_SPU_ADSRLevel13 0x0cd8
  131. #define H_SPU_ADSRLevel14 0x0ce8
  132. #define H_SPU_ADSRLevel15 0x0cf8
  133. #define H_SPU_ADSRLevel16 0x0d08
  134. #define H_SPU_ADSRLevel17 0x0d18
  135. #define H_SPU_ADSRLevel18 0x0d28
  136. #define H_SPU_ADSRLevel19 0x0d38
  137. #define H_SPU_ADSRLevel20 0x0d48
  138. #define H_SPU_ADSRLevel21 0x0d58
  139. #define H_SPU_ADSRLevel22 0x0d68
  140. #define H_SPU_ADSRLevel23 0x0d78
  141. void SoundOn(int start, int end, u16 val);
  142. void SoundOff(int start, int end, u16 val);
  143. void FModOn(int start, int end, u16 val);
  144. void NoiseOn(int start, int end, u16 val);
  145. void SetVolumeLR(int right, u8 ch, s16 vol);
  146. void SetPitch(int ch, u16 val);
  147. void SPUwriteRegister(u32 reg, u16 val);