The CX5M Revisited
David Ellis digs deep inside Yamaha's MSX music computer, and finds it's capable of interfacing with more external hardware than its manufacturers seem willing to disclose...
We start an occasional series that aims to clarify the use, expansion and programming of Yamaha's popular music computer.
One thing that's already emerged from the response to our Readership Survey (E&MM January) is that an awful lot of people have already bought CX5Ms. And if the speed with which those readers sent in their replies is anything to go by, it's clear that they're mighty keen to see more coverage of the micro in the magazine's pages. I'll admit that I've also been bitten by the CX5M bug, so it seemed only logical to put pen to paper in an attempt to fill some of the gaps in readers' CX5 know-how.
So, like the other 'under 1000' or so people in the UK that bought CX5Ms before Christmas (the estimate of What MSX? magazine, not Yamaha), I've got a machine that looks good, sounds good, but perhaps doesn't quite get it right when it comes to letting you know what's going on beneath its sleek exterior. The point about any computer - 'home', 'music', or otherwise - is that it's nothing more than a dumb workhorse at the beck and call of the user, but like all good working relationships between slaves and masters, mutual trust comes from mutual understanding. Unfortunately, in labelling their MSX micro as a 'music computer', and describing it as a 'musical instrument', Yamaha seem to be making it pretty tough for the user to find out just what it is that makes the machine tick with more musical finesse than the average, run-of-the-mill MSX micro.
I think every CX5M should come complete with a decent user's guide (not the paltry 42-page owner's manual, which includes just a single page on programming in MSX BASIC) that details the operation and programming of the SFG01 FM/MIDI unit. And I don't mean the Music Macro cartridge, either, because it's too slow to do anything particularly exacting with. True, Yamaha are prepared to make available details of the music BIOS (Basic Input Output System) side of the CX5M software - the routines, addresses, and so on that operate the SFG01 - to interested parties, but there's some positive vetting in operation, and it's more than a bit tough on the musician who, having bought a CX5M, finds his or her taste for computer music whetted and wants to find out more.
It's my view that if Yamaha made an effort to disseminate this information more widely, they'd stand a much better chance of breaking the CX5M out of the restricted musical marketplace into the more public arena, and thereby establish the CX5M as one of the more important MSX micros rather than the 'expensive curiosity' (a phrase used by one micro magazine) position it occupies at present.
But even given this moan, I still reckon that the combination of the SFG01's FM synthesis capability and MIDI control - when driven with the right sort of software - is the most cost-sensible way of getting around the timing bottle-neck that afflicts other micros attempting to do the multitrack MIDI bit. Which brings us to another temporal concern, and the main point of this month's CX5M update - the small matter of getting your CX5M to communicate its orientation in time and space with other like-minded machines.
From the word go, the YRM101 Music Composer looks to be a pretty bossy bit of software - very much a question of MIDI master rather than MIDI slave. Try as you might, you won't find a single mention in the English instruction manual about running the CX5M from an external sync source or keyboard. But the fact of the matter is that there's rather more to the CX5M's life than just sending MIDI data ('mdon', 'mdoff and 'sm') or synchronising MIDI drum machines ('msst'). Take these control commands, for example, gleaned from the Japanese music composer manual:
|tsin||Tape sync in|
|tsout||Tape sync out|
|msin||MIDI sync in|
The truth of the situation is actually a lot less sinister. Knowing how finicky we Brits are about things working without hitches, the Japanese end of Yamaha felt that the tape sync and MIDI sync options should be left out of sight and out of mind because they weren't quite up to par with the rest of the software. But the problem wasn't anything to do with bugs in software. Rather, it was the Music Composer software coming up against precisely the same sort of timing bottle-neck that besets the MIDI - namely that there's a limit to the number of things that can be done within a given time slot. However, the commands still exist within the software, and there's no reason why they shouldn't be used, provided a few cautionary guidelines are borne in mind.
First, let's look at 'tsin' and 'tsout'. This pair of commands provides a tape sync feature that operates along standard FSK (standing for Frequency Shift Keying) lines, courtesy of the CX5M's cassette interface. If you want to record the tape sync signal onto tape, the first step is to go into the 'command' mode of the Music Composer, and then head for the beginning of Part 1, ie. where you'd normally put all the indications for tempo, key, output volume, and so on. Next, type 'tsout', and the display will be updated accordingly to indicate that the command has been added to the first part. Then, when you play that part or the entire piece, the cassette interface will send out the tape sync signal.
To check that the tape sync has been recorded satisfactorily, delete the 'tsout' command at the beginning of Part 1, and change it to 'tsin' (by typing 'tsin', logically enough). If you then press the f5 function key to play the entire piece, or type 'play=1' to play Part 1 alone, nothing will happen. Or at least, not until you've rewound the tape and put the machine into playback. The point is that, having instructed the composer software to use the tape sync for timing purposes, you've now converted the CX5M from a master to a slave, and it won't play unless the tape sync signal is coming back into the machine via the cassette interface. The same is true of the MIDI sync facility (the input to the CX5M coming via the MIDI In socket, of course), which is invoked by entering 'msin' at the start of Part 1, but remember that setting Part 1 to 'msin' and 'tsin' at one and the same time won't exactly endear you to your CX5M. Another point to bear in mind is that the tape sync facility requires you to assign 'tsin' to each part you're putting down onto multitrack in turn.
But hang on a minute. Before you leap for the sync-to-tape lead, a few words of warning. The FSK sync signal starts off with a one-second leader tone which seems to be at a level some 15dB higher than the sync tone itself. This presents something of a quandary: if you set up the leader tone to record at 0dB, the rest of the sync track will barely register on the meter; if, on the other hand, you push the level up so that the sync is saturating the tape more equitably, the leader tone may well spill over onto adjacent tracks. The best bet is really the commonsense one, ie. to ensure that the leader tone corresponds with the silent count-in and that the sync level is high enough to trigger 'tsin' satisfactorily.
In fact, the input circuitry of the CX5M's cassette interface is a little on the sensitive side, so if the synced piece suddenly starts playing at a tempo that could vaguely be described as manic, try reducing the playback level, because what's happening is that the cassette interface is clipping the tape sync signal and making a right cobblers of the tape sync. Finally, remember that the Z80 processor in the CX5M has its work cut out trying to interpret the score's notes and commands accurately, so if you elect to use the tape sync on all eight parts at once, don't be surprised if the timing goes a bit askew - especially if you're also sending out lots of MIDI data at the same time. And the same timing caveat applies to the MIDI sync facility, because again, you're asking the Z80 to keep its eye on an external time keeper at the same time as the notes and commands you've entered in the score. In short, try some experimentation first before attempting to commit anything to posterity.
One of the most attractive features of MSX machines is that they have lots of orifices all ready and waiting to be connected up to a multitude of peripherals. If you take the CX5M, for instance, you'll find video and audio outs of various inclinations, the cassette interface, a brace of joystick ports on the side, a printer interface, the ROM cartridge socket on the top of the machine, the underside extension slot (into which the SFG01, FM/MIDI unit plugs), and a rear slot masked by a plastic cover. Now if, like me, you've come to the CX5M from other micros blessed with disk drives as standard (the Apple II and BBC Micro, in my case), it seems like a monumentally retrogressive step to return to the terrors of cassette storage. To be honest, it bores the pants off me to have to store note and instrument files on something as slow as the average cassette recorder, so the first thing I'm looking to add on to the CX5M is a disk drive: and I imagine the same thought has occurred to 99% of other CX5M owners.
Well, this is where that 'rear slot masked by a plastic cover' comes in - it's where the disk drive goes. Or at least, it's where the disk drive should go. The problem is that the current versions of CX5M software and the SFG01 simply aren't compatible with disk drive operation. For instance, in the case of the Music Composer software, the only loading and saving operations allowed are to the cassette ('cl' or 'cs') or to the 4K UDC01 data cartridge ('dl' or 'dc'). Furthermore, the SFG01 currently occupies the same memory addresses used by the 'about to be released' MSX Disk Operating System (DOS) which, incidentally, looks very good - so there's an immediate conflict of interests. All this has created something of an embarrassment for Yamaha (though since MSX DOS is a lot later coming onto the MSX scene, it could hardly be said to be their fault), and the long and short of the story is that all their CX5M software is being rewritten to accommodate the use of disk drives. Precisely what this means as far as the distribution of software upgrades is concerned is anybody's guess. I just hope that Yamaha get it right, and avoid the farce that occurred with the BBC Micro and its innumerable ROM versions of the OS and BASIC. These upgrades should be free - OK, Yamaha?
As things stand at present in the UK MSX market, the only disk drive available is the 3.5" microdisk drive for the Sony Hit-Bit. But at around £350, this can hardly be said to be good value for money - especially when drives of similar capacity are already available for the BBC Micro at less than half that sum. Now, there's no reason in theory why this disk drive shouldn't be used with the CX5M - after all, mutual compatibility is meant to be the name of the MSX game - but don't expect your Yamaha software to work with it, because for the reasons I've already outlined, it won't. Don't lose heart, though. One of the brighter prospects to appear from manufacturers of MSX peripherals is a new type of disk drive called the Quick Disk. Priced at around £150, though not yet available in the UK, it comprises a 5.25" disk in a hard plastic shell with a capacity of 64K. And unlike the standard 'random access' disk drive (which means you can read or write to any spot on the disk's surface), the Quick Disk arranges itself as one long, continuous (or 'sequential') file, arranged in much the same way as the concentric groove on any LP. The good thing about this is the speed with which large files can be shifted to and from the micro - just six seconds for 64K (the equivalent of around 20,000 CX5M events, in fact). But like as is the case with so much in the wonderfully wacky world of MSX, there's no indication at the moment as to whether Yamaha's software will work with it.
As far as MSX itself is concerned, the prospects are looking distinctly gloomy - it'd take a brave man to put his money on an area of the micro market that only took 2% of the 1984 Christmas sales - especially now that the UK launch of Atari's 68000-based and MIDI-inclusive Mackintosh lookalike (dubbed the Jackintosh) is scheduled for late Spring, and at an incredible 'under £400' for the 128K version. But be that as it may, there's no doubt that Yamaha are in a much healthier position than the majority of their MSX brethren. In fact, 1985 should see a host of new CX5M products - of both Japanese and homegrown origin - and a number of these will no doubt have made an appearance at the Frankfurt Musik Messe by the time you read this. Advance details have already been released of two new Yamaha packages, namely the real-time, four-track MIDI Recorder and an RX Editor which essentially adds a TR707-type programming grid to the RX11/15 drum machines. Both make effective use of 'icons' (graphical representations of a particular function) and also provide the option of using an MSX 'mouse' (dubbed 'Msx Minnie' in some quarters...) instead of a cursor. Who knows, perhaps the updates to the old CX5M software will follow similar iconic, murine trends?
Finally, if you've got any queries, or want to pass on any words of wisdom to fellow CX5M owners, I'd be pleased to hear from you. So too would the DX Owners' Club, who've now expanded their field of operations to include the CX5M. They recently sent me a cassette of new CX5M sounds (it's free to all new members), some of which are really excellent. Their address is (Contact Details) and this month's E&MM has details of a hi-tech presentation they're holding in London this coming March.
Feature by David Ellis
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!