MIDI IN via the Music 2000

R J Bettis
Some time ago (AMPLINEX issues 006 and 007) a couple of articles by Scott Mackie described the construction and use of a MIDI interface for the BBC running AMPLE.
This article describes a modified version of that interface, which I have adapted to work with the Music 2000. It also works with my master keyboard (a Cheetah) which uses the MIDI 'running status' system in its data output.

1) History

Shortly after the interface articles appeared I acquired a Music 2000 interface, and since then my MIDI system has grown, while the Music 500(0) has lost out as a sound source. This is mainly because of the increased expression available from a touch-sensitive keyboard (and the sound quality of relatively cheap MIDI units).
Some of the Music 5000 facilities, such as a wide range of readily programmable sounds have been tempting me back every now and then, and eventually I decided to try and incorporate the Music 5000 as a MIDI expander (as opposed to using the Music 2000 as its controller).
I remembered Scott's articles, dug out the discs, and examined the software. There were three programs, a main AMPLE control program, a machine code program to run the interface, and a BASIC source program for the machine code.
I then made the modifications needed to run the program with my system - these were almost all in the machine code.

2) Technical details

The original hardware and software used the (rather drastic) NMI interrupt, whereas the Music 2000 uses the normal interrupt system. Hence the program had to be altered to (a) use this interrupt, (b) set itself up in the interrupt chain and (c) avoid acting upon or corrupting other interrupts using the same system.
The result was that I replaced the whole of the original interrupt handler with a new section of code. This then made the program too long for its original location (page &900) so I had to expand downwards to start at &8D0. This area is used by the operation system for sound envelopes 2-4, so seemed fair game in an AMPLE environment.
The second problem I discovered was that my keyboard uses 'running status'. A typical MIDI message consists of a command byte followed by (usually two) data bytes; however, the specification allows for just the two data bytes to be sent if the command hasn't changed.
For example, a 'note on' message might be three bytes:
<note on> <note number> <velocity>
but with running status a three note chord could be sent as:
<note on> <note 1> <velocity 1>
          <note 2) <velocity 2>
          <note 3> <velocity 3>
saving a couple of bytes in transmission.
This means that the receiver now has to keep a note of the last command so that this can be employed.
The BASIC program for the new code is in file U.MXbasic, and the code this produces is called U.MXcode.

3) In AMPLE

The AMPLE program ('U.MXample') is largely the same as Scott Mackie's original (on the principle of 'if it works, don't mess with it'). It has a quite comprehensive 'help' facility written into it.
Calls to the code have been altered to reflect the new locations, and two new commands have been added:
'go'  gives a list of all available instruments and ask for a choice
      to be made before using MIDI
'ins' sets up to use an instrument 'inst', so that new sounds can be
      tried easily (alter 'inst', MAKE and run 'ins')

Related files on this disc:
U.MXbasic - Basic program to produce U.MXcode
U.MXample - AMPLE program to enable use of Music 5000 as MIDI expander

Published in AMPLINEX 019, September 1990

Hints and tips

Auto-chaining of files

Bernie Dawson
Back in AMPLINEX 009 I described my way of auto-chaining files. It allowed me to view the Mixing Desk while programs were running, and I used this process on both of my discs available from Panda Discs. I use a BBC model B and did not know that a problem would occur when BBC Master users tried to operate the files. After Panda Discs alerted me to the problem I scrounged use of a BBC Master to check it.
The solution is to use a different memory location from &901 which I had used. If you have one of my discs and are a BBC Master user then do the following:
On my first disc (DCT volume 3) change occurrences of &901 to &71 in the jukebox program words 'sel' and 'init'. Do likewise for each file in 'chain' and in a part 'a' usually 'part1a'. In the file 'endos' inspect the words 'RUN', 'choose', and 'part1g', changing &901 to &71 and &911 to &73.
On the Jarre disc (DCT volume 13) change &901 to &71 in the jukebox program words 'init', 's3a', and 's4a'. In 'rend2a', 'rend2b', 'rend2c', 'rend2d', 'rend5a' and 'rend5b' change 'qn' and 'wait'. The discs then operate as intended.

Use of *TYPE - clashing ROMs

Allan Gardner
Following my comment in AMPLINEX 015 about the use of *TYPE, Lol Taylor kindly replied in issue 016, and Alan Minns gave the definitive answer in issue 017.
I am grateful for their replies as I had become somewhat apathetic about the problem - I had just learned to live with it!
After some investigations I found that the problem was due to my relocating the workspace of the Aries B32 Shadow RAM to &1300. This (in theory) would allow the DFS enough memory to have one file, but unfortunately, as Alan Minns pointed out, *TYPE, *DUMP and *LIST do not work, 'hanging' the computer in each case.
The interesting thing is that the Acorn DFS does not suffer from these problems, each of the above text-file operations working perfectly.
Here are two possible solutions:
1) Use the Acorn DFS
2) Locate the Aries Shadow RAM workspace at &1400.
I don't really like the idea of losing yet another page of memory to the Shadow RAM/DFS combination so I will probably leave my setup as it was; but I have implemented another feature on my BBC Model B which helps this problem and many other 'ROM-clash' problems.
I have blown a 32k EPROM with the Watford DFS in one half and the Acorn DFS in the other. With a switch on the highest bit of the address line of the chip I can manually select the Watford or Acorn DFS, (followed by a <BREAK> to initialize the ROM).
As I have legally purchased both chips, I don't believe that there is a copyright problem in using this system.
I have further extended this idea to the point of having ten 'ROM's (6 x 16k and 4 x 8k), in just four ROM-slots, controlled by an 8-way DIL switch under the 'ROM-pack' expansion slot at the left of the keyboard, so even ROMs that can be a nuisance by clashing with others can be 'inserted' or 'removed' without needing to remove the lid.
If anyone needs further details, or assistance in implementing this idea please contact me via AMPLINEX.

Gaining memory

David Bloxham
Not everyone may realise that if you take the S out of the */C.PREPARE command in the !BOOT file, you gain 512 bytes of memory (half a kilobyte), although you do lose the Staff editor graphics.

Changing drives

John Slee
 I have transferred the AMPLINEX music files on to double-sided music discs, and used as many menus as necessary (usually 3) to select each piece using a program called 'jukebox'.
