|
| 1 | +3HS88PWN4 |
| 2 | +A core sound engine source code of 3HS88PWN4, a fantasy sound chip that written in C++. Also called S3HS for short, 3SGUC2 for internal Sound Generation Unit. |
| 3 | + |
| 4 | +3HS88PWN4 Specifications: |
| 5 | +8-Channel 8-Operator Harmonic Synthesizer |
| 6 | +4-Channel PCM/Wavetable/Noise Synthesizer (With IIR Filter) |
| 7 | +16-bit 48KHz Stereo Linear PCM DAC |
| 8 | +3-band EQ (Low, Mid, High) |
| 9 | +Envelope Generator (ADSR) |
| 10 | +FM, RM, iPD, and combination synthesis modes |
| 11 | +8-bit PCM Sample Memory (4096 KBytes) |
| 12 | +Modulation with dynamic wavetable from PCM channel |
| 13 | +3HS88PWN4 I/O Map Allocations: |
| 14 | +0x000000 - 0x3FFFFF: PCM Sample Memory (4096 KBytes) |
| 15 | +0x400000 - 0x4003FF: Register Memory (512 Bytes) |
| 16 | +0x400400 - 0x403FFF: Unused |
| 17 | + |
| 18 | +register maps: |
| 19 | + |
| 20 | +|RAM Addr.| |0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F| | | |
| 21 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| |
| 22 | +|0x400000| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH1| | |
| 23 | +|0x400010| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 24 | +|0x400020| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 25 | +|0x400030| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 26 | +|0x400040| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH2| | |
| 27 | +|0x400050| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 28 | +|0x400060| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 29 | +|0x400070| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 30 | +|0x400080| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH3| | |
| 31 | +|0x400090| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 32 | +|0x4000A0| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 33 | +|0x4000B0| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 34 | +|0x4000C0| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH4| | |
| 35 | +|0x4000D0| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 36 | +|0x4000E0| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 37 | +|0x4000F0| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 38 | +|0x400100| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH5| | |
| 39 | +|0x400110| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 40 | +|0x400120| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 41 | +|0x400130| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 42 | +|0x400140| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH6| | |
| 43 | +|0x400150| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 44 | +|0x400160| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 45 | +|0x400170| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 46 | +|0x400180| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH7| | |
| 47 | +|0x400190| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 48 | +|0x4001A0| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 49 | +|0x4001B0| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 50 | +|0x4001C0| |OP1 Freq| |OP2 Freq| |OP3 Freq | |OP4 Freq| |OP5 Freq| |OP6 Freq| |OP7 Freq| |OP8 Freq | |CH8| | |
| 51 | +|0x4001D0| |OP1V|OP2V|OP3V|OP4V|OP5V|OP6V|OP7V|OP8V|OP1W OP2W|OP3W OP4W|OP5W OP6W|OP7W OP8W|Mod Mode|L/R Vol|Gate|Mod FB| | | |
| 52 | +|0x4001E0| |OP1A|OP1D|OP1S|OP1R|OP2A|OP2D|OP2S|OP2R|OP3A|OP3D|OP3S|OP3R|OP4A|OP4D|OP4S|OP4R| | | |
| 53 | +|0x4001F0| |OP5A|OP5D|OP5S|OP5R|OP6A|OP6D|OP6S|OP6R|OP7A|OP7D|OP7S|OP7R|OP8A|OP8D|OP8S|OP8R| | | |
| 54 | +|0x400200| |Frequency| |Vol|Mode|Filt Mode|Filt Cutoff|Reso/ BW|L/R Vol|(Reserved)| | | | | | | |CH9| | |
| 55 | +|0x400210| |PCM Addr S (or Waveform)| | |PCM Addr E (or Waveform)| | |PCM Addr LS (or Waveform)| | |Waveform (or not used)| | | | | | | | | |
| 56 | +|0x400220| |Waveform (or not used)| | | | | | | | | | | | | | | | | | |
| 57 | +|0x400230| |Frequency| |Vol|Mode|Filt Mode|Filt Cutoff|Reso/ BW|L/R Vol|(Reserved)| | | | | | | |CH10| | |
| 58 | +|0x400240| |PCM Addr S (or Waveform)| | |PCM Addr E (or Waveform)| | |PCM Addr LS (or Waveform)| | |Waveform (or not used)| | | | | | | | | |
| 59 | +|0x400250| |Waveform (or not used)| | | | | | | | | | | | | | | | | | |
| 60 | +|0x400260| |Frequency| |Vol|Mode|Filt Mode|Filt Cutoff|Reso/ BW|L/R Vol|(Reserved)| | | | | | | |CH11| | |
| 61 | +|0x400270| |PCM Addr S (or Waveform)| | |PCM Addr E (or Waveform)| | |PCM Addr LS (or Waveform)| | |Waveform (or not used)| | | | | | | | | |
| 62 | +|0x400280| |Waveform (or not used)| | | | | | | | | | | | | | | | | | |
| 63 | +|0x400290| |Frequency| |Vol|Mode|Filt Mode|Filt Cutoff|Reso/ BW|L/R Vol|(Reserved)| | | | | | | |CH12| | |
| 64 | +|0x4002A0| |PCM Addr S (or Waveform)| | |PCM Addr E (or Waveform)| | |PCM Addr LS (or Waveform)| | |Waveform (or not used)| | | | | | | | | |
| 65 | +|0x4002B0| |Waveform (or not used)| | | | | | | | | | | | | | | | | | |
| 66 | +|0x4002C0| |Comp Enable|EQ Enable|Comp Thres|Comp Ratio|Comp Volume|EQ Low|EQ Mid|EQ High|Comp RateU|Comp RateL| | | | | | | | | |
| 67 | +|0x4002D0| |CH1 Mute|CH2 Mute|CH3 Mute|CH4 Mute|CH5 Mute|CH6 Mute|CH7 Mute|CH8 Mute|CH9 Mute|CH10 Mute|CH11 Mute|CH12 Mute| | | | | | | |
| 68 | +|0x4002E0| | | | | | | | | | | | | | | | | | | | |
| 69 | +|0x4002F0| | | | | | | | | | | | | | | | | | | | |
| 70 | +|0x400300| | | | | | | | | | | | | | | | | | | | |
| 71 | +|0x400310| | | | | | | | | | | | | | | | | | | | |
| 72 | +|0x400320| | | | | | | | | | | | | | | | | | | | |
| 73 | +|0x400330| | | | | | | | | | | | | | | | | | | | |
| 74 | +|0x400340| | | | | | | | | | | | | | | | | | | | |
| 75 | +|0x400350| | | | | | | | | | | | | | | | | | | | |
| 76 | +|0x400360| | | | | | | | | | | | | | | | | | | | |
| 77 | +|0x400370| | | | | | | | | | | | | | | | | | | | |
| 78 | +|0x400380| | | | | | | | | | | | | | | | | | | | |
| 79 | +|0x400390| | | | | | | | | | | | | | | | | | | | |
| 80 | +|0x4003A0| | | | | | | | | | | | | | | | | | | | |
| 81 | +|0x4003B0| | | | | | | | | | | | | | | | | | | | |
| 82 | +|0x4003C0| | | | | | | | | | | | | | | | | | | | |
| 83 | +|0x4003D0| | | | | | | | | | | | | | | | | | | | |
| 84 | +|0x4003E0| | | | | | | | | | | | | | | | | | | | |
0 commit comments