Renaissance '92 presents Composer 669 v1.1 (c) 1992, Tran The first 8 channel digital composer/player for the PC. Disclaimer: Composer 669 is Copyright 1992 by the author Tran (a.k.a. Tomasz Pytel). You are free to distribute the unregistered version of this composer and its documentation in any maner you choose. Including uploading it to BBSs, distributing through a software house, or including in any commercial package, provided that all the files are included and nothing has been modified. No fee may be charged for the composer itself other than the cost of the media on which it is distributed and any other small misc details the total of which shall not exceed $5.00. (This does not include the fee for the commercial product if any). This software is provided AS-IS. The author of this software will not be liable for any damages caused in any manner by the use of this software. By using Composer 669 you agree to all these terms. Contents: 1-A - Introduction 1-B - Requirements 1-B-1 - Memory 2-A - General overview 2-B - Composer colors 2-C - Configuration file 2-D - Directories 2-E - Command line options 2-F - List of keys 3-A - Instruments 3-A-1 - Loading and saving them 3-A-2 - Instrument loops 3-B - The song message 3-C - The status bars 3-D - The musical keyboard 3-E - SBPro mixer 4-A - Patterns 4-A-1 - Pattern tempo 4-A-2 - Order list 4-A-3 - Pattern breaks 4-B - Toggling channels on/off 4-C - Notes 4-D - Special commands 4-E - Blocks 5-A - Playing songs 5-B - Tracking songs 5-C - Saving and loading songs 6-A - Misc 6-B - Renaissance Note: All values in the composer are in hexadecimal unless otherwise specified. If you do not know hexadecimal, dont worry. You will pick it up very quickly just by looking at the number bars in the composer. 1-A. Introduction. Composer 669 is an 8 channel digital music composer/player. Thats right, digital. It uses digital samples as instruments in music pieces and mixes the output in real time, 8 channels into 1 on a mono system, and 8 channels into 2 on a stereo system. This results in much higher quality music than FM, and since the music is stored as instruments and notes, it takes up much less space than a full track digital music piece. Things like this have existed before, mostly on Amiga systems, and mostly in 4 channel versions. But lately, the technique of real time digital mixing has found its way to the PC world. This is the first player for the PC that gives you 8 channels to work with. The quality of the music you can create with this composer is very good to approaching professional level. 1-B. Requirements. To run this composer you must have the following hardware: 1) A 386 or better computer. 2) 2 megz RAM. (1408k extended). 3) A VGA card. 4) A Sound Blaster or a Sound Blaster Pro sound card. (On an SB you will get mono music, on an SBPro you will get stereo). 5) DOS 3.0 or above. When you run this composer, you must not have any memory managers or any other programs that run the system in V86 mode, and you must not have DOS loaded high. The best configuration would be a clean system, but you can experiment to see what TSRs and device drivers you can have in memory. 1-B-1. Memory. This composer requires you to have at least 2 megz RAM in your system, if you have more it will not be used. This is done to ensure that all 699 musics can be played on all systems. But dont worry, you will probably never even fill up the first half of the 1408k assigned for samples. You must also have 640k base memory in your system, not a k less! If the composer tells you that you do not have enough low memory in the system, it is because of 1 of 2 reasons: 1) You actually do not have enough free memory. (But on a 640k system, even with lots of TSRs, this is highly unlikely). 2) Your system reports that you do not have 640k. If you know you have 640k, then this is caused by one of 2 things: 1) You have your BIOS scratch RAM option set to number 2 in your CMOS. Run your setup program and set it to 1 if this is the case. 2) You have a virus in your system which locates itself in your Top-of-Memory. A virus would be doing this because no other type of program, to my knowledge, does this. A friend of mine ran the program and it told him he did not have enough low memory, so he scanned his system and found he'd been infected with the Stoned virus. Note: Before going on any further, if you have not yet ran the program, then read the file BUG.DOC and then run the DEMO batch file. You may have to clear up your bootup configuration. After seeing what you just got, return to this doc and read it. 2-A. General overview. Composer 669 lets you create and play 8 channel digital musics. Each music can have up to 64 instruments using a maximum of 1408k memory. The max size of each sample (the words instrument and sample will be used interchangably in this doc) is 1 meg. Each music can have up to 128 patterns, a pattern a small chunk of music and it will be explained in more detail later in this doc. Each pattern is made up of 64 rows, each of which can contain a note to be played on each of the 8 channels. Instruments are loaded and saved as pure digital files, and you can also load and save .VOC files as instruments. The composer runs in VGA 80x50 text mode, and I tried to fit as much information as possible onto the screen. You will do almost all your editing on this screen. All the commands in the composer are usually available in 1 keystroke. The mixing and output is done at 12kHz. 2-B. Composer colors. The color setup of the composer can be changed to whatever you like. At any one time there are 8 color sets for you to switch among instantly, and any color in any of these sets can be changed to anything you like. To edit the composer colors, hit ALT-F10 from the main screen. A window will appear with the 8 color sets you have to choose from, with the currently selected set highlighted. If you are running the composer for the first time, you will have the 8 default color sets to choose from. To change the active color set, press up and down on the cursor keypad, the colors will be changed instantly to those of the set you have selected. You can change any color in any of the sets. Do this by using the left and right arrow keys to move the pointer on the right to the color you wish to change. Then you can change that color by using the keypad keys 1,2,3,4,5,6,7,8, and 9. You can select the RGB values for that color. The values range from 0 (none) to 3F (full) value for the red, green, and blue components of the color. You can also change the name of the active color set by pressing SPACE or ENTER and then typing in a new name. Press ESC to exit color editing. But if you want the changes you made to remain for the next time you run the composer, you must save the configuration file by pressing ALT-F11. 2-C. Configuration file. The composer will run with or without a configuration file. You can create this file by pressing ALT-F11 on the main screen of the composer. This file will be created in whatever directory the composer is in, this may or may not be the same directory you are running it from. Every time the composer is started, it looks for this configuratin file in the directory COMPOSD.EXE is located in. If it does not find it, it runs with the default values for everything and any command line options you used (command line options will be explained later). If the file is found, it is loaded and used to set up the composer. Any command line options that you used will be checked after the config file is loaded so they will override any config options. The information the config file stores is the following: 1) The mixer settings for the SBPro (to be discussed later). 2) The song and instrument directories. 3) The color sets and the active set. You can delete the config file if you wish, there will be no ill effects to the composer other than loosing any info that was in the file. 2-D. Directories. The composer uses 3 basic directories. Its own base directory (usually \COMPOSD). A .669 song file directory (usually \COMPOSD\669). And a sample directory (usually \COMPOSD\INS). The base directory is always set to the directory the composer resides in and is used only to save the config file. The song directory is the directory the composer will load and save .669 music files to. The instrument directory is the directory the composer loads and saves all instruments to. The song and instrument directories must be specified before any of their respective file types are loaded or saved. They can be specified in the composer by pressing F9 to enter the song directory, and F10 for the instrument directory. They will automatically be loaded from a configuration file if one exists. You can also specify them from the command line, if you do specify them on the command line, they will override the config file. 2-E. Command line options. There are 5 command line options you can specify, they are: /s - Sets the song directory to the string directly following this switch. /i - Sets the instrument directory. /f - Loads the music file directly following this switch. You must not specify a path name or extention, the music will be loaded from the song directory from the config file or the /s switch. If there is no config file and you did not specify the /s switch, the composer will look in the current directory for the file. /p - After the music is loaded, it will be played once and then the composer will quit to DOS. This is useful for playing groups of musics from a batch file. /c - Sets the color scheme to the number following this switch (0-7), overriding the default active color set. Example: COMPOSD /S\MUSIC /I\VOCS /FMUSIC1 /C4 /P This command line will set the song directory to '\MUSIC', the instrument directory to '\VOCS'. Then it will load the file 'MUSIC1.669' from the song directory and play it, when the song finishes it will quit to DOS. And it will do all this in color set #4 which is by default 'Swamp Green' 2-F. List of keys. This is a list of all the keys as would appear in the composer by pressing ?. It is provided only as a reference, at this point you will not know what they mean but you may want to refer to it as you read this doc. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Notes... ÚÙ k - key on keypad ³ s - only on SBPro ³ a - available when tracking music ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³Common: ³ ? - get list of keys k , - increase, decrease editing voice k *,/ - increase, decrease editing octave \,= - increase, decrease editing volume k Home,End - increase, decrease pattern tempo k , - increase, decrease editing sample k PgUp,PgDn - increase, decrease order k +,- - increase, decrease pattern k 5 - set editing volume F1 - goto instrument edit F2 - goto pattern edit F3 - goto order edit F4 - show info a F5 - play whole song a F6 - play pattern a F7 - play from order a F8 - stop playback F9 - change song directory F10 - change instrument directory F11 - load new song F12 - save current song ALT F1 - clear all instruments ALT F2 - clear whole pattern (not all patterns, just 1) ALT F3 - clear whole order ALT F4 - edit message ALT F5 - track song ALT F6 - track pattern ALT F7 - track from order ALT F8 - clear whole song ALT F9 - edit song loop ALT F10 - edit composer colors ALT F11 - save configuration info ALT F12 - change song filename a ALT 1-8 - toggle channels 0-7 on and off ALT X - exit program CTRL F4 - clear message as CTRL A,Z - increase, decrease master volume left as CTRL S,X - increase, decrease master volume right as CTRL D,C - increase, decrease voc volume left as CTRL F,V - increase, decrease voc volume right as CTRL G,B - increase, decrease line volume left as CTRL H,N - increase, decrease line volume right as CTRL J,M - increase, decrease mic volume Z,S,X,D,C,V,G,B,H,N,J,M - play notes C,C#,D,D#,E,F,F#,G,G#,A,A#,B on current voice using current octave, instrument, and volume Q,2,W,3,E,R,5,T,6,Y,7,U - play those same notes one octave higher ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Edit Order: ,,CTRL ,CTRL ,Home,End,PgUp,PgDn - move cursor [ - edit order ] - edit tempo for pattern in order Ins - insert order Del - delete order ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Edit Instrument: ,,CTRL ,CTRL ,Home,End,PgUp,PgDn - move cursor [ - edit loop begin for instrument ] - edit loop end for instrument Ins - insert blank instrument Del - delete an instrument SPACE - load new instrument ENTER - change instrument filename ALT S - save instrument as a pure digital file ALT V - save instrument as a VOC file ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Edit Pattern: ,,CTRL ,CTRL ,Home,End,PgUp,PgDn - move cursor , - increase, decrease current voice .,SPACE - clear row of current channel [ - edit instrument ] - edit volume ENTER - set pattern break here BS - enter command SHIFT BS - delete command ALT BS - set commands in block CTRL BS - delete commands in block Ins - insert row Del - delete row ` - pickup instrument and volume ALT J - jump to pattern ALT B - mark beginning of block ALT E - mark end of block ALT L - mark whole channel ALT C - copy block to buffer ALT Z - clear block ALT O - overwrite from buffer ALT U - unmark block ALT Q - block up an octave ALT A - block down an octave ALT W - block up a semitone ALT S - block down a semitone ALT V - set volume in block ALT I - set instrument in block ALT M - copy entire pattern to another pattern Z,S,X,D,C,V,G,B,H,N,J,M - enter notes C,C#,D,D#,E,F,F#,G,G#,A,A#,B on current voice using current octave, instrument, and volume Q,2,W,3,E,R,5,T,6,Y,7,U - enter those same notes one octave higher ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Edit Message: , , ,  - move cursor ESC, ENTER - leave message edit all other keys - enter message ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Edit Colors: ,  - change active color set ,  - change selected color ESC - leave color edit SPACE, ENTER - edit name of color set k PgUp, Home - increase, decrease selected color red value k ,  - increase, decrease selected color green value k PgDn, End - increase, decrease selected color blue value k  - set selected color red value k 5 - set selected color green value k  - set selected color blue value 3-A. Instruments. The instruments used by this composer are digital samples. That is, the are real instruments digitized. Since they are digital, they sound much better than FM like the Adlib uses. And because they are really digital samples, you can use anything as an instrument, voices, sound FX, or any digital sample. You can have up to 64 different instruments, as long as the sum of their sizes does not exceed 1408k. The maximum size of a sample you can have is 1 megabyte, but you will probably never use instruments larger than 128k, and most of the time you will probably use instruments in the range of 1 - 5k. 3-A-1. Loading and saving instruments. Instruments are loaded and saved from the instrument edit menu. To get to this menu, press F1 in the composer. You can move the highlighted bar around with the cursor keys and PgUp, PgDn ect... (all the keys are listed in the help in the composer, to get the help press ? on the main screen). The column of numbers on the left of the instrument names are the instrument numbers. To load an instrument press the space bar. If you have an instrument directory specified and there are files in it, you will be presented with a file list. Choose the file you want to load. If the file has the extention .VOC, it will be loaded as a VOC file, that is the header will be stripped and only the actual digital data will be loaded. A VOC file will be loaded correctly if the following conditions are true: 1) It consists of one block. 2) It is not packed. 3) It has a standard VOC header. If you wish to digitize VOCs and load them as instruments, the guideline is that the sample, played at around 8740Hz, should be the middle C of the instrument, or whatever youre digitizing. Anything that does not have a .VOC extention will be loaded straight as a pure digital file. Since there is no way of distinguishing pure digital sample files from other files, you will be able to load any file as an instrument. Although any files other than digital files will probably sound like garbage. You can save any instrument as either a pure digital file or a .VOC file. But you must make sure that the instrument name is a valid DOS filename. Since some people like to replace instrument names with messages, you may have to rename the instrument first (press enter on the instrument) to a DOS filename. If youre saving the sample as a VOC file, any extention the instrument had will be replaced with .VOC. The VOC will be unpacked and the sampling rate will be 8740Hz (which should be the middle C of the sample). 3-A-2. Instrument loops. Sometimes you may want an instrument to keep playing over and over without stopping, like for instance you may want a string instrument to keep playing a note after it has been struck. You can do this with loops. In the instrument edit screen, there are 3 numbers following the instrument name. They are: the loop beginning, the loop end, and the length of an instrument. If the loop end is numerically less than the instrument length, the sample will loop over and over. After the instrument is played, when it reaches the loop end, the instrument will be reset to the loop beginning, that is the offset within the instrument will be set to the value of the loop begin. The default values for the loop beginning and loop end are 0 and FFFFF respectively. Since the loop end is FFFFF, no matter how large the instrument you load, it will always be smaller than the loop end number. Examine how the loop is used in the demo song. 3-B. The song message. In the middle upper section of the screen, there is a black rectangle. This is the song message area. You can enter any text you wish in this area and it will be saved in the 669 music file along with the music. This is just a little area where you can put some info like the name of the song, author, date of creation, ect... But you can put anyting in here including leaving it blank. To edit this message press ALT-F4 from the main screen. Use the cursor keys to move around and type in text. Pressing ENTER or ESC will leave the message editing. Pressing CTRL-F4 on the main screen will clear the message. 3-C. The status bars. There are 3 status bars on the screen. One at the top of the screen, one at the bottom, and a vertical row of values in the middle of the screen. The status bar at the top is the simplest. It contains the Copyright notice, the sound card detected in the system, and the filename of the song youre currently editing. The status bar at the bottom contains 6 values: 1) Tempo - The basic tempo of the pattern youre currently editing. 2) Octave - The base octave for entering and playing the notes. 3) Voice - The current voice selected for editing and playing on. 4) Pattern - The pattern youre editing, it is displayed in the largest part of the screen just above this status bar. 5) Order - The location of the cursor in the order list. 6) Mem - This value is in decimal and it represents the amount of memory taken up by the currently loaded samples. If you dont know what some of these refer to, dont worry, ill get to that soon. In the middle of the screen there is a group of 6 other values, they are: 1) Vol - The current volume selected for entering and playing notes. 2) Ord - This and the next 2 values are used to give you information when music is playing. This value is the order number in the order list which is currently playing. 2) Pat - This is the pattern that is being played. 3) Row - This is the row in the pattern that is currently playing. 4) Loop - This is the order to which the song will loop after reaching the end. 5) Inst - This is the instrument number youre currently editing and playing with. 3-D. The musical keyboard. For entering notes and playing instruments, the keyboard(computer) is partitioned a little like the keyboard(musical). That is, you have 2 full octaves on the keyboard to enter notes with. Here is a diagram: C# D# F# G# A# C# D# F# G# A# ÚÄÂÄÂÄÂÄÂÄÄÂÄÄÂÄÂÄÂÄÂÄÂÄÂÄÄÂÄÄÂÄÂÄÂÄÂÄÄÂÄÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³S³ ³D³ ³ ³G³ ³H³ ³J³ ³ ³2³ ³3³ ³ ³5³ ³6³ ³7³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÂÙ ÀÂÙ ³ ÀÂÙ ÀÂÙ ÀÂÙ ³ ÀÂÙ ÀÂÙ ³ ÀÂÙ ÀÂÙ ÀÂÙ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³Z ³ X ³ C ³ V ³ B ³ N ³ M ³ Q ³ W ³ E ³ R ³ T ³ Y ³ U³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÙ C D E F G A B C D E F G A B The lower keys represent the base octave and the upper keys play one octave above that. When you hit one of these keys, the appropriate note will be played using the instrument indicated by Inst in the middle group of stats. If this happens to be a null instrument, no sound will be generated. The note will be played on the channel indicated by Voice in the bottom status bar. And the octave will be the octave indicated by Octave in the same status bar, or 1 octave higher, depending on what key was pressed. The note will be played at a volume set by Vol in the middle stat group (a volume of 0 is silence). 3-E. SBPro mixer. If you have a Sound Blaser Pro, there will be a group of 7 vertical bars on the screen to the left of the middle stats group. These are the volumes of the SBPro mixer in the following order from left to right: Master volume left, right, Voc volume left, right, Line-In volume left, right, and mic volume. You can adjust these values to whatever you like using CTRL and one of the following keys: A,Z,S,X,D,C,F,V,G,B,H,N,J,and M. These keys are paired, upper and lower, to increase and decrease the volume of their respective channels. A and Z correspond to Master volume left, S and X to Master volume right, D and C to Voc volume left, ect... When you save a configuration file, these values are stored in it and the composer will set the mixer to those values whenever it is ran. These volumes only adjust the final output level of the music, they have absolutely nothing to do with the music itself. A misc note, on the SBPro the music will be in stereo, channels 1,3,5, and 7 will be played on the left and channels 2,4,6, and 8 will be played on the right. 4-A. Patterns. Patterns are a basic unit of music in this composer. They are groups of 64 notes on all 8 channels. Patterns make it easier to work on your music and to repeat certain parts of it in playback. The largest part of the screen is dedicated to editing patterns. On the lower half of the screen, you can see 32 rows of a pattern at a time. The numbers on the left are the row numbers within the pattern. 4-A-1. Pattern tempo Each pattern has its own individual basic tempo, that is a tempo that the notes in the pattern will be played at. This basic tempo is displayed in the bottom status bar for the pattern youre currently editing. It is also displayed in the order list for each pattern in this list. The tempo can be changed in the pattern itself if necessary through a special command (special commands will be explained later). You can increase and decrease the basic tempo of the pattern youre editing by pressing 7 and 1 on the numeric keypad. Lower values are faster, higher is slower. 4-A-2. Order list. The order list is the order in which the patterns of a music will be played. It is displayed in the upper right corner of the screen. There are 3 columns of numbers. The first column contains the order numbers, when setting the loop for a song, refer to this number. The second column are the actual pattern numbers to be played. The third column are the tempos for their respective patterns (the second column). You can edit the patterns and the tempos by moving to this section of the screen with F3, the pressing either [, or ] to edit the pattern number and tempo for that pattern. For example, if the list looks something like this: 00 00 4 01 02 4 02 01 3 03 01 3 04 03 4 05 04 3 06 ùù ù 07 ùù ù In playback, pattern 0 will be played first at its tempo of 4. Then pattern 2 at its tempo of 4, then pattern 1 will be played twice at its tempo of 3, then pattern 3, then finally pattern 4. After pattern 4 is played, the song wil loop back to order number 0 and start over. You can specify what order the song loop will loop to by specifying the Loop value in the middle stat group, you do this by pressing ALT-F9. 4-A-3. Pattern breaks. When a pattern is played, normally it is played all the way through from row 0 to row 3F. But you can specify where a pattern is to be played to by setting its break-point to something other than 3F. The break-point is displayed in the vertical column to the right of the row numbers of the pattern. A -B- in this column indicates the location of the break-point for the current pattern. The break point is the last row in the pattern that will be played before going on to the next pattern, thus if you set a break point at row 0, only row 0 of the pattern will be played whenever the pattern is played. 4-B. Toggling channels on/off. You can toggle the 8 channels on and off. The status of the channels is displayed right above the pattern edit part of the screen. Normally they are all On. But you can shut off any or all of the channels by pressing ALT-1 through ALT-8, these correspond to channels 1-8. When you toggle a channel off, its status light will change from On to Off. Anything that is played on a channel that is off will not be heard, including just playing the instruments from the keyboard. 4-C. Notes Ok, now for entering the notes. If you load up the demo song, you will see a whole bunch of notes and numbers in the pattern edit area. These are the notes to be played along with other information like the instrument to use, the volume, and any special commands. The notes have the following format: C 200Fd1 ÃÄÙÃÙ³ÃÙ ³ ³ ³This is the special command to apply to the note. ³ ³ ³ ³ ³ This is the volume at which the note will be played. ³ ³ ³ This is the instrument number to use. ³ This is the note to play and the octave to play it on. You enter notes by moving to the pattern edit screen with F2, then entering notes with the keyboard just as you would play them. When you enter a note, The note, octave, instrument, and volume will be entered. No special commands, you must specifically enter any special commands to be applied to the note. After you have entered a note, you may edit the instrument or volume to be used by pressing either [ or ] (same keys as in the order edit but you are no longer in the order edit, you are in the pattern edit). After specifying the new sample or volume number, the current editing values for either sample or volume will be set to the value you just entered. You can also change these values manually by using the keys 8, 2, 5 (on the keypad), =, and \. To find out exactly what these keys do check the key list in the composer by pressing ?. If you press ` on a note, that notes instrument and volume values will be copied to the current editing values. You do not have to enter a note though, you may enter only a volume, or only a special command, or both. If only a volume is specified then the volume of the output for that channel will be changed to that value. Thus you can set an instrument to slowly fade in by first playing it at a volume of 0, then gradually increasing the values like this: D#3000ùù (No special command was specified). ùùùùù1ùù (In the composer the instrument and volume numbers are displayed ùùùùù2ùù in different colors so you dont get confused). ùùùùù3ùù ùùùùù4ùù ect... If the instrument does not loop and it finished playing before the the song gets to the other volumes, they will have no effect. 4-D. Special commands. There are six special commands you can enter. To enter a special command hit Backspace in the pattern edit screen, enter a letter (a-f) then a number (1-F). The first 5 commands alter the way the note will be played, the sixth, 'f', changes the tempo in the pattern and has no effect on the note being played. All commands except 'c' can be specified as part of a note or alone. If they are specified alone, their effect starts where they were placed, not when the note was struck. If no instrument is playing on the channel where the command was encountered, there will be no effect (except for command 'f', it always changes the tempo). The commands continue to affect the way the instrument is played untill another note or command is encountered in the pattern (an 'f' command will cancel the effects of any previous command, but nothing cancels the effect of the 'f' command). The format of the commands is c#, where c is the command and # is the command value which is the user defined parameter for how much the command will affect the instrument. The commands are: a - Portamento up - This command will cause the frequency of the note to increase over time, the command value indicates how fast the pitch will increase. (For those of you who know what this means, the port is linear, not logarithmic). b - Portamento down - Same as 'a' but in the other direction. c - Port to note - This is the only command that requires there to be a note on the same line. This commands sets the note to portamento at the speed defined by the command value towards the note on the line. The instrument value of the note is ignored, but the volume is set to the volume in the note on this line. When the note reaches the destination note, the portamento is stopped and it continues playing at the destination note frequency. d - Frequency adjust - This command adjusts the frequency of the note currently playing a little bit. This is useful for when you have 2 notes playing at the same pitch using the same instrument, use this command to adjust the frequency of one of the notes to make it sound a little more harmonic. e - Frequency vibrato - This command sets the frequency of the note that is playing to vibrate. The command value specifies how much to vibrato the note by. Note: A command value of 0 on any of the previous commands cancels the effect of any previous command and sets the note to play normally. f - Set tempo - Usually you will set the tempo for the patterns through their basic tempo. But there are times when you may want to change the tempo within a pattern. Use this command to do it. The tempo will remain at this tempo untill another set tempo command or untill another pattern is reached in the order list (even the same pattern that is playing now). 4-E. Blocks. When editinig a pattern, there are times when you have to reproduce whole blocks of notes. Reentering all the notes would be extremely cumbersome. You can do this very quickly in this composer by using the block commands. Mark the beginning and ending rows of a block with ALT-B and ALT-E. The highlighted section of the info bar (the one where the patter-break resides) displays the location of the marked block. The actual block is only defined for one channel, the channel in which the cursor is located. Use ALT-L to mark the entire channel, this is equivalent to setting the beginning of the block at row 0 and the end at row 3F. You can perform several functions on a block. Pressing ALT-Q increases the octave of all the notes in the block, ALT-A decreases the octave. ALT-W and ALT-S increase and decrease the notes in the block by a semitone. You can set the volume of all the notes in the block to the current editing volume by pressing ALT-V, you can do the same to the instrument with ALT-I. You can set or delete a special command for all the notes in the block by pressing ALT-Backspace or CTRL-Backspace. Pressing ALT-Z will clear everything in the block, and ALT-U unmarks the block. To copy the block press ALT-C. Now you have the block saved in a buffer, you can do anything you want to the original data including deleting it. Pressing ALT-O copies the contents of the buffer to the row and channel the cursor is currently on. If the size (in rows) of the data in the buffer exceeds the size that is left between the location of the cursor and the end of the pattern, only that much information will be copied, but the contents of the buffer will remain unchanged. For example, if you wanted to copy all the contents of channel 1 in pattern 0 to channel 3 in pattern 5, you would do the following: 1) Go to pattern 0 and move the cursor to channel 0. 2) Hit ALT-L to mark the entire channel. 3) Hit ALT-C to copy the contents of the marked block to the buffer. 4) Go to pattern 5 and move the cursor to row 0 and channel 3. 5) Hit ALT-O to copy the buffer to the pattern. To copy an entire pattern to another one, press ALT-M. You will be asked which pattern to copy to. The contents of the pattern you are editing will be copied to the pattern you specify, any data that was in that pattern will be destroyed. 5-A. Playing songs. To play a song, press F5. This will cause the composer to start playing the song that is currently in memory. Technically, playback will start at order 0 and continue untill a blank is found in the order list, the song will then loop to the order specified by Loop. If the order 0 is a blank, no playback will be started. While the song is playing you can do anything, including editing the song itself, the order list, instruments, colors ect... You can even load and save instruments, the config file, and you can save the song. If you load a new song however, the playback will be stopped. You cannot however play the instruments, if you try, no sound will be generated. You can start playback at any order you want, provided that there is a pattern to play in that order. To do this, move the cursor in the order edit screen to the order you want to start playback on and press F7. Playback will start at that order. If you do not want to switch to the order edit screen, you can use 9 and 6 on the numeric keypad to increase and decrease the order. The current location of the cursor is displayed in the bottom status bar as Order. You can also play one pattern individually. Press F6, the pattern played will be the one youre currently editing. There does not have to be any valid pattern numbers in the order list in order for this command to work, the entire list can be blank. The pattern youre editing will be played over and over. Again, you can do anything while the pattern is playing, including switching to another pattern and editing it. Pressing F8 causes any playback to stop. 5-B. Tracking songs. If you want to watch a song as its being played, you can use the keys ALT-F5, ALT-F6, or ALT-F7 to start playback. These keys work just like the same keys without ALT except that the composer will begin to track the music as its being played. You will see what notes in that pattern are playing. You cannot do everything you can when tracking as you could when just playing the song. The only keys that work are ALT-1 through ALT-8, the SBPro mixer setting keys, and F5 - F8. Pressing any other key causes you to drop out of tracking mode back to regular playback. Pressing F6 during tracking however, works a little differently. The pattern that is currently playing will be the one to start playing over and over, not the one you may be editing. If you press any one of the tracking keys during normal playback, they will merely start tracking the song where it is currently playing, that is the song will not be restarted or anything. 5-C. Saving and loading songs. To save or load songs you must have a song directory specified. Press F11 to load a song. If you have the song directory specified and if there are and 669 songs in that directory, you will be presented with a list of them, just like when loading an instrument. Select the song you want to load and press enter. After it is loaded you can do anything to it, edit, play, ect.. To save a song, you must first specify a song filename. If you loaded a song this will be the filename of the song, but if you created it from scratch, you will have to enter a filename. Press ALT-F12 to do this, you must specify a valid DOS filename and no extention. After you have the filename set, press F12 to save the song. Saving the song can only be done in the registered version of the composer however. So if you do not have a registered version, this composer is basically only a 669 music file player for you since you cannot save any songs you have done. What is saved in the song filename is all the instruments, the song message, and any patterns that appear in the order list. This is very important because if you create a lot of patterns, and you dont specify them in the order list, they will not be saved! Technically, all the patterns below and including the numerically highest pattern in the order list will be saved. So if you specify only patterns 0 and 3 in the order list, the patterns that will be saved are actually 0, 1, 2, and 3. Note: Whenever entering a number or string in the composer, you can press ESC to abort. 6-A. Misc. Composer 669 was coded entirely by Tran of Renaissance. It runs in 32bit protected mode, using a V86 task to access only the DOS file routines. I could not explain all the functions of all the keys in this doc (the closest thing is the Key list which simply lists all the keys). You will have to use the composer and experiment for yourself. 6-B. Renaissance. Renaissance is a small group started in December of 1991. We are basically a music oriented group, but we do games and demos and stuff. We eventually intend to start a software company and do games... A game we did a while ago and released as freeware was a big hit here in NY, Kaeon... Like I said, we did that game a while ago, our skill has improved greatly since then... Our next major release will probably be Kaeon ][. This one should totally blow away the first one... We would have released this composer as freeware also, but we need the money. You know, to buy equipment and stuff, and basically for when we do start the company legally... And we feel $20 is a fair price... if you dont think so, dont register it, its your choice... You can reach us on one of our BBSs: The Sound Barrier (718)979-6629, sysop Daredevil This is our home board and main distribution site... The Master Computer (516)437-6749, sysop The Master Com a distribution site for our stuff... Darkfyre's Layr (212)799-5910, sysop Darkfyre a distribution site for our stuff... Our members are: Tran - Coder, some muzik and grafix. C.C.Catch - Great Muzik, ANSI. Mosaic - Muzik, some grafix. RadioIsotope - KILLER GRAFIX & ANSI!!! Daredevil - Distribution, and other misc... Acid Crash - Coder. Thanx go out to all those who helped out testing this thing...