A JP1 remote is a type of universal remote, usually with a six-pin interface connector labeled "JP1" in the battery compartment, manufactured by Universal Electronics Inc. The JP1 interface allows the remote to be reprogrammed, adding new code lists and functions. Home theater hobbyists use JP1 to avoid obsolescence. Most JP1 remotes are capable of advanced functions like remapping keys and macros. Some models can be updated over the telephone to add new code lists. JP1 Remote controls All JP1 remotes are made by Universal Electronics, Inc. UEI sells various models under their One For All brand name, and supplies remotes to consumer electronic manufacturers such as Radio Shack, Sony, and Sky, as well as North American cable TV providers such as Comcast, Rogers, Cox, Shaw, Charter and Time Warner. On printed circuit boards the marking "JP1" is a common abbreviation of "Jumper 1", i.e. the first (and for most remotes, the only) jumper on the board. Later models are labeled "JP1.x", where "x" is 1, 2, or 3, depending on the type of processor used. Earlier JP1 circuit board designs employ an EEPROM memory chip. Later designs employ processors with flash memory. Hardware interface A JP1 interface cable connects a JP1 remote to a PC, enabling the PC to read and write to the remote's user memory. Schematics for cabling parallel port, serial port or USB connectors to various JP1 remote controls are freely available, and several vendors offer pre-built interface cables. Updating JP1 Remotes via an interface The data and software in many JP1 remote controls can be updated and extended using an interface cable connected to a PC running software such as IR, RemoteMaster, or KeyMap Master. Updates and extensions include new device code data, new IR protocols, advanced keymapping, and macros. Nicola Salmoria discovered how to add new functions by writing software "Extenders" (protocols which replace a JP1 remote's main processing loop). Extenders may depend on a particular JP1 remote's hardware capabilities. Typical extender features include longer macro length; fast command execution; nested macros; and the long key press (LKP) -- in which a key performs different actions depending on how long it is pressed. Software There are various software packages available. The core package at its simplest allows for the basic remote functionality to be updated via the PC. It also allows for installing new devices, protocols and extenders, though these are created separately and