1. OPM (YM2151)
FM sound generator of the FM sound synthesizer unit. When used with a D/A converter (DAC), 8 audio tone signals can be obtained at the R and L channels.
The YM2151 has 8 note capability and it is also equipped with a noise generator, vibrato oscilliator. When a timer overflows an interrupt request takes place.
2. DAC (YM3012)
As related in OPM section, this is a D/A converter to produce 2 channel (left and right) audio signal.
3. MKS (YM2148)
MKS has a MIDI function, keyboard scan function and supports MODE 2 IRQ for CPU. MIDI is a syncronus serial data transfer of 31.25 Kbaud transfer rate. Keyboard scan is a function to handle keyboard ON/OFF data of the connected music keyboard.
When MODE 2 IRQ takes place due to demand by CPU, VECTOR ADDRESS goes out to DATA BUS.
Address | Input | Output | Internal Register | |||||
CS0 | RD | WT | A2 | A1 | A0 | OPM | ||
3FF0h | 0 | 0 | 1 | 0 | 0 | 0 | 0 | OPM STATUS REGISTER |
0 | 1 | 0 | 0 | 0 | 0 | OPM ADDRESS REGISTER | ||
3FF1h | 0 | 0 | 1 | 0 | 0 | 1 | OPM DATA REGISTER |
|
0 | 1 | 0 | 0 | 0 | 1 | OPM DATA REGISTER |
||
3FF2h | 0 | 1 | 0 | 0 | 1 | 0 | 1 | Register for data latched to ST0 to ST7 output ports |
0 | 0 | 1 | 0 | 1 | 0 | Data buffer for SD0 to SD7 input ports | ||
3FF3H | 0 | 1 | 0 | 0 | 1 | 1 | MIDI IRQ VECTOR ADDRESS REGISTER | |
0 | 1 | 0 | 1 | 1 | ||||
3FF4h | 0 | 1 | 0 | 1 | 0 | 0 | EXTERNAL IRQ VECTOR ADDRESS REGISTER | |
0 | 1 | 1 | 0 | 0 | ||||
3FF5h | 0 | 0 | 1 | 1 | 0 | 1 | MIDI standard UART DATA READ BUFFER | |
0 | 1 | 0 | 1 | 0 | 1 | MIDI standard UART DATA WRITE BUFFER | ||
3FF6h | 0 | 0 | 1 | 1 | 1 | 0 | MIDI standard UART STATUS REGISTER | |
0 | 1 | 0 | 1 | 1 | 0 | MIDI standard UART COMMAND REGISTER | ||
3FF7h | 1 | 1 | 1 |
Thanks to Manuel Hiniesta for inspiring me to make a clearer HTML file of the IO-map instead of the GIF scan.
Here’s also an addition from the Bytewizards concerning this table and the MKS functionality:
A0/A1/A2 are the address lines and simply have to be added to the memory mapped address 3FF0. CS has to be low to address the IC’s. The RD and WT signals set the IC’s in read/write mode (Same as theOPM signal selects the OPM instead of the UART/MKS)
To read an external connected keyboard, first select the part of the keyboard to be read in 3FF2 (ST0-ST7 – 8 keys at once). The pressed keys will then be available in 3FF2 as SD0-SD7.
/