I get fed up, however, with typing *DRIVE 2 or *DRIVE 0 to change between different drives. To get round this problem I have written a simple menu which allows me to change drives before calling up my 'jukebox' program.
The menu only requires two words as shown below:
"dmenu" [
7 MODE MENUDISP
%Menu to change disc drives
%------------------------------------
%Return to previous menu % menu
%DRIVE 0 % 0 drive dmenu
%DRIVE 1 % 1 drive dmenu
%DRIVE 2 % 2 drive dmenu
%DRIVE 3 % 3 drive dmenu
%------------------------------------
MENU
]
"drive" [ $STR "DRIVE" $+ OSCLI ]
To include this facility in your own 'jukebox' program:
1) put your music disc in the drive and type "jukebox" LOAD
2) enter the word definitions for 'dmenu' and 'drive' as shown above
3) add 'dmenu' as an option in your main jukebox menu
4) type "jukebox" SAVE to save the new program.
Then, to get to the jukebox on another drive, select the new menu, use it to change drives, and then press the f9 function key, which is normally programmed to enter "jukebox" LOAD RUN.
The jukebox on the drive you selected will then be used.

MIDI and the Music 2000

Ian Waugh
I wrote an AMPLE program for the Music 2000 which lets you edit the Performances on Yamaha's TX81Z expander. It was published in the August issue of Micro User. Even if you don't have a TX81Z, I believe some of the programming methods could prove useful for anyone wanting to control any piece of equipment via MIDI.

Published in AMPLINEX 019, September 1990

A brief history of AMPLINEX

Roy Follett
AMPLINEX has now moved into its fourth year of operation and I feel this is an opportune time for a short review of our aims and activities. During the last three years our active membership list has constantly changed, with the number of new members joining almost matching the number who have either lost interest in AMPLE or looked elsewhere for information.
AMPLINEX was born of a casual thought of mine. Sitting at the Beeb, after what seemed hours wrestling with and not solving a particular AMPLE problem, I said to myself, 'somebody out there must have already solved this problem, if only I could talk to them.'
Luckily, I had on my files a name given to me by Nigel Sixsmith. Early users of AMPLE will remember that Nigel started a short-lived AMPLE User Group. It was a shame it failed: I think it was mainly due to it being paper-based. However, the name he had given me was, of course, Kevin Doyle.
Kevin had developed an idea for a disc-based AMPLE Music Exchange and was arranging to advertise the idea through Nigel Sixsmith's AMPLE User Group newsletter when the group folded. Following lengthy discussions between us, we decided to launch AMPLINEX - Kevin would be the editor and I would look after the administration. If Kevin casts his mind back to those discussions, I think he will agree that I probably railroaded him into getting involved. Anyway, he provided the software expertise that was needed to design the disc-based magazine, and we set about constructing the first issue, based on our own contributions.
Having had the idea, now we had to make it work. The second bit of luck turned out to be the enthusiasm of the members, who seemed to be brimming over with ideas, music, hints etc. All that was required was AMPLINEX: a method by which this knowledge could be spread around.
Since the beginning of AMPLINEX I have been amazed at the amount of expertise and knowledge that has been submitted by our members. A quality so high that you, the members, can quite justly feel proud that you have made AMPLINEX highly regarded as a fount of AMPLE knowledge.
Well, that's enough praise - you might start resting on your laurels. At the moment we have approximately four hundred current and lapsed members. At duplicating time I do, on average, eighty discs; but during the following months this number can be expected to rise to about one hundred and fifty. As new members join and take back issues, the final total may rise to around one hundred and eighty discs per issue.
Of the discs distributed, on average, 25% are free of charge. In other words, a quarter of our members make submissions of some sort for each AMPLINEX disc. This might seem a low number, but I consider it a very good percentage. I doubt whether any of the home computer magazines can claim that 25% of their readers regularly write to them.
It would be nice, though, if there were more submissions; just think how good the content of AMPLINEX would be if we doubled that figure. But I am afraid that some members think that they have nothing to offer, and if they do submit something they feel the need to apologise for its quality, or that it has been sent in before.
All I can say to such reticent members is: send it in. Kevin will decide whether to use it or not. You have nothing to lose and a free issue to be gained. A free issue is earned by the submission, not by whether it is finally used in AMPLINEX.
This might be a good time to apologise to those members who in the past have made submissions, earned a free issue, and then failed to see their work on the disc. Basically, I make the decision as to whether to return your cheque and not the editor, so in general all submissions (except adverts) are accepted in place of payment. To say to a member, 'we could not get your hint or your music on the disc therefore you cannot have a free issue' would be wrong.
Unfortunately, the disc is of finite size, and some items have to be omitted or held back for later use.
Whether we will be still going in 1993 is anyone's guess, but our longevity is dependent on the participation of as many members as possible. If we get no submissions then there will be no AMPLINEX.
We do have some warning signs: we distributed two hundred and five copies of AMPLINEX issue 001; by issue 014 that figure had dropped to about one hundred and fifty. So, in general, there is a decline in interest. At the same time, those members we still have are as enthusiastic as they ever were. So I say again, we need your help to let us keep the future reputation of AMPLINEX as high as it is now.
In case new members have not realised: AMPLINEX is not a User Group with a panel of experts acting as a source of AMPLE knowledge, but an Exchange (PO box if you like) with the ability to put you in touch, via the disc, with other AMPLE users. So if you have problems it is the other members who will try and give you assistance, based on their experience.
As most members will realise, running AMPLINEX is a spare-time occupation taking, as far as I am concerned, ten hours a week. This an average over a two month period and doesn't include duplicating day. The majority of the time is spent reading and listening to the submissions, and then entering the details on my database. This database is used by Kevin to keep track of what he has and has not used.
To keep the administration to a minimum, may I make a few requests to members making submissions, which would help me a great deal:
Firstly, when filling in the release form, at the section marked 'content', if the file is music, would you put whether the copyright is your own or not. Secondly, if you are purchasing back numbers and making a submission, please send two cheques: one for two pounds (for the next issue), and the other to pay for the back issues.
One last point: as we have been running late for some time now, members quite rightly get a little worried in case their discs have gone astray - especially when they see their cheques have been cashed. All I can say to members is, if you are worried please write to me, but please enclose a SAE for a reply.
Finally I would like to thank all of our members for their marvellous support over the last three years.
Now, I wonder if I solved the problem that started it all?

