From: "Crowe, Robert" Date: Thu Apr 17, 2003 10:16 am Subject: Guide to creating a new RDF People often ask what's involved in creating an RDF, so here's some info on it. I'm not going to cover everything here as there are a few sections that are too hard for a beginner to handle and really need an expert to figure out, those sections being [ButtonMaps] and [DigitMaps], but the rest of the info can be gathered together by anyone. Note: this guide only applies to S3C8 type remotes, although some of it will also apply to 740 and 6805 remotes. Typically the easiest way to get started is to pick an existing RDF for a similar remote and make changes to it. First off, take a backup of the remote's current memory. In fact, this should be the first step of just about everything you do with JP1, so you can undo whatever mess you create by doing these experiments. Next up, let's figure out the remote's signature. Skip the first two bytes in the dump as these are a checksum, the next 8 bytes (from $002 to $009) are the remote's "signature". These bytes are ASCII code and can be converted into regular letters and numbers. This signature should be the forst 8 characters of the RDF's name (eg, C7L0C7L0 is the sig for the URC-7800 Cinema 7). Next up, let's figure out the setup code buckets, these are the portions of the memory used to store the setup codes assigned to each of the device buttons. The addresses for the setup code buckets start after the signature at $00A. To figure these out you program known codes (ie, codes that you will easily remember) to each of the device buttons. I would probably use codes like... TV: 0156 (for my Toshiba TV) DVD: 0571 (Pioneer) CBL: 0476 (Motorola) VCR: 1162 (Panasonic) CD: 0028 (Kenwood) PVR: 0614 (Replay) SAT: 1002 (Echostar) RCVR: 0313 or 1313 (Kenwood) But, if there are codes that are easier for you to remember (ie, the codes for your gear, perhaps) use those codes, just make sure that the codes are all unique (ie, don't use CBL/0525 and DVD/0525). Then download into IR and see where each of these codes ended up, that will tell you which setup code bucket is related to each device button. It will also get you started on figuring out the device mode settings (ie, the [DeviceTypes] section). Non-LCD remotes usually only have between 3 and 5 device types as things like VIDACC and SAT will probably be lumped in with the CBL codes, etc but LCD remotes have them all broken out seperately. There can be as many as 15 different device types for LCD remotes. To get the rest of the device modes, use the remote's manual to see what codes exist for the rest of the device types (such as PHONE, DAT, etc), as many of these types will only have 1 or 2 codes installed, then assign these codes to device buttons and see what turns up when you download. Now, you need to figure out where the keycodes section starts (if applicable). So, first off, do a 981 style reset and download the memory, then go to Tools > Set Baseline. Then program a keymove and download again, the data that changes will be highlighted red, ignoring the checksum at $000 this will tell you where the keymove section starts (used in the RDF's AdvCodeAddr=$03A..$0FF entry). As for the rest of the settings, you need to try the various supported functions, like VPT etc, and see which parts of the memory changes. Next up, let's get the keycodes for the buttons (to be used in the [Buttons] section), there are three ways to get the keycodes for the buttons.... 1) Open the remote and see if they are printed on the PCB. If they are they will be in octal format and they will be offset down by 1, for example... Printed - Decimal Keycode 00 = 1 01 = 2 02 = 3 ... 06 = 7 07 = 8 10 = 9 11 = 10 etc (Hint: you can use Excel's OCT2DEC function to assist here) 2) Use macros (if the remote supports macros). Create macros that include all of the buttons that can be used in macros and look at their keycodes using IR. Some buttons, like the LIGHT button, can't be included in macros using the remote's programming methods, so the way to get a button like LIGHT, once you have determined all the other keycodes, is to start including the unused keycodes in a macro (programmed using IR) to see which one turns on the light. 3) If the remote doesn't support macros and doesn't have keycodes printed on the PCB, the last resort is to use keymoves. This is a time consuming way to get them (trust me, I've done it) but it works. Rob [Non-text portions of this message have been removed]