Gary Herman fences with the SORD and finds some facilities which make him very epée.
To the best of my knowledge, the Sord M-5 (also sold as the CGL M-5) is the only Japanese micro unashamedly competing in the UK for the home market. As such, there is doubtless some pressure for it to succeed. That became evident when, a few weeks after its launch in the summer, the price dropped by about £40 to around £150 to bring it in line with the competition.
In any ways, the M-5 is an attractive machine, its keyboard (despite being of the rubberised type) is more pleasant than the Spectrum's to use, allowing keyword entry by spelling-out or by a sort of Sinclair-style 'single keystroke' procedure. It also includes two properly positioned shift keys and it beeps with eaoh keystroke. The two-tone grey casing is attractive, there are output sockets for a printer (Centronics), cassette recorder (DIN), two joysticks (non-standard), sound, video and TV (all phono) and the makers have thoughtfully provided a switch on the power supply and a power-on light on the machine itself.
The M-5 will not work unless a ROM-pack has been plugged into the 56-pin edge connector hidden away on top of the machine under a lid, and these packs contain all the vital software. Here's the rub — the integer BASIC ('BASIC I') supplied with the M-5 is appalling. The machine's miniscule four Kbytes of user memory (a whopping 16K are used for the video display) and the inferior quality of BASIC I mean that an unexpanded M-5 is all but useless. For the musician for instance, BASIC I includes no sound commands.
However, the review machine came supplied with BASIC G — an expanded BASIC — which can be bought for £30 to £40. BASIC G, despite the annoying restriction to integer arithmetic (ie it can't handle decimals), is most impressive. It was clearly designed for writing games software and its graphics facilities (including full sprite handling, self-defined characters, high resolution plotting, event timing, collision detection and more), are, in my experience, unparalleled. It is also very fast. The M-5 is clearly designed for games and BASIC G makes the most of the hardware.
This hardware includes a Z80A CPU and CTC (processor and timer), a TMS-99i8A video processor and — most important for musicians — a T176489 dedicated sound generator.
Under BASIC G, two sound commands are available — PLAY and SG. PLAY takes strings as its arguments (either expressed in quotes or predefined and expressed as variables) and controls up to three channels independently using commas to separate the relevant strings. SG ('sound generate'?) takes three numbers as its arguments — one to open a channel (with SG there is a fourth channel for generating noise), one to indicate frequency and one to specify volume. The two commands can be combined in a single programme, although funny things happen if you tell one channel to play two different sounds simultaneously! (On the other hand, 'funny things' are the meat and potatoes of most computer music.) I was much taken with the M-5's music capabilities and wrote a little arrangement that shows a few of them off! (see the programme below). PLAY accepts as inputs a note (expressed as a letter and octave specifier or as a number from one to 72); a duration (expressed as a number relative to a whole note — one — or as a more accurate numerical string — in which 64! is a whole note); a tempo (which effectively alters note lengths); an envelope (preset from 's0' — continuous — through to 's7' — swelling organ); a staccato indicator ('h0' to 'h8'); and a volume setting (disabled when using the envelopes).
The string "slo4c + 2." plays a dotted half note of c-sharp below middle-c using a piano-like envelope. The same sound would result from inputting "slo4c + 24!" or: "slnl4;24! ". The staccato feature is especially attractive, allowing you to create a wide range of clipped tones, as is the ability to concatenate strings by use of a simple plus-sign. The first string after a PLAY command always governs the first channel, and so on.
The SG command is most useful for sound effects (although I wasn't overly impressed by the noise available on the fourth channel — quaintly numbered channel three, in the way of computers). However, as the programme below demonstrates, it can be used to good musical effect — particularly as it seems to give a much fruitier tone at low frequencies than the PLAY command. The frequency parameters are 1023 (about 110Hz or A below A below middle-C) to one (about 112kHz which is inaudible). On the noise channel, 0 to 3 give periodic noises (buzzes) and four to seven give white — and pink — noises.
The high frequency parameters can be used to interesting effect to interfere with channels already operating under a PLAY command. Since the SG command also specifies volume (from 0 up to 15), you can construct your own envelopes for SG-generated tones.
Finally, since the M-5 uses a dedicated sound chip, music will play once it has been loaded without further interference from your programme — which can get on with other jobs the while. In particular, the sounds issuing from one channel can be changed by the programme while another channel is still playing. The M-5's full screen-editing, although a bit tricky to use, also makes it easy to alter a programme for the purposes of composition and arrangement.
5 REM SORD M-5 TUNE COPYRIGHT G. HERMAN 1983
10 X$ = "o3b8b8bbbaaaa": Y$ = "o3g8gg8ggb8b8bbb"
20A$ = "L8eg4ab4o6co5b": B$ = "af+ d2ef + ":CS= "geeea — ef + 4e -o4bl"
30 for R = 1 to 4
40 play "s5h2", "si"
50 play A$ + B$, X$: play C$, Y$
60 for c = 0 to 1
70 for v = 150 to 0 step - 1
80 sg 2, 6, v/10: sg 3, 7, v/10
90 next v
100 next c
110 for v = 150 to 0 step-1
120 sg 2,1016, v/10
130 next v
140 for v = 300 to 0 step-1
150 sg 2,990 -v, v/20
160 next v
170 next r
180 play "slh8", "s3"
190 play A$ + B$ + ' 't232ee - c + e - s6ee2"
200 play, "t58" + Y$ + "s6o3t30el"
210 for v = 900 to 0 step -1
220 sg 2,1016-v, v/60
230 next v
240 sleep 3
250 for v = 3000 to 0 step - 1
260 sg 2,1016, v/200
270 next v
Feature by Gary Herman
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!