Documentation for WindowDialer version 0.80, released 31/12/91
--------------------------------------------------------------

WINDOWDIALER 0.80 FEATURES...
-----------------------------

 Four different tone sets, CCITT 5, CCITT 5 Reverse (Exchange), Bell & DTMF
 All dialable tones included, 0-9, *, #, A, B, C and D (D only for DTMF)
 PLAY function for playing your own custom tones
 200 character dial scrollback
 200 character record buffer with in-dial PAUSE and TONE CHANGE
 All features accessable by mouse and almost all by keyboard
 Auto-detects KickStart 1.2/1.3 or 2.x and alters graphics colours to
ensure correct rendering of user interface under any AmigaOS
 User selectable tone LENGTH and GAP
 4 pre-programmed special tone buttons, 2400Hz with tone length set by
LENGTH, and 2400Hz, 2400+2600Hz and 2600Hz with length preset to 0.2/Sec
 Written in 100% Assembly language
 Uses a total of about 23K when up & running

 Note that the pre-programmed tones were requests by users, and therefore
 you may not find them of much use to you.

QUICK-START...
--------------

    If you don't feel like reading all about the ins and outs of
 WindowDialer, then this is for you...

 1/ STARTING WD...
    WindowDialer can be started from either the CLI or the WorkBench. There
 are no CLI arguments, just type WD and you're off. It doesn't auto-detatch
 but you can RUN, RUNBACK, or ARUN ... NOIO it.

 2/ GET DIALING...
    Select the tone set you want to use by clicking on the gadget in the
 bottom left of the window. When you first start the programme this will
 say CCITT, and each time you click the it it'll advance to the next tone
 set.
    Once you have selected the tone set you want, for example DTMF if you
 want to dial out on an Australian exchange, then simply get a set of
 earphones, hook them up to your stereo or monitor and place the left
 speaker against the mouth piece of your phone. Now start trying to dial,
 and adjust your volume level and/or graphic equalizer until the exchange
 accepts your tones. You'll want the volume at about half and high treble
 &  bass, with the mid-range frequencies in the middle (at 0). Once the
 exchange reliably recognises your tones you're set.
    Now you can dial away. Remember that everything that you'd ever really
 want to do via the keyboard is available on it. See the "USING THE
 KEYBOARD" section later in these docs.

 3/ LEAVING THE PROGRAMME...
    Hit the QUIT button up in the top left.

    If you want to know what the rest of those buttons do, look in the
 "ADVANCED FEATURES".

WINDOWDIALER BACKGROUND...
--------------------------

    WindowDialer originated because of the need for a small, but reasonably
 powerful dialer for the Amiga. WD version 0.51a was the first programme I
 ever wrote on the Amiga, and as such had some annoying bugs. The release
 had a serious bug in it that could crash the machine, but that is now
 fixed. As far as I know there are no bugs in this release, it's been
 checked with a fine tooth comb, but as it's very messy in there something
 weird may have slipped by me. It's been tested on 1.2, 1.3 and 2.0 and
 runs fine. There are only two things to watch... Firstly, I use what are
 called Raw Key Codes. These are not processed by the Amiga, but are sent
 directly from the keboard. Therefore if you have an odd keyboard like a
 French AZERTY then you may find that some keys are in odd places. Why is
 this? Well, it's so that the ()/* keys on the top of the keypad work
 without you having to SetMap USA1. Since I don't know who's going to be
 using it, It's written to be most convenient to the users I know.
 Secondly, I address the sound chip directly because I'm lazy. So make sure
 that nothing tries to play a sound wilst WD is playing tones and
 vice-versa because you may crash the computer. No-one I know has any
 problems with this, and it's been being used a lot in conjunction with
 JR-Comm so I don't think you'll have serious problems. If you do, direct
 them to NIL: until I get a permanant mailing address. WD 0.72 Beta did one
 or two things I was not happy with, that's been fixed now.
    I no longer belong to \X/arlock, but to CR/\SS, so WindowDialer is now a
 CR/\SS release.

