$ Welcome to the Musicraft Help Facility. Type a.. U to find out how to use the Musicraft 1.3 System, M to find out how to modify it, P to find out how to print out the manual. (to exit, type ) $U Type a.. G for immediate gratification, I for some general information E for how to use the edit facility, C for how to compile an editted song, W for how to edit a waveform, P for how to play a compiled song, U for stuff about the utility facilities. (to exit, type ) $UG:UG1 The intent of the following frames is to help you play a canned song. I will assume the following: . you have installed a digital to analog converter at some port address, . you have connected said dac to your stereo, . you have turned your stereo on, . you have correctly identified the port address of your dac to the setup function (the initialization that you had to go through just to get to this point), . you have the Musicraft 1.3 song disk, . and that you are in the CP/M command mode A>. In what follows, stands for the carriage return (or enter) key and .> indicates a Musicraft prompt. Place the song disk in drive B:. A> MUSIC B:FLS The Musicraft menu will appear. .> C Type the letter. FLS on B: will be compiled and messages denoting the compile process will appear on the screen. Wait until the Musicraft menu reappears.) (to continue reading this, type ) $UG1:UG2 .> P This causes Musicraft to load the song FLS and then request that you identify a waveform. .> = Leave the waveform tables unchanged. The waveform tables are pre-loaded with a set of default waveforms which have been found to be generally useful. At this point, if all has gone well, you should hear the strains of J.S. Bach's Invention number 4. If you don't, then something was probably missed. Recheck each assumption and retry each step. If you still can't get it to work then you can call me at (301)433-0369 in the evenings. (to continue reading this, type ) $UG2 This concludes the "immediate gratification section. I hope that it worked. If it did, you should be able to do anything that the system will permit with additional practice. I do want to warn you..this is not a toy system, you have a lot of facilities in this package. To learn about them and to learn to use them effectively will take practice. This help facility does not replace the manual. One of the volumes in this set contains the manual. You can print it out if you like; it is over 70 pages in length. You can also buy it from Newtech Computer Systems, Inc., 230 Clinton Street, Brooklyn, New York 11201 (phone (212)625-6220). In that case, it will be properly paged and formatted. I don't know the price. (to exit, type ) $UI:UI1 Names. The programs in Musicraft use different file extensions to identify files. While several files are related to any song, their names differ in their type, or extension. You never enter the file type, the programs know what type to add to the name. (to continue reading this, type ) $UI1:UI2 Devices: The programs support the CP/M device specification in a file name at all times. You can type, eg., B:FLS and the system will operate correctly by loading and storing the various files associated with that song by using drive B:. (to continue reading this, type ) $UI2:UI3 The Song Development Process. The process of creating a song and playing it is done in three steps in the Musicraft System. 1. You must first use the editor to create your song and to store it on your disk. Later, when you wish to change your song, you again use the editor. You use the song edit facility by using the E_command. 2. Once having stored the song as a disk file, you must then convert the song information into the numerical form that is required by the play program. You use the the compiler facility by using the C_command. 3. You can now play the song by using the P_command. Each of these programs are described in some detail in this help facility, so browse aboutto get familiar with the operation of these steps. There are other useful functions as well which are not essential to the song development process but which will enhance your music making abilities. For example, there is a waveform editor which allows you to create waveforms, see their shapes on the screen, hear the quality of the sound over the entire range of the Musicraft System, and to change and adjust them to suit your purposes. There are other facilities as well. So explore the possibilities. (to continue reading this, type ) $UI3:UI4 The Work Song. When you load the Musicraft menu, you can use either of two CP/M commands: A> MUSIC or A> MUSIC for example.. A> MUSIC B:FLS The first version specifies no work song while the second version does. If you use the second version, then the editor, compiler, and play programs will automatically use the files associated with that song. You may change the work song at any time you are presented with the Musicraft menu by using the N_command. This will ask you to specify a new work song. (to continue reading this, type ) $UI4 Waveforms in the Play program. The play program has 14 waveform tables which have been pre-loaded with waveforms which were considered useful. Just so you can get some idea which sounds go with which names, here is a list of the contents of the waveform tables (these waveform files are all on the song disk): 1. SQUARE 2. SAWTOOTH 3. EQ124 4. EQ12 5. SINE 6. ORGAN 7. CLARINET 8. OBOE 9. TRUMPET 10. TRUMPET2 11. SAW2 12. SAW3 13. SAW4 14. empty (to exit, type ) $UE Use the E command to run the editor while in the Musicraft menu. The edit program will be loaded and it will load the current working song, if any. If you wish to run the song editor from the CP/M command mode, you may type the following: A> EDIT or A> EDIT This section BRIEFLY describes the song editing facility. Type a.. N to learn about the Musicraft notation E to learn how to change existing lines in a song I to learn how to insert new lines into a song, M to learn how to insert measure lines into a song, X to learn how to get rid of lines you don't like, O to learn something about all the options in the option menu. (to exit, type ) $UEN A Musicraft song is comprised of a series of song lines. Each song line contains the information needed to play up to four voices (with percussion using the Newtech Rhythm Box) for one duration unit. The edit facility will display a page (usually 23 song lines) at a time. Each horizontal line constitutes one song line while the columns have uses depending on the column. Use the menu below to learn about each column. type a.. L for a description of the line number, D for a description of the duration of the song line, P for a description of the pitch notation for the four columns(voices), R for a description of the percussion notation. (Incidentally, I should warn you here that what you read here will not teach you what you need to know about music to use the Musicraft System. You should already know how to read music on the printed page. You need not be able to read it well, just be able to read it.) (to exit, type ) $UENL The line number displayed by the edit facility is used by the compiler to indicate errors. You can also use it to find specific song lines while editing. See the Find command for a description of this ability. (to exit, type ) $UEND:UEND1 The duration column determines how long the song line will last when it is played. It is one or two characters in length. The first character must be one of the following: char meaning char meaning char meaning W whole note A triplet half note K triplet 16th note H half note B 1/5 whole note L 1/7 quarter note Q quarter note C triplet quarter note N 1/5 eighth note E eighth note D 1/7 whole note P triplet 32nd note S 16th note F 1/5 half note U 1/7 eighth note T 32nd note G triplet eighth note V 1/5 16th note F 64th note I 1/7 half note Y triplet 64th note (to continue reading this, type ) $UEND1 The second character used in the duration column is the duration adjustment and may be one of the following: A period (.) adjusts the duration in the same manner as does dotting a note in musical notation, viz., the duration is taken as half again as long. A colon (:) adjusts the duration as does doubly-dotting a note in musical notation; viz,. the duration is taken as 1-3/4 the duration value indicated. A comma (,) provides a simple way to convert any duration to its corresponding triplet value. Thus, for example, E. is equal to three 16th notes, while Q, is one of three triplet quarter notes in a single half note duration. (to exit, type ) $UENP Pitch can be represented in either of two ways. You may use the standard chromatic notation or you may use the microtonal notation. Type a.. C to learn about the notation used for chromatic intervals, M to learn about the notation used for microtonal intervals. You may use the two notations quite interchangably in any piece, the system will recognize either. (to exit, type ) $UENPC Each chromatic pitch symbol is composed of three parts describing the pitch or rest to be performed. These three parts are 1. The note name. Any letter from A to G (along with R for rest) is accepted. These letters are taken in the traditional musical manner. (I can't teach you music here so if you don't already know it you will have to learn it elsewhere.) 2. The accidental. Any one of the following: ! (or 1) represents a flat, @ (or " or 2) represents a natural, # (or 3) represents a sharp. 3. The octave. Any number from 1 to 7 is permitted. 1 is the lowest octave while 7 is the highest. The range of Musicraft is from A@1 to G#7. Incidentally, you need not fill in a voice column if it is not to be played. Leaving it blank is the same thing as typing an R as the note name. It will be silent. (to exit, type ) $UENPM Each microtonal pitch symbol is composed of two parts describing the pitch or rest to be performed. These two parts are 1. The note number. Any number from 00 to 95 (along with R for rest) is accepted. These numbers represent a division of the octave into 96 parts. The smaller numbers correspond to lower pitches within the octave while the larger numbers correspond to higher pitches within the octave. Those numbers divisible by 8 are the chromatic notes according to the following: 00 = A, 08 = A#, 16 = B, 24 = C, 32 = C#, 40 = D, 48 = D#, 56 = E, 64 = F, 72 = F#, 80 = G, and 88 = G#. 2. The octave. Any number from 1 to 7 is permitted. 1 is the lowest octave while 7 is the highest. The range of Musicraft is from 001 to 957. (to exit, type ) $UENR The Musicraft System supports percussion if you are using the Newtech Rhythm Box. (plug: You can buy the Rhythm Box mail-order from Newtech Computer Systems, Inc., 230 Clinton Street, Brooklyn, New York 11201. Their telephone number is (212)625-6220. Tell them I sent you. end of plug.) The Rhythm Box supports seven different instruments with two loudness levels. When you are in the percussion column, the letters B through G represent the different instruments (I don't know which letters go with which instrument) while the letter A represents the loudness. If a letter is present in the percussion column, the corresponding instrument will play. If the letter is not present, that instrument will not play. Simple. No letter A denotes "quiet", while the letter A, when present, denotes "loud". This permits accents and beats. The edit facility in this column is simple, too. If the letter is not there, you put it there by simply typing the letter. If the letter is there and you wish to erase it, type the letter again. Poof. (to exit, type ) $UEE When you first enter the edit facility from the Musicraft menu by typing the letter E, you will be in the editting mode of operation. This means that you may roam around (navigate) in the song using the navigation keys and you can make changes to the song lines which are already present in the song you loaded. If the song you named doesn't exist, then this mode of operation will not do you much good, because you have no song lines yet to edit. But, if the song does exist, you will see the first page of it on your screen, and the following frames are for you. Type a.. N to learn about navigation E to learn how to change durations, pitches, etc, Q to learn how to return to the Musicraft menu. (to exit, type ) $UEEN There are four groups of navigation commands. Use the following menu to learn about each group. Type a.. D for the direction commands, F for the find commands, L for the leaping commands S for the stepping commands, C for the creeping commands. (Terminals differ substantially with regards to the cursor control keys. Many do not have explicit , , , and keys and you must use the appropriate control sequences. These are, respectively, , , and . The ANSII family of crt's have the keys but those keys generate escape sequences. Musicraft handles this so don't worry about it.) Incidentally, you can use the ? key to center the cursor on the page at any time you are in either the edit or insert modes. This does not affect the position of the cursor with respect with the song but does help you see the context of the material as you work. (to exit, type ) $UEEND There are two direction commands which are used to control the direction of the leaping commands. The "<" command sets the direction to up. The ">" command sets the direction to down. Neither command changes the position of the cursor. (to exit, type ) $UEENF To use the find commands, you must first type M while in the edit menu. Then, type F. You are then presented with a menu of three choices. Type a.. L to learn to find a label, M to learn to find a measure, S to learn to find a song line. (to exit, type ) $UEENFL Type an L to choose this command. Then enter the label name followed by a . The song is searched for the label, and, if found, the page containing the label is displayed with the cursor centered on the label. If the label is not found, the cursor is left undisturbed. You can learn about labels and other uses for them in the frames describing the options menu of the edit facility. (to exit, type ) $UEENFM Type an M to choose this command. Then enter the measure number followed by a . The song is searched for the measure, and, if found, the page containing the measure is displayed with the cursor centered on the measure. If the measure is not found, the cursor is left undisturbed. You can learn about measures and other uses for them in frames describing the options menu of the edit facility. (to exit, type ) $UEENFS Type an S to choose this command. Then enter the line number followed by a . The song is searched for the line, and, if found, the page containing the line is displayed with the cursor centered on the line. If the line is not found, the cursor is left undisturbed. (to exit, type ) $UEENL There are three leaping commands: The home command moves the cursor to the top or the bottom of the song. The page command

