Home -> Magazines -> Issues -> Articles in this issue -> View
BBC Micro | |
Article from Electronic Soundmaker & Computer Music, February 1984 |
An in-depth assessment
Gary Herman avoids the usual superlatives associated with reviews of the BBC Model B and presents a critical reappraisal
The operating system facilities (including assembly language programming from BASIC) also suffer from drawbacks. They are, first and foremost, confusing to use (especially for a novice), badly documented and sometimes (for example, the 'VDU' calls) entirely redundant. The manual, although packed with information, is not really helpful to anyone wanting to explore these facilities.
The much-vaunted graphics are, in my opinion, inferior to those of the considerably cheaper Atari, the screen display on a television is noisy and the screen and program editing facilities are not exemplary. As a result, it is sometimes difficult to use and this is particularly true of the machine's sound facilities.
Amazingly, the BBC has no facility for audio output to an external speaker or amplifier (a 50k audio signal can be taken from pin PL16 on the printed circuit board, but doing so will probably invalidate your warranty. You may also notice unwanted noises this way, which may be reduced by wiring a 10k resistor across pins 15 and 16 of the 36-way bus.)
The computer uses a Texas Instruments 74689 programmable sound generator, offering the familiar features of one noise channel and three tone channels. Unlike the Commodore 64, with its standard-setting SID chip, the 74689 offers only a pulse waveform and — as far as I can tell — no digital filtering.
The two BASIC sound commands are SOUND and ENVELOPE. The former is followed by four parameters: channel information/cueing, volume, frequency and duration. The last two present no problems — duration being an integral value in units of 1/20th second from 0 to 254 with 255 (or -1) being indefinite, while frequency is a similar integral value with a difference of four between semitones. Volume has a resolution of 16 — from 0 (quietest) to -15 (loudest). Positive values (normally, 1 through 4) indicate the use of an envelope.
In use, SOUND information is loaded into a buffer (directly accessible to one of the BBC's OSWORD calls). A two byte number specifies channel and the order in which the notes will be played. Acceptable values for this number (in hexadecimal) are given by '&abcd' — where 'a' can be 0 or 1, 'b' can be 0 to 3, 'c' can be 0 or 1 and 'd' can be 0 to 3. The first digit, 'a', determines whether the specified note is a dummy (1) or not (0). If it's a dummy then the preceding note continues playing to its end — this is only relevant when used with the ENVELOPE command. The second digit determines the number of notes to be played in unison with the specified one. For example, if this number is 2 then the note will not sound until notes on two other channels have been specified using the same format. This is used to synchronise harmonic accompaniment or, in other words, to play chords rather than arpeggio. The third digit determines whether the buffer queue for a given channel is to be flushed (1) or not (0). If it is flushed then the note preceding the specified note is terminated and all other notes entered into the relevant channel buffer are erased and will not play. The final digit, 'd', determines which channel the specified note will play on. If this number is 0, then the result will be noise — semi-pitched periodic noise if the frequency number is 4 to 7. On channel 0, frequency numbers 3 and 7 give noise that is filtered by the tone playing on channel 1 — which can, of course, have a zero volume.
In practice, the channel number is usually the only digit used in the SOUND command's first parameter. It can be entered as a simple decimal number (in fact, the hex parameter can always be entered in decimal form). It is almost impossible to enter an out of range number, since the BBC converts all SOUND parameters to a number within the appropriate range by repeated subtraction.
The short program below gives some indication of how the channel cueing parameters affect output.
10 FOR N = 0 TO 3
20 SOUND 1,-15,20, 100
30 FOR PAUSE = 1 TO 1000: NEXT
40 SOUND &11,-10, 150, 100
50 SOUND &101, -15, 60, 100
60 SOUND N, -10, 5, 100
70 SOUND &102,-15, 100,200
80 FOR WAIT = 1 TO 30000: NEXT:
NEXT:
On The Net |
Backing Up Is Hard To Do |
'Wee Also Have Sound-Houses' |
Computer World |
Software Support - Hints, Tips & News From The World Of Music Software |
Sord M-5 |
The Integration Game - Improving your MIDI Environment (Part 1) |
Protect & survive - Hard disk care |
The Musical Micro - Of Mice And Micros |
On the net |
Mac Notes |
PC Notes |
Browse by Topic:
BBC Reverb
(ES Feb 84)
BeeBMIDI (Part 1)
(EMM Jun 84)
BeeBMIDI (Part 2)
(EMM Jul 84)
BeeBMIDI (Part 3)
(EMM Aug 84)
BeeBMIDI (Part 4)
(EMM Nov 84)
BeeBMIDI (Part 5)
(EMM Dec 84)
BeeBMIDI (Part 6)
(EMM Jan 85)
BeeBMIDI (Part 7)
(EMM Mar 85)
BeeBMIDI Monitor (Part 1)
(EMM Oct 85)
BeeBMIDI Monitor (Part 2)
(EMM Nov 85)
Bopping With The BBC
(ES Aug 84)
Keeping Us Posted...
(ES Apr 84)
Soft Music
(ES Mar 84)
Technically Speaking
(MM Apr 87)
When Is A Computer? (Part 7)
(12T May 84)
Browse category: Computer > Acorn
ATPL Symphony Keyboard - Add-on for BBC Micro
(EMM Mar 85)
Hybrid Technology Music 2000 System
(SOS Oct 88)
Hybrid Technology Music 4000
(MT Jul 87)
Soft Centres - MUSIC MATE/ATPL
(ES Jun 85)
Browse category: Keyboard - Peripheral > ATPL
Browse category: Keyboard - Peripheral > Hybrid Technology
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!
New issues that have been donated or scanned for us this month.
All donations and support are gratefully appreciated - thank you.
Do you have any of these magazine issues?
If so, and you can donate, lend or scan them to help complete our archive, please get in touch via the Contribute page - thanks!