Commands of CHAOS MUSIC COMPOSER ==================== From L.K.Avalon GENERAL FUNCTIONS These functions works in every windows: 2...0, Q...P, S...;, Z.../ - Music keyboard TAB - Move from a window to another one SHIFT + [left] or [right] - Select channel (shown on the "equalizer") CONTROL + [left] or [right] - Select instrument CONTROL + [up] or [down] - Select pitch for the music keyboard (shown under the "equalizer") CONTROL + ESC - Quit the composer. To return, type "RUN" in the DOS. SHIFT + CONTROL + DELETE - Clear everything! WINDOW "INSTR" You can select or make instruments for your song there. If there is "!" after number of the instrument, it sounds O.K. only on the first channel. "+" or "-" before the number shows if is the instrument used in the current pattern. [left] or [right] - Select number of the instrument CONTROL + G - Select a pre-defined instrument: [up] or [down] - Selection RETURN - Confirm ESC - Abort While selecting, you can play with the current instrument on the music keyboard! CONTROL + E - Modify (or make) the instrument: [left] or [right] - Move the cursor [up] or [down] - Set volume TAB - Set the mark for drum RETURN - Confirm ESC - Abort At the right edge of this window there are four parameters. You can move the cursor there, and type in new values. (hex.) - First value does define the drum (marked with TAB). In the first half of this byte, these values are possible: 0, 2, 3 - Noise (modes 8, 12, and 4) 1 - Tone (mode 10) Second half of the byte is the difference between basic tone and the drum, but values D, E, and F gives allways the same pitch. SHIFT + [up] or [down] - Set "glide" effects there - The second value is the mode of sound. The first half of this byte is "physical" mode - the same as in BASIC's command SOUND. The second half gives special effects: 0, 2 - Normal tone 1 - Vibrato or Apreggio 3 - Bass tones (only as C3) !4 - Interference !5, !6 - "Synthesizer" sound !7 - 16-bit tones The modes marked with "!" are possible only on the first channel! - The third value gives the difference between basic tone and the final tone in your TV-speaker. The first half of the byte is for normal tone, and the second half is for "second" tone (Apreggio, Interference etc.) - And finally the last value is length of the sound after the defined part WINDOW "PATTERN" There you can type in the tones. The numbers at the begin of every line are the positions in the pattern. (There are max. 3 numbers - number of: 1/4, 1/16, and 1/64 of the pattern.) The begin is at "111". If there is "!" after the number of pattern, you can use it only on the first channel. "-" before the number of pattern meens that it is empty. First select the instrument, and then "play" the tones on music keyboard! SPACE - Clear the position [left] or [right] - Select number of the pattern [up] or [down] - Move the cursor CLEAR - Clear the pattern INSERT - Return the pattern after CLEAR. Repeat this in another patterns to copy the whole pattern there! CONTROL + T - Mark the begin of source to copy SHIFT + INSERT - Copy one line to the position of cursor. Repeat this to copy larger parts in a pattern! CONTROL + P - Play the pattern. You'll also hear a metronome. SHIFT + CONTROL + P - Play the pattern from begin. WINDOW "SONG" There you can link patterns to the song. Move the cursor with [left], [right], [up], and [down] keys, and type in numbers of the patterns. The patterns with "!" after the number can be placed only in the first column! You can also use some special functions. The parameters (for some of them) must be placed in the second (and third) column of the same line. SHIFT + T - Set a new (local) tempo SHIFT + R - Repeat. The first parameter is number of lines (after this one) to repeat, and the second parameter gives the number of repeats. SHIFT + U - Jump up (relative) SHIFT + D - Jump down (relative) SHIFT + J - Jump to a position SHIFT + B - End of a song (+ jump to begin) SHIFT + S - End of a song (+ stop) You can make several songs in one file, you only need to place some of the last two commands between the songs. CONTROL + T - Set the tempo CONTROL + P - Play the song. While the song is played, you can play on the music keyboard too! (And select channel, instrument, and pitch) In the window "song" there are also some I/O functions available: CONTROL + L - Load music CONTROL + S - Save music CONTROL + A - Change the adress, where the song will be in memory CONTROL + M - Save the replay-routine. You can enter any adress, where the routine will work, and then the routine will be saved - under the same name as in the last 'Load' or 'Save', but with ".REP". REPLAY ROUTINE To use music in your own programs, you need to load both *.CMC, and *.REP files into the memory. Both are DOS-loadable files. To start the music from BASIC, use: USR (replay, song_nr, music_adr) "replay" is the adress of replay-routine, "song_nr" is the number of the song (first is "1" etc.), and music_adr is the adress, where is the song itself (*.CMC file). To stop the music use: USR (replay) Note that it's not possible to start the music twice - you must stop it first! How to load the files into memory? An example is in the program DEMO.BAS. (The subroutine BGET in this program gives the adress of loading as the value of function USR.) For assembler there are two routines. You only need to insert JSR REPLAY+6 into (for example) VBI, and then you can use the second routine (at REPLAY+3) to control the sound: Play a song: A=$00 X=Number of song (first is 0!) Play a song: A=$10 X=Position in the song Play a tone: A=$20+number of channel X=Pitch Y=number of instrument Set tempo: A=$30 X=tempo Stop playing: A=$40 Interrupt: A=$50 Continue: A=$60 Initialize: A=$70 X=music_adr - low byte Y=music_adr - high byte The first action MUST be "Initialize". The difference between "Stop" and "Interrupt" is that after "Interrupt" the sound of instruments will continue. Simple example: LDX #MUSADR:L LDY #MUSADR:H LDA #$70 JSR REPLAY+3 ;Initialize LDX #0 TXA JSR REPLAY+3 ;Play the first song LOOP LDA 20 L2 CMP 20 BEQ L2 JSR REPLAY+6 ;Play... JMP LOOP *** Commands of "DOS 2.5 COMMAND PROCESSOR": DIR [fnam] - Disk directory ERA fnam - Erase file REN old_name new_name - Rename file. If the file "new_name" exist, it'll be erased!!! CAR - Go to BASIC (and turn it on if necessary) BOF - Turn the BASIC off MEM - Show MEMLO and MEMHI values RUN [adress] - Start program at given adress. If no adress is specified, it'll restart the last started program. To start a program type its name. *** Note: In the original manual there is also something about COS, and NCOPY (NameCopy). But with disk version it is not very useful. Second note: This is NOT a translation of original manual. This is only a list of commands of the Composer. (Some of these commands are missing in the original manual!) Jiri Bernasek - BEWESOFT - Prague, 93-03-22