BRIAN'S SOUNDMON - DOC FILE On this disk you will find one of the most powerfull Amiga soundeditors. It was written over a period of four days and is written in 100% assembler (source is over 70Kb longs). The program is a combination of the C64 sound- monitor and the Amiga Soundtracker. I decided to write my own music-player, because Soundtracker did not match my needs (I hated entering drums every new pattern again). For those who already know the C64 soundmonitor it won't be difficult to use this one, for those who don't I wrote this docfile. In this V1.0 version I have not added a file-requester nor gadgets, so all functions are called by pressing function-keys (I find this quicker then gadgets, once you know them). The program knows multitasking, so in order to know what songs are on your disk, enter the CLI and type 'DIR BPSONGS'. For info about the F-Keys read the file BSKeys.DOC. A filerequester and gadgets will problably be added in a later version, so watch out for it. Well, once you start up the soundmonitor your screen will be build up in 3 parts. The first block (right on your screen) shows the used instruments (the active one is underlined), they should all read 'EMPTY'. The second block (top-left on your screen) shows the step-editor. The third block (bottom-left) shows the pattern-editor (should show pattern 1). This one's very easy, read the BSKeys.DOC file for how to select instru- ments. When you press 'F8' you can change some sample parameters, like name length, repeat, replen and default volume. Length: This is the length of the sample in bytes Repeat: This is the offset for the repeat part to the start of the sample. Replen: This is the length of the repeat part in bytes. Volume: This is the default volume in which the instrument will be played. You can use presets, so you don't have to find out what repeat and replen to use. Also do some samples don't have a repeat part, in this case repeat=0 and replen=2. (Again: read 'BSKeys.DOC' for how to use presets). One line of the step editor could look like this: ST PAT ST TR PAT ST TR PAT ST TR PAT ST TR 000 0001 00 00 0002 00 00 0003 01 00 0004 00 FC The first number is the step number and can't be changed. Then you see 4 times PAT, ST and TR. Where PAT is the number of the pattern to be played. ST is the SoundTranspose and TR the transpose. For each voice there is one PAT, one ST and one TR. All numbers in the pattern and step editor are entered in hexadecimal. -PAT Pattern numbers should go from $0001 till $155 (=341 patterns). It is better you don't use Pattern 1 for song data, because it is normally used as an empty pattern (no notes played). The pattern numbers is a 1 WORD (2 BYTES) number. -ST The Soundtranspose is a 1 BYTE 2-complement number. What does this mean ? This means: a 1 is a +1, a 2 is a +2, but a $ff (255) is a -1. 2-complement means that any number greater than $80 (128) is negative, and it's value is NUMBER-256 (so 255-256=-1) Soundtranspose is used to play all notes in the pattern with higher instru- ment numbers. For example: If soundtranspose was set to 1 and in the pattern you would play a note with instrument 2 it would be really be played with instrument 3. Since there are only 15 instruments possible, only sound- transposes from -14 to +14 are meaningfull ($0-$E and $F2-$FF). -TR The Transpose is also a 1 BYTE 2-complement number. Transposes are used to shift notes in the pattern. The transpose number indicates how many half-notes a pattern should be played higher or lower. For example: If transpose was set to $FC (-4) and I would play a C-2 in the pattern, a G#1 would really be played. You can switch between the step and pattern editor by pressing the 'RETURN' key. In the pattern editor you can enter the notes you want to be played. When you enter the pattern editor it could look something like this : PATTERN : $0002 C-2 1 0 00 --- 0 0 00 C-3 1 0 00 --- 0 0 00 C-2 1 0 00 C-2 1 1 20 C-2 1 1 18 C-2 1 1 10 C-2 1 1 08 C-2 1 1 00 C-3 1 0 00 --- 0 0 00 C-2 1 0 00 --- 0 0 00 C-3 1 0 00 --- 0 0 00 As you can see, there is room in the pattern for 16 notes. The first 3 symbols indicate the note to played (C-2 is a C on octave 2, there are 3 octave 1-3). You can enter these notes by pressing the key- board note keys (read BSKeys.DOC). The number after the note indicates the instrument in which the note will be played , in this example all notes are played with instrument 1 (this is a hex-number from 0-F). instrument 0 indicates that there is to play with the same instrument as used before. The next number is the option-select, read BSKeys.DOC to find out what options are available (also 0-F). The next 2 numbers are the data that a chosen option uses. In this example option 1 (volume setting is used), this means that some of the notes are played with other volume as the notes before (volume $20,$18,$10,$08 and $00 to be precise). The player is written in seka and can be used to play your songs, without the song-editor. There are 2 ways : 1-Save a module (F7): you must now adjust the length after the label BPSONG to the length of your module. Assemble the program and load the datablock created by the editor to bpsong. Now you can save the object file and load it from the CLI. If you want to use it in your own program, make sure you 'BSR' or 'JSR' to 'BPINIT' in the beginning of the program and 'BSR' or 'JSR' to BPMUSIC every vertical blank (This is heavy stuff, only for people that know something about interrupts). 2-Save a song (F2): You should know write down the length's of the samples used and the length of the song. Adjust the length after the label BPSONG to the songlenght and adjust the length's after S1-SF (sample1 - Sample15) to the length of the samples. Assemble and then load the song to BPSONG and the samples to S1-SF. You can leave out the BPINIT now (is not neccesary). I guess this should be of some help. It would take me too much time to write a real good manual, I think you should play around a little with the program and you will learn all by yourself. The Author: Brian Postma J.v.Hartenstraat 51 7576VX Oldenzaal (NL) tel:05410-14763