User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

base:triad_midislave_manager_v1.1_docs [2015-04-17 04:34] (current)
Line 1: Line 1:
 +This helpfile contains:
 +1. What is the Triad Midislave Manager?
 +2. Getting started
 +3. The main menu
 +4. The MIDI-mode screen
 +  a. Channel
 +  b. Transpose
 +  c. Programme
 +  d. Concate
 +5. The sound editor
 +  a. Sound Number
 +  b. Name
 +  c. Definition
 +  d. Pulsewidth
 +  e. CTRL-byte
 +  f. Attack/Decay/Sustain/Release
 +  g. Macro speed
 +  h. Fixed note
 +  i. Pitching
 +  j. Vibrato
 +  k. Pulse vibrato
 +  l. Filters
 +  m. Macro definition
 +6. Loading and saving sounds
 +7. Upgrade, and the future of this program
 +8. Known bugs
 +9. Technical notes
 +10. Thanks to...
 +11. Address
 +====== 1. What is the triad midislave manager? ======
 +So, you've just recieved this program right? OK. If you've got a DATEL /
 +Siel+JMS / Passport or Sequential MIDI-interface (or compatible) and a keyboard
 +or sequencer, you're a real lucky person.
 +The whole idea of the midislave started way back in 1992, some late night in
 +Ljungby, while I visited my good friend Hans Axelsson (that is: TDM of TRIAD)
 +and we discussed the matter of 64-sounds. We talked about rerecording some of
 +TDM's old 64-songs with our MIDI-equipment, but as we had tried it before, we
 +knew the tunes never sounded the same after being transfered from the original
 +note-script to the MIDI-sequencer. Ofcourse there was nothing wrong with our
 +sequencer, it was the sounds that lacked.
 +So I said: "Look, I'll construct a program that reads the MIDI-bus and
 +replays the notes with the SID-chip. That should not be too hard."
 +Now I've done it, and the "Triad Midislave Manager" is the result. And now I
 +release it for the market. You can finger your keyboard, and there will be
 +sounds flowing out of your C64. Isn't that just wounderful? All of you who have
 +ever dreamed about using the C64 sounds in MIDI-arrangements, playing live on
 +your 64 or just play around with it - this is the program you need. Share and
 +Since I believe "Intellectual Property" (ie Copyright) to be equal to theft
 +from our common legacy of information, this program is released as freeware.
 +Releasing it as freeware also gives me the opportunity to use rude language in
 +the program and this documentation without having to worry about sensitive
 +customers, and also free me from any duties in maintaining the code and making
 +the users happy. Yes, it is supplied on what we call an "as-is" basis. If you
 +want me to implement new features and remove bugs, all you have to do is to ask
 +me nicely, and perhaps I will do it. I make no promises whatsoever, because I
 +don't WANT you to believe there is some market-sensitive organization behind
 +this program, it's just me.
 +I will not supply you with any standard disclaimers or legal bullshit, so sue
 +me if you think this program has made damage to your equipment or software. Any
 +court would believe you to be brain-damaged if you think you can nail a
 +freeware producer for supplying bad software. I assure you this program is not
 +a Trojan Horse.
 +====== 2. Getting started ======
 +Switch off your computer, insert your MIDI-interface, switch it on again. Then
 +load and run the midislave software. As soon as the midislave main menu is on
 +the screen, your 64 is reading the MIDI-bus for incoming commands. When the
 +menu is lit, turn on your keyboard. If you can't connect the MIDI-interface
 +with the keyboard, the problem is likely one of the following:
 +a. Your keyboard doesn't have a MIDI-port. You should have thought about this
 +before you bought you keyboard. Sorry to say this, but your keyboard is pure
 +b. You have not understood the VERY simple concept of MIDI-interconnections,
 +which means, you should connect a cable from MIDI OUT on your keyboard, to MIDI
 +IN on your MIDI-interface. If you can't see what's IN OUT and THRU on your
 +interface, LOOK ON THE BACK OF IT!
 +c. There is something wrong with your equipment. Highly unlikely. It's
 +probably your fault instead.
 +Once you've got this far, things will hopefully solve themselves. Set the
 +presets, go into MIDI mode, finger your keyboard and... Voila!
 +====== 3. The main menu ======
 +This is your command control centre. You can choose to enter MIDI-mode, the
 +sound editor or to load or save your sounds. Quite self explaining with the
 +exception for "Presets" described below. Oh, and by the way: you can't use your
 +joystick to choose from this menu. And you never will. This is a tool, not a
 +fucking game.
 +The preset section: This is where you select your MIDI-interface type. Press
 ++/- to change interface type (3 in all) and RETURN when finished. The
 +configuration is written to disk and the program is restarted with the new
 +interface configuration. I only know about these three Interface types thanks
 +to Frank Prindle who wrote a schematic for an interface, which is published on
 +Internet and available if you look around for it. I haven't tested the program
 +with any other interface than DATEL / Siel+JMS, so I can't assure you it will
 +work with the other types.If you have some other interface, please tell me!
 +In case you absolutely need it, you can hack the configuration yourself using
 +a machine-code monitor. Load the file called "-PROGRAM SETUP-" to $1000 and
 +edit the adresses used for Control, Transmit, Status, Receive, Reset and
 +Enable. The first four values are adresses to the 6850 chip and the 2 last
 +values are the byte-values being poked to the command register at startup.
 +Doing this requires knowledge of the 6850 chip configuration used by your
 +interface, something you could perhaps find out by hacking the software
 +distributed along with the interface. If you have an interface which doesn't
 +use the 6850 chip then WOW!, I've never seen such a thing... Almost all MIDI-
 +equipment use the 6850. The Triad Midislave can't handle any other hardware.
 +====== 4. The MIDI-mode screen ======
 +This is where the tricky things start. You can see a screen saying "Triad
 +Midislave Manager" and some lines of text. Is this all there is? Yes. This is a
 +sound program, not a graphics program.
 +Keys you can use in this mode are:
 +  +/- To increase/decrease option
 +  Arrows up/down To choose option
 +  Run/Stop to return to the Main menu
 +  CTRL To shortcut to the sound editor
 +The meanings of the different options are:
 +a. Channel. This is the number of the MIDI-channel the midislave is currently
 +reading. Valid figures are 01 thru 10 (hexadecimal) which gives you access to
 +all 16 MIDI-channels. If you don't know hex numbers: LEARN!
 +b. Transpose. Here you can transpose all played notes by a desired number of
 +halfnotes. Again in hex. You can also antitranspose using the same method. For
 +example +0C = up one octave, -0C = down one octave.
 +c. Programme. This is the number of the current sound. Valid figures are 01
 +thru 80, which makes a total of 128 different sounds, as on any good sound
 +module. I've given you the possibility to see the decimal number of the sound
 +here. Mainly because many keyboards and sequencers don't use hex... (Even
 +though I think they should!)
 +d. Concate. As you already know, the C64 has got only 3 voices, and you
 +simply can't do anything about that. This option tells the midislave how to
 +handle a situation where you press more than three keys at a time. If you have
 +CONCATE=YES, the notes you pressed first will be kicked out and replaced with
 +the newer ones. If you WANT the midislave to lock up the three first pressed,
 +not yet released keys, set CONCATE=NO. There is a simple way of avoiding all
 +this trouble: don't press more than three keys at a time. However, piano-
 +maniacs have a strange habit of doing so.
 +These are all options and keys on this screen really. There is aswell some
 +text in the windows giving you information that you might be interested in
 +during play. If you don't understand this (very simple) information, then just
 +forget about it and pretend it isn't there.
 +====== 5. The sound editor ======
 +Phew, this is the heavy one. (Had to put on som coffe here, recommend Zoegas
 +Skånerost.) Again you can press Run/Stop to reach the main menu, and CTRL to
 +shortcut to MIDI-mode. You can press Home to get home, and CLR to clear the
 +whole sound. (Careful!) I will state the rest of the options line by line:
 +a. Sound number. Here you choose the sound you want to edit. Key in the sound
 +number (in hex ofcourse) or use +/-. Very simple, really.
 +b. Name. State/Edit the name of the current sound. Valid keys are all letters
 +and numbers, space and Inst/Del.
 +c. Definition. You can't alter this one. I had some idea of making a
 +monophonic mode where you could only play one note at a time, using macros on
 +all three channels with ring modulation and such funny stuff. But I've not done
 +that yet. Maybe in the future, V3.0 or so of midislave.
 +d. Pulsewidth. If you're using pulse sounds (P-bit set in the CTRL-byte) you
 +state the pulsewidth of that wave here. A value of around $800 is recommended
 +for beginners. You can enter the digits directly or use +/-.
 +e. CTRL-byte. This byte tells you the main characteristics of your sound. If
 +you are familiar with C64 sound editors you will easily understand this one. It
 +is in hex, and you can key in the digits one by one. Since the gate bit -MUST-
 +be set, you can only enter odd numbers here. Easiest way to experiment: use +/-
 +. Beginners should use values of $41, $21 or $11 to get some decent sounds. To
 +the right you've got a binary representation of the CTRL-byte, so you can
 +easily see which bits are set. Soundwizards tend to develop a "fingertip" sense
 +for these bits.
 +f. Attack/Decay/Sustain/Release. Those four lines make up the velocity
 +(volume) curve of your sound. If you don't understand it, look it up in any
 +synthesizer book or the C64 programmers reference manual. Or just play around
 +with them until it sounds good. General rule: avoid big figures on "Attack" and
 +don't set "Decay" to 0.
 +g. Macro speed. Use +/- to select the macro speed. That is: how often the
 +crap at the bottom of the screen should step up by one, unless the end is
 +reached. A frame is a fiftieth of a second, which equals, for exaple: "4 Per
 +frame" means the macro is updated every 1/200th of a second. The normal is
 +"Every frame".
 +h. Fixed note. If you're making, for example, lasers or drum-sounds, this one
 +will be useful. If you've chosen a certain note here, the keyboard will always
 +trigger THAT note, unregarding which key was pressed. Use +/- to select note,
 +or DEL to disconnect this option.
 +i. Pitching. This defines the influence the pitch wheel will have on the
 +notes you're playing. You can pitch by halfnote, note, half octave or full
 +octave. (Not bad eh?) Thanks to Fredrik Schön (best swede at the computer
 +olympics in Stockholm) for sketching the interpolation algorithm for me in a
 +few minutes. Again press DEL to disconnect.
 +j. Vibrato. DEL disconnects. Pressing "A" gives you a fixed amplitude, a
 +certain speed divisor (relative to the macro speed) and a "Delay-before-
 +vibrato" value to play around with. You can't use +/- here, sorry. But there is
 +more! Press "W" and you can control the vibrato with a definable wheel on you
 +keyboard! (Most keyboards use Wheel $02 "Modulation" for this.
 +k. Pulse vibrato. Works exactly as the above, just that you can't set any
 +delay for the vibrato. And that the wheel actually don't control the amplitude
 +of the vibrato, it rather controls THE pulsewidth. (Pink Floyd used that kind
 +of effects a lot on their "Wish you were here" album).
 +l. Filters. Here you choose the filter settings. Here it is a lot easier to
 +understand what happens than with most other sound editors. TYP sets the type
 +of filter you use. Use +/- to select. LP means Lowpass, HP = highpass, BP =
 +bandpass and NC = Notch filter. The lowpass cuts the higher overtones (treble),
 +the highpass cuts the bass, the bandpass cuts both treble and bass (like a Wah-
 +wah) and the notch cuts a certain interval. The frequency determining the -20dB
 +threshold can be set with the FRQ value. The frequency will be something like
 +5,8*FRQ(Decimal)+30 Hz. (You need a calculator for that.) The low and higpass
 +filters attenuates by 12 dB per octave while bandpass and notchfilters
 +attenuates by 6 dB per octave. The resonance nibble will peak the frequency
 +nearest the threshold to make the cutoff sound sharper. But it sounds like
 +distorsion really. (Useful as such too) If you don't understand a shit of this,
 +don't bother. Only us electronic phreaks really bother. Play around with it,
 +and you'll soon enogh have that "fingertip" sense for these values. Sorry for
 +not implementing wheel reading on the filter - YET.
 +m. Macro definition. Unless you have a value of $FE in the first position
 +here, these steps will be gone through as described under "Macro speed" above.
 +You can change CTRL-byte, transposing and filtervalue (low byte) for each step
 +of the macro. You can use up to $46 different steps here, and either loop ($FF)
 +or end ($FE) the macro after these. You have the option of reseting the Gate
 +bit (bit 0 of the CTRL-register) in order to create certain effects, but be
 +careful! It might make your sound sound "instable". A funny way of using the
 +transpose value is to make "Arpeggio", which is: playing chords with monophonic
 +instruments. The theory behind this is very simple (skip this if you don't
 +understand at least a little bit of musical theory): your keyboard consists of
 +12 different notes: C C# D D# E F F# G G# A A# and B, in different octaves.
 +(Warning, most NORMAL musicians often use Eb instead of D#, Ab instead of G#
 +and Bb instead of A#.) These twelve notes can be combined into different
 +harmonies known as CHORDS. For example the Emajor-chord, consisting of the
 +tones E, G# and B (known as TONIC, TIERCE and QUINT in music theory), of which
 +E is usually played in the lowest pitch. To make this chord, assume that the
 +user will press the E-key on the keyboard, and call that note 0. The first
 +transpose value (step 01) should then also be $00. Then you want to play G#. G#
 +is 4 halftones higher than E, so the next transpose value (step 02), you set it
 +to $04. The last tone, B, is 7 halftones higher in pitch than E, why you set
 +the last transpose value (step 03) to $07. (Pay attention to that we are
 +referring to the lowest note (in this case E) all the way.) To create a
 +complete arpeggio you should the loop this macro by putting a value of $FF into
 +the last position (step 04). When E is triggered, all three notes will be
 +played ONE AT THE TIME, and then restared, and that will sound lika a chord or
 +some kind of. The funny thing about this is, that whatever key you press, the
 +midislave will produce a major chord with that key as tonic (the chord main
 +note). For most major and minor 3-tone chords the values of the transposemacro
 +will most often be 047 for major and 037 for minor chords, but as you see,
 +every chord can be calculated, even jazz if you like. Now, try to put G# as the
 +lowest pitch and move E up one octave. Assuming G# is pressed on the keyboard,
 +the transposemacro will be 038. Put B as the lowest and move both E and G# up
 +one octave, and assuming the user pressed B, the macro will be 059. Those three
 +variations of any 3-note chord, are known as VOICINGS. You can use them to
 +colorize your music. (Why don't they ever tell you these things in the
 +instructions for common 64-musicprograms?) Quick rundown: Major chord: 047, 038
 +or 059 - Minor chord: 037, 049 or 058, 047 and 037 are easiest to handle, when
 +you use 038 or 049 arpeggio you must press the tierce of the chord to play the
 +proper chord, and with 059 or 058 chords you will have to press the quint of
 +the chord you want to produce. (Easy, yes?)
 +====== 6. Loading and saving sounds ======
 +To load or save the soundfile, press these alternatives on the main menu. If
 +there is already a soundfile on the disk, it will be scratched and replaced
 +with the new one. Please note that commands (ie. program changes) sent during
 +load or save will not be recognized. This occurs due to the reading of the
 +MIDI-bus being switched off during load and save. (Disk routines in the ROM
 +uses timing, and don't want to get interfered with.) This doesn't mean I forbid
 +you to play while loading or saving, just that funny things could happen if you
 +do so. Things might hook up, due to the asynchronus realtime nature of the
 +====== 7. Upgrade, and the future of this program ======
 +If somebody else want to be involved in the evolution of this program, please
 +contact me. Also I DEMAND you to fill bug reports and send them to me. That's
 +the only thing you have to do. Or just PLEASE send a postcard telling me you're
 +using this program, just so I know there's somebody out there. If you send me a
 +disk, preferably containing your private sound-file, (so I can implement new,
 +nice sounds in coming releases) I will send you the next version as soon as it
 +is finished. Address at the end of this text.
 +====== 8. Known bugs ======
 +Don't report these bugs:
 +a. Sometimes when you shortcut to the soundeditor from MIDI-mode the sound
 +number goes -1 realtive to the last used.
 +b. Notes sometimes "hook up" in the slave mode. (Solution: Use
 +Sustain/Release=00 sounds if it bothers you (and it does))
 +c. Pitch doesn't work on chord, just affects the last note.
 +d. Author is sometimes very arrogant in the documentation.
 +e. Misspellings in the documentation.
 +====== 9. Technical notes ======
 +Triad Midislave Manager uses memory from $0801 to $f000 with a few glitches.
 +The MIDI bus is read by an $00f0-speed divisor NMI interrupt running all the
 +time except during load and save. The MIDI-mode section runs with the ROM
 +disconnected. The scales used for generating notes are NOT equally-tempered
 +since that sounds crap, but rather tempered like a normal piano or keyboard.
 +This documentation is written in Microsoft works on the PC and trasfered using
 +a vert smart RTF-file converter by me called GNYLF V1.1 (get it!). Your MIDI-
 +interface uses the 6850 ACIA (Asynchronus Communications Interface Adapter)
 +chip, the same as is used in the Atari ST(e) computers. The midislave has been
 +tested with Casio VZ-1, Roland D-50, Kawai K4 and Ensoniq SQ2 keyboards and
 +with Roland stand alone, Cubase 2.0, 2.01, 3.0 and Cakewalk pro sequencers. And
 +it worked out fine. The author used Zoegas coffe, Black Dog Productions, Pink
 +Floyd, Hawkwind, The Prodigy and various collections of trance music to get by.
 +====== 10. Thanks to... ======
 +TDM / TRIAD (Hans Axelsson) for all hints and betatesting. \\
 +STORMBRINGER / ONYX (Fredrik Schön) for algorithmic help. \\
 +CHRIS / ONYX (Christian Luddeckens) for lending of Midicables and keyboards. \\
 +ANDERS VON HOFFSTEN for lending me his Ensoniq SQ2 Keyboard. \\
 +DANE / TRIAD for cheering me up. (I will do 100% work on the demo now, I promise) \\
 +JERRY / TRIAD for the patience. \\
 +MOTLEY / G*P for always being such a happy and nice person. \\
 +TWOFLOWER / TRIAD for liking this program. \\
 +FRANK PRINDLE in the States for publishing the MIDI-interface schematic on Internet. \\
 +STEVE COWAN in Canada for support \\
 +and YOU for using and spreading this program! \\
 +====== 11. Address ======
 +If you want to report bugs, complain about something or everything, swap
 +software, music, coffe or swedish poetry and short-stories, if you just want to
 +make me glad, please write to:
 +King Fisher / TRIAD \\
 +Linus Walleij \\
 +Magistratsvägen 55 N:306 \\
 +226 44 LUND \\
 +Fone: +46(0)41868513 \\
 +E-mail:, \\
 +Homepage: \\
 +Usenet: comp.sys.cbm or \\
 +(But the extropian netnerds on Usenet really piss me off from time to time.) \\
 +And remember: We are all a part of the inevitable...
base/triad_midislave_manager_v1.1_docs.txt · Last modified: 2015-04-17 04:34 (external edit)