Published in AMPLINEX 019, September 1990

Index to AMPLINEX issues 013 -018 (Sept 89 - Jul 90)

Patrick Black
The headings to the Index are pretty well self-explanatory. Directory prefixes are used to indicate in which section an item appears on the AMPLINEX screen menu, as follows:
Directory prefixes
$ = Music
A = Introduction & Adverts
F = Features
H = Hints & Tips
I = Instruments
N = News & Reviews
Q = Questions & Answers
U = Utilities
All the '$' music files have now been gathered together in the 'M' section of the Index - it seemed more logical and the quote marks took up valuable space! Note the issue code M13 for files on the music disc sent with issue 013 (September 1989).
Questions and their answers often appear in separate issues of AMPLINEX, so the letters 'Q' or 'A' or both, are placed with the issue number, depending on whether the item is a question on its own, an answer to a previous query, or is a question accompanied by a response.
There is a ROM compatibility table, compiled from members' submissions, at the end of the Index.
Subject               Issue Filename
--------------------- ----- ---------
*TYPE
 Instrument location  013   H.ints013
 Machine 'hanging'    015Q  Q.uest015
                      016A  Q.uest016
 and Watford DFS      017A  Q.uest017

A

AEN                   016Q  Q.uest016
                      017A  Q.uest017
                      018A  Q.uest018
