IRToWav ReadMe

Purpose
-------

IRToWav takes as input an image of a remote EEPROM (IR format) and generates a corresponding .wav upgrade file. The upgrade file can then be uploaded to remotes that have the modem upgrade functionality, without having to use additional hardware, like the JP1 interface.

Disclaimer
----------

This program is provided as is, with no guarantee or support included. Although using the results of this program should not, in principle, provoke permanent damages to your remote, be warned that it can completely overwrite your remote's current configuration, including learned codes or upgrades obtained from OFA or RS. You might also need to completely reset your remote after a failed upload and manually rebuild your configuration should the interface completely fail. 

The author of this program shall take no responsibility for such consequences.


Requirements 
------------

IRToWav is a Java program and requires a Java virtual machine supporting at least version 1.4 of the language. Sun's Java(TM) 2 Runtime Environment, Standard Edition 1.4.0, can be freely downloaded from http://java.sun.com and is supported on many platforms. Earlier versions of the run-time might be sufficient, but this has not been tested.

Java might already be installed on your system, to check it, open a command prompt and type "java -version". If you receive an error, or if the displayed version number is smaller than 1.4.0, you will need to install/upgrade your run-time.

IRToWav should work on any platform supporting Java, as it is a pure Java program. However is has only been tested on the Windows platform.


Installation (Windows Desktop only)
-----------------------------------

Put the files "IRToWav.class" and "IRToWav.bat" to your desktop (you can do this directly via drag and drop if you use WinZip).

Installation (command line)
---------------------------

To simplify the usage, the *.class file, containing the program, and the input files (IR format) should be put in the same directory, which you can freely choose.

Usage (Windows Desktop only)
----------------------------

From the Explorer, drag and drop your image file (generated by IR) to the "IRToWav.bat" icon you have put on the desktop. This will automatically start the conversion and play the resulting file with the default .wav player of your system. You can also play the generated .wav file by double-clicking on the "Upgrade.wav" icon the will appear on the desktop.

Note that with this simplified interface, you can not pass additional parameters, like a specific signature or a sub-range of the image. To have these capabilities, you need to use the command line interface (see below).

Usage (command line)
--------------------

IRToWav is a command line program and must be executed from a command line prompt(also known as MS-DOS prompt under Windows). To simplify the execution of the program, the directory where the *.class file has been installed must be made the current one in the command prompt. A batch file (IR2W.bat) is also provided to reduce the typing and avoid the nasty Java capitalizazion problems.

Example (Windows) :
(The .class file is located on disk C:, under the directory Remote\IRTOWav)
Click on command prompt icon
Type
C:
CD C:\Remote\IRTOWav

The command :

java IRToWav IRFile (Signature) (Start address End address)
or
IR2W IRFile (Signature) (Start address End address)

must be entered in the command prompt.

 IRFile : Name of the IR generated image file (usually with the .txt extension).

 Signature : Optional first 4 characters of signature. By default EBV0 (URC-7560) or if bytes 0x02 to 0x05 are part of the image, then the signature will be taken from the image. Any other entered signature will override the default behaviour. If only part of an image not containing the signature is used, a signature MUST be entered, or else the .wav file will not be recognised by the remote.

 The signatures for modem upgradable remotes are :
  RS-2133 (6 in 1 Kameleon)               : RSFF
  URC-5550 and URC-8550 (Topline 5 and 8) : ET80
  URC-7552, URC-7560, URC-7562            : EBV0
  URC-8060 (6 in 1 Kameleon)              : KAME
  URC-8910 and URC-9910                   : CPT0

 Start address, End address : Optional subrange of image to be transformed. By default, the whole image is used. This parameter is useful for instance if you do not want to overwrite your learned codes, or want to make a shorter (faster to upload) .wav file. 
The parameters must be entered in hexadecimal, both parameters must be given, if any, as well as the signature. Enter "none" as signature to use the default value.

IRToWav outputs its results in a file named "Upgrade.wav", located in the same directory. If the file already exists, it will be overwritten.


