Version history
===============
Note: Hardware control only works for W95/W98/ME and NOT for XP/2000!

Note: Without hardware you can use the program to generate Pronto learned
      code:
      . using the RCx fields and then activating the 'Generate' button
      . placing 5000/5001/6000/6001 Pronto data into the 'Pronto format data'
        window and then activating the 'Validate above data' button -> the
        RCx fields will chnage according to the remote control data within the
        5000/5001/6000/6001 code.

Note: The 'Repeat settings' are different for what kind of information it is.
      The 'manually' generated repeats of code only affect the generated RCx
      code and the recording data (not the proprietary formats).
      Since the proprietary formats are converted into a learned codes after
      validating and because the actual RC code is being reflected in the 
      'Generate RCx code' fields, you can use the 'Generate' button after
      validating to get the repeat code you want.

Note: Only when 'Repeats' is set to 0 a typical 'repeat code' will be generated
      (if 'Generated RCx code' is checked). If 'Repeats' > 0 then this repeat
      is generated by means of the actual repetition of the generated code.

V3.02
-----
. Possibility NOT using hardware (eg. only conversion part is being used)
. Default behaviour changed: no hardware used by default
. Incorrect 5000/5001/6000/6001 data is now reported

V3.01
-----
. Removed the VXD (all code now within the application itself)
. Can now control infrared devices on any arbitrary devices
  (no longer limited to LPT1 port)
. Added some support programs for controlling I/O directly


V3.00
-----
. Initial release (constructed from <RemoteIRDA> and <Pronto> application)



Reference
=========
This program can be used with either a Pronto on a serial port
or an IrDA device on the parallel port or any other port.
Alternatively it can be used not controlling any hardware at all)

Use the correct command line parameter to select the appropiate target device.

By default (without a command line parameter or an incorrect parameter)
a Pronto on COM1 is used.


Command line parameters:
   PRONTO                     Use NO hardware
   PRONTO 1                   Uses Pronto on serial port COM1 (default)
   PRONTO x                   Uses Pronto on serial port COMx
   PRONTO 9                   Uses Pronto on serial port COM9
   PRONTO LPT                 Uses IrDA device LPT1
   PRONTO IRDA                Same as 'LPT'
                              In fact, when using a single parameter any
                              parameter other than '1'..'9' selects the
                              IrDA device on LPT1
					
   PRONTO $37A $08 HIGH $379 $80 HIGH
           (1) (2) (3)  (4)  (5) (6)
                             Manual setting of output/input of IrDA device
          The manual setting must have 6 parameters. These are:
          (1)        Output port
          (2)        Output data
                     The 'Output port' is first read and then only the
                     'Output data' bits are changed to (in)active levels
                     and then written back to 'Output port'
          (3)        Active level (HIGH or LOW)
                     The output will usually also work with this set to the
                     incorrect level, although the infrared transmitter
                     will then be active when it is supposed to be idle
          (4)        Input port
          (5)        Input data
                     The 'Input port' is read and only the 'Input data'
                     bits are checked for there (in)active levels
          (6)        Active level (HIGH or LOW)
                     When this level is set incorrectly then recording
                     starts immediately
         Note that above example ($37A...) is identical to using LPT1 ....

   other example
      PRONTO $3FC $02 HIGH $3FE $10 HIGH
                     Uses COM1 RTS as output and CTS as input


Parallel port control (PRONTO LPT):
 An IrDa device (the HSDL-1001 from Hewlett-Packard or any simular device)
 is connected to the parallel port. This IrDA device is connected in the
 following way:
  . Receiver input (pin 4) to parallel port BUSY (pin 11)
  . Transmitter output (pin 6) to parallel port SELECT (pin 17)
    This is one of the few outputs which are LOW at rest (only during
    startup this line is HIGH, but the BIOS/DOS sets this to LOW).



In the SETOUTPUT directory are two support programs. These can be used to
(de)activate certain I/O manually. They can be sued to support the PRONTO program.
Example:
 1. Support routines not necessary
    An infrared LED connected through a resistor of 470 ohm to the RTS
    line of COM1.
    We can control it directly using
      PRONTO $3FC $02 HIGH $3FE $10 HIGH
    However, the range is limited because we drive it directly from the I/O
    pin.
 2. Support routines necessary
    Same as (1.) except that we control the infrared LED using a transistor
    (with a base resistor obviously). The power now comes from the DTR line
    through a series diode. After this series diode a buffer capacitor is used.
    The power for the LED is derived from this buffer capacitor (with a
    series resistor to the LED).
    Because of the buffered power we can now have an extended range (the power
    is primarily drawn from the accumulated power of the capacitor and not from
    the DTR line).
    Because we need to control the DTR line now, we can use the following:
      GETIN $3FE >nul              -> this is necessary otherwise the output might never be set
      SETOUT $3FC $FE $01          -> sets DTR line high
      PRONTO $3FC $02 HIGH $3FE $10 HIGH

    After we are done using PRONTO we can 'power' it off using
      GETIN $3FE >nul
      SETOUT $3FC $FE $00          -> sets DTR line low
