Richard Bettis
One of the main drawbacks of the Hybrid Music System is the
limited memory of the BBC micro. A lot of memory is taken up by the Studio 5000
modules all of which may not be necessary. Some modules, once loaded, cannot be
removed - these are known as 'fixed-only'. Other modules can be removed, saving
memory, depending on how they were loaded.
If they were loaded via INSTALL, they cannot be later
removed. If, however, they were loaded via MLOAD, they can be removed later via
MDELETE, or by loading a program which does not require them.
The standard system disc !BOOT file loads several modules
into memory using INSTALL. This means that some of these modules, which are not
'fixed-only', cannot be removed even if they are not required.
In order to get the most free memory with any particular
setup, therefore, only the necessary modules should be INSTALLed. On loading,
all programs will 'call up' any modules they require, and these will be removed
when the next program is loaded. But without the basic modules required by all
programs there will be a lot of noisy and tedious disc accesses as each new
program MLOADs the modules it requires.
Because of this, a !BOOT system should INSTALL all the
modules in constant use, and ONLY those modules. In my setup, this has led to a
number of different !BOOT discs: one for the Music 5000 alone, one for the
Music 4000, one for the Music 2000 (all as supplied by Hybrid), and even at one
time a disc which INSTALLed Notepad and the Mixing Desk for setting up mixes
without lots of disc accesses.
Now I have rationalised the system, and only have one disc,
which contains all the modules I have, but with a menu system for booting up
the system I want at the time.
The main !BOOT file looks like this:
*BASIC MODE 7 CHAIN"!MENU"
where !MENU is the following BASIC program:
10 *FX18
20 *FX15
30 MODE7
40 PRINTTAB(0,5)"Hybrid Music System"''''
50 PRINTTAB(10)"1) with MIDI Module"
60 PRINTTAB(10)"2) without MIDI"
70 PRINTTAB(10)"3) without M4000 keyboard"
80 PRINTTAB(10)"4) with only MIDI module"
90 REPEATPRINTTAB(0,18)"Which system?";:A$=INKEY$(10)
100 UNTILVAL(A$)>0 ANDVAL(A$)<5
110 OP=VAL(A$)
120 PRINTOP
130 ON OP GOTO 140,160,180,200
140 *EXEC !M2BOOT
150 STOP
160 *EXEC !M4BOOT
170 STOP
180 *EXEC !M5BOOT
190 STOP
200 *EXEC !M2ONLY
210 STOP
20 *FX15
30 MODE7
40 PRINTTAB(0,5)"Hybrid Music System"''''
50 PRINTTAB(10)"1) with MIDI Module"
60 PRINTTAB(10)"2) without MIDI"
70 PRINTTAB(10)"3) without M4000 keyboard"
80 PRINTTAB(10)"4) with only MIDI module"
90 REPEATPRINTTAB(0,18)"Which system?";:A$=INKEY$(10)
100 UNTILVAL(A$)>0 ANDVAL(A$)<5
110 OP=VAL(A$)
120 PRINTOP
130 ON OP GOTO 140,160,180,200
140 *EXEC !M2BOOT
150 STOP
160 *EXEC !M4BOOT
170 STOP
180 *EXEC !M5BOOT
190 STOP
200 *EXEC !M2ONLY
210 STOP
The required system for that session is then chosen, and the
appropriate file *EXECed.
The files are the original !BOOT files from my various other
system discs, shown below.
!M5BOOT
*BASIC
*/C.PREPARE R K
*FX 202,48
*FX 118
*KEY 0 |"A.MPLINEX|"LOADRUN|M
*AMPLE
% Studio 5000 ... M5 only !BOOT
":0.M." MPREFIX
"INT" INSTALL
"M5" INSTALL
"EW" INSTALL
"MENU" INSTALL
"FX1A" INSTALL
"INS1" INSTALL
MAIN
*/C.PREPARE R K
*FX 202,48
*FX 118
*KEY 0 |"A.MPLINEX|"LOADRUN|M
*AMPLE
% Studio 5000 ... M5 only !BOOT
":0.M." MPREFIX
"INT" INSTALL
"M5" INSTALL
"EW" INSTALL
"MENU" INSTALL
"FX1A" INSTALL
"INS1" INSTALL
MAIN
!M4BOOT
*BASIC
*/C.PREPARE R K
*FX 202,48
*FX 118
*AMPLE
% Studio 5000 ... M5 & M4 !BOOT
":0.M." MPREFIX
"INT" INSTALL
"M4" INSTALL
"M5" INSTALL
"EW" INSTALL
"MENU" INSTALL
"FX1A" INSTALL
"INS1" INSTALL
MAIN
*/C.PREPARE R K
*FX 202,48
*FX 118
*AMPLE
% Studio 5000 ... M5 & M4 !BOOT
":0.M." MPREFIX
"INT" INSTALL
"M4" INSTALL
"M5" INSTALL
"EW" INSTALL
"MENU" INSTALL
"FX1A" INSTALL
"INS1" INSTALL
MAIN
!M2BOOT
*BASIC
*/C.PREPARE R K
*FX 202,48
*FX 118
*AMPLE % Studio 5000-2 Release 2
":0.M." MPREFIX
"INT" INSTALL
"M2" INSTALL
"M4" INSTALL % Optional
"M5" INSTALL
"EW" INSTALL
"MENU" INSTALL
"FX1A" INSTALL
"INS1" INSTALL
READY 8 VOICES MIDIV 1 MIDILINE
&B0 MIDIOUT % Kill EMT-10
124 MIDIOUT % OMNI ON mode
0 MIDIOUT % (Send Mode 1)
MAIN
*/C.PREPARE R K
*FX 202,48
*FX 118
*AMPLE % Studio 5000-2 Release 2
":0.M." MPREFIX
"INT" INSTALL
"M2" INSTALL
"M4" INSTALL % Optional
"M5" INSTALL
"EW" INSTALL
"MENU" INSTALL
"FX1A" INSTALL
"INS1" INSTALL
READY 8 VOICES MIDIV 1 MIDILINE
&B0 MIDIOUT % Kill EMT-10
124 MIDIOUT % OMNI ON mode
0 MIDIOUT % (Send Mode 1)
MAIN
Note: the Music 5000 only module is used almost exclusively
with AMPLINEX, and hence the 'f0' key is programmed to LOAD and RUN
"A.MPLINEX".
I also have a Yamaha EMT-10 Expander in my MIDI set-up (a
nice sampled piano for the money...) which powers up receiving on all MIDI
channels; hence the little program segment at the end of the Music 2000
boot-up.
The file for final menu option - !M2ONLY - is the same as
!M2BOOT but does not INSTALL the Music 5000 sound modules (EW and INS1). This
is for when I am only using MIDI sound sources.
I hope this technique may be of use to all those who are
suffering, as I was, from a surfeit of discs all labelled 'xxxx System Disc'.
Now I only have to remember which program disc that tune was on...
Published in AMPLINEX 015, January 1990