The Music Box (c) 1986 Melbourne House -------------------------------------- 128K MUSIC BOX - USER GUIDE The Spectrum 128 version of The Music Box is very similar to the 48K version, and we suggest that your first become familiar with that version and its instructions before moving on to the extra features in the 128 version. The 48K guide can be found in this file after the 128K version documentation! Programs written on the 48K version will work on the 128, but the 48K music Box program needs to be loaded in 48K mode using the command LOAD "". In a similiar manner the 128 Music Box must be loaded in 128 mode, or using the Tape Loader menu option. The six demo tunes with the 128 version are stored in cassette file following the program. They can be saved to RAM disc, using the change peripheral option on the system menu. EXTRA FEATURES OF THE 128 MUSIC BOX DRUM EFFECTS There are nine "preset noises", which can be accessed in the Music Editor by pressing SHIFT with the keys Q to O on the keyboard. Noises are edited by selecting "System Menu" and then "Set preset noise values". Noise effects can be far more varied than the 48K version, with a wider choice of frequencies and volumes or volume envelopes (more about those shortly). When a noise is used it is only played on one channel (unlike the 48K version), this enables the music to be played on two channels with a background of drum effects. ENVELOPES Envelopes are created using option 4 from the main menu. They allow the quality of sounds to be altered to mimic real musical instruments. Envelopes are placed in the tune by pressing the EXTENDED MODE command when using the Music Editor, this brings up a menu allowing you to set envelopes and other special effects. These effects apply from the preceding note, so the program will refuce to accept EXTENDED MODE if the position in the tune is zero (this is shown below each of the channel numbers). When creating notes longer than a quaver, the use of an envelope will normally break the note up into quavers, so you are recommended to set a constant volume on the appropriate channel (using the VOLUME option of EXTENDED MODE). SLIDES and LOOPS Slides and Loops are also placed in the tune using the EXTENDED MODE key, the best way to discover their effects is to experiment with them. COMPILER The 128 compiler is more complex than its 48K cousin, and because of this complexity it is only able to compile code to a single fixed address (60000). This should not cause any major problems, even if other code needs to be at that address at other times during the running of your program. If your program returns to BASIC you can use the RAM disc, saving the two code files to RAM disc as they are loaded from cassette to microdrive, then loading the appropriate one into normal memory from RAM disc when needed. If the RAM disc is not available, the music routine can be placed in any of the uncontended RAM pages 0 (normally located at C000-FFF hex), 1 (normally part of the RAM disc), 2 (normally located at 8000 to BFFF) or 3 (normally part of the RAM disc). A memory page is loaded at address C000 by the following command:- LD BC,7FFD LD A,page + 10*RAM OUT (C),A EXTRA KEYS The TRUE VIDEO key is avialble as a fast rewind key when using the Music Editor. The music keyboard has been appropriately modified to work with the keyboard layout on the Spectrum 128. --------------------------------------------------------------------------- WHAM! THE MUSIC BOX GUIDE The Sinclair Spectrum is a computer with only one sound channel, until now. The Music Box gives you two channels of sound, allowing anyone to compose music quickly and effectively without knowledge of music or programming. DEMONSTRATION To demonstrate the features of the program, load the program like any Spectrum game. When the program has loaded press '1' to load a tune into the MUSIC EDITOR. There are already six tunes in memory when the program is loaded, so press 'M' for memory and a list of tune names appears. Press the number of the one you want and when the main menu reappears press '3' to listen to the tune. If you want to stop the tune at any stage press '6' and you will go into the MUSIC EDITOR, pressing key '6' again to return to the main menu. YOUR FIRST COMPOSITION a) Select the Edit Mode by pressing '6' while looking at the main menu. b) Erase any tune in the Music Editor's memory by pressing '7' followed by 'Y' to confirm that you really want to erase it. c) Press key '1' to select Octave 1, and check that the figure 1 appears by the word OCTAVE in the status window. d) If the number by the word CHANNEL is not 1 press 'T' until it changes to one. e) Type the following keys, which make up the bass line of a tune we have composed for you - where CS represents the CAPS SHIFT key and EN is the ENTER key (do not try to type the commas):- CS, EN, X, EN, V, EN, B, EN, H, EN, B, EN, V, EN, X, EN, CS, EN, X, EN, V, EN, B, EN, V, EN, X, EN. If you make a mistake, press the '0' (zero) key to step back. f) Press key 'R' to return to the start of the tune. Press key 'T' to change to channel 2, checking that the number next to the CHANNEL changes to figure 2. g) Press the key '3' to select octave 3, for the treble part of the tune. h) Type in the following notes - CS, X, V, CS, X, V, CS, X, V, CS, X, V, B, V, X, V, M, M, B, V, B, V, X, V, CS. i) press 'R' to return to the start of the tune and 'Q' to play it, or 'P' to play it note by note. j) You can type any notes you like on top of music already in the Music Editor's memory, each note you type will replace the note previously typed at that point for the channel you are working on. k) When you are happy with the tune, use the 'P' or 'O' keys to move to the end of the tune and press 'W' to put in an end marker; this should be done on both channels. l) Press '6' to return to the menu, where you can choose to save the music datafile, or compile it into a machine code routine you can use in your own program. DRUM EFFECTS While in the the Music Editor, you can at any time add a bass drum effect by prssing the 'E' key. There are also three noise effects which you can design yourself, available on the 'Y', 'U' and 'I' keys. To design a noise press the '8' key and you will see a graphical representation of the waveform and duration of the three current noises. You can use the '5', '6', '7' and '8' keys as cursor keys to move around the graph, then press the '0' (zero) key to change the graph under the cursoe. There are seven different waveform, and four different sections of the duration which can be turned off and on independently. To hear the current noise the press '9' key. When you are happy with the noise you have designed press 'ENTER' to return to the Music Editor and press 'Y', 'U', or 'I' as appropriate to place the noise in the tune. Note: Noises use both channels, to erase a noise you must put either a note or a rest in place of the noise on both channels. You can get more than three different noises in a tune, simply design a noise, put it in the tune, redesign a new noise and put that in the tune and so on for as many as you need. TEMPO The speed at which the music is played can be altered using the SET TEMP option from the main menu and the '5' and '8' keys. Press '6' to return to the main menu to try out the effects of your changes. COMPILER The Compiler option produces a machine code routine which you can use in your own programs to play the music of the tunes that you create. The Compiler asks for a memory location at which to place the routine, this should be 32768 or higher (Spectrum memory below this address is shared with the display ULA and operates more slowly than the other memory) and not so high that there is no room for the tune. It also asks for a RETURN OPTION, normally the routine tries to play all the tune but will return when any key is pressed. Alternatively, it can return always after each note is played, allowing your program to do things while the tune is playing. If the 'W' key has been used in the Music Editor to create tune of different lengths on two channels then these tunes will repeat and the tune will not have an end. If the tunes are of the same length then there is a natural end to the music. The Compiler saves the compiled routine to tape as a normal Spectrum CODE file which must be reloaded using the command LOAD 'name' CODE XXXX where XXXX is the starting address you specified earlier. To play the tune RANDOMIZE USR XXX, unless playing note by note when to play the next note you should RANDOMIZE USE (XXXX + 12). To stop the routine stopping when any key is pressed, making it only return at the end of the tune if there is one, POKE XXXX + 16, 17. Other useful POKEs are given on the screen when the Compiler runs. FOR MUSICIANS The Music Box does not attempt to duplicate all the complexities of normal musical notation. For instance you will note that all compositions are shown in the key of C major and the only note length used is a quaver. For longer notes simply repeat as many quavers as you need, you will not normally hear any gap between the notes as they are played. These and other simplifications do not limit the range of tunes you can compose. KEY REFERENCE GUIDE 1-4 Select octave 1 - 3 5 Change border colour 6 Return to main menu 7 Erase whole tune 8 Noise effect editor (for key use in this routine see above) 9 Rewind (repeat backstep) 0 (zero) Step back one note Q Replay tune W End of tune / repeat marker E Bass Drum effect R Restart - move back to start of tune T Change between channel 1 and 2 Y, U, I Noise effects 1, 2 and 3 O Fast forward P Play single note CAPS SHIFT Note C A Note C sharp (D flat) Z Note D S Note D sharp (E flat) X Note E C Note F F Note F sharp (G flat) V Note G G Note G sharp (A flat) B Note A H Note A sharp (B flat) N Note B M Note C K Note C sharp (D flat) SYMBOL SHIFT Note D L Note D sharp (E flat) SPACE Note E ENTER Rest You will see that the notes are arranged as for a normal musical keyboard. --------------------------------------------------------------------------- Programming by Mark Alexander Program Copyright (c) 1986 Mark Time Ltd. Published by Melbourne House 60 High Street, Hampton Wick Kingston-upon-Thames Surrey KT1 4DB United Kingdom 96-100 Tope Street, South Melbourne 3205 Victoria, Australia WARNING: Infringement of copyright is a criminal offence. Copying, hiring, lending, public broadcasting, transmission or distrivution other than in the original packaging are prohibited without the express writtem permission of Melbourne House (Publishers) Ltd. All Melbourne House products are sold subject to our Terms and Conditions of Sale, copies of which are avialable on request. --------------------------------------------------------------------------- Complete Instructions typed in by Paul Thompson, April 2003