Rain Bird COMMODORE 64/128K User Manual - Shift

Manual is about: THE MUSIC SYSTEM

Summary of COMMODORE 64/128K

  • Page 1

    The music system commodore 64/128k advanced d64 attached to this pdf.

  • Page 2

    Philip black (system) sound/vmw/ advanced editor tms keyboard/ editor/system design adrian boot (island logic) concept/system design/user manual david ellis (system) concept/system design/user manual nicky johns (island logic) filing/ integration/design/ utilities geoffrey ellis (system) design/ syn...

  • Page 3: Ams Development Team

    Ams development team ii introduction 2 editor 10 keyboard 37 synthesiser 44 midi 63 the printer module 73 linker 81 index 86 appendix 93 contents.

  • Page 4: Commodore

    The music system advanced commodore 64/128k.

  • Page 5: Introduction

    2 the music system tms is a comprehensive microcomputer-based music program for creating, editing, playing and printing music. The system allows easy input and storage of music which can then be played back through the commodore 64 internal sound system, or through an external midi keyboard/synthesi...

  • Page 6

    3 tms is loaded from disk via the commodore 1541 disk drive after typing load“tms”,8,1 and pressing return. The commodore 64 also allows you to enter load“*”,8,1 (return). After the island logic/system copy- right screen has appeared the main tms program will load automatically. The loading will sto...

  • Page 7: Return

    4 in each of the modules the command line provides easy access to the available functions of tms. Any command line pop-up menu can be activat- ed by pressing one of the four commodore function keys, and de-activated by pressing the same function key. Try selecting each of the command line pop-ups. T...

  • Page 8: Space

    5 the menu scrolls in a loop, a broken line showing the top of menu. The shift space key combination causes the reverse to occur. When the highlight reaches the top of the pop-up window the menu auto scrolls down. Each item within the values pop-up represents a value that can be changed. For example...

  • Page 9: Return

    6 the files pop-up and the commands pop-up both expect you to activate a selected function by pressing return. Often the action of pressing return will produce one or more secondary pop-ups either as a second interactive window, or as simple messages or warnings. Remember, press- ing the same functi...

  • Page 10

    7 midi files - prefix x. Created via the midi module, and require an external midi keyboard and interface. Midi files are easily converted to tms music files for use by the editor and back to midi files for playback through a midi. Linker files - prefix l. These files can only be created and used by...

  • Page 11: ←

    8 load and press return. After a short delay the file will be loaded into the module. If the filing system can’t find a file or encounters some other problem, a pop-up message will occur. To save a file select the files pop-up f1 move the highlight to save and press return. A small save pop-up will ...

  • Page 12

    9 tms may not function correctly if additional, or worse still exotic hardware add-ons, are connected to your commodore 64. The disk filing system may not operate correctly when used in areas with a poor or fluctuation mains power supply. Large magnetic fields generated by some tv’s and loud- speake...

  • Page 13: Editor

    10 the editor module provides all the facilities of a wordprocessor; writing, displaying and editing music rather than words. The editor can of course play the tunes as well! Tunes may be entered directly on the staves, played and edited using the very comprehensive facilities available within the e...

  • Page 14

    11 the editor features many powerful facilities for editing musical composi- tions. There are block move, copy and delete facilities just like most wordprocessors and even a notepad for storing sections of music for later use. The editor also includes many macro editing facilities for the more advan...

  • Page 15

    12 one of those voices. The window can be flipped between voices by pressing 1, 2, or 3. The notes in that voice can be scrolled through the window using [ and ]. You can also hear them as they scroll by using shift-run/stop. The diagram below shows the vmw looking into part of voice 2. Inside the v...

  • Page 16: 1  2  3

    13 number on the left indicates the current voice being displayed on the vmw. If you flip between voices then the barmeter cursor will not move unless the new voice is shorter. You can move the barmeter cursor quickly through a tune using shift-[ and shift-]. When you release the keys the note curso...

  • Page 17: ↑

    14 volume and envelope these devices display the volume and envelope associated with the current note on the vmw. The volume setting is an additional volume and can only be used in voice 1. The overall (or global) volume is set from values. The envelope number for the current note is changed using z...

  • Page 18: ↑

    15 it always appears at the end of a voice ready to be entered. The pitch, duration and envelope of this note can all be changed before it is entered. Enter the note by pressing return. If autosound is on the note will be heard. The newly entered note moves to the left and a similar note appears und...

  • Page 19: Shift

    16 space and change the duration of the note so that the bar will be the correct length. The autobar and autotie parameters may be switched off in values if necessary. Having entered some notes move to the beginning of the voice and play the notes in that voice by pressing shift-run/stop. The notes ...

  • Page 20

    17 try adding a third voice in the same way as above but this time experiment with the envelope settings. Each note can have a different sound envelope attached to it. There are 15 envelopes available in sound set 1. Use z and x to change the envelope number. Remember that you can preview the sound ...

  • Page 21: Space

    18 transposing tunes from one key to another (see the section on key signa- ture for more details on transposition). Rests the current note can be switched to a rest by pressing space. A rest can be switched back to a note by pressing space again. Whilst switched to a rest the duration can still be ...

  • Page 22

    19 press r to turn the three notes back to a minim again. Once entered, the pitch, envelope (and volume) of any of the notes may be changed. You cannot change the duration! You can not delete any single note in a triplet… the entire triplet will disappear! Barlines cannot be inserted within a triple...

  • Page 23

    20 repeats cannot be nested. However, the tune will not stop playing whatev- er you enter in the way of repeats, first and second time bars. Here are some examples of what will happen: the first time bar symbol (key 7) marks the start of a first time bar. In fact, there can be any number of bars bef...

  • Page 24: ↑

    21 assumed that you are first time through. However, if you have entered from another voice perhaps without a repeat section then you could quite likely be second time through. This feature allows for flipping between voices and ending back at the same point irrespective of repeats in any or all of ...

  • Page 25: –

    22 deleting notes notes may be deleted forwards or backwards from the cursor position. Del deletes the current note and the notes to the left are pulled in by one space. If del is kept depressed the effect is to ‘suck in’ the notes from the left eventually arriving at the start of the voice. – delet...

  • Page 26

    23 can not take account of what’s happening to the volume in voice 1 because of repeats, etc. In this case the actual volume is equal to the global volume plus the volume increment for the first note in voice 1. It does mean that you are able to add dynamics to voice 1 and the rest of the tune will ...

  • Page 28

    25 to be used for repeated rhythm tracks, bass lines, etc. And are especially useful in the synthesiser sequencer, keyboard and midi for real time backing tracks. A loop section is a section of a voice or whole voice which when played as part of a tune keeps on repeating until the whole tune has fin...

  • Page 29

    26 the beginning of loop section marker which is implied in section 1 (start of voice) cannot be accessed since it belongs to the last note of the previous loop section. If section is changed in values the note cursor will move to the start of the specified loop section. If you want to browse throug...

  • Page 30

    27 apart from the normal filing problem and status information, the command line is used to set user parameters and access the many commands available within the editor. These are described below. Files f1 apart from the loading and saving of music files and sound sets, the editor has access to note...

  • Page 31

    28 values f3 the key signature may be changed at any time in the editor even when notes have already been entered. This is called transposition (see page 34). Because of the differences in pitch interval a particular piece of music could quite possibly be transposed into some keys but not others. Th...

  • Page 32

    29 filter number gives the overall or global filter for the tune from the set of 4 filters defined in the sound set. The filter may be set off or on for each voice. Voice gives the current voice number displayed by the vmw. Press re- turn to display the secondary pop up and change the octave, filter...

  • Page 33

    30 normally voices or tunes are played to the end or playback is stopped by pressing run/stop when you have heard enough. However, if play to is set to marker then the voice or tune stops whenever a marker is reached in the current voice. The marked note is not played. Note that it does not matter i...

  • Page 34: ↑

    31 the editor macro facilities are provided to make editing of tunes quicker and easier. They are called macros because they can operate over many notes instead of one, as with the normal editing facilities. Whilst in macro mode altering the pitch (↑ or =), volume (a/s in voice 1 only) or envelope (...

  • Page 35

    32 markers to ends sets the markers to the beginning and end of the current voice (or loop section) whereas delete markers removes both of them from the voice. Accent music only operates when voice 1 is displayed on the vmw. It increases the volume increment for the first note in each bar (between m...

  • Page 36

    33 swap sound sets swaps the position of sound sets 1 and 2. The sound set names will also be swapped. These are displayed in info. All envelope numbers in the tune now refer to the other available envelope set. The filter will also change. This might change the sound of your tune somewhat! The new ...

  • Page 37

    34 check barlines and adjust any mistakes by hand. If a barline cannot be fitted correctly (even using ties) the note cursor will stop at the offending note and an error pop up displayed. The markers are not moved so you can try the command again after sorting out that particular problem manually. B...

  • Page 38

    35 when the editor transposes a tune it will first try and transpose the notes in the correct direction (either increasing or decreasing the pitch). If this is not possible because there are notes which would go outside the pitch range on the vmw then it tries transposing in the other direction. Thi...

  • Page 39

    36 if you have not run out of room by now you will have one music file which may be played and saved as normal. Using the sequencer one of the uses of the sequencer in the synthesiser module is to create the right sounds for a piece of music after the notes have been entered. You will have already c...

  • Page 40: Keyboard

    37 the keyboard module provides an alternative method of entering music into the advanced music system (a.M.S.). The upper two rows of q-w-e- r-t-y keys on your commodore 64 are used to emulate the black and white keys of a piano keyboard. Keyboard overlays such as the sight and sound™ model can be ...

  • Page 41: 1  2  3

    38 in common with the other ams modules the command line at the top of the screen can be accessed via the four commodore function keys. Com- mand line options specific to this module will be described at the end of this section. The device in the centre of the screen, below the command line is the m...

  • Page 42

    39 the metronome at the bottom left of the screen displays the current tempo in beats per minute (this maybe changed in the values pop-up), and ticks from side to side accordingly. You may add a ticking sound to the metro- nome by setting “metronome” in values to “tick”. (this is only operative in r...

  • Page 43

    40 if the v.M.W. Is up the current voice is displayed in an icon next to the metronome at the bottom left of the screen. You may enter practise mode by pressing run/stop. If there is no music in the current voice (or if you are at the end of the voice), you can “practise” playing music (the notes wi...

  • Page 44

    41 notice that the digital recorder device gives a visual indication of the current keyboard mode by highlighting the appropriate icon. When the vmw is up, the relevant icon is displayed next to the metronome, together with the number of the current voice. The command line (keyboard) the general ope...

  • Page 45

    42 resolution - this sets the minimum note duration that can be detected by the keyboard. The keyboard does not allow you to play notes shorter than a certain duration so that your music will consist of proper notes and look reasonably tidy. With expert resolution the minimum note duration is a semi...

  • Page 46

    43 info f7 for display only - provides current status information, including the number of notes and bars in each voice. You may see here how many notes you have entered, how much free space (i.E. How many notes) you have left, and the names of the current music files. More on the keyboard you may r...

  • Page 47: Synthesiser

    44 the synthesiser module provides the means of creating and editing the sounds used in the editor and keyboard modules. It also features a real time sequencer which allows tunes to be played back while changing or editing the sounds. Each sound is controlled by a set of parameters collectively call...

  • Page 48

    45 the synthesiser module is selected from the control screen by high- lighting the synthesiser icon and pressing return. The screen con- sists of a number of basic devices; envelope number, waveform, filter number and envelope name together with the amplitude, sequence and mini vmw device windows. ...

  • Page 49

    46 envelope number this device displays the number of the selected envelope from the current sound set (1). The envelope parameters and filter associated with this envelope are displayed and may be edited. You can change the current envelope number at any time using z and x. It is also included on t...

  • Page 50

    47 when highlighted the pulse width may be changed using q and w. Some example pulse waveforms are given below. Filter number the filter number device displays the filter associated with the current envelope. The filter facility allows you to change the tone of the sound set and these can be edited ...

  • Page 51: ↑

    48 adsr the block graph in the bottom right of the basic screen represents the amplitude shape of the sound. The devices below the graph show the four parameters that control the shape of the adsr graph. Highlight the appro- priate parameter using [ and ]. Change its value using q and w. Mini vmw th...

  • Page 52

    49 duration of the note governs the time before the release phase starts. With a large decay rate and zero sustain level the sound level will possibly reach zero before the note has finished. In the other extreme a short note with a low release rate can continue to sound for much longer than the act...

  • Page 53: 1  2  3

    50 if an envelope value box is blank (ie. Off) that voice will play back using the original envelope values in the music file. These are displayed in real time by the dynamic envelope device. Any value between 1 and 15 plays all the notes in that voice using that envelope. The filter can be on or of...

  • Page 54: ←

    51 sounds can be designed on their own or in conjunction with the sequencer. This section deals with the basic method of creating simple sounds… dynamic effects such as tremelo, wahwah and phasing are converted later on. Press * to sound the current envelope. You can change the volume in values. Cha...

  • Page 55: Shift

    52 are equal (called a square wave) to ‘thin’ like an oboe when the blocks are almost entirely on one side (called a dc wave). Leaving the pulse width move onto the adsr window. The graph shows the amplitude shape of the sound. As you increase or decrease the values of the attack, decay, sustain or ...

  • Page 56

    53 the tune will automatically restart when all voices have finished. This gives you plenty of time to change envelopes and filters. You can access the command line while the tune is playing but if meanwhile the tune ends it will not restart until you pop down again. Try popping up values and changi...

  • Page 57

    54 numbers you have set in the sequencer panel, otherwise you will not hear any changes. You can experiment with different envelopes for each voice and try turning voices on and off to hear the changes better (shift-1 etc). If there is a filter on (a number appears in the filter number device) try t...

  • Page 58: ↑

    55 pitch/pulse width dre this dre can sweep the pitch and/or the pulse width of the note. Pulse width can only be modulated if the pulse waveform is selected. There are separate devices for selecting whether the pitch and/or pulse width are to be swept. There are three independent sections each of w...

  • Page 59

    56 if the pitch reaches the upper pitch limited then it automatically folds down to the lowest pitch limit and vice versa. The pitch then continues to increase or decrease at the same rate. This effect is called foldover or wrapround. Changing the pitch up and down rapidly produces a vibrato effect....

  • Page 60

    57 filters filters can alter the tone of a note by allowing only a certain range of frequencies to pass through. Tms allows you to define 4 filters to be used with the set of 15 envelopes. However, the cbm64 sound hardware only lets you use one filter for all three voices. You may set the filter num...

  • Page 61

    58 the low pass filter allows everything below a certain frequency to pass through, cutting out most of the higher frequency sound. This means that high pitched notes might sound very quiet if heard at all! The high pass filter works in the opposite way. The band pass filter restricts the frequency ...

  • Page 62

    59 er the noise waveform (white noise) can be filtered to give what is known as pink noise. Sweeping the filter frequency can produce dramatic sounds. The command line apart from the normal filing operations and status information, the com- mand line is used to access the many commands available fro...

  • Page 63: Return

    60 commands f5 dre up (down) displays or hides the dynamic response envelope. This is equivalent to pressing d. If the filter devices are displayed the filter frequen- cy dre will pop up. Filter up (down) pops the filter devices up or down. This is equivalent to pressing f. Copy envelope allows you ...

  • Page 64

    61 use copy filter in exactly the same way to copy filter parameters. The copy operations are very useful for making up a new sound set from envelopes and filters in other sets. The easiest method is to zero all envs and swap sound sets to get a ‘blank’ set in sound set 2. Then load your sound sets ...

  • Page 65

    62 info f7 the normal music file information is displayed. Use info to see which sound set you are currently using..

  • Page 66: Midi

    63 the midi module provides a software interface between the music system and an external midi keyboard/synthesizer. This module requires that a midi keyboard is connected to your commodore 64 microcomputer via a hardware midi interface. Ams is configured to function correctly with most midi keyboar...

  • Page 67

    64 the midi module does not have explicit channel assignment. The playing back of a track is through the same channel as it was recorded. When recording a track you must set the midi output channel on the keyboard to the one you want it to be played back on. Ams will do its best to be compatible wit...

  • Page 68

    65 playing midi the midi module can be selected from the control screen by high- lighting the midi icon (space bar) and pressing return. The initial midi screen shows the midi track device in the center of the screen just below the command line. Other devices occupying the same screen are the metron...

  • Page 69: ←

    66 midi keyboard. Music is not saved. Run/stop exits practice mode. The command line (midi) most midi operations can be controlled via the command line. Unlike the other modules ams music (m.) files cannot be loaded directly into the midi module. Instead ams voices are converted and assigned to midi...

  • Page 70: Space

    67 track/voice assignment at this point a special track/voice assignment pop-up appears to the right of the midi track meter. You can use this device to tell the filing system which midi tracks to assign to which ams voices. Use the q and w keys to change the ams voice and the space bar to assign th...

  • Page 71: Space

    68 making music the easy way to check that your midi set-up is working is to load a midi (x.) file directly into the module and experiment with the various ways of playing the tune back through a connected external midi keyboard. 1. Load the midi module from the control screen. 2. Press f1 to displa...

  • Page 72: 1  2  3

    69 the midi track device the midi module’s flexibility relies on the ability to display individual voices during record and playback operations as animated music within the vmw (voice monitor window). The vmw is always associated with the midi track selected for recording. I.E. The active record tra...

  • Page 73: Shift

    70 envelopes in order to fully understand the midi module it is recommended that you experiment with other ams modules. The editor, keyboard and synthesiser all use envelopes to describe different instrument sounds. These instrument sounds can be changed within each of the modules to provide an unli...

  • Page 74

    71 values (f3) the q and w keys can be used to increment or decrement any selected value within the values pop-up. The time signature and tempo can also be toggled to display their alternative notations using the ← key. Note that time signature can only be changed while there is no music in the syst...

  • Page 75

    72 commands (f5) the currently highlighted command can be activated by pressing the return key. Delete track will delete the current active midi track as set within the values pop-up. You may use the com 2 to 6 key pairs to change the active record track. Clear all tracks will delete all tracks. Met...

  • Page 76: The Printer Module

    73 the printer module allows the printing of ams music (m.) files in various prints qualities on standard form feed paper. Both the commodore and epson range of printers are supported. Many epson compatible printers will also work. Music is printed out in horizontal format, 1 - 3 voices. Lyrics can ...

  • Page 77

    74 the vmw (voice monitor window) displays voice 1 of the music file, in exactly the same format as it will appear when printed out (i.E. Including any spaces necessary to align with the bars in voices 2 and 3). The white marker in the text window indicates the position of the text cursor. Barlines ...

  • Page 78: Shift

    75 editing lyrics you can type lyrics in both upper and lower case, directly into the text window. The white text cursor can be moved back and forth via the [ and ] keys. Use shift [ and ] to move one bar at a time and return to move to the start of the next bar. Text often requires more space than ...

  • Page 79: Shift

    76 characters may be deleted using the inst del key. Extra spaces may be inserted using shift inst del. Note that the total bar width is not increased when you insert spaces in this way: the text in the current bar is simply moved over to the right, and if there is not room in the bar it will be tru...

  • Page 80

    77 the operation of the command line is much the same as the other ams modules. Refer to the section earlier in this manual for a full description of the command line. Files f1 load both music (m.) and text (t.) files may be loaded into the printer module. When a music file is loaded, its correspond...

  • Page 81

    78 values f3 printer type. The first item in the values window allows printer selection. Five different printers are catered for: use the qw keys to select. Printer hi/lo res auto line feed page skip epson fx-80 yes yes yes epson rx-80 yes yes yes *epson mx-80 f/t no yes yes star delta 10 yes yes ye...

  • Page 82

    79 print mode. This allows you to select either high or low print resolution. N.B. Some printers do not support different resolutions. Format. The music may be printed either with the bars in each voice aligned, or non-aligned n.B. Text (lyrics) can only be printed if the bars are aligned. Voices. T...

  • Page 83

    80 commands f5 print music. This command starts the printing of music. All values should already have been set up. Use the run/stop key to abort printing. Delete text. This will clear all the lyrics from the text memory, and clear the text window. Start of text. Reset text cursor to start of text. E...

  • Page 84: Linker

    81 the linker module enables large compositions consisting of up to 26 separate music files to be played back as one piece of music. In this way tempo, key and time signature changes can be easily incorported into a composition. The music files can be created in the editor, keyboard or midi modules....

  • Page 85: ↑

    82 the linker module can be selected from the control screen by highlighting the linker icon and pressing return. The screen consists of two windows; the file list on the left and the sequence on the right. The file list displays any music files that have been loaded either as individual music files...

  • Page 86: ↑

    83 as you load music files keep an eye on the free space displayed above the file window. You will be warned if a music file is too big to load. Having loaded a couple of music files you can enter these in the sequence window. Use q and w to move through the file letters (in this case only a and b w...

  • Page 87

    84 linker files having loaded a set of music files and entered the sequence you may like to save the entire composition as one file ready to be loaded again for the next performance! The save option in filing allows the music to be saved as a linker file. Make sure that you have plenty of room on yo...

  • Page 88: Shift

    85 remove all files deletes all music files in the file list and delete sequence has the same action as shift-del. Exit linker will exit back to the control screen as will comm-home. Info f7 the status information can be displayed for any music file in the list. Move the highlight bar up or down to ...

  • Page 89: Index

    86 adsr 23, 48, 49, 52 absolute macros 31 accent music 32 accidentals 17 active track 69 active voice 13, 38, 40, 50, 68 adjust barlines 19, 28, 33 amplification 63 amplitude 44, 48 assignment 64, 66, 67 attack 48, 49, 52 audio output 9, 64 auto linefeed 78, 79 auto-scroll 4, 5 autobar 16, 19, 29 au...

  • Page 90

    87 creating sounds 51, 54 current note 12, 14 cursor 4, 12, 13, 24, 75, 80 cut and paste 7, 64 d.C. Wave 47, 52 ded 48, 50, 53 dre 44, 51, 54, 55, 56, 58, 60 decay 48, 49, 52 delete file 8, 83 delete note 15, 22 delete text 80 delete track 6, 72 delete voice 42 digital recorder 38, 41 disc drive 9 d...

  • Page 91

    88 flats 17 flip note stem 33 foldover 56 form length 79 format disc 9 free space 12, 72, 80, 83 frequency 44, 46 frequency sections 54, 55, 56 fun 52, 53 function keys 4 glissando 56 global volume 14, 22 hardware 9, 63 hi-fi 9 high pass 57, 58 highlight cursor 4, 83 highlight bar 4, 5 icons 2, 3, 1...

  • Page 92

    89 major key 28 markers 20, 23, 24, 26, 30, 31, 32 menu 4, 5 merge music 35 metronome 6, 39, 42, 64, 65, 72 midi channels 64 midi files 7, 64 midi in 63 midi interfaces 63, 71 midi keyboard 63 midi screen 65 midi synthesisers 63 midi 63…72 mini vmw 45, 48, 52 minor keys 28, 41 modes 39 modulation 44...

  • Page 93

    90 playback 13, 16, 30, 38, 40, 49, 50, 52, 65, 68, 69, 83 playing midi 65 playing notes 14 pop-down 4…9 pop-up 4…9 practice mode 40, 65 prefix 6, 7, 27, 66 print format 79 print music 80 print resolution 78, 79 printer screen 73 printer 73…80 printers 73, 78 pulse wave 46 pulse width 46, 47, 51, 55...

  • Page 94

    91 sections 13, 24, 25, 26, 29, 36, 43, 44, 50, 54, 79 sequence 81, 82, 83 sequencer 36, 44, 49, 50, 52, 53 serial port 79 set macro 21, 30 sharps 17 sound files 6, 17, 33, 59, 70 sound note 15, 51 square wave 47, 52 staves 10 step time 55 sustain 48, 49 swap envelope 61 swap filter 61 swap sounds 3...

  • Page 95

    92 voice monitor window 11, 13, 16, 37, 38, 39, 40, 48, 65, 69, 72, 73, 74, 75 voice 5, 10, 11, 12, 13, 16, 22, 29, 52, 59, 67, 79 volume 5, 14, 22, 28, 31, 39, 40, 59 wahwah 51, 54, 58 warning 63 waveforms 44, 46, 51, 52 white noise 59 wrapround 56 write protect 9 zero envelope 51, 61 zero filter 6...

  • Page 96: Appendix

    93 on the reverse side of your disc is a utility to convert tms files saved on cassette to disc ams files. To load this utility, type load “files”,8,1 the program will then load and run automatically. Press the f1 key on the commodore to load a file from tape - the familiar tms “files” window will p...

  • Page 97

    94 the soundsets electro pop (included with breaker) 1 hihat 2 accent 3 snare 4 bassdrum 5 scratch 6 syndrum 7 electro bass 8 lead 2 9 worp 10 lead 1 11 attack 12 burble 13 lead 3 14 lead 4 15 tremelo orchestral (included with minuette) 1 violin 1 2 violin 2 3 cello 4 doublebass 5 clarinet 6 oboe 7 ...

  • Page 98

    Rainbird software . Wellington house upper st martin’s lane . London wc2h 9dl.