MIDI on 8-bit Atari in 2024

MIDI is an interface used to connect musical instruments to a computer. In the Atari world, MIDI is mainly known thanks to the Atari ST, which came equipped with an interface from the start and was widely used by worldfamous bands. However, some companies started with 8-bit Atari. For example, Hybrid Arts developed the MIDI Mate interface and the MIDI-Track sequencer on it.

I first saw a MIDI interface schematic in the Ostrava Hardware Cookbook. At that time, it wasn't easy for me, the device was connected to the XL expansion slot, and I had an XE. Additionally, the components used were not available in our area. So, it remained just an admiration that such a thing could be done.

MIDI is essentially a serial interface, so why not use the SIO port. Raster first attempted this in Flop issue 29, experimenting with a simple transistor circuit. Later, he expanded his program, resulting in the MIDI Pattern Editor, published in the double issue 41_42.

Today, we probably won't run a sequencer on a small Atari, but why not play existing MIDI songs on an 8-bit. However, we can't do it with basic hardware alone. Fortunately, several different interfaces are available now. For example, my copy of MIDI Mate, which Pepax called MIDI Buddy. It lacks the synchronization part from the original MIDI Mate, but that won't matter. Another option is the new MIDICar by Polish authors from PTODT, which connects to the XL expansion port or cartridge + exp on XE. The great thing is that besides the necessary hardware, PTODT also wrote an excellent MIDI player, MIDICar Player.

To get some sound from MIDI, you need a synthesizer besides the computer with the interface. You can use a complete instrument or just a MIDI module connected to MIDI out. Unlike MIDI Mate, you can also connect a Wavetable daughterboard to MIDICar, which was previously used to expand sound cards for PCs. There are many such boards, like the classic Yamaha DB50XG or the more accessible Dream Blaster S2 today.

We will play MIDI files with the mentioned MIDICar Player. The player runs on practically all DOS versions, but the authors recommend one with a command line that can pass parameters. The player needs a driver for its operation, typical for the hardware used and specified as a program parameter.

However, if we don't use such DOS, we can create a bundle of the driver with the player. The driver must be run before the player. We create the bundle by joining the necessary driver and the player.

In Linux, for example:
cat driver MCP.EXE >> mcpb.exe

In MS DOS, it's a bit different:

copy driver.drv+mcp.exe mcpb.exe

The combination can also be done on Atari in DOS 2.5 by selecting C and entering:

DRIVER.DRV,MCP.EXE/A

There are three drivers to choose from - MIDICar, MIDIMate, and MIDIBox. We already know the first two, MIDIBox is similar to MIDIMate but does not contain internal clocks for precise serial line timing.

The resulting mcpb.exe can be run even in DOS without a command line. After running, the player loads the list of MID files on the disk. Then, you just need to choose and play a song.

The program offers a simple menu controlled by cursor keys and X, C, V keys for play, pause, and stop. Z and B to skip to the previous or next song. The program can play individual files or the entire list sequentially or randomly. Pressing the HELP key displays a nice help screen.

The player can play MIDI files of type 0 and 1.

MIDI files are usually tens of KB in size, but some can exceed 100KB. Therefore, it is advisable to have extended RAM and a disk with sufficient capacity. For example, using a megaimage. I successfully tested a 2MB ATR image loaded on SDrive. This also relates to using DOS, which can handle such large capacity disks. SpartaDOS X is recommended, but MyDOS also serves well.

MIDI devices greatly enhance usefulness of our 8-bit Atari, allowing us to listen to MIDI files.

Links

-JK-