| Terminology | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Term | Definition | ||||||||
| Operator | A single independently controllable oscillator. | ||||||||
| Carrier | A signal that can be modulated by other signals. | ||||||||
| Modulator | A signal that is used as a modulation source and generally not directly output. | ||||||||
| Slot | A set of properties of an operator (e.g. envelope, amplification) | ||||||||
| Channel | A mix bus that collects the processed signal of a carrier and its modulators. | ||||||||
| Capabilities of the OPL family | |||||||||
| Type | OPL2 | OPL3 | Notes | ||||||
| Slots | 18 | 36 | Some slots are reserved while rhythm mode is enabled. | ||||||
| Channels | 9 | 18 | Some channels are reserved while rhythm mode is enabled. | ||||||
| Waveforms | 4 | 8 | OPL3 waveforms are backward compatible. | ||||||
| 2op Melodic Mode | |||||||||
| Channel | Modulator Slot | Carrier Slot | Notes | ||||||
| 0 | 0 | 3 | |||||||
| 1 | 1 | 4 | |||||||
| 2 | 2 | 5 | |||||||
| 3 | 6 | 9 | |||||||
| 4 | 7 | 10 | |||||||
| 5 | 8 | 11 | |||||||
| 6 | 12 | 15 | |||||||
| 7 | 13 | 16 | |||||||
| 8 | 14 | 17 | |||||||
| 2op Rhythm Mode | |||||||||
| Channel | Modulator Slot | Carrier Slot | Notes | ||||||
| 0 | 0 | 3 | |||||||
| 1 | 1 | 4 | |||||||
| 2 | 2 | 5 | |||||||
| 3 | 6 | 9 | |||||||
| 4 | 7 | 10 | |||||||
| 5 | 8 | 11 | |||||||
| BD | 12 | 15 | Pitch affected by channel 6. Only slot 12 controls volume. |
||||||
| SD | 16 | Pitch affected by channel 7. | |||||||
| TOM | 14 | Pitch affected by channel 8. | |||||||
| TC | 17 | Pitch affected by channels 7 and 8. | |||||||
| HH | 13 | Pitch affected by channels 7 and 8. | |||||||
| Slot Register Map | |||||||||
| Slot | Offset | Notes | |||||||
| 0 - 5 | 0x00 - 0x05 | ||||||||
| 6 - 11 | 0x08 - 0x0D | ||||||||
| 12 - 17 | 0x10 - 0x15 | Used by drums in rhythm mode. | |||||||
| Register Map (read-only: status on 0x388) | |||||||||
| Register | 0x80 D7 | 0x40 D6 | 0x20 D5 | 0x10 D4 | 0x08 D3 | 0x04 D2 | 0x02 D1 | 0x01 D0 | Description |
| IRQ | FT1 | FT2 |
This register can be reset by writing 1 to RST. IRQ: IRQ flag.
|
||||||
| Register Map (write-only: register to 0x388, then data to 0x389) | |||||||||
| Register | 0x80 D7 | 0x40 D6 | 0x20 D5 | 0x10 D4 | 0x08 D3 | 0x04 D2 | 0x02 D1 | 0x01 D0 | Description |
| 0x001 | TEST | WSE | TEST |
TEST: LSI test data
|
|||||
| 0x002 | TIMER1 |
TIMER1: Timer 1 Count
|
|||||||
| 0x003 | TIMER2 |
TIMER2: Timer 2 Count
|
|||||||
| 0x004 | RST | MT1 | MT2 | ST2 | ST1 |
RST: IRQ reset (bit 7)
|
|||
| 0x008 | CSM | NTS |
CSM: Speech synthesis mode (bit 7)
|
||||||
|
0x020 + slot register |
AM | VIB | EGT | KSR | MULTI |
This is a slot register. AM: Tremolo (bit 7)
|
|||
|
0x040 + slot register |
KSL | TL |
This is a slot register. KSL: Key scale level (bits 7..6)
|
||||||
|
0x060 + slot register |
AR | DR |
This is a slot register. AR: Attack rate (bits 7..4)
|
||||||
|
0x080 + slot register |
SL | RR |
This is a slot register. SL: Sustain level (bits 7..4)
|
||||||
|
0x0A0 + channel register |
FNUM(L) |
This is a channel register. FNUM(L): Frequency number
|
|||||||
|
0x0B0 + channel register |
KON | BLOCK | FNUM(H) |
This is a channel register. KON: Key on (bit 5)
|
|||||
| 0x0BD | DAM | DVB | RYT | BD | SD | TOM | TC | HH |
DAM: Tremolo depth (bit 7)
|
|
0x0C0 + channel register |
FB | CNT |
This is a channel register. FB: Feedback amount (bits 3..1)
|
||||||
|
0x0E0 + slot register |
WS |
This is a slot register. WS: Waveform select (bits 1..0)
|
|||||||