AMPLE
 !BOOT files,
    modules and
       memory         015   F.Boot
 '!File read only'    016Q  Q.uest016
 Benchmarks (BBC v
    Electron)         014Q  Q.uest014
 Bibliography         009   H.ints009
  continued           013   H.ints013
 Chaining files       017QA Q.uest017
 Clear screen word    015   H.ints015
 Copyright on music   014QA Q.uest014
 Deadening sounds     018   H.ints018
 Disassembly          017Q  Q.uest017
 Drum machine trigger 012Q  Q.uest012
                      014A  Q.uest014
 Finding new words (non-user
    accessible)       017   F.newword
  annotated utility   017   F.NWdemo
 FOR(...)FOR and f1   018Q  Q.uest018
 FX1A module problems 017   H.ints017
                      018A  A.update
 Keypress get word    015   H.ints015
 Letters after modules018Q  Q.uest018
 Making longer progs  012   F.LongPrg
                      013   H.ints013
 MCAT display         018Q  Q.uest018
 MENU
  command line length 015   H.ints015
  control over        015   H.ints015
  re-making           014Q  Q.uest014
                      015Q  Q.uest015
 Mixing Desk with more than
    40 instruments    015Q  Q.uest015
 Mixing Desk mystery  017Q  Q.uest017
 Modules and memory   015QA Q.uest015
 Music 500
  Convert C.PREPARE to
     access waveforms 013   U.PrepInf
                      013   U.Prepper
 Music 1000                         
    headphone output  012   N.ews012
                      013   H.ints013
 Music 2000
  and Casio CT-460    016   N.ews016
  and Casio HT3000    012Q  Q.uest012
                      014A  Q.uest014
  MIDI-IN             016Q  Q.uest016
  MIDIRT signals      016   H.ints016
  and Roland CM32L    016Q  Q.uest016
  VEL in drum kit     017Q  Q.uest017
 Music 3000
  multi-channel instr.016   H.ints016
  system disc and free
     memory           016Q  Q.uest016
                      017A  Q.uest017
  Watford Shadow RAM  014Q  Q.uest014
                      015A  Q.uest015
                      017Q  Q.uest017
 Music 4000
  delete file         014Q  Q.uest014
  drums on Music 4000
     keyboard notes   015   U.Drumtxt
   program            015   U.DrumKey
 Music 5000
  amplification       018   H.ints018
 PAN values & volume  014Q  Q.uest014
 PLAY in FOR( loop    016QA Q.uest016
 Player - what is it? 016Q  Q.uest016
                      017A  Q.uest017
 Preset popularity    013   F.instrum
 Published articles   017   H.ints017
 ROM compatibility
     see table below Index
 Scrolling text       015Q  Q.uest015
 Separating notes
  query               013   $.VolunDm
  with 'Len'          014   H.ints014
  with ON PHSET       014   H.ints014
 Sideways RAM
  Integra-B           016   H.ints016
  Solidisk 128        013Q  Q.uest013
 SLIDE command        017   H.ints017
 Staff editor
  avoid memory limits 014   H.ints014
                      018   H.ints018
  black on white      014   H.ints014
  memory saving       018   H.ints018
  'Too many voices'   016A  Q.uest016
                      017A  Q.uest017
 Transposing instruments
  brass '@' offsets   013A  Q.uest013
  guitar              016   H.ints016
 User words limit     014Q  Q.uest014
AMPLE PLAY tutor      018   N.ews018
AMPLINEX
 015 menu fix for missing
    Utilities display 016   A.update
  EXEC file           016   $.015fix
 and ADFS             017QA Q.uest017
 Address              ALL   A.contrib
 and CEEFAX           013   A.Update
 Compatibility of music files
  Music 2000          014   F.Mcompat
   example files      014   $.Metal
                      014   $.Metal/2
                      014   $.Metal/5
  Music 3000          014   F.Mcompat
   submissions        017   A.update
  Music 5000/2000     016   F.M5/2cmp
   music example      016   F.NiceWrk
  on commercial discs 017   N.ews017
 Competition          013   A.Compinf
  entry 'form'        013   A.Comp000
 Contributions        ALL   A.contrib
  closing date        ALL   A.nextiss
 Control program
  compatibility       015   A.update
 Crumple TMS to AMPLE converter
  notes               018   U.CrumTxt
  utility             018   U.Crumple
 Delays to issues     009   A.welcome
                      015   A.welcome
                      017   A.welcome
 and Drive 1          016QA Q.uest016
                      017A  Q.uest017
 Drum pattern utility 017   U.DrumPat
 Hybrid system uses
                  015-017   A.update
  feature             018   F.HMSuses
   film sound tracks
   instrumental tuition
   learning vocal music
   school musicals
 Index
  volume 2 (007-012)  013   F.index2
  volume 3 (013-015)  016   F.index31
  M09/009 code error  014   A.Update
 Member to member
    comments          013   A.Update
 Music 2000 files     014   A.Update
                      015   A.update
 with Music 3000      014QA Q.uest014
 Music 4000 keyboard
    split utility     015Q  Q.uest015
 Music 5000 waveform
    editing utility   014   U.Wave
  notes               014   U.WaveTxt
  Music 500 presets   014   U.Preset1
  storage & use       017Q  Q.uest017
 Printing data        ALL   A.print
  with Interword      013   H.ints013
 Programmable Jukebox version 2
  notes               017   U.Juketxt
  utility             017   U.Jukebox
 ROM ID               018   A.update
 Sideways RAM utilities
  source code         012QA Q.uest012
                      014A  Q.uest014
 Spectral Harmonic Analyser
  notes               013   U.ASHAinf
  utility             013   U.ASHA
 Staff Printer utility
  notes               016   U.ASPinfo
  printer driver      016   U.ASPcode
  main program        016   U.ASP
  secondary program   016   U.ASP2
  and Aries B-32      017Q  Q.uest017
                      018A  Q.uest018
  replacement PD      018   ASPcode
 Unused word search
  notes               013   U.Freeinf
  utility             013   U.FREE

C

Casio CT-460          016   N.ews016
Casio HT3000          012Q  Q.uest012
                      014A  Q.uest014
Compatibility of commercial
 music files          017   N.ews017

D

 Drum pattern utility  017   U.DrumPat
 Drums on Music 4000 keyboard
  Notes                015   U.Drumtxt
  Program              015   U.DrumKey

F

 Fast Fourier Analysis
  Notes                015   U.FFAtext
  BASIC program        015   U.FFA
 FX1A module problems  017   H.ints017
                       018   A.update

G

"Ghost fonts" on
     AMPLE DCT        015Q  Q.uest015
                      016A  Q.uest016

H

Hybrid
 AMPLE Toolbox        013   N.ews013
  delivery delays     015   N.ews015
  review              015   N.ews015
  with Solidisk SWR   016Q  Q.uest016
  SWR restrictions    014   N.ews014
 Discs
     see 'Music Discs'
 Manual improvement   015   H.ints015
 Microphone input     010   F.HTQ&A
                      017QA Q.uest017
 Music 1000
    headphone output  012   N.ews012
                      013   H.ints013
                      014   N.ews014
 Music 3000 review    014   N.ews014
  specification       013   N.ews013
 Music 5000 Universal 015   N.ews015
  and RM Nimbus       015   N.ews015
  comments            016   N.ews016
  review              018   N.ews018
 Soundscape           015   N.ews015
 Soundspace           015   N.ews015
 Studio 5000 Release 6
    errors            016QA Q.uest016

I

Ian Waugh             015Q  Q.uest015
IBM compatibility     015   N.ews015
 comments             016   N.ews016
Instrument design
   research           013   F.Instrum
Instruments
 12string             014   I.nstr014
  demo                014   $.12stDem
 Bassguit             014   I.nstr014
 2' 4' 8' 16' 32'
    organ voices      014   I.nstr014
 Thunder              008Q  Q.uest008
                      014Q  Q.uest014
 Trumpet              015Q  Q.uest015
Interlace, mode 7     016A  Q.uest016

K

Korg DDD-5
 Drum machine         013   H.ints013
 MIDI access to
    functions         013Q  Q.uest013

M

M5 undocumented words 016Q  Q.uest016
                      017A  Q.uest017
                      018A  Q.uest018
MCPS address          014QA Q.uest014
Microphone input      010   F.HTQ&A
                      017QA Q.uest017
MIDI-IN               016Q  Q.uest016
MIDIRT signals        016   H.ints016
Mozart's musical dice 017A  Q.uest017
                      018A  Q.uest018
Music City on Prestel 017QA Q.uest017
                      018A  Q.uest018
Music Discs
 John Bartlett
  Jazz Disc vol. 2    015   N.ews015
  Impressions         016   N.ews016
  PLAY AMPLE Tutor    018   N.ews018
 Phil Comber
  Legend of Obernell  018   N.ews018
 Hybrid
  AMPLE Bytes Back, extra parts in
  Hooked on Tchaikov. 013   H.ints013
  Ashes               017   N.ews017
  Electricity         013   N.ews013
  Music City 1, extra music in
     Ice Breaker      014   H.ints014
  Shivering Again     013   N.ews013
  Windy Island        018   N.ews018
 Panda
  Bernie Dawson disc  015   N.ews015
  Number 12, The Noige,
     Moments in Time  016   N.ews016
  Number 13, Bernie Dawson,
     Jean-Michel Jarre016   N.ews016
  Children in Need 1  015   N.ews015
  Children in Need 2  016   A.adverts
  Take a bite         017   N.ews017
Music files
 Abandis              016   $.Abandis
 Andante cantabile    015   $.Cantab
 Arabesque            M13   $.Arabesq
 The Battle           015   $.Battle
 The Big bag          017   $.BigBag
 Blue Monday          016   $.BlueMon
 Breathing still      016   $.BreathS
 The Brig' at Lochans 018   $.Brig
 Chanson de matin     017   $.Chanson
 The Christmas song   014   $.Christm
 Clarinet quint. in A 016   $.ClarinA
 Close encounters     017   $.CloseEn
 Coolicks             018   $.Coolick
 Crossing the Minch   018   $.Cross
 Danza                018   $.Danza
 Django's castle      016   $.Django
  hanging problem     018   A.update
 Doctor Gradus ad
    Parnassum         M13   $.DocGrad
 Drum kit demo        013   $.DrumKit
 Eine kleine nachtmus.017   $.EKNacht
 Electrix             014   $.Electrx
 Endangered species   014   $.Endangr
 En vacances          017   $.Vacance
 Evening falls        013   $.Evening
 Fairly quiet bit     014   $.FQuiet
 Falling snow (music) 014   $.Falling
  title screen        014   $.FallPic
 Fanfare for the Common Man
  sheet music         012Q  Q.uest012
                      014A  Q.uest014
  trumpet             015Q  Q.uest015
 Fantasia absolute &
    divertimento      014   $.Diverti
 Fantasy number 1     015   $.Fantasy
 Floor 6 Sunday       018   $.Floor6
 Free form            M13   $.FreeFrm
 A Glimpse...         018   $.Glimpse
 Happy birthday       013   $.HappyB
 Highly strung        017   $.Strung
 Homeless             018   $.Homelss
 Horrible alien       M13   $.Horribl
 How tremendously
    stimulating       015   $.How
 Humantouch           016   $.HumanT
 Humphrey where's
    my cuppa          M13   $.Humph
 Idiosyncrasy         018   $.Idiosyn
 If I fell            016   $.IfIFell
 I just called to say 014   $.Icalled
 Illusions            M13   $.Illus
 In the night         014   $.InNight
 I've got you under
    my skin           017   $.IGotYou
 The Jazzman          017   $.Jazzman
 Jean-Michel Jarre (P)016   $.JMJdemo
 Jumping on a train   013   $.Train
 Kali                 016   $.Kali
 The Last patrol      015   $.Patrol
 Let's go and play the
    crazy tune        015   $.Crazy
 Lullaby to the
    Light Elves       M13   $.Lullaby
 Ma-Tovu (How goodly) M13   $.Ma-Tovu
 Machu picchu         M13   $.Machu
  PAN problem         014Q  Q.uest014
 Man in appartment 47 016   $.Appmt47
 Mbala                M13   $.Mbala
 Miami vice           013   $.MiamiVi
 Moods                014   $.Moods
 Moments in time (P)  016   $.MITdemo
 Mood sketches no 5   018   $.Mood5
 Morning mist         015   $.Mist
 Musique des
    automates         M13   $.Automat
 Nargle               015   $.Nargle
 Never a cross word   M13   $.XWord
 Nobody knows the trouble
    I've seen         014   $.Trouble
 Pastime with good
    company           M13   $.Pastime
 Playing the railings 018   $.Railing
 Prelude in G minor   013   $.Prelude
 Quartertone study    013   $.QTone
 Recuerdos de la
    Alhambra          018   $.Alhambr
 Repto                M13   $.Repto
 River                016   $.River
 Root beer rag        018   $.BeerRag
 Rotation no.7        017   $.Rotate
 Round the corner (HT)013   $.Round
 Running on ice (HT)  013   $.Running
 Safe sax             017   $.SafeSax
 Sargasso             017   $.Sargass
 The Shadow of your
    smile             015   $.Smile
 Shelley              015   $.Shelley
 Snapshot             M13   $.Snaps
 Soft as diamond      017   $.Diamond
 Sombre               M13   $.Sombre
 Sonate               018   $.Sonate
 Sun                  017   $.Sun
 Sunburn (HT)         017   $.Sunburn
 Sunday, bloody
    Sunday            015   $.Sunday
 Sunset, sunrise      014   $.Sunrise
 Sweet Caroline       015   $.Carolin
 Symphonetta          018   $.Symphon
 Tailback             015   $.Tailbck
 That South Sea
    island            015   $.Island
 Three blind mice     018   $.Mice
 Toccata in D minor   M13   $.Toccata
 Voluntary in D minor 013   $.VolunDm
 Walk of life         013   $.WalkLif
 The waters of Babylon017   $.Babylon
 Weasel's amnesia     018   $.Amnesia
 We call it sillieee  015   $.Silliee
 We'll meet again     015   $.WMeetAg
 Yesterday            018   $.Yestrdy
 Yo!!!                017   $.Yo

O

ONEN                  016Q  Q.uest016
                      017A  Q.uest017
                      018A  Q.uest018

P

Panda music discs
   see 'Music Discs'
PEN                   016Q  Q.uest016
                      017A  Q.uest017
                      018A  Q.uest018
PLAY in FOR( loop     016QA Q.uest016
PLAY - AMPLE tutor    018   N.ews018
Player - what is it?  016Q  Q.uest016
Programmable jukebox version 2
 Notes                017   U.Juketxt
 Utility              017   U.Jukebox
Published articles    017   H.ints017

R

RM Nimbus computer    015   N.ews015
 Comments             016   N.ews016
ROM compatibility
   see table at end of Index
Roland CM32L          016Q  Q.uest016
Roland D5 synthesiser
   review             018   N.ews018

S

Shadow RAM
 Watford unrecognised
    in AMPLE          017Q  Q.uest017
 What's the best?     017Q  Q.uest017
                      018A  Q.uest018
Sideways RAM
 Integra-B            016   H.ints016
 Solidisk 128         013Q  Q.uest013
  with Toolbox        016Q  Q.uest016
SLIDE command         017   H.ints017
Sound sampling with BBC Model B
   and Music 4000     016Q  Q.uest016
Speech synthesis      015Q  Q.uest015
Synthesiser for `500  012Q  Q.uest012
                      013A  Q.uest013

T

TMS to AMPLE - Crumple
 Notes                018   U.CrumTxt
 Utility              018   U.Crumple
'Too many voices'     016QA Q.uest016
                      017A  Q.uest017
Transposing instruments
 Brass offsets 'n@'   013A  Q.uest013
 Guitar               016   H.ints016

U

Upgrading from BBC B  015QA Q.uest015
User-defined words
 cls                  015   H.ints015
 com1                 015   H.ints015
 press                015   H.ints015

V

VEL with Music 2000   017Q  Q.uest017

W

Wave Designer bugs and
   solutions - notes  012   U.WDesign
 Wave converter       012   U.TFWave
Waveforms
 Converting C.PREPARE
  notes               013   U.PrepInf
  utility             013   U.Prepper
 Editing utility      014   U.Wave
  notes               014   U.WaveTxt
  Music 500 presets   014   U.Preset1
  harmonics           015Q  Q.uest015
  identifying files   015   H.ints015
  storage and use     017Q  Q.uest017
  using set-up
     procedure        015Q  Q.uest015
 For Nucleus from BCE 009   U.NewWave
                      009   U.Preset2
 Fast Fourier Analysis
  Notes               015   U.FFAtext
  BASIC program       015   U.FFA

Y

Yamaha PSR70/TX81Z
   voice dumps        013Q  Q.uest013

Z

ZROM manual           014   H.ints014

ROM Compatibility Table (B = Model B, M = Master)
Compatible with AMPLE
ACORN
     Basic Editor 1.32              BM
     DFS 2.26                       BM
     Forth 1.03                     B
     View 3.0                       BM
     Viewsheet 1.0                  BM
     Viewstore 1.0                  BM
ACP/PRES
     ADI 1.10                       B
     ADT 1.76                       B
     ARM                            B
AMX
     Mouse Support 3.61             BM
     Stop Press 1.9                 BM
     Stop Press Support 1.9         BM
ARIES B-32 1.00                     B
Commstar                            B
COMPUTER CONCEPTS
     Inter-Base 2.0A                B
     Inter-Word                     B
     Inter-Chart                    B
     Inter-Sheet                    B
     Mega-3                         B
     Spellmaster 1.69               B
Dumpmaster 2.03                     BM
Enigma Disc Imager 1.09             B
Floppy-wise Plus 1.9                B
Integra-B OS 1.2                    B
*Oxford Pascal 2.1                  B
*Slave 1.34 toolkit                 B
Vine Micros Replay System           B
WATFORD
     Beebmon 1.00                   B
     Conquest                       B
     DFS 1.44                       B
     Dumpout 3.2                    B
     Quest Paint 1.10               B
Incompatible with AMPLE
Care Rom Cartridge System
 in some cases (See H.ints008)      B
Integra-B OS if earlier
     than V1.02                     B
*Oxford PASCAL                      B
PMS NTQ                              M
Screenprint                         B
Screenprint Colour                  B
*Slave toolkit                      B
-----------------------------------
* NOTE: contradictory advice from
members on these ROMs. Suck it & see?

Published in AMPLINEX 019, September1990

Questions and answers

Question: Mixing Desk Query

Could someone please give detailed instructions on how to move the Mixing Desk faders up and down whilst a piece of music is being played. That is, not by changing mixes, but by use of commands, entered in Notepad, in the score itself.
I would be very grateful, as I use the Mixing Desk a lot, and find it disconcerting to hear volume changes but not see them happen.
Don Buckley

Answer: FOR(...)FOR command

In reply to David Bloxham's question in AMPLINEX 018, the FOR(...)FOR construct is only valid within a word definition, i.e. it cannot be typed directly as a command.
It is not possible to use the f1 key with a word that contains 'inside-word only' commands. This is because when f1 is pressed the Notepad runs the word as if it were being typed at the keyboard, where FOR(...)FOR structures are not allowed. So, the only way of testing the word is by MAKEing it and typing its name.
For a list of which AMPLE words are command-only or word-definition only, see the Reference section of the AMPLE Nucleus Programmer Guide.
Tony Walduck
Michael Lefevre
Chris Hanby

Question: 62-file jukebox?

I have built up a large collection of music for my Music 5000 over the last year and have made a disc of my favourite pieces using Allan Gardener's programmable jukebox (from AMPLINEX 017). I only have a single, double-sided drive but my DFS will allow 62 files in a catalogue.
Is there any easy way of changing the jukebox program so it can use these extra files, or does it mean changing the program entirely? I know only 63 music files can be played in one sequence but I would like to be able to choose from a larger number of files.
Matthew Grist

Answer: Mozart's musical dice-game

In response to Vincent Fojut's query in AMPLINEX 017 concerning Mozart's musical dice game: I wrote a composition program in AMPLE based on this idea a short while ago and it should see the light of day in December's BBC Acorn User. It's structured so that that users can insert their own music data quite easily.
Ian Waugh

Question: Coloured text

Is it possible to include coloured text in a verse of lyrics on the Music 5000?
Don Buckley

Question: MIDI keyboard link-up

I have now got a synthesiser keyboard and interface to the BBC. What software do I need to use it as an input/output device for the Music 5000, and has such a program previously appeared in AMPLINEX?
Peter Miller

Question: Touch-sensitive keyboards

Although I'm quite happy with my Music 4000, I'm very interested in the possibility of adding a touch-sensitive (probably 5-octave) keyboard to the Music 5000.
I'm assuming the keyboard would have its own microprocessor to handle touch-sensitivity, or alternatively perhaps, a standard MIDI keyboard could be used via the MIDI In socket on the Music 2000. Has anyone added their own keyboard to the Hybrid system (touch-sensitive or otherwise)? Does anyone know whether AMPLE would be fast enough to handle this?
Vincent Fojut

Answer: Letters after modules

In answer to David Bloxham's question in AMPLINEX 018, the letters displayed after the module's name and version number are explained in the AMPLE Nucleus Programmer Guide. They are called 'indicators' and tell you about the status of the module.
Some show how the module was loaded:
 F - Fixed. Loaded using INSTALL, usually in the start-up file. Cannot be deleted
 T - Temporary. Loaded with either MLOAD or the menu (which uses MLOAD). Can be removed using MDELETE
 P - Program-owned. Loaded along with a program which required it
The above three options are mutually exclusive.
Some show you how the module is currently being used:
 M - Words in this module are being used by another module
 W - Words in this module are being used in the user program
 U - The module is the current editor (the main menu counts as an editor)
Michael Lefevre
Tony Walduck

Question: Saving instruments

I have a AMPLE file which I use as the starting point for my programs and in which there are approximately eighty instrument definitions. However, it is a pain having to strip most of the program away if, say, I only need five or six of the instruments. It would be nice to hear of a way to save each instrument to disc, and to be able to call back only those instruments required.
Don Buckley

Answer: Watford Shadow RAM

In reply to Philip Robert Hunter's question in AMPLINEX 017 on the use of Watford Shadow RAM, it must be understood that even though the RAM card has 32K, only 20K could possibly be used as video Shadow RAM, and even then only in modes 0, 1 or 2.
The Hybrid Music System, however, uses mode 7 (using only 1K of memory) except for a modified mode 6 (using 8K) for the Staff editor.
In addition, use of a non-integral Shadow RAM card will require a page (or two) of workspace for the driving software - the Watford Shadow RAM needs two pages, I think.
So the potential gain might be as low as 0.5K or 0.75K in most editors, but a substantial 7.5K or 7.75K when using the Staff editor. It is, of course, this latter improvement which is the real attraction of using Shadow RAM.
However, these improvements will only happen if the reclamation of 1.5K from the DFS workspace can still be carried out by C.PREPARE (see Music 5000 User Guide, page 89). Various notes have appeared in AMPLINEX detailing the slight changes that need to be made to C.PREPARE to ensure this is carried out when the Shadow RAM control ROM grabs its workspace.
If this does not work properly, you may find that you have less RAM in most editors with Shadow RAM than without it, and much more modest gains (less than 6K) when using Shadow RAM and the Staff editor.
In answer to the advisability of buying a second processor (6502): whilst I cannot comment on the Acorn second processor (not having one), I can say that the Hybrid System does not work alongside the PMS B2P second processor as this uses addressing and control via the 1MHz bus (NPG FD signal, i.e. 'JIM') to compensate for its lack of a Tube ULA.
Perhaps the Acorn second processor (with a Tube ULA) avoids this problem, but whatever happens there is no version of Hi-AMPLE to provide really large workspaces.
Tony Walduck

Question: TMS to AMPLE converter

Congratulations to A J P McMaster for an excellent and much-wanted program (Utilities, AMPLINEX 018). It was good to see the program in action.
But, having converted about twenty TMS programs, I was not able to use them.
My first try resulted in 'Bad program'. Loading the file into Wordwise+2 showed that a space preceded all sections. So I deleted these spaces, saved the file, and tried again. Instead of 'Bad program' the error message was now 'Too big'. None of the programs are as long as some AMPLINEX programs which run perfectly on my Master 128.
Help, please!
Leslie Gardener

Question: The new generation

Does anyone have any further news of the new generation Hybrid Music System promised for the RM Nimbus and Master 128 computers? For instance, when is it likely to be on sale and what new features will it have?
Here are four things I would like a future Hybrid Music System to include:
1) MIDI IN - to be able to manipulate sampled sounds directly in AMPLE via MIDI IN, including the human voice
2) MIDI OUT - software dedicated to specific samplers and expanders, such as the Akai S950
3) Micro tuning - to be able to use different ethnic tunings, 'Just Temperament', etc.
4) New operators - for the Music 5000, especially brass and percussion.
Jim Redfarn

Editor's note:
The comments following some of the questions above are only my opinions on the subject and should not be taken as definitive answers.
Your comments are most welcome on any of the questions posed, whether they supplement, confirm or correct any I have expressed.

Published in AMPLINEX 019, September 1990

Printing out AMPLINEX information

There are three ways to print out the information seen in AMPLINEX.
You can print out an AMPLINEX file as it is displayed on the screen from within AMPLINEX; you can print the files themselves as you would any other text file; or you can load the files into your own word processor and re-format them as required before printing.
1) To print a file from within AMPLINEX choose the 'SET PRINT ON/OFF' option from the Introduction menu. This allows you to toggle a software 'print switch' on or off. If the switch is set ON then any AMPLINEX file which is displayed on the screen will be sent to the printer. This will continue until you set the switch off again using the same Introduction option. An asterisk is displayed at the top of the screen next to the issue number when the print option is ON and the print status is shown at the bottom right of the screen as text is displayed within AMPLINEX.
It is now also possible to print out part of a file from within AMPLINEX. There are two ways to do this:
a) To print a single page of an AMPLINEX file, make sure the 'print switch' is OFF and then select the menu option which displays the file. When the page you wish to print is displayed, and the 'Press RETURN to continue' prompt is showing at the bottom of the screen, press the letter 'P' on the keyboard. The page being displayed will then be sent to the printer. Pressing RETURN will then continue to display the file without printing.
b) To start printing part-way through a file, you can turn on the 'print switch' by pressing the CTRL and 'P' keys together when the 'Press RETURN to continue' prompt is displayed. Subsequent pages which are displayed will then be sent to the printer. The 'print switch' can be turned off again in the same way.
2) If you prefer to print the parts you require outside of AMPLINEX - all the data is held in files on the AMPLINEX disc. The files are in directories named according to the sections in which they appear and the file names can be seen at the foot of the screen as they are displayed in AMPLINEX so you can make a note of the ones you require.
The file directories allocated to each section of AMPLINEX are as follows:
$. for Music
A. for the Introduction and Adverts
F. for Features
H. for Hints and Tips
I. for Instruments
N. for News and Reviews
Q. for Questions and Answers
U. for Utilities
In addition to the text files, the AMPLE instrument definitions can also be printed directly from within AMPLINEX. Music and utility programs written in AMPLE can only be printed by LOADing the programs into the Studio 5000 and using the WRITE command (see Studio 5000 User Guide page 100).
3) If you wish to re-format the text before printing you should load the files into your word processor. The files contain unjustified text restricted to 38 columns width. The files contain only printable ASCII characters except for a control code (ASCII 11) which marks the screen page breaks. View treats these as left margin tabs and if necessary they can be removed with a C/^L// command.
Two utilities have been published in AMPLINEX to aid with the re-formatting of text files:
In AMPLINEX 003 'Hints and Tips' (H.ints003) there were instructions for a Wordwise segment program to automatically format AMPLINEX text files. The segment itself was included in AMPLINEX 004 (H.WWconv).
In AMPLINEX 005 there was a utility to print formatted 80-column text direct from an AMPLINEX text file. The instructions (U.print/i) and the BASIC program (U.print80) are both within the 'Utilities' section. A modification to this program (to provide a wider margin) was included in the 'Hints and Tips' section of AMPLINEX 006. See also the Update section of AMPLINEX 008 for a note concerning BASIC 1 users.

Published in AMPLINEX 019, September 1990

Next issue news

As we are running behind schedule, we are only having a short gap between this and the next issue.
This means that all applications for a FREE copy (i.e. those with discs containing contributions) must be received by MONDAY 3RD DECEMBER. Anyone paying the £2.00 fee should apply by Friday 21st December.
Most of the content depends on your contributions between now and then - so please let us have your words or music as soon as possible. In fact, why not type that question, answer, hint, or comment right now using our Feedback utility? Or copy your latest piece of music on to another disc ready for AMPLINEX?
We look forward to reading and hearing your contributions.

Published in AMPLINEX 019, September 1990

How to contribute to AMPLINEX

To receive your next issue of AMPLINEX free of charge you must send a contribution of your own.
This could be an AMPLE music program, an instrument definition, a question or an article about some aspect of the AMPLE language or Hybrid Music System hardware or software, an AMPLE utility, a useful hint about AMPLE, or an answer to another member's question.
Under copyright law we cannot publish programs or music unless we have the permission of the copyright owners or their licensing agent. It is important to realise that in the case of an AMPLE music program, copyright exists in both the program itself and the music it represents. There may even be a separate copyright in the arrangement. If you wish to contribute transcriptions into AMPLE of someone else's music you must credit the copyright owner(s) of the music, the arrangement (if applicable) and lyrics (if included). We can then try to obtain permission to publish.
To protect ourselves from copyright actions we must ask you to sign the copyright declaration on the 'next issue request form' which was sent to you with this issue of AMPLINEX. All submissions made to AMPLINEX will be regarded as permission to publish within the AMPLINEX membership. Beyond this, the submission remains the property of the author.
As part of an exchange arrangement, we may wish to pass on your address if any of your contributions are of interest to other software publishers.
If you do NOT wish your contributions to be considered for publication elsewhere (and thus your address not to be passed to anyone else) please indicate this on the request form in the place provided.
You can also use your return disc to pass on questions which you would like answered on any issue relating to the Hybrid Music System or AMPLE language. We will do our best to answer them (or will pass them over to the other members for help) and publish the results in the Questions and Answers section of AMPLINEX.
You can also use AMPLINEX to advertise any (un)wanted items or to make contact with other members. Just put the details of your advertisement on to the return disc and we will try to include it in the next issue.
The 'Feedback' section of AMPLINEX contains a utility to allow a note to be written on the screen which can then be saved to disc. This 'note' file can then be included on your disc sent for the next issue of AMPLINEX.
'Feedback' notes can be used to make contributions to any of the text-based sections of AMPLINEX as well as to make comments or suggestions on AMPLINEX itself.
Send all contributions, on a standard DFS format disc (40- or 80-track).
It is not necessary to send printed copies of your contributions - any copies required are printed locally to minimize postage costs.
40-track disc users please note:
The AMPLINEX magazine is designed to fit on to one side of an 80-track disc. If you use 40-track discs you should send one double-sided or two single-sided discs.
Suggested file formats are:
a) AMPLE music programs - save these in normal Studio 5000 format (e.g. by selecting 'Save program' from the Studio 5000 Main menu). Since many members do not have the Music 4000 keyboard please ensure that your program has no M.M4 or M.KFX module words present. To make sure, try loading the program using your Studio 5000 system disc.
Please include some comments about the music - how or why it was written, how it could be changed - and put them into a word as comments following a DISPLAY statement. Use of the word 'info' to contain such text is common practice and we would suggest that it is NOT displayed automatically every time the music is played.
b) AMPLE instruments - save these in text form via *SPOOL using the AMPLE 'TYPE' command to save the word(s) you want.
Some description of the sound itself and hints on its use (e.g. which parameters could be changed, which are the most suitable octave settings) would make it more useful. This can be done using comments within the instrument definition itself (by preceding them with a '%').
c) Text (hints, questions etc.) - use the 'Feedback' note facility for short contributions. For longer pieces use View, Wordwise or other word processor (without embedded format codes or commands). Do not right justify the text.
You can help us operate AMPLINEX more efficiently by careful naming of the files which you send us. Receiving several files called 'hint' or 'quest' can cause us problems in trying to keep track of which contribution came from which member.
Wherever possible, please try and make the filenames of your contributions unique especially where they are for a regular section of the magazine.
Putting a combination of your name or initials and the section for which the contribution is destined is one way of doing this. So if your name is Fred Bloggs you could use FBquest or BlogH&T for contributions to the Questions and Answers or Hints and Tips sections.
Whatever filenames you use, please remember to include your name somewhere in the contribution - this can save us many hours annotating lists and cross-referencing filenames with contributors.
Ensure that your disc is well packed as we will be using the same packaging to return it to you.
Make sure you enclose a return address label and postage and that both the packaging and the disc are marked with your name and address.
Send it to:
AMPLINEX
26 Arbor Lane
Winnersh
Berks.
RG11 5JD
to arrive by the date specified in the 'Next issue' section.
We look forward to reading and hearing your contributions.

Published in AMPLINEX 019, September 1990

Update – changes/corrections/comments

This section is a focus for news about the workings of AMPLINEX, corrections to items in previous issues, and other small items of information which might otherwise be missed amongst the details of each issue.
We have received the following comments from Ian Waugh:
I've noticed several references to early versions of the Studio 5000 software in AMPLINEX and the problems they can cause with certain pieces of music. I thought most HMS users and AMPLINEX members in particular would have known that Hybrid Technology has an amazing policy of supplying FREE software updates to users! Does anyone know of any other company in ANY field with the same policy?
Simply send Hybrid Technology your current Issue disc along with your ROM ID number (which is necessary in order to supply the correct passcode) with return postage and packing and you'll receive the latest software version.
Incidentally, the latest version of the Studio 5000 has an M suffix - Studio 5000-M - and this contains the BBC Master Sideways RAM utility which is supplied with the AMPLE Toolbox. Yes, free!
This being the case, I can't see any reason why any legitimate Hybrid user should not have up-to-date software and this, in turn, should obviate the repetitive investigations into why such-and-such a program doesn't work with release so-and-so and how to make it do so, although I do admire the expertise, skill and detective work of people like Alan Minns who can solve such problems.
As updates are free, the answer is for any members who experience such problems to get their software updated.
We always welcome suggestions for improvements in the workings or contents of AMPLINEX - most of the changes made to date have originated from members' suggestions. So, if you have an idea to improve AMPLINEX, let us know.
Also, please let us know if you spot an error or omission in the contents of AMPLINEX - you may be the first one who has noticed.

Published in AMPLINEX 019, September 1990

Welcome to AMPLINEX 019

Kevin Doyle and Roy Follett
This marks the start of the fourth year of AMPLINEX. In this issue, in addition to the regular sections of Questions and Answers and Hints and Tips, we have a utility for users of the Music 2000 MIDI interface, Patrick Black's index to AMPLINEX issues 013 to 018, and, in response to queries from members, a feature on AMPLINEX itself - how it started, how it is run, and how our membership is changing.
We have twelve pieces of AMPLE music, some original, some which may be familiar, as well as reviews of three new music discs, the AMPLE Toolbox, and a cheap MIDI-compatible keyboard.
We hope you enjoy the disc and we look forward to receiving your contributions to AMPLINEX 020.

Published in AMPLINEX 019, September 1990