moves the cursor to the next page of the song. The next command moves the cursor to the next measure line in the song. Which direction these commands will move the cursor depends on the current direction indicator (which is the character in the upper-left position of the screen.) If it is a >, the direction is "down"; while if it is a <, the direction is "up". (to exit, type ) $UEENS The stepping commands allow you to move the cursor up or down one song line at a time. The up command moves the cursor to the song line immediately above. The down command moves the cursor to the song line imme- diately below. You may also move the cursor down with the use of the key. The screen will scroll when you reach the bottom, but will flip when you reach the top. (to exit, type ) $UEENC There are three creeping commands. The creepers moves the cursor through the various parts of the song line. The right_arrow command moves the cursor to the next column to the right. The left_arrow command moves the cursor to the next column to the left (not including the line number.) Each of these commands wrap around the screen and never permit the cursor to enter unknown territory (ie., between the columns.) The space command moves the cursor to the next position to the right within the column you are already in. This command wraps around within the column and can be undone (to the left-most position) by the left_ arrow command. (to exit, type ) $UEEE To change any part of a song line, you must first place the cursor at the location which you wish to change. Read the section about edit navigation for how to do this. Once having placed the cursor at the location you wish to change, you may type the new value over the old value. That is all there is to it. (to exit, type ) $UEEQ There are two ways to quit the edit facility. One will automatically save your song while the second will not disturb the song file on disk. The first way is by typing while in the edit mode. You will be asked if you really meant it. If you did, type Y. The old song file on disk will become a backup and the song in memory will be saved under the song name. The second way is by typing at any time. You will again be asked if you meant it. If you answer Y, no changes will take place on your disk. In either case, the Musicraft menu is redisplayed. (to exit, type ) $UEI:UEI1 To enter the Insert mode, type I while in the edit mode. The portion of the screen below the cursor is cleared and you may now insert new song lines. You will note that song lines are always inserted before the two lines <*da capo> and <*da coda>. In order to enter a value into a particular column, you use the navigation keys to place the cursor at the position to be inserted. Then you type the value(s) to which you wish to set that column in the song line. The editor does not describe the meaning of each column on the screen. It would have been helpful if it did. So you have to memorize the format if there is nothing on the screen to serve as a reference. You are permitted the use of the creeping-type navigation keys, the key and the key when in the insert mode. The creeper keys do not create additional song lines, but the stepper keys do. (to continue reading this, type ) $UEI1 The format of a song line is.. where.. line# is the line number of the song line, dur is the duration symbol for the song line, pitch#1 is the pitch symbol for the first voice, pitch#2 is the pitch symbol for the second voice, pitch#3 is the pitch symbol for the third voice, pitch#4 is the pitch symbol for the fourth voice, and per is the percussion data. The actual number voices in a song is determined when a song is first created. All of these fields are described elsewhere in this help file. You return to the edit mode by pressing the key. The page of song lines are redisplayed. (to exit, type ) $UEM Measure lines can be inserted into the text of a song at any time you are in either the edit mode or the insert mode. It is done by pressing the letter M. This will assign a number to the measure in the order in which you created the measure lines. They may get out of sequence in this way. The edit program renumbers measure lines as the song is being saved when you exit the edit facility to insure that they are in ascending order. Measures are useful for quickly finding a section of a song while you are editing it; and they are also useful if you need to restart a song at some point while you are playing it. (to exit, type ) $UEX To enter the Excise mode, type X while in the edit mode. The cursor is immediately placed to the left of the current song line. You can now excise song lines by using the stepping navigation commands; viz., the and keys. These keys will delete a song line for each entry of the key. Pressing the key deletes upward while pressing the key deletes downward. However, you can un-delete a song line by pressing the other key. Ie., pressing the key deletes a song line. By pressing the key, the deletion is undone. You return to the edit mode by pressing the key. This causes all deletions to be applied to the song and the corrected page of song lines to be displayed. (to exit, type ) $UEO To enter the Options mode, type O while in the edit mode. The screen is cleared and a variety of options appear as a menu. Type a.. C to read about the chorus call F to read about the find facility L to read about labels R to read about repeats T to read about tempo changes U to read about transpositions V to read about the verify facility W to read about waveform assignments X to read about ending choruses K to read about key signatures. (to exit, type ) $UEOC A chorus is a segment of music which must be performed several times in the course of a song. You ca save yourself the work of entering the segment every time it is needed in the song by setting it up as a labeled song segment using the label line and the exit line, and then calling it with the chorus call line at the points in your song where you wish it to be played. The chorus segment is like a subroutine. The label associated with it gives it a name and you use that name in the chorus call line. The Musicraft supports chorus calls within chorus calls to a depth of 16. example: this section is played first *C CHORUS then the chorus is played this section is played last *X the play program exits the song *L CHORUS 5 this marks the beginning of the chorus this is the music of the chorus section *X this terminates the chorus (to exit, type ) $UEOF This facility is described as a part of the edit mode navigation aids. (to exit, type ) $UEOL Labels are used to mark the beginning of a song segment which is to be repeated or called. It assigns a name and a terminal key to the segment. The name is used by chorus call lines and by repeat lines. The terminal key is used in the play program to allow random access to your song. See the sections about the chorus call line and the repeat line for examples of the use of the label line. (to exit, type ) $UEOR Repeat lines are used to re-play song segments. The repeat line identifies the label where the repeat is to begin and it also specifies the number of times the repeat is play. example: this section plays first *L AGAIN A this marks the beginning of the repeated section this is the repeated section *R AGAIN 003 this says to repeat the marked section 3 times this section plays last (to exit, type ) $UEOT Musicraft supports tempos up to 999 quarter notes per minute. The tempo line is used to specify the tempo of the song segment which follows it. (to exit, type ) $UEOU You can transpose any song segment through the use of this option. More- over, you can transpose any voice independently of any other. The trans- pose option allows entry in either chromatic or microtonal mode. In either mode the form of each entry is +nn or -nn where + means higher and - means lower pitch. The number represents the number of intervals to transpose. This depends on whether you specified chromatic or microtonal mode. Any number from 0 to 99 is acceptable in either direction, but watch out. You can transpose a note out of the Musicraft range. The compiler will give an error for this. (to exit, type ) $UEOV This facility allows you to find any music which has been incompletely completed. If anything is found, the page containing the error is displayed with the cursor centered on the screen. Otherwise, the first page of the song is displayed and the cursor is on the <*da capo> line. (to exit, type ) $UEOW The play program contains 14 waveform tables. These tables can be filled with any waveforms from your collection of waveform files. You can assign each of the voices of your song to any of the waveform tables as you edit the song. When you load the waveform tables before you play your song, you determine the sound which will be associated with the voices. You can have as many waveform lines in the song as you would like, so you can change the sound of a voice as often during the playing of the song as you would like. (to exit, type ) $UEOX The exit line marks the end of a song segment which is to be played as a chorus. It is also used at the end of the main song to keep the chorus to be played at the end of the song. See the section about the chorus call for examples of the use of the exit line. (to exit, type ) $UEOK The editor will keep track of both a flat and a sharp signature as you edit. Using this option will permit you to set the signatures and to change them at any time during the editing process. Two methods are provided for you to set them. 1. You may indicate the number of sharps (or flats) by typing a number. This assumes the conventional "circle of fifths" method of relating key signatures. 2. You may enter the actual letter names of the sharps (or flats) to be in the key signature. No assumptions are made here. You can have any signature combination of sharps and flats that you would like. (to exit, type ) $UC You compile a song by typing the C command while in the Musicraft menu. If you have declared a working song, the compiler will automatically load the source, compile an object and save the object. The Musicraft menu will again appear. If there is no working song, the compiler will request that you name one. After you have done this, the compiler will proceed as above. If you wish to run the compiler from the CP/M command mode you may type the following: A> COMP The song name is optional but if you don't specify it, the compiler will be obliged to ask you for it later. (to exit, type ) $UW You create and change waveforms by first typing the W command while in the Musicraft menu. This will cause the waveform editor menu to appear. Included in that menu is a H(elp command so I won't go into any details here. If you wish to run the waveform editor from the CP/M command mode, you may type the following: A> WAVE (to exit, type ) $UP Type a.. I to learn how to initialize the play program, P to learn how to use its interactive facilities, J to learn about the jukebox facility in play. (to exit, type ) $UPI:UPI1 You play one or more songs by typing the P command. If you have declared a working song, the object file for that song will be loaded. If you wish to play one or more songs from the CP/M command mode, you may type A> PLAY The song name is optional and if you wish to play more than one song, you must not include the song name. In either of the two methods of invoking the play function, if you did not name a song, you will be asked to identify the song to be played. You should answer this request with the song name followed by . After this song has been loaded, you will again be asked to identify another song. As long as you identify songs to be played, you will be asked again. You terminate this process with a without the song name. (to continue reading this, type ) $UPI1 The next step is the waveform load phase. The play program comes equipped with the waveform tables preset to various common waveforms. You can overide these for a session by identifying waveform files as you are requested. You can also overide these defaults permanently with different versions of the play program by following the instructions given in the modification frames of this help file. There are several possible responses to each waveform file identification request from the play program. . you can type a "0" (zero) to clear the table, . you can name a waveform, . you can type an "*" to leave the table unmodified, . you can type an "=" to leave all the remaining tables unmodified. . you can type an integer from 1 to 14 to copy the corresponding table, In any case, follow your response with a . After the waveform tables have been loaded, the music begins to play. (to exit, type ) $UPP The play facility has two interactive capabilities. Type a.. P for the play-along and practice features, K for the programmable interactive keyboard, (to exit, type ) $UPPP There are two features which help when you wish to practice playing music with the computer. The first is the ability to silence a voice (the one you want to play) by clearing the waveform that you have assigned to that voice. The second is the ability to restart at any measure in the piece at any time you wish while the music is playing. To silence a voice, you must do two things: 1. When you edit the song, assign to the voice a waveform table that is not used by any other voice. 2. When you play the song, specify 0 (zero) for the waveform table when you are asked. To restart a song at any point, you must do two things: 1. When you edit the song, make sure that you place measure lines in the song at the proper places. 2. When you play the song and you wish to restart at some measure, press . Then give the measure number when you are asked. The play program will pause briefly before playing so that you can get your instrument into position. (to exit, type ) $UPPK You may use your terminal keyboard to randomly play sections of your song if you do these two things: 1. When you edit the song, use the label option at each point in your song that you wish to play from the keyboard. Assign unique keys to each label when you are asked about "label keys". These are the keys on your keyboard which will be associated with the labels. 2. When you play the song and you wish to play some song segment, press the key you have assigned to that segment. The segment will play without pause. Note that you can use this facility to change waveform assignments on the fly, so to speak, by placing waveform assignment option lines in labeled song segments. One composer friend of mine is working on a large-scale composition which involves three Musicraft systems, all being played in exactly this manner. He will conduct, and we will all play. (to exit, type ) $UPJ If you have a set of songs that you would like to play with as little trouble as possible, you can use the Jukebox function to make song selections. You can have as many jukebox menus in your system as you would like. Each menu can describe up to 10 songs and you use this facility by doing two things: 1. Use the jukebox edit facility in the utility (U commamnd) to create and edit each jukebox menu. 2. Specify the jukebox menu instead of a song when you play. After the menu is loaded, it is displayed on the screen. You select one or more songs to be played by typing the keys you have assigned to each song in the order you wish to play them. Then press . They will be automatically loaded and played in order without further attention on your part. You must be sure that the songs are on the same disk as is your menu. (to exit, type ) $M If you would like to create a new version of the play program which uses different waveforms, press P. Otherwise, if you want to know more about the source material for the system, press S. (to exit, type ) $MP The 14 waveform tables of the play program have been pre-loaded so that you do not need to fill them when you play a song. You can override any one or more of them at any time you wish by specifying other waveform files when you load a song to play. You can also create other versions of the play program by loading the tables with your choice of waveforms and then saving the new version of the play program. I have left a special song file, called "WAVES", on the song disk which will aid you in doing this. It is a very simple song..it has no notes and will make no sounds..but it will cause the play program to ask you to load all 14 waveform tables. Use the edit facility to look at it. To build a new play program, here is what you do: 1. create the waveforms that you wish to place in the play program by using the waveform editor. 2. type (you cannot do this step using the P_command).. A> PLAY B:WAVES 3. as you are asked, specify each of the waveforms you wish to include. 4. when the exit menu is presented, type 4 to return to CP/M. 5. type.. A> SAVE 34 XPLAY.COM When you use the P_command, MUSIC will always load PLAY, so if you wish to use XPLAY instead, you should change the name of PLAY and then change the name of XPLAY to PLAY. (to exit, type ) $MS:MS1 The system is comprised of seven programs: 1. MUSIC acts as central control 2. SETUP builds the configuration record 3. EDIT permits creation and change of songs 4. COMP converts songs in symbolic notation to numeric notation 5. WAVE permits creation and change of waveforms 6. PLAY provides the sound generating facility 7. UTIL everything else that the system does. At the source level, these programs are collections of source modules which were designed for editing convenience. (to continue reading this, type ) $MS1:MS2 The following describes the composition of each of the seven programs as source module sets: MUSIC = CPM.SRC, MACROS.SRC, MUSIC1.SRC, CUTIL.SRC, CIOS.SRC, MUSIC2.SRC SETUP = CPM.SRC, MACROS.SRC, SETUP1.SRC, FLOAT.SRC, CUTIL.SRC, CIOS.SRC, SETUP2.SRC EDIT = CPM.SRC, MACROS.SRC, EDIT1.SRC, EDIT2.SRC, EDIT3.SRC, EDIT4.SRC, CUTIL.SRC, CIOS.SRC, EDIT5.SRC COMP = CPM.SRC, MACROS.SRC, COMP1.SRC, FLOAT.SRC, CUTIL.SRC, CIOS.SRC, COMP2.SRC WAVE = CPM.SRC, MACROS.SRC, WAVE1.SRC, FLOAT.SRC, CUTIL.SRC, CIOS.SRC, WAVE2.SRC PLAY = PLAY1.SRC, CIOSP.SRC, PLAY2.SRC UTIL = CPM.SRC, MACROS.SRC, UTIL1.SRC, CUTIL.SRC, CIOS.SRC, UTIL2.SRC In order to assemble any program, you must use PIP (or similar) to catenate the modules in the order described above into a single file. To assemble, you must use MAC or an equivalent macro assembler. (to continue reading this, type ) $MS2:MS3 The general purpose modules are briefly described below: CPM.SRC (TRS80.SRC) sets assembler switches for proper assembly for the target machine. MACROS.SRC defines the macros used in the source. FLOAT.SRC provides the basic four floating point operations. CUTIL.SRC (TUTIL.SRC) provides for multiply, divide, and string handling facilities. Also includes the configuration loader. CIOS.SRC (TIOS.SRC) is an i/o interface module which goes between the Musicraft i/o conventions and the CP/M (TRSDOS) i/o conventions. CIOSP.SRC (TIOSP.SRC) is CIOS.SRC modified somewhat for the Play program. By using the modules in parentheses at the proper places in the catenation descriptions above, the system will automatically assemble correctly for the TRS80 model 1. (This with the sole exception of MUSIC which does not have proper coding to load an overlay for the TRS80.) (to continue reading this, type ) $MS3 A few modifications come to mind: 1. A directory subroutine in UTIL which sees only song names and wave names. It would present the songs and then the waveforms. The state of the songs (ie., whether they have been compiled or not, etc.) would be reflected as well as the number of song lines in each song. 2. Currently, the tempo line is used by COMP in computing the numeric durations for each song line. It would be great if the tempo lines could be left in and dealt with by the play program instead. The speed of the song could then be controlled interactively. Doing this, as far as I can tell, would lose some of the tempo possibilities, however. 3. It would be relatively easy to modify the play program to accept input from a synthesizer keyboard. I have done it as a patch. It would be best if it were done using the interrupts. I didn't do that. After you have used the system for awhile, you will probably think of others. (to exit, type ) $P:P1 The manual is stored on diskette as a set of files, each of which are small enough to be edited with my UCSD Pascal editor program on a 64k system. To print the manual, you must present the files to your printer in the proper order. While I used a Pascal formatted print program that I wrote to print the files, you can use the print program included on this diskette to dump the files, or change the format commands in the text to match whatever print program you have available. The list of the files in their proper order is: name description INTRO.DOC contains table of contents and brief overview. CHECK.DOC describes how to check out system. is fairly out of date. PROG1.DOC describes the song editor in detail. PROG2.DOC describes the compiler and the waveform editor. PROG3.DOC describes the play program. OPTNS.DOC describes the special commands such as repeats, chorus calls and returns, and other options which are provided for in the system. (to continue reading this, type ) $P1 APND1.DOC describes the setup parameters and some of the error messages. APND2.DOC finishes the error messages and describes the song file format(not including the percussion field.) You should be aware that, in some ways (which I hope are more or less cosmetic) the manual is inaccurate. It does not describe the utility U_command at all but talks briefly about a PRINT program which no longer exists but which was incorporated into the utility facility. Also, the manual was written before the Musicraft Menu program was written so no mention will be found of that. There are some few add- itional capabilities in the system which are not documented and there is one feature which was withdrawn (I just remembered) and that is that the octave can now be broken into either 12 (chromatic) or 96 (microtonal) intervals. Other descrepencies must be resolved by examination of the programs themselves. (to exit, type ) $$ .