Example :

IR2W MyKameleonConfig.txt

will create the Upgrade.wav corresponding to the EEPROM image defined in myKameleonConfig.txt, taking the signature from the image file.

IR2W MyToplineConfig.txt ET80  0100 02A0

will create the Upgrade.wav corresponding to bytes from 0x0100 to 0x2A0 of the EEPROM image defined in MyToplineConfig.txt, with the "ET80" signature.

IR2W MyOtherConfig.txt none 0000 035A

will create the Upgrade.wav corresponding to bytes from 0x0000 to 0x35A of the EEPROM image defined in MyOtherConfig.txt, taking the signature from the image file.

Not that if the name of a file contains spaces, the complete file name must be put between "".

The current version also works with an incomplete image file (for instance starting at address 0x0100), but requires it to contain contiguous data.

Upgrading 
---------
To use the upgrade, you must play the Upgrade.wav file on your computer's loudspeakers after having put your remote in upgrade mode. You should make sure that the played file is as little distorted as possible (no equalisation). To put your remote in upgrade mode, you should refer to the instruction provided with your remote or provided in the UIEC European Web site at http://www.oneforall-int.com/english/prodsup/urc/prodsup_urc.htm by clicking on your remote model and then on "Internet download".

For the URC-75xx, the upgrade mode is entered by a long press on the "Magic" button, then on "Power". Alternatively, the magic code "997" can also be used. The TV button led will stay on until the .wav file is played. It will then flicker during the playing of the file, and emit 3 solid blinks after a successful upgrade. 
If the flicker stops quickly after the start of the playing, it usually means that there is a mismatch with the signature the remote expected (its own) and the one it detected from the .wav file. If the led stays on after the .wav file has been played, it means that there has been some problem, maybe the bad quality of the sound played, and the remote has not correctly detected the end of the upgrade. The remote will exit the upgrade mode by itself after several seconds, but might be in an incoherent internal state, requiring a reset.

For the URC-9960 (Kameleon), the instructions are as follows :

"Before playing the sound file: 

Turn your speakers' volume to half of MAX and turn the TONE to MAX (if any). If you have small speakers, it's better to turn up the volume more. 
Press the key 'TV'. Then press and hold the 'MAGIC' key until the rabbit pops out of the hat. Then press the POWER key to prepare the remote control for the upgrade by entering its upgrade state mode. The IR animation will reverse 3 times and the display will go out. 
Place the remote control on the face of speaker. The remote should face away from you. It is recommended that the front of the remote touch the speaker. 

Play the sound file. 

While the sound file is playing: 

You should hear a serial beeping sound from your speakers. The display will remain off until the sound has finished playing. 
If the display does not come back on when the sound file has finished playing, you should wait for 30 seconds to allow the remote control to exit the upgrade state. Then you probably need to adjust the speakers volume and/or remote's position on the surface of speaker, and go to step 1 and try again. "


Other remotes might have different upgrade procedures and a different behaviour.

The upload of a complete image (2k) takes approximately 90 seconds.

Transferring
------------

A complete image (2k) generates a rather large .wav file (2MB). If such a file needs to be transmitted to another user or an on-line forum for diagnosis purpose, it should be compressed first as a .zip file. A compression ratio of 1:100 can be achieved with such files, reducing it to a few kilobytes.

 
Version history (IRToWav)
-------------------------

V1.5   16.12.2003   Corrected bug that made the .wav upgrade one byte short when a start and end address are provided.
V1.4   30.10.2003   No software change, but addition of the IR2W batch file and adaptation of the documentation.
V1.3   03.06.2003   Handles IR images with sizes up to 4k. Handles hex values with lower case letters.
V1.2   12.01.2003   Added automatic signature recognition from the image file, if present.
V1.1   09.01.2003   Added subrange as parameter.
V1.0   25.12.2002   First public version.
 

Alain Berguerand (aberguerand@yahoo.com)
