YM2610 registers: Difference between revisions
Jump to navigation
Jump to search
m (→ADPCM-B part: add some descriptions) |
m (→Map) |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Pages detailing the different YM2610 parts: | |||
[[ | |||
* [[SSG]] | |||
* [[FM]] | |||
* [[ADPCM]] | |||
* [[YM2610 timers]] | |||
=Reading= | |||
The only writable registers that can be read back are the SSG ones. | |||
To read register X, write X to Z80 port 4, then read Z80 port 5 (needs clarification). | |||
{| class="regdef" | {| class="regdef" | ||
|''' | |'''Z80 port''' | ||
|'''Data | |'''Data''' | ||
| | |Notes | ||
|- | |- | ||
|$04 | |$04 | ||
|{{8BitRegister| | |{{8BitRegister|Busy|1|-|5|Timer B flag|1|Timer A flag|1}} | ||
| | |When a timer expires and IRQ is enabled for that timer, the respective flag is set. | ||
|- | |- | ||
|$05 | |$05 | ||
|{{8BitRegister| | |{{8BitRegister|SSG register data|8}} | ||
|Attempting to read non-SSG registers will return 0. | |||
|- | |- | ||
|$06 | |$06 | ||
|{{8BitRegister|-| | |{{8BitRegister|ADPCM-B end|1|-|1|CH6 end|1|CH5 end|1|CH4 end|1|CH3 end|1|CH2 end|1|CH1 end|1}} | ||
| | |When a channel has reached the end address and stops, the respective bit is set (unless masked). See [[ADPCM#Status_register|Status register]] for more details. | ||
|- | |- | ||
|$07 | |$07 | ||
| | |Not implemented | ||
| | |Always returns $00 | ||
|- | |- | ||
| | |} | ||
| | =Map= | ||
This is a quick reference table to help visualize the whole chip mapping, check the individual sections below for more complete information. | |||
CHx stands for channel x, OPx for operator x. | |||
Color codes: | |||
{| class="regdef" | |||
|- | |- | ||
| | | colspan="3" style="background: #ffe699;" | | ||
| [[SSG]] | |||
| | |||
|- | |- | ||
| | | colspan="3" style="background: lightskyblue;" | | ||
| [[FM]] | |||
| | |||
|- | |- | ||
| | | colspan="3" style="background: #cc99ff;" | | ||
| | | [[YM2610_timers|TIMERS]] | ||
| | |||
|- | |- | ||
| | | width="20" style="background: #e2efda;" | | ||
| | | width="20" style="background: #c6e0b4;" | | ||
| | | width="20" style="background: #a9d08e;" | | ||
| [[ADPCM]] | |||
|- | |- | ||
| | | colspan="3" style="background: silver;" | | ||
| Unused/Test | |||
| | |||
|} | |} | ||
{| class="regdef" | {| class="regdef" | ||
|- | |- | ||
| | | width="50" | | ||
|{{8BitRegister| | | align="center" colspan="2" | '''Port 0 (Z80 writes to port 4/5)''' | ||
| align="center" colspan="2" | '''Port 1 (Z80 writes to port 6/7)''' | |||
|- | |||
| 0x00 | |||
| width="80" rowspan="2" style="background: #ffe699;" | CHA | |||
| width="480" align="center" style="background: #ffe699;" | {{8BitRegister|Fine tune|8}} | |||
| align="center" colspan="2" style="background: #c6e0b4;" | {{8BitRegister|Dump|1|-|1|CH6 ON|1|CH5 ON|1|CH4 ON|1|CH3 ON|1|CH2 ON |1|CH1 ON|1}} | |||
|- | |||
| 0x01 | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|-|4|Coarse tune|4}} | |||
| align="center" colspan="2" style="background: #c6e0b4;" | {{8BitRegister|-|2|Master volume|6}} | |||
|- | |||
| 0x02 | |||
| rowspan="2" style="background: #ffe699;" | CHB | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|Fine tune|8}} | |||
| align="center" colspan="2" style="background: silver;" | {{8BitRegister|?|8}} | |||
|- | |||
| 0x03 | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|-|4|Coarse tune|4}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x04 | |||
| rowspan="2" style="background: #ffe699;" | CHC | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|Fine tune|8}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x05 | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|-|4|Coarse tune|4}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x06 | |||
| style="background: #ffe699;" | Noise | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|-|3|Noise tune|5}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x07 | |||
| align="center" colspan="2" style="background: #ffe699;" | {{8BitRegister|-|2|/EN noise C|1|/EN noise B|1|/EN noise A|1|/EN tone C|1|/EN tone B|1|/EN tone A|1}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x08 | |||
| style="background: #ffe699;" | CHA | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|-|3|Mode|1|Volume|4}} | |||
| width="480" align="center" style="background: #c6e0b4;" rowspan="6" | {{8BitRegister|L|1|R|1|-|1|Channel volume|5}} | |||
| width="80" style="background: #c6e0b4;" align="right" | CH1 | |||
|- | |||
| 0x09 | |||
| style="background: #ffe699;" | CHB | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|-|3|Mode|1|Volume|4}} | |||
| style="background: #c6e0b4;" align="right" | CH2 | |||
|- | |||
| 0x0a | |||
| style="background: #ffe699;" | CHC | |||
| align="center" style="background: #ffe699;" | {{8BitRegister|-|3|Mode|1|Volume|4}} | |||
| style="background: #c6e0b4;" align="right" | CH3 | |||
|- | |||
| 0x0b | |||
| align="center" colspan="2" style="background: #ffe699;" | {{8BitRegister|Volume envelope period fine tune|8}} | |||
| style="background: #c6e0b4;" align="right" | CH4 | |||
|- | |||
| 0x0c | |||
| align="center" colspan="2" style="background: #ffe699;" | {{8BitRegister|Volume envelope period coarse tune|8}} | |||
| style="background: #c6e0b4;" align="right" | CH5 | |||
|- | |||
| 0x0d | |||
| align="center" colspan="2" style="background: #ffe699;" | {{8BitRegister|-|4|Volume envelope shape|4}} | |||
| style="background: #c6e0b4;" align="right" | CH6 | |||
|- | |||
| 0x0e | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x0f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x10 | |||
| align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|Start|1|-|2|Repeat|1|-|3|Reset|1|}} | |||
| align="center" style="background: #c6e0b4;" rowspan="6" | {{8BitRegister|Sample's start address/256 LSB|8}} | |||
| style="background: #c6e0b4;" align="right" | CH1 | |||
|- | |- | ||
| | | 0x11 | ||
|{{8BitRegister| | | align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|L|1|R|1|-|6|}} | ||
| style="background: #c6e0b4;" align="right" | CH2 | |||
|- | |- | ||
| | | 0x12 | ||
|{{8BitRegister| | | align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|Sample's start address/256 LSB|8}} | ||
| style="background: #c6e0b4;" align="right" | CH3 | |||
|- | |- | ||
| | | 0x13 | ||
|{{8BitRegister|CSM | | align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|Sample's start address/256 MSB|8}} | ||
|} | | style="background: #c6e0b4;" align="right" | CH4 | ||
|- | |||
| 0x14 | |||
| align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|Sample's stop address/256 LSB|8}} | |||
| style="background: #c6e0b4;" align="right" | CH5 | |||
|- | |||
| 0x15 | |||
| align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|Sample's stop address/256 MSB|8}} | |||
| style="background: #c6e0b4;" align="right" | CH6 | |||
|- | |||
= | | 0x16 | ||
| colspan="2" style="background: silver;" | | |||
== | | colspan="2" style="background: silver;" | | ||
|- | |||
{| | | 0x17 | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
| | |- | ||
| 0x18 | |||
| colspan="2" style="background: silver;" | | |||
| align="center" style="background: #c6e0b4;" rowspan="6" | {{8BitRegister|Sample's start address/256 MSB|8}} | |||
| style="background: #c6e0b4;" align="right" | CH1 | |||
|- | |||
| 0x19 | |||
| align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|Delta-N (L)|8}} | |||
| style="background: #c6e0b4;" align="right" | CH2 | |||
|- | |||
| 0x1a | |||
| align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|Delta-N (H)|8}} | |||
| style="background: #c6e0b4;" align="right" | CH3 | |||
|- | |||
| 0x1b | |||
| align="center" colspan="2" style="background: #e2efda;" | {{8BitRegister|ADPCM-B channel volume|8}} | |||
| style="background: #c6e0b4;" align="right" | CH4 | |||
|- | |||
| 0x1c | |||
| align="center" colspan="2" style="background: #a9d08e;" | {{8BitRegister|B|1|-|1|A6|1|A5|1|A4|1|A3|1|A2|1|A1|1|}} | |||
| style="background: #c6e0b4;" align="right" | CH5 | |||
|- | |||
| 0x1d | |||
| colspan="2" style="background: silver;" | | |||
| style="background: #c6e0b4;" align="right" | CH6 | |||
|- | |||
| 0x1e | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x1f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x20 | |||
| colspan="2" style="background: silver;" | | |||
| align="center" style="background: #c6e0b4;" rowspan="6" | {{8BitRegister|Sample's stop address/256 LSB|8}} | |||
| style="background: #c6e0b4;" align="right" | CH1 | |||
|- | |||
| 0x21 | |||
| align="center" colspan="2" style="background: silver;" | {{8BitRegister|?|8}} | |||
| style="background: #c6e0b4;" align="right" | CH2 | |||
|- | |||
| 0x22 | |||
| align="center" colspan="2" style="background: lightskyblue;" | {{8BitRegister|-|4|On|1|Control|3}} | |||
| style="background: #c6e0b4;" align="right" | CH3 | |||
|- | |||
| 0x23 | |||
| colspan="2" style="background: silver;" | | |||
| style="background: #c6e0b4;" align="right" | CH4 | |||
|- | |||
| 0x24 | |||
| align="center" colspan="2" style="background: #cc99ff;" | {{8BitRegister|TA counter load bits MSBs|8}} | |||
| style="background: #c6e0b4;" align="right" | CH5 | |||
|- | |||
| 0x25 | |||
| align="center" colspan="2" style="background: #cc99ff;" | {{8BitRegister|-|6|TA counter load bits LSBs|2}} | |||
| style="background: #c6e0b4;" align="right" | CH6 | |||
|- | |||
| 0x26 | |||
| align="center" colspan="2" style="background: #cc99ff;" | {{8BitRegister|TB counter load|8}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x27 | |||
| align="center" colspan="2" style="background: #cc99ff;" | {{8BitRegister|CSM mode|1|2CH mode|1|Flag reset TB|1|Flag reset TA|1|Enable TB IRQ|1|Enable TA IRQ|1|Load TB|1|Load TA|1}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x28 | |||
| align="center" colspan="2" style="background: lightskyblue;" | {{8BitRegister|Slot|4|-|1|Channel|3|}} | |||
| align="center" style="background: #c6e0b4;" rowspan="6" | {{8BitRegister|Sample's stop address/256 MSB|8}} | |||
| style="background: #c6e0b4;" align="right" | CH1 | |||
|- | |||
| 0x29 | |||
| colspan="2" style="background: silver;" | | |||
| style="background: #c6e0b4;" align="right" | CH2 | |||
|- | |||
| 0x2a | |||
| colspan="2" style="background: silver;" | | |||
| style="background: #c6e0b4;" align="right" | CH3 | |||
|- | |||
| 0x2b | |||
| colspan="2" style="background: silver;" | | |||
| style="background: #c6e0b4;" align="right" | CH4 | |||
|- | |||
| 0x2c | |||
| colspan="2" style="background: silver;" | | |||
| style="background: #c6e0b4;" align="right" | CH5 | |||
|- | |||
| 0x2d | |||
| colspan="2" style="background: silver;" | | |||
| style="background: #c6e0b4;" align="right" | CH6 | |||
|- | |||
| 0x2e | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x2f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x30 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x31 | |||
| style="background: lightskyblue;" | CH1/OP1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="14" | {{8BitRegister|-|1|DT|3|MUL|4}} | |||
| style="background: lightskyblue;" align="right" | CH3/OP1 | |||
|- | |||
| 0x32 | |||
| style="background: lightskyblue;" | CH2/OP1 | |||
| style="background: lightskyblue;" align="right" | CH4/OP1 | |||
|- | |||
| 0x33 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x34 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x35 | |||
| style="background: lightskyblue;" | CH1/OP3 | |||
| style="background: lightskyblue;" align="right" | CH3/OP3 | |||
|- | |||
| 0x36 | |||
| style="background: lightskyblue;" | CH2/OP3 | |||
| style="background: lightskyblue;" align="right" | CH4/OP3 | |||
|- | |||
| 0x37 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x38 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x39 | |||
| style="background: lightskyblue;" | CH1/OP2 | |||
| style="background: lightskyblue;" align="right" | CH3/OP2 | |||
|- | |||
| 0x3a | |||
| style="background: lightskyblue;" | CH2/OP2 | |||
| style="background: lightskyblue;" align="right" | CH4/OP2 | |||
|- | |||
| 0x3b | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x3c | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x3d | |||
| style="background: lightskyblue;" | CH1/OP4 | |||
| style="background: lightskyblue;" align="right" | CH3/OP4 | |||
|- | |||
| 0x3e | |||
| style="background: lightskyblue;" | CH2/OP4 | |||
| style="background: lightskyblue;" align="right" | CH4/OP4 | |||
|- | |||
| 0x3f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x40 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x41 | |||
| style="background: lightskyblue;" | CH1/OP1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="14" | {{8BitRegister|-|1|Total Level|7|}} | |||
| style="background: lightskyblue;" align="right" | CH3/OP1 | |||
|- | |||
| 0x42 | |||
| style="background: lightskyblue;" | CH2/OP1 | |||
| style="background: lightskyblue;" align="right" | CH4/OP1 | |||
|- | |||
| 0x43 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x44 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x45 | |||
| style="background: lightskyblue;" | CH1/OP3 | |||
| style="background: lightskyblue;" align="right" | CH3/OP3 | |||
|- | |||
| 0x46 | |||
| style="background: lightskyblue;" | CH2/OP3 | |||
| style="background: lightskyblue;" align="right" | CH4/OP3 | |||
|- | |||
| 0x47 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x48 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x49 | |||
| style="background: lightskyblue;" | CH1/OP2 | |||
| style="background: lightskyblue;" align="right" | CH3/OP2 | |||
|- | |||
| 0x4a | |||
| style="background: lightskyblue;" | CH2/OP2 | |||
| style="background: lightskyblue;" align="right" | CH4/OP2 | |||
|- | |||
| 0x4b | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x4c | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x4d | |||
| style="background: lightskyblue;" | CH1/OP4 | |||
| style="background: lightskyblue;" align="right" | CH3/OP4 | |||
|- | |||
| 0x4e | |||
| style="background: lightskyblue;" | CH2/OP4 | |||
| style="background: lightskyblue;" align="right" | CH4/OP4 | |||
|- | |||
| 0x4f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x50 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x51 | |||
| style="background: lightskyblue;" | CH1/OP1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="14" | {{8BitRegister|KS|2|-|1|AR|5}} | |||
| style="background: lightskyblue;" align="right" | CH3/OP1 | |||
|- | |||
| 0x52 | |||
| style="background: lightskyblue;" | CH2/OP1 | |||
| style="background: lightskyblue;" align="right" | CH4/OP1 | |||
|- | |||
| 0x53 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x54 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x55 | |||
| style="background: lightskyblue;" | CH1/OP3 | |||
| style="background: lightskyblue;" align="right" | CH3/OP3 | |||
|- | |||
| 0x56 | |||
| style="background: lightskyblue;" | CH2/OP3 | |||
| style="background: lightskyblue;" align="right" | CH4/OP3 | |||
|- | |||
| 0x57 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x58 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x59 | |||
| style="background: lightskyblue;" | CH1/OP2 | |||
| style="background: lightskyblue;" align="right" | CH3/OP2 | |||
|- | |||
| 0x5a | |||
| style="background: lightskyblue;" | CH2/OP2 | |||
| style="background: lightskyblue;" align="right" | CH4/OP2 | |||
|- | |||
| 0x5b | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x5c | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x5d | |||
| style="background: lightskyblue;" | CH1/OP4 | |||
| style="background: lightskyblue;" align="right" | CH3/OP4 | |||
|- | |||
| 0x5e | |||
| style="background: lightskyblue;" | CH2/OP4 | |||
| style="background: lightskyblue;" align="right" | CH4/OP4 | |||
|- | |||
| 0x5f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x60 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x61 | |||
| style="background: lightskyblue;" | CH1/OP1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="14" | {{8BitRegister|AM|1|-|2|DR|5}} | |||
| style="background: lightskyblue;" align="right" | CH3/OP1 | |||
|- | |||
| 0x62 | |||
| style="background: lightskyblue;" | CH2/OP1 | |||
| style="background: lightskyblue;" align="right" | CH4/OP1 | |||
|- | |||
| 0x63 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x64 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x65 | |||
| style="background: lightskyblue;" | CH1/OP3 | |||
| style="background: lightskyblue;" align="right" | CH3/OP3 | |||
|- | |||
| 0x66 | |||
| style="background: lightskyblue;" | CH2/OP3 | |||
| style="background: lightskyblue;" align="right" | CH4/OP3 | |||
|- | |||
| 0x67 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x68 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x69 | |||
| style="background: lightskyblue;" | CH1/OP2 | |||
| style="background: lightskyblue;" align="right" | CH3/OP2 | |||
|- | |||
| 0x6a | |||
| style="background: lightskyblue;" | CH2/OP2 | |||
| style="background: lightskyblue;" align="right" | CH4/OP2 | |||
|- | |||
| 0x6b | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x6c | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x6d | |||
| style="background: lightskyblue;" | CH1/OP4 | |||
| style="background: lightskyblue;" align="right" | CH3/OP4 | |||
|- | |||
| 0x6e | |||
| style="background: lightskyblue;" | CH2/OP4 | |||
| style="background: lightskyblue;" align="right" | CH4/OP4 | |||
|- | |||
| 0x6f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x70 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x71 | |||
| style="background: lightskyblue;" | CH1/OP1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="14" | {{8BitRegister|-|3|SR|5}} | |||
| style="background: lightskyblue;" align="right" | CH3/OP1 | |||
|- | |||
| 0x72 | |||
| style="background: lightskyblue;" | CH2/OP1 | |||
| style="background: lightskyblue;" align="right" | CH4/OP1 | |||
|- | |||
| 0x73 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x74 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x75 | |||
| style="background: lightskyblue;" | CH1/OP3 | |||
| style="background: lightskyblue;" align="right" | CH3/OP3 | |||
|- | |||
| 0x76 | |||
| style="background: lightskyblue;" | CH2/OP3 | |||
| style="background: lightskyblue;" align="right" | CH4/OP3 | |||
|- | |||
| 0x77 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x78 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x79 | |||
| style="background: lightskyblue;" | CH1/OP2 | |||
| style="background: lightskyblue;" align="right" | CH3/OP2 | |||
|- | |||
| 0x7a | |||
| style="background: lightskyblue;" | CH2/OP2 | |||
| style="background: lightskyblue;" align="right" | CH4/OP2 | |||
|- | |||
| 0x7b | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x7c | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x7d | |||
| style="background: lightskyblue;" | CH1/OP4 | |||
| style="background: lightskyblue;" align="right" | CH3/OP4 | |||
|- | |||
| 0x7e | |||
| style="background: lightskyblue;" | CH2/OP4 | |||
| style="background: lightskyblue;" align="right" | CH4/OP4 | |||
|- | |||
| 0x7f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x80 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x81 | |||
| style="background: lightskyblue;" | CH1/OP1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="14" | {{8BitRegister|SL|4|RR|4}} | |||
| style="background: lightskyblue;" align="right" | CH3/OP1 | |||
|- | |||
| 0x82 | |||
| style="background: lightskyblue;" | CH2/OP1 | |||
| style="background: lightskyblue;" align="right" | CH4/OP1 | |||
|- | |||
| 0x83 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x84 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x85 | |||
| style="background: lightskyblue;" | CH1/OP3 | |||
| style="background: lightskyblue;" align="right" | CH3/OP3 | |||
|- | |||
| 0x86 | |||
| style="background: lightskyblue;" | CH2/OP3 | |||
| style="background: lightskyblue;" align="right" | CH4/OP3 | |||
|- | |||
| 0x87 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x88 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x89 | |||
| style="background: lightskyblue;" | CH1/OP2 | |||
| style="background: lightskyblue;" align="right" | CH3/OP2 | |||
|- | |||
| 0x8a | |||
| style="background: lightskyblue;" | CH2/OP2 | |||
| style="background: lightskyblue;" align="right" | CH4/OP2 | |||
|- | |||
| 0x8b | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x8c | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x8d | |||
| style="background: lightskyblue;" | CH1/OP4 | |||
| style="background: lightskyblue;" align="right" | CH3/OP4 | |||
|- | |||
| 0x8e | |||
| style="background: lightskyblue;" | CH2/OP4 | |||
| style="background: lightskyblue;" align="right" | CH4/OP4 | |||
|- | |||
| 0x8f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x90 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0x91 | |||
| style="background: lightskyblue;" | CH1/OP1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="14" | {{8BitRegister|-|4|SSG-EG|4}} | |||
| style="background: lightskyblue;" align="right" | CH3/OP1 | |||
|- | |||
| 0x92 | |||
| style="background: lightskyblue;" | CH2/OP1 | |||
| style="background: lightskyblue;" align="right" | CH4/OP1 | |||
|- | |||
| 0x93 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x94 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x95 | |||
| style="background: lightskyblue;" | CH1/OP3 | |||
| style="background: lightskyblue;" align="right" | CH3/OP3 | |||
|- | |||
| 0x96 | |||
| style="background: lightskyblue;" | CH2/OP3 | |||
| style="background: lightskyblue;" align="right" | CH4/OP3 | |||
|- | |||
| 0x97 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x98 | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x99 | |||
| style="background: lightskyblue;" | CH1/OP2 | |||
| style="background: lightskyblue;" align="right" | CH3/OP2 | |||
|- | |||
| 0x9a | |||
| style="background: lightskyblue;" | CH2/OP2 | |||
| style="background: lightskyblue;" align="right" | CH4/OP2 | |||
|- | |||
| 0x9b | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x9c | |||
| style="background: silver;" | | |||
| style="background: silver;" | | |||
|- | |||
| 0x9d | |||
| style="background: lightskyblue;" | CH1/OP4 | |||
| style="background: lightskyblue;" align="right" | CH3/OP4 | |||
|- | |||
| 0x9e | |||
| style="background: lightskyblue;" | CH2/OP4 | |||
| style="background: lightskyblue;" align="right" | CH4/OP4 | |||
|- | |||
| 0x9f | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0xa0 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0xa1 | |||
| style="background: lightskyblue;" | CH1 | |||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="2" | {{8BitRegister|F-Num 1|8}} | |||
| style="background: lightskyblue;" align="right" | CH3 | |||
|- | |||
| 0xa2 | |||
| style="background: lightskyblue;" | CH2 /OP4 | |||
| style="background: lightskyblue;" align="right" | CH4 | |||
|- | |||
| 0xa3 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |||
| 0xa4 | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xa5 | ||
|{{8BitRegister|-| | | style="background: lightskyblue;" | CH1 | ||
| | | align="center" style="background: lightskyblue;" colspan="2" rowspan="2" | {{8BitRegister|-|2|Block|3|F-Num 2|3}} | ||
| style="background: lightskyblue;" align="right" | CH3 | |||
|- | |- | ||
| | | 0xa6 | ||
| | | style="background: lightskyblue;" | CH2 / OP4 | ||
| style="background: lightskyblue;" align="right" | CH4 | |||
| | |||
| | |||
|- | |- | ||
| | | 0xa7 | ||
| | | colspan="2" style="background: silver;" | | ||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xa8 | ||
|{{8BitRegister|-|2| | | style="background: lightskyblue;" | OP3 | ||
| align="center" style="background: lightskyblue;" rowspan="3" | {{8BitRegister|2CH * F-Num 1|8}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xa9 | ||
| | | style="background: lightskyblue;" | OP1 | ||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xaa | ||
| | | style="background: lightskyblue;" | OP2 | ||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xab | ||
| | | colspan="2" style="background: silver;" | | ||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xac | ||
|{{8BitRegister| | | style="background: lightskyblue;" | OP3 | ||
| align="center" style="background: lightskyblue;" rowspan="3" | {{8BitRegister|-|2|2CH * Block|3|2CH * F-Num 2|3}} | |||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xad | ||
| | | style="background: lightskyblue;" | OP1 | ||
| | | colspan="2" style="background: silver;" | | ||
= | |||
| | |||
|- | |- | ||
| | | 0xae | ||
| | | style="background: lightskyblue;" | OP2 | ||
| colspan="2" style="background: silver;" | | |||
|- | |- | ||
| | | 0xaf | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| | | 0xb0 | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| | | 0xb1 | ||
|{{8BitRegister| | | style="background: lightskyblue;" | CH1 | ||
| | | align="center" style="background: lightskyblue;" colspan="2" rowspan="2" | {{8BitRegister|-|2|FB|3|ALGO|3}} | ||
| style="background: lightskyblue;" align="right" | CH3 | |||
|- | |- | ||
| | | 0xb2 | ||
| | | style="background: lightskyblue;" | CH2 | ||
| | | style="background: lightskyblue;" align="right" | CH4 | ||
|- | |- | ||
| | | 0xb3 | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| | | 0xb4 | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| | | 0xb5 | ||
|{{8BitRegister| | | style="background: lightskyblue;" | CH1 | ||
| align="center" style="background: lightskyblue;" colspan="2" rowspan="2" | {{8BitRegister|L|1|R|1|AMS|2|-|1|PMS|3}} | |||
| style="background: lightskyblue;" align="right" | CH3 | |||
|- | |- | ||
| | | 0xb6 | ||
| | | style="background: lightskyblue;" | CH2 | ||
| | | style="background: lightskyblue;" align="right" | CH4 | ||
|- | |- | ||
| | | 0xb7 | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| | | 0xb8 | ||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
= | |||
| | |||
|- | |- | ||
| | | 0xb9 | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| | | '''...''' | ||
| | | colspan="4" align="center" style="background: silver;" | '''...''' | ||
|- | |- | ||
| | | 0xfd | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| | | 0xfe | ||
| | | colspan="2" style="background: silver;" | | ||
| | | colspan="2" style="background: silver;" | | ||
|- | |- | ||
| 0xff | |||
| colspan="2" style="background: silver;" | | |||
| colspan="2" style="background: silver;" | | |||
|} | |} | ||
[[Category:Code]] | [[Category:Code]] | ||
[[Category:Audio system]] | [[Category:Audio system]] |
Latest revision as of 00:34, 8 August 2021
Pages detailing the different YM2610 parts:
Reading
The only writable registers that can be read back are the SSG ones. To read register X, write X to Z80 port 4, then read Z80 port 5 (needs clarification).
Z80 port | Data | Notes | ||||||||||||||||||
$04 |
|
When a timer expires and IRQ is enabled for that timer, the respective flag is set. | ||||||||||||||||||
$05 |
|
Attempting to read non-SSG registers will return 0. | ||||||||||||||||||
$06 |
|
When a channel has reached the end address and stops, the respective bit is set (unless masked). See Status register for more details. | ||||||||||||||||||
$07 | Not implemented | Always returns $00 |
Map
This is a quick reference table to help visualize the whole chip mapping, check the individual sections below for more complete information.
CHx stands for channel x, OPx for operator x.
Color codes:
SSG | |||
FM | |||
TIMERS | |||
ADPCM | |||
Unused/Test |
Port 0 (Z80 writes to port 4/5) | Port 1 (Z80 writes to port 6/7) | |||||||||||||||||||||||||||||||||||||||
0x00 | CHA |
|
| |||||||||||||||||||||||||||||||||||||
0x01 |
|
| ||||||||||||||||||||||||||||||||||||||
0x02 | CHB |
|
| |||||||||||||||||||||||||||||||||||||
0x03 |
|
|||||||||||||||||||||||||||||||||||||||
0x04 | CHC |
|
||||||||||||||||||||||||||||||||||||||
0x05 |
|
|||||||||||||||||||||||||||||||||||||||
0x06 | Noise |
|
||||||||||||||||||||||||||||||||||||||
0x07 |
|
|||||||||||||||||||||||||||||||||||||||
0x08 | CHA |
|
|
CH1 | ||||||||||||||||||||||||||||||||||||
0x09 | CHB |
|
CH2 | |||||||||||||||||||||||||||||||||||||
0x0a | CHC |
|
CH3 | |||||||||||||||||||||||||||||||||||||
0x0b |
|
CH4 | ||||||||||||||||||||||||||||||||||||||
0x0c |
|
CH5 | ||||||||||||||||||||||||||||||||||||||
0x0d |
|
CH6 | ||||||||||||||||||||||||||||||||||||||
0x0e | ||||||||||||||||||||||||||||||||||||||||
0x0f | ||||||||||||||||||||||||||||||||||||||||
0x10 |
|
|
CH1 | |||||||||||||||||||||||||||||||||||||
0x11 |
|
CH2 | ||||||||||||||||||||||||||||||||||||||
0x12 |
|
CH3 | ||||||||||||||||||||||||||||||||||||||
0x13 |
|
CH4 | ||||||||||||||||||||||||||||||||||||||
0x14 |
|
CH5 | ||||||||||||||||||||||||||||||||||||||
0x15 |
|
CH6 | ||||||||||||||||||||||||||||||||||||||
0x16 | ||||||||||||||||||||||||||||||||||||||||
0x17 | ||||||||||||||||||||||||||||||||||||||||
0x18 |
|
CH1 | ||||||||||||||||||||||||||||||||||||||
0x19 |
|
CH2 | ||||||||||||||||||||||||||||||||||||||
0x1a |
|
CH3 | ||||||||||||||||||||||||||||||||||||||
0x1b |
|
CH4 | ||||||||||||||||||||||||||||||||||||||
0x1c |
|
CH5 | ||||||||||||||||||||||||||||||||||||||
0x1d | CH6 | |||||||||||||||||||||||||||||||||||||||
0x1e | ||||||||||||||||||||||||||||||||||||||||
0x1f | ||||||||||||||||||||||||||||||||||||||||
0x20 |
|
CH1 | ||||||||||||||||||||||||||||||||||||||
0x21 |
|
CH2 | ||||||||||||||||||||||||||||||||||||||
0x22 |
|
CH3 | ||||||||||||||||||||||||||||||||||||||
0x23 | CH4 | |||||||||||||||||||||||||||||||||||||||
0x24 |
|
CH5 | ||||||||||||||||||||||||||||||||||||||
0x25 |
|
CH6 | ||||||||||||||||||||||||||||||||||||||
0x26 |
|
|||||||||||||||||||||||||||||||||||||||
0x27 |
|
|||||||||||||||||||||||||||||||||||||||
0x28 |
|
|
CH1 | |||||||||||||||||||||||||||||||||||||
0x29 | CH2 | |||||||||||||||||||||||||||||||||||||||
0x2a | CH3 | |||||||||||||||||||||||||||||||||||||||
0x2b | CH4 | |||||||||||||||||||||||||||||||||||||||
0x2c | CH5 | |||||||||||||||||||||||||||||||||||||||
0x2d | CH6 | |||||||||||||||||||||||||||||||||||||||
0x2e | ||||||||||||||||||||||||||||||||||||||||
0x2f | ||||||||||||||||||||||||||||||||||||||||
0x30 | ||||||||||||||||||||||||||||||||||||||||
0x31 | CH1/OP1 |
|
CH3/OP1 | |||||||||||||||||||||||||||||||||||||
0x32 | CH2/OP1 | CH4/OP1 | ||||||||||||||||||||||||||||||||||||||
0x33 | ||||||||||||||||||||||||||||||||||||||||
0x34 | ||||||||||||||||||||||||||||||||||||||||
0x35 | CH1/OP3 | CH3/OP3 | ||||||||||||||||||||||||||||||||||||||
0x36 | CH2/OP3 | CH4/OP3 | ||||||||||||||||||||||||||||||||||||||
0x37 | ||||||||||||||||||||||||||||||||||||||||
0x38 | ||||||||||||||||||||||||||||||||||||||||
0x39 | CH1/OP2 | CH3/OP2 | ||||||||||||||||||||||||||||||||||||||
0x3a | CH2/OP2 | CH4/OP2 | ||||||||||||||||||||||||||||||||||||||
0x3b | ||||||||||||||||||||||||||||||||||||||||
0x3c | ||||||||||||||||||||||||||||||||||||||||
0x3d | CH1/OP4 | CH3/OP4 | ||||||||||||||||||||||||||||||||||||||
0x3e | CH2/OP4 | CH4/OP4 | ||||||||||||||||||||||||||||||||||||||
0x3f | ||||||||||||||||||||||||||||||||||||||||
0x40 | ||||||||||||||||||||||||||||||||||||||||
0x41 | CH1/OP1 |
|
CH3/OP1 | |||||||||||||||||||||||||||||||||||||
0x42 | CH2/OP1 | CH4/OP1 | ||||||||||||||||||||||||||||||||||||||
0x43 | ||||||||||||||||||||||||||||||||||||||||
0x44 | ||||||||||||||||||||||||||||||||||||||||
0x45 | CH1/OP3 | CH3/OP3 | ||||||||||||||||||||||||||||||||||||||
0x46 | CH2/OP3 | CH4/OP3 | ||||||||||||||||||||||||||||||||||||||
0x47 | ||||||||||||||||||||||||||||||||||||||||
0x48 | ||||||||||||||||||||||||||||||||||||||||
0x49 | CH1/OP2 | CH3/OP2 | ||||||||||||||||||||||||||||||||||||||
0x4a | CH2/OP2 | CH4/OP2 | ||||||||||||||||||||||||||||||||||||||
0x4b | ||||||||||||||||||||||||||||||||||||||||
0x4c | ||||||||||||||||||||||||||||||||||||||||
0x4d | CH1/OP4 | CH3/OP4 | ||||||||||||||||||||||||||||||||||||||
0x4e | CH2/OP4 | CH4/OP4 | ||||||||||||||||||||||||||||||||||||||
0x4f | ||||||||||||||||||||||||||||||||||||||||
0x50 | ||||||||||||||||||||||||||||||||||||||||
0x51 | CH1/OP1 |
|
CH3/OP1 | |||||||||||||||||||||||||||||||||||||
0x52 | CH2/OP1 | CH4/OP1 | ||||||||||||||||||||||||||||||||||||||
0x53 | ||||||||||||||||||||||||||||||||||||||||
0x54 | ||||||||||||||||||||||||||||||||||||||||
0x55 | CH1/OP3 | CH3/OP3 | ||||||||||||||||||||||||||||||||||||||
0x56 | CH2/OP3 | CH4/OP3 | ||||||||||||||||||||||||||||||||||||||
0x57 | ||||||||||||||||||||||||||||||||||||||||
0x58 | ||||||||||||||||||||||||||||||||||||||||
0x59 | CH1/OP2 | CH3/OP2 | ||||||||||||||||||||||||||||||||||||||
0x5a | CH2/OP2 | CH4/OP2 | ||||||||||||||||||||||||||||||||||||||
0x5b | ||||||||||||||||||||||||||||||||||||||||
0x5c | ||||||||||||||||||||||||||||||||||||||||
0x5d | CH1/OP4 | CH3/OP4 | ||||||||||||||||||||||||||||||||||||||
0x5e | CH2/OP4 | CH4/OP4 | ||||||||||||||||||||||||||||||||||||||
0x5f | ||||||||||||||||||||||||||||||||||||||||
0x60 | ||||||||||||||||||||||||||||||||||||||||
0x61 | CH1/OP1 |
|
CH3/OP1 | |||||||||||||||||||||||||||||||||||||
0x62 | CH2/OP1 | CH4/OP1 | ||||||||||||||||||||||||||||||||||||||
0x63 | ||||||||||||||||||||||||||||||||||||||||
0x64 | ||||||||||||||||||||||||||||||||||||||||
0x65 | CH1/OP3 | CH3/OP3 | ||||||||||||||||||||||||||||||||||||||
0x66 | CH2/OP3 | CH4/OP3 | ||||||||||||||||||||||||||||||||||||||
0x67 | ||||||||||||||||||||||||||||||||||||||||
0x68 | ||||||||||||||||||||||||||||||||||||||||
0x69 | CH1/OP2 | CH3/OP2 | ||||||||||||||||||||||||||||||||||||||
0x6a | CH2/OP2 | CH4/OP2 | ||||||||||||||||||||||||||||||||||||||
0x6b | ||||||||||||||||||||||||||||||||||||||||
0x6c | ||||||||||||||||||||||||||||||||||||||||
0x6d | CH1/OP4 | CH3/OP4 | ||||||||||||||||||||||||||||||||||||||
0x6e | CH2/OP4 | CH4/OP4 | ||||||||||||||||||||||||||||||||||||||
0x6f | ||||||||||||||||||||||||||||||||||||||||
0x70 | ||||||||||||||||||||||||||||||||||||||||
0x71 | CH1/OP1 |
|
CH3/OP1 | |||||||||||||||||||||||||||||||||||||
0x72 | CH2/OP1 | CH4/OP1 | ||||||||||||||||||||||||||||||||||||||
0x73 | ||||||||||||||||||||||||||||||||||||||||
0x74 | ||||||||||||||||||||||||||||||||||||||||
0x75 | CH1/OP3 | CH3/OP3 | ||||||||||||||||||||||||||||||||||||||
0x76 | CH2/OP3 | CH4/OP3 | ||||||||||||||||||||||||||||||||||||||
0x77 | ||||||||||||||||||||||||||||||||||||||||
0x78 | ||||||||||||||||||||||||||||||||||||||||
0x79 | CH1/OP2 | CH3/OP2 | ||||||||||||||||||||||||||||||||||||||
0x7a | CH2/OP2 | CH4/OP2 | ||||||||||||||||||||||||||||||||||||||
0x7b | ||||||||||||||||||||||||||||||||||||||||
0x7c | ||||||||||||||||||||||||||||||||||||||||
0x7d | CH1/OP4 | CH3/OP4 | ||||||||||||||||||||||||||||||||||||||
0x7e | CH2/OP4 | CH4/OP4 | ||||||||||||||||||||||||||||||||||||||
0x7f | ||||||||||||||||||||||||||||||||||||||||
0x80 | ||||||||||||||||||||||||||||||||||||||||
0x81 | CH1/OP1 |
|
CH3/OP1 | |||||||||||||||||||||||||||||||||||||
0x82 | CH2/OP1 | CH4/OP1 | ||||||||||||||||||||||||||||||||||||||
0x83 | ||||||||||||||||||||||||||||||||||||||||
0x84 | ||||||||||||||||||||||||||||||||||||||||
0x85 | CH1/OP3 | CH3/OP3 | ||||||||||||||||||||||||||||||||||||||
0x86 | CH2/OP3 | CH4/OP3 | ||||||||||||||||||||||||||||||||||||||
0x87 | ||||||||||||||||||||||||||||||||||||||||
0x88 | ||||||||||||||||||||||||||||||||||||||||
0x89 | CH1/OP2 | CH3/OP2 | ||||||||||||||||||||||||||||||||||||||
0x8a | CH2/OP2 | CH4/OP2 | ||||||||||||||||||||||||||||||||||||||
0x8b | ||||||||||||||||||||||||||||||||||||||||
0x8c | ||||||||||||||||||||||||||||||||||||||||
0x8d | CH1/OP4 | CH3/OP4 | ||||||||||||||||||||||||||||||||||||||
0x8e | CH2/OP4 | CH4/OP4 | ||||||||||||||||||||||||||||||||||||||
0x8f | ||||||||||||||||||||||||||||||||||||||||
0x90 | ||||||||||||||||||||||||||||||||||||||||
0x91 | CH1/OP1 |
|
CH3/OP1 | |||||||||||||||||||||||||||||||||||||
0x92 | CH2/OP1 | CH4/OP1 | ||||||||||||||||||||||||||||||||||||||
0x93 | ||||||||||||||||||||||||||||||||||||||||
0x94 | ||||||||||||||||||||||||||||||||||||||||
0x95 | CH1/OP3 | CH3/OP3 | ||||||||||||||||||||||||||||||||||||||
0x96 | CH2/OP3 | CH4/OP3 | ||||||||||||||||||||||||||||||||||||||
0x97 | ||||||||||||||||||||||||||||||||||||||||
0x98 | ||||||||||||||||||||||||||||||||||||||||
0x99 | CH1/OP2 | CH3/OP2 | ||||||||||||||||||||||||||||||||||||||
0x9a | CH2/OP2 | CH4/OP2 | ||||||||||||||||||||||||||||||||||||||
0x9b | ||||||||||||||||||||||||||||||||||||||||
0x9c | ||||||||||||||||||||||||||||||||||||||||
0x9d | CH1/OP4 | CH3/OP4 | ||||||||||||||||||||||||||||||||||||||
0x9e | CH2/OP4 | CH4/OP4 | ||||||||||||||||||||||||||||||||||||||
0x9f | ||||||||||||||||||||||||||||||||||||||||
0xa0 | ||||||||||||||||||||||||||||||||||||||||
0xa1 | CH1 |
|
CH3 | |||||||||||||||||||||||||||||||||||||
0xa2 | CH2 /OP4 | CH4 | ||||||||||||||||||||||||||||||||||||||
0xa3 | ||||||||||||||||||||||||||||||||||||||||
0xa4 | ||||||||||||||||||||||||||||||||||||||||
0xa5 | CH1 |
|
CH3 | |||||||||||||||||||||||||||||||||||||
0xa6 | CH2 / OP4 | CH4 | ||||||||||||||||||||||||||||||||||||||
0xa7 | ||||||||||||||||||||||||||||||||||||||||
0xa8 | OP3 |
|
||||||||||||||||||||||||||||||||||||||
0xa9 | OP1 | |||||||||||||||||||||||||||||||||||||||
0xaa | OP2 | |||||||||||||||||||||||||||||||||||||||
0xab | ||||||||||||||||||||||||||||||||||||||||
0xac | OP3 |
|
||||||||||||||||||||||||||||||||||||||
0xad | OP1 | |||||||||||||||||||||||||||||||||||||||
0xae | OP2 | |||||||||||||||||||||||||||||||||||||||
0xaf | ||||||||||||||||||||||||||||||||||||||||
0xb0 | ||||||||||||||||||||||||||||||||||||||||
0xb1 | CH1 |
|
CH3 | |||||||||||||||||||||||||||||||||||||
0xb2 | CH2 | CH4 | ||||||||||||||||||||||||||||||||||||||
0xb3 | ||||||||||||||||||||||||||||||||||||||||
0xb4 | ||||||||||||||||||||||||||||||||||||||||
0xb5 | CH1 |
|
CH3 | |||||||||||||||||||||||||||||||||||||
0xb6 | CH2 | CH4 | ||||||||||||||||||||||||||||||||||||||
0xb7 | ||||||||||||||||||||||||||||||||||||||||
0xb8 | ||||||||||||||||||||||||||||||||||||||||
0xb9 | ||||||||||||||||||||||||||||||||||||||||
... | ... | |||||||||||||||||||||||||||||||||||||||
0xfd | ||||||||||||||||||||||||||||||||||||||||
0xfe | ||||||||||||||||||||||||||||||||||||||||
0xff |