Description
The X16 Dual Midi / Wavetable card uses a high-speed dual UART IC which operates up to 1Mbps. It comes with the cables needed for one standard MIDI input and one MIDI output. The second MIDI output is connected to a standard wavetable header on the card itself. An optional breakout board will allow the use of both interfaces with standard 5 pin DIN connectors.
- Dual High-Speed UART – Dual MIDI IN/OUT Ports – Opto-Isolator Protected
- Standard 31.25Kbps MIDI Baud Rate with speeds up to 1Mbps
- Port A MIDI IN/OUT uses two 3.5mm to standard 5-Pin DIN female ‘dongles’
- Port B MIDI Out is connected to the internal Wavetable header
- 9-Pin Female DB9 Port is for an optional Dual MIDI IN/OUT DIN ports
- Melodious Support for MIDI file playback is now available
- More sequencing software and other audio tools are in the works too!
- 10 Selectable IO Ranges available via DIP Switch (default – IO6 Low – $9FA0-$9FAF)
- NMI/IRQ selectable for interrupt via jumper (default – IRQ)
- Pick up a Little Dreamer too for X16 Games with MIDI support
- Available with a High or Low-Profile Bracket
Additional Information:
The card includes two 3.5mm male to standard 5-pin DIN female dongles needed to connect an external device via a MIDI input and MIDI output to Port A. The MIDI output for Port B is connected to the internal wavetable. Port A and B are also exposed on the rear-facing female DB9 connector. An optional MIDI breakout board includes the needed 9 pin straight-through cable and a small PCB with MIDI inputs and outputs for both ports. All four ports are standard 5-Pin female DIN connections. This optional board is only needed to connect multiple external MIDI instruments. An additional MIDI cable (usually a male to male) may be needed to connect to most MIDI devices, such as the Roland MT-32, etc.
The wavetable header is like the 26-pin header used by many PC sound cards, such as the Sound Blaster. The header includes a reset line, positive 5 volts DC as well as positive and negative 12 volts DC needed by many wavetable modules. The audio generated by the module is routed back into the system audio mixer through the X16 bus, so no other audio connections are needed. External MIDI devices will need to have their audio routed separately.
Several wavetable modules have been tested, but some of the larger modules may need a 26-pin ribbon cable. This is due to the MIDI card needing to work in either half or full-height cases. We plan to offer these cables available later, but a 40-pin IDE or other ribbon cable may work temporarily. The shorter the better.
Programmer Notes:
The onboard UARTs use a register sets compatible with the 16450 commonly used on PCs and others vintage systems. More information may be found here: TL16C2550
The UART crystal is 16MHz and the datasheet states that it is divided by 16 internally to derive maximum base speed. As a result, the max speed is 1,000,000 baud. To derive lower baud rates, you may set the baud divisor registers on the UART. The standard MIDI speed of 31,250 baud would use a divisor of 32 (1,000,000/32=31250). This crystal speed does not lend itself to standard baud rates such as 1200 or 9600 baud, but rather was designed to generate the correct standard MIDI speed. Some wavetable modules, such as mt32-pi will support higher speeds, so be sure to consult the related datasheets for more information.
Each MIDI input is protected with a 6N137 high-speed opto-isolator. They have a rated speed of 10mbps, but currently, no speed greater than 31,250bps has been tested. While 1Mbps may be theoretically possible, cabling capacitance may decrease this speed. Be sure to test for integrity on higher-speed usage.
The UART for each port uses only the RX and TX pins, no others are used for MIDI. However, the DTR (data terminal ready) pin for port A is connected to the RI (ring indicator) pin on port B and vice versa. This was done to help distinguish the MIDI card from the Network/Serial card. DTR is high by default after a power up or reset. Setting DTR low on one port will flag the RI pin on the opposite port. This would be a very uncommon setup for the serial card, so it should be a safe and easy test to determine which card it is.
While no official convention has been set, IO6-low is the default IO we have defined for the MIDI card. If a second MIDI card is used, we would recommend using IO6-high. This will allow for some convention in programming to locate serial network or MIDI devices. This is a 2MHz IO, which should be more than enough for the UARTs to transmit at maximum speed.