ADVANCED FEATURES...
--------------------

    I'm going to cover advanced features before I look at the keyboard,
 since there's no point in me talking about gadgets that you've never heard
 of.
    If you've run the programme (and I assume you have, otherwise you're
 likely to get lost) then you'll have noticed that two of the buttons are
 depressed when the programme starts up, whereas the rest are raised. The
 reasons for this are as follows...
 1/ The D key is depressed unless you are in DTMF mode, since none of the
 others have a D key.
 2/ The PAUSE button is depressed unless you are in RECORD mode, or an
 in-dial pause is in effect.

    Now that that's done, I'm going to cover the buttons that weren't
 mentioned in the quick start first...

 1/ THE SCROLLBACK...
    The scrollback is the bar at the top of the window with two arrows on
 either side of it. It allows you to view up to the last two hundred
 characters dialed, including displaying tone set changes and
 pre-programmed tones. Clicking on the arrows allows you to scroll back and
 forth if there's more than can be displayed on screen at once.

 2/ THE MEMORY...
    The scrollback display also acts as the memory. Under it you'll see
 three buttones, RECORD, CLEAR and REDIAL. Clear will erase the scrollback
 at any time whether you're in record mode or not, so that if you don't
 want all that garbage in the buffer you just have to hit CLEAR. The RECORD
 button is a toggle gadget. Click it once and it'll go down and record mode
 is active, hit it again and it will return to its raised position and
 record mode is terminated. When you activate record the first thing that
 will be done is to clear the buffer, so note anything you need from the
 scrollback before entering record mode. Once recording you will notice
 that the PAUSE gadget will become active. This PAUSE gadget is there to
 allow you to stop the redial part way through. When an in-dial pause is
 activated you'll see the PAUSE gadget pop up and the computer will wait
 for you to either hit the SPACE BAR or click the PAUSE gadget. You can
 change the tone set mid-way so that you could have the computer dial a
 number in DTMF mode, pause until you heard an acknowledge tone and then
 hit the space bar and have the rest of the number dialed in CCITT 5. The
 PAUSE will appear as a slash ("/") in the display, and a tone-set change
 will appear as an 'at' symbol ("@"). Note that in RECORD mode the computer
 will remember what dial mode you were in when the display was last reset
 (by starting the record process or hitting clear) and will put the dialer
 back into that mode before starting a redial. Afterwards you will be left
 in the dial mode that you were last in when you stopped recording.
    Note that no matter how many times you change dial mode, either when
 recording or not, you will only see one "@" at a time. This is so that you
 don't fill the display up with "@"'s.
    Note also that you can start a redial in the middle of recording, and
 then continue afterwards without losing anything.
    Once record mode is terminated you won't be able to add any more
 characters to the scrollback unless you hit CLEAR. This is because I think
 it's more important to see what's in the memory than what's being typed
 immediately.
    Experiment with it anyway, and see what happens...

 3/ LENGTH AND GAP...
    These are simple enough. The LENGTH is how long a tone sounds for, and
 GAP is the space between tones. This is most important when using REDIAL.
 Some exchanges can handle tones being sent at speeds of up to 2/1 (LENGTH
 2, GAP 1), others will need slower speeds. 5/2 will work on most
 exchanges, but you may find that you'll have to drop back to 6/2 or even
 7/2 in some odd circumstances. All tone buttons except for the three that
 have pre-set lengths of 10 (2400 Hz, 2400+2600, 2600 Hz) are affected by
 the LENGTH gadget. Everything is affected by GAP.
    To the right of these is a RESET gadget. This will reset the LENGTH and
 GAP back to 5/2 as is its default.
    Note that the value for LENGTH and GAP are measured in 50ths of a
 second.

 4/ PLAY...
    In case the programme doesn't support a tone or dual (combination of
 two tones) that you need a PLAY gadget is included. To the left of the
 PLAY gadget are two numeric buttons. They both contain the value 50 when
 you start the programme, and will allow you to go up to 3500Hz. Just enter
 the frequencies you want and hit PLAY. You can include the PLAY as part of
 a redial but it will not remember different sets of PLAY tones, ie. it
 will only play what tones are in there when the redial is started. Whilst
 you can change the values in the gadgets in the middle of a dial the
 programme will not register the change until the redial ends.
    Above and below the PLAY gadget you'll see two thin buttons. These will
 allow you to activate and deactivate one or the other of the tones.
 Clicking on one will result in the respective numeric button depressing
 and thereby becoming inactive. Clicking on it again will reactivate that
 button. You can't deactivate both numeric buttons at once, trying to do so
 will cause the one you are trying to deactivate to do so, and the other to
 become reactivated.
    Again, experiment with it...

 5/ 2400VR...
    This is a button pre-set to play a pure 2400Hz tone. The Vr stands for
 Variable since its duration is set by LENGTH, whereas the ones below it
 are set permanantly to 0.2/sec.

 6/ 2400 HZ, 2400+2600, 2600 HZ...
    These are preset to play a pure 2400Hz tone, 2400Hz and 2600Hz tones
 together, and a pure 2600Hz tone respectively. The length for these is
 preset to 10.

    That about covers the special features. You should be able to get
 everything running smoothly with a bit of experimentation. Now for...

