alynna

SID Extreme 16581 Sound device

Jun 18th, 2020
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. >> $E10000-$E100FF default mapped to $F200-$F2FF for 8 bit use.
  2. $E10000 64K SID Extreme 16581 device
  3. $E10000 256 SID Extreme sound registers
  4. $E10100 65280 SID Extreme Dedicated RAM
  5. $E10000 32 SID 6581/8580 register map emulation (center channel)
  6. $E10000 7 Voice 1 (center) (ring/modulate with voice 3)
  7. $E10007 7 Voice 2 (center) (ring/modulate with voice 1)
  8. $E1000E 7 Voice 3 (center) (ring/modulate with voice 2)
  9. $E10015 2 Filter cutoff frequency
  10. $E10017 1 Filter resonance and routing
  11. 7-4: Resonance
  12. 3: External input
  13. 2: Voice 3
  14. 1: Voice 2
  15. 0: Voice 1
  16. $E10018 1 Filter mode and volume
  17. 7: Mute voice 3
  18. 6: High pass
  19. 5: Band pass
  20. 4: Low pass
  21. 3-0: Legacy volume control (New volume high nybble mirror)
  22. $E10019 1 Voice 1 oscillator
  23. $E1001A 1 Voice 1 envelope
  24. $E1001B 1 Voice 3 oscillator
  25. $E1001C 1 Voice 3 envelope
  26. $E1001D 1 Voice 2 oscillator
  27. $E1001E 1 Voice 2 envelope
  28. $E1001F 1 New 8 bit volume control (high nybble mirrored in $E10018)
  29.  
  30. $E10020 32 SID 6581/8580 register map emulation (SID 2 Right [AS ABOVE except +$20])
  31. $E10020 7 Voice 4 (right) (ring/modulate with voice 6)
  32. $E10027 7 Voice 5 (right) (ring/modulate with voice 4)
  33. $E1002E 7 Voice 6 (right) (ring/modulate with voice 5)
  34.  
  35. $E10040 32 SID Extreme Control Registers
  36. $E10048 4 SID base frequency (SID Ex will be updated this many times per second)
  37. (example values - larger values = less speed for CPU/ETC)
  38. 1027277: Cycle exact C64 compatible NTSC playback
  39. 985248: Cycle exact C64 compatible PAL playback
  40. 384000: Enough to get a 16 bit 192k sample from your input port
  41. 65536: Default base frequency (enough to satisfy most sound needs that aren't C64 playback)
  42. (at 65536hz, placing 2600 into a frequency register and selecting a waveform will play that
  43. waveform at exactly 2600hz)
  44. 33333333: Fox816 extreme frequency (Probably can't handle it)
  45. 40000000: Fox816 extreme frequency (40mhz mode, you don't need it)
  46.  
  47. $E10060 16 SID Extreme recording registers
  48. (Addresses that are 16bit point into SID Extreme RAM)
  49. $E10060 1 SID Extreme recording control register
  50. 7: 1: Record 16 bit samples
  51. 0: Record 8 bit samples
  52. 5: 1: Enable left channel recording; 0: Disable
  53. 4: 1: Enable right channel recording; 0: Disable
  54. 3: 1: Enable left channel recording passthrough (to left output); 0: Disable
  55. 2: 1: Enable right channel recording passthrough (to right output); 0: Disable
  56.  
  57. $E10062 2 SID recording buffer sample rate (left/right)
  58. $E10064 2 SID recording buffer left channel capture pointer
  59. $E10066 2 SID recording buffer right channel capture pointer
  60. $E10068 2 SID recording buffer left channel start pointer
  61. $E1006A 2 SID recording buffer left channel ring length
  62. $E1006C 2 SID recording buffer right channel pointer
  63. $E1006E 2 SID recording buffer right channel ring length
  64.  
  65. $E10070 16 SID Extreme Voice 1 (default both channel)
  66. $E10080 16 SID Extreme Voice 2 (default both channel)
  67. $E10090 16 SID Extreme Voice 3 (default both channel)
  68. $E100A0 16 SID Extreme Voice 4 (default left channel)
  69. $E100B0 16 SID Extreme Voice 5 (default left channel)
  70. $E100C0 16 SID Extreme Voice 6 (default left channel)
  71. $E100D0 16 SID Extreme Voice 7 (default right channel)
  72. $E100E0 16 SID Extreme Voice 8 (default right channel)
  73. $E100F0 16 SID Extreme Voice 9 (default right channel)
  74.  
  75. > Voice registers
  76. + $00 2 Voice frequency (for RAW samples should be set equal to 02 UNLESS intentionally pitch skewing)
  77. + $02 2 Voice pulse wave duty cycle (pulse waveform) OR
  78. + $02 2 Voice RAW base frequency (Frequency that wave sample was encoded at)
  79. + $04 1 Voice control register
  80. 7: Noise
  81. 6: Pulse
  82. 5: Sawtooth
  83. 4: Triangle
  84. 3: RAW
  85. 2: Modulate
  86. 1: Synchronize
  87. 0: Gate
  88. + $05 1 7-4: Attack
  89. 3-0: Decay
  90. + $06 1 7-4: Sustain
  91. 3-0: Release
  92. > Voice extended registers (present at voice registers above $E10040, not in 6581 space $E10000-$E1003F)
  93. + $07 1 Voice extended control register
  94. 7: 0: RAW one shot (Play sample once then stop)
  95. 1: RAW continuous (Repeat sample)
  96. 3: Voice bitness (0:8 bit, 1:16 bit)
  97. 1: Continuation register:
  98. 0: Changes to $08-0C take place immediately.
  99. 1: Changes to $08-0C take place when current sample finishes
  100. (use to play more than 64kb samples)
  101. 0: 0: Immediately terminate playback of sample
  102. 1: Start playback of sample from beginning
  103. + $08 3 Location in Chip RAM of RAW sample (Could be in SID dedicated RAM)
  104. + $0B 2 Length of sample (up to 64kb)
  105. + $0D 1 Volume adjustment of left channel (00=mute, FF=full)
  106. + $0E 1 Volume adjustment of right channel (00=mute, FF=full)
  107. + $0F 1 Voice extended control register 2
  108. 7: Mute, terminate, and reset channel to defaults
  109. 6: 1: Retrieve sample information before playback:
  110. Bytes 00-01 to register 02 (Sample frequency)
  111. Bytes 02-03 to register 0B (Sample length)
  112. Byte 04 bit 0 to register 07 bit 3 (Sample bitness)
  113. If Byte 04 bit 7 set: (For more information)
  114. Byte 04 bit 1 to byte 07 bit 7 (Set whether one shot or continuous)
  115. Byte 05 to register 0D (Set left default volume)
  116. Byte 06 to register 0E (Set right default volume)
  117. If Byte 04 bit 6 set:
  118. Byte 07-08 to reg 00-01 (Sets target frequency)
  119. Else:
  120. Reg 02-03 cloned to 00-01 (sets base and target frequency the same [no pitch change])
  121. If Byte 04 bit 0 set:
  122. Playback started at byte 0A (byte 09 reserved and ignored)
  123. Else:
  124. Playback will start at byte 0A when triggered ($07 bit 0)
  125. 0: Do not retrieve sample information, assumed manually set, playback will begin at byte 00
  126. 3-0: Voice that Modulate/Synchronize operates with
Add Comment
Please, Sign In to add comment