Hints and tips

Using double-sided discs

Ken Hughes
I have a single 80-track double-sided disc drive with a Solidisc DFS. I have altered my AMPLE !BOOT file so that it loads the modules from side 0 and the programs from side 2. This gives room for more programs on side 2 and avoids having to use a separate disc for programs and modules.
If you wish to make this change, first read the article on !BOOT files in the Features section of AMPLINEX 003 and the section headed 'keeping system files separately' on page 88 of the Music 5000 User Guide. Then make the following changes to your !BOOT file:
·         Change the line which reads "M."MPREFIX to ":0.M."MPREFIX
·         on the next line put *DRIVE 2

Avoiding ROM conflicts

Robin Johnson
I am dreadfully afflicted with 'ROM conflict' disease. It shows itself in a crash when I change disc drives, usually. I have a BBC Model B (issue 3 board) with a full-up ATPL board containing lots of curious ROMs.
I get over it with a program called "Frugal" which I downloaded (free) from the educational area of PRESTEL. I think it's still there.
My !BOOT file CHAINs 'Frugal', which disables unwanted ROMs (leaving Nucleus and DFS of course) and then *EXEC's a second file (I call it !SHOE) which starts the AMPLE sequence as usual. It's quick and goes (with all the modules) on side 0 of every disc with jukebox and the tunes on side 2.

The OFFSET command

Tim Sketchley
OFFSET is used as part of an instrument definition. It affects the frequency of the channels used and is related to, but very different from, SHIFT.
Let's start with a simple instrument definition:
"offsetins" [2 CHANS
2 CHAN
 0 OFFSET      128 AMP
EVERY CHAN
 Pure          Flat          Onoff
 ON PHSET]
This plays the Pure waveform through both channels. The OFFSET value on channel 2 can now be adjusted to produce a variety of effects. For example:
1) Try making a very fine adjustment to a channel - take the instrument definition given above and change 0 OFFSET to 60 OFFSET. Then make the instrument play a continuous note.
You will find that 60 OFFSET causes an unusual effect every 3 seconds; the sound fizzles out but only momentarily. Try increasing the OFFSET number and you will hear that the above effect becomes faster. The pulses you hear are called beats.
The effect becomes more complicated when using waveforms other than Pure. Here the sound won't have well-marked beats - instead it will have a continuously changing tone. This "phasing" effect is used very well in movements 1 and 2 of the Mexico Suite. (N.B. ON PHSET is omitted from the instrument in this case.)
2) You can use larger settings of OFFSET to produce a different sort of effect. For example, with waveforms other than Pure, 100 OFFSET will create an ensemble effect and 200 OFFSET will sound slightly out of tune - an effect which is used in Upright. An even larger setting (say 400) will make it more out of tune, like an old piano!
3) Very large settings of OFFSET can be used to mis-tune the low notes, leaving the high notes virtually unaffected. This can be done by having 2000 OFFSET on all channels of an instrument to make the notes sharp (i.e. higher in pitch) or -2000 OFFSET to make them flat (lower in pitch). Try setting up instruments such as these and then playing 1:Cgecgecgec^.
Above all, keep experimenting!

Watford Shadow RAM with AMPLE

Graham F Firth
I'm sure that there must be quite a few members who want to use Shadow RAM with AMPLE so that they can use the Staff Editor and not run into the dreaded '!No room' error.
I did, and I bought, second hand, a Watford Shadow RAM board, only to find that it was not as compatible as I thought it would be.
The problem is that, unlike the Aries board, the Watford board requires a page of user RAM and will locate this at &1900 thus moving the normal setting of PAGE to &1A00. AMPLE however, normally runs with a page setting of &1300 (see Music 5000 User Guide page 89) and there is no spare memory below there.
The answer is to run AMPLE at &1400 - you lose a page of user RAM, but you get back 4 pages at the top of RAM as the Mode 7 screen is now in Shadow RAM. In the Staff Editor, however, savings are much greater. The procedure to do this may seem slightly clumsy, but it works well.
Firstly, rename the existing !BOOT file (on your System disc) to BOOT1:
*RENAME "!BOOT" "BOOT1"
Secondly, make a new !BOOT file (using *BUILD) containing the following:
*BASIC CHAIN"BOOT"
Thirdly, enter the following BASIC program:
10 *FX21,0
20 RESTORE 80
30 FOR I%=0 TO 15:READ Q
40 OSCLI"FX138,0 "+STR$(Q):NEXT
50 *FX118
60 *FX202,48
70 *KEY10 *EXEC BOOT1|M
80 DATA 42,87,77,87,83,32,49,51,13
90 DATA 42,82,65,77,79,78,13
and SAVE it as "BOOT".
Finally, the hard part. One byte in the C.PREPARE file needs changing. This is the first occurrence in the file of &A2 &13 (LDX#&13). The &13 need changing to &14 to make AMPLE run at &1400. How you do this will depend on the toolkit program you have available. The actual location of the byte in the versions of AMPLE I have are:
M5000 issue 2 - &203E
M5000 issue 6 - &203E
M4000 issue 2 - &2052
When you have changed the byte, resave the file under its old name.
And that's it!
When you boot up your System disc now, you will see the message 'Press Break' & when you do that, AMPLE will load as normal.

Transferring words between programs

Roger Sapolsky
When using *EXEC to include a word in your current program (previously *SPOOLed from another), first make sure the word does not already exist. If it does, and you don't want it to be overwritten by the *EXECed definition, RENAME it to something else first.
Also, if the word being *EXECed in contains other words not in the current program you will get a '! Bad context' error. To overcome this, create the missing word(s) in the current program before using *EXEC again.

1 voice chords

Ken Hughes
The usual way to program chords in AMPLE is to use one voice for each note of the chord. For 4 note chords this requires the use of 4 voices and 8 channels. Page 48 of the Music 500 User Guide (for AMPLE BCE) shows how to make up a chord using 1 voice with 4 channels, but does not show how to make use of this in a program.
The program '1voiceC' (included on this disc) shows how this can be done. It plays a simple arrangement using one 3 note chord ('cch') and one 4 note chord ('g7ch').
Using this method it is quite easy to define the chords that you require as user words and then program them in the manner shown. This is most useful when entering music from 'Easy Play' or 'Busking' music books which do not show the bass stave.

Related files on this disc:
H.1voiceC - demonstration program of one voice chords
H.WWconv - Wordwise Plus segment program omitted in error from AMPLINEX 003. See that issue's Hints and Tips section under the heading 'AMPLINEX to Wordwise Plus conversion'


Published in AMPLINEX 004, March 1988