USING THE KEYBOARD...
---------------------

    I mentioned earlier in these docs that you could use the keyboard for
 almost everything. Well, you can. First of all I'll cover the numeric
 keypad (which is missing on the A1000, so A1000 owners don't bother
 looking for it...)
    The keys 0-9 on the keypad do the obvious. The asterisk ("*") is taken
 care of by the ENTER key, whilst the period (".") is the hash ("#"). The
 top three keys ("()/") look after A, B and C. D is not available on the
 keypad. The asterisk on the keypad is the equivalent of the "2040 Vr"
 gadget, whilst the minus and plus handle the "2400 Hz" and "2400+2600"
 gadgets.
    The rest of the keyboard goes as follows...
    The DEL key plays the 2600Hz tone, whilst HELP changes tone set. Left
 and right cursor keys scroll back and forth in the scrollback. the numeric
 keys at the top of the keyboard look after the numerals, whilst Shift-3
 and Shift-8 are the hash and asterisk keys. A, B, C and D do the logical.
 R starts and stops record mode, X clears the buffers and the SPACE bar
 starts the redial as well as taking care of the PAUSE button during an
 in-dial pause. When recording the PAUSE key is looked after by the
 keyboard slash. P takes the place of the PLAY gadget. You can use Shift-1,
 the exclamation mark, for the 2600 Hz tone, the V key for the 2400 Vr,
 minus or underscore ("_") for 2400 Hz and equals or plus for 2400+2600.
 The ESCape key will QUIT.
    For those of you with odd keyboards, here's my keyboard matrix that the
 programme expects to find (it's a standard USA1)...

        1 2 3 4 5 6 7 8 9 0 - = \
         Q W E R T Y U I O P [ ]
          A S D F G H J K L ; '
           Z X C V B N M , . /
      ALT A    SPACE-BAR    A ALT

    With the numeric symbols as follows...

UNSHIFTED: 1 2 3 4 5 6 7 8 9 0 - =
SHIFTED  : ! @ # $ % ^ & * ( ) _ +


THE END...
----------

    This programme is not overflowing with features, but it does do all that
 I have ever been asked to include. No-one has ever asked me to include a
 phonebook, no has asked for scripts. It is not the tidiest piece of code
 ever since it started as my first project and grew from there. Some updates
 have taken ages simply because I haven't bothered, others have come in
 quick succession. The BETA has been dropped, since this version is, as far
 as I know, bug free. It's been tested under 1.3 and 2.0, and should work
 fine under 1.2 too (probably 1.1 as well...). It's not a 1.0 release yet
 because I may one day add some more, produce tones legally via the system
 proper (I'm just too lazy...), and scan the keyboard properly (see previous
 excuse...). It is freeware guys! So don't complain too much, after all, it
 does only snatch 24K!!

    I hope you find the programme useful. If you don't know why anyone
 would want to dial such weird things then don't worry about it. Experiment
 with it if you find these docs bewildering. Have phun!

                         Nemesis of CR/\SS  31/12/91
