linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/7] adding xc5000 tuner chip driver
@ 2008-10-22 21:05 Markus Rechberger
  2008-10-24 17:36 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 2+ messages in thread
From: Markus Rechberger @ 2008-10-22 21:05 UTC (permalink / raw)
  To: Linux Kernel Mailing List, em28xx
  Cc: acano, Andre Kelmanson, Bouwsma Barry, Dan Kreiser, Frank Neuber,
	Jelle de Jong, John Stowers, Lukas Kuna, Stefan Vonolfen,
	Stephan Berberig, Thomas Giesecke, Vitaly Wool, Zhenyu Wang

[-- Attachment #1: Type: text/plain, Size: 348 bytes --]

    xc5000_module.c:
    linuxtv tuner frontend interface
    xc5000_control.c:
    core xceive tuning code

    this code also uses the tunerchip.h interface which allows to attach
    the whole driver only once and reuse it as often as needed using a generic
    interface.
    It uses the latest Xceive reference driver which fixes some issues.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: em28xx-03.diff --]
[-- Type: text/x-diff; name=em28xx-03.diff, Size: 139997 bytes --]

commit a7667026a5249ef75df5a3a0538ff9df404a515d
Author: Markus Rechberger <mrechberger@sundtek.de>
Date:   Wed Oct 22 22:06:39 2008 +0200

    adding xc5000 tuner chip driver
    
    xc5000_module.c:
    linuxtv tuner frontend interface
    xc5000_control.c:
    core xceive tuning code
    
    this code also uses the tunerchip.h interface which allows to attach
    the whole driver only once and reuse it as often as needed using a generic
    interface.

Signed-off-by: Markus Rechberger <mrechberger@sundtek.de>

diff --git a/drivers/media/video/empia/xc5000/Makefile b/drivers/media/video/empia/xc5000/Makefile
new file mode 100644
index 0000000..7222410
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/Makefile
@@ -0,0 +1,6 @@
+xc5000-tuner-objs   := xc5000_control.o xc5000_module.o i2c_driver.o
+
+obj-m += xc5000-tuner.o
+
+EXTRA_CFLAGS += -Wall
+
diff --git a/drivers/media/video/empia/xc5000/i2c_driver.c b/drivers/media/video/empia/xc5000/i2c_driver.c
new file mode 100644
index 0000000..f470ba9
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/i2c_driver.c
@@ -0,0 +1,75 @@
+//---------------------------------------------------------------------------
+//#include <StdCtrls.hpp>
+//#include "xc_i2c_api.h"
+#include <linux/kernel.h>
+#include <linux/i2c.h>
+#include "xc5000_control.h"
+#include "i2c_driver.h"
+#include "tunerchip.h"
+//---------------------------------------------------------------------------
+#define XC5000_I2C_ADDR   0xC2
+
+/* *************************************************************** */
+/* *************************************************************** */
+/*                                                                 */
+/*       FOLLOWING FUNCTIONS TO BE IMPLEMENTED BY CUSTOMER         */
+/*                                                                 */
+/* *************************************************************** */
+/* *************************************************************** */
+
+// user must replace the following routines with their own i2c driver
+// return XC_RESULT_SUCCESS if i2c data is send correctly,
+// return XC_RESULT_I2C_WRITE_FAILURE when error occur.
+int xc_send_i2c_data(struct tuner_module *module, unsigned char *bytes_to_send, int nb_bytes_to_send)
+{
+  struct xc5000_priv *priv = module->priv;
+  struct i2c_msg msg = {
+	  .addr = priv->i2c_address, 
+	  .flags = 0,        
+	  .buf = bytes_to_send, 
+	  .len = nb_bytes_to_send 
+  };
+
+  if (i2c_transfer(priv->adap, &msg, 1) != 1) {
+	  printk(KERN_WARNING "xc5000 I2C read failed\n");
+	  return -EREMOTEIO;
+  }
+  return XC_RESULT_SUCCESS;
+}
+
+int xc_read_i2c_data(struct tuner_module *module, unsigned char *bytes_received, int nb_bytes_to_receive)
+{
+	struct xc5000_priv *priv = module->priv;
+	struct i2c_msg msg = {
+		.addr = priv->i2c_address, 
+		.flags = I2C_M_RD,        
+		.buf = bytes_received, 
+		.len = nb_bytes_to_receive
+	};
+
+	if (i2c_transfer(priv->adap, &msg, 1) != 1) {
+		printk(KERN_WARNING "xc5000 I2C read failed\n");
+		return -EREMOTEIO;
+	}
+	return 0;
+}
+/* ioctl cmd */
+#define EM28XX_MODE  1
+#define EM28XX_RESET 2
+
+
+/* private ioctl -- has to be removed */
+#define EM28XX_SWITCH_MODE 0x100
+
+
+int xc_reset(struct tuner_module *module)
+{
+  struct xc5000_priv *priv = module->priv;
+  priv->callback(priv->dev, XC5000_CHIP_RESET, NULL);
+  return XC_RESULT_SUCCESS;
+}
+
+void xc_wait(struct tuner_module *module, double wait_ms)
+{
+  //Sleep(wait_ms);
+}
diff --git a/drivers/media/video/empia/xc5000/i2c_driver.h b/drivers/media/video/empia/xc5000/i2c_driver.h
new file mode 100644
index 0000000..7198646
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/i2c_driver.h
@@ -0,0 +1,21 @@
+//---------------------------------------------------------------------------
+
+#ifndef i2c_driverH
+#define i2c_driverH
+
+// Sends data bytes to xc5000 via I2C starting with
+// bytes_to_send[0] and ending with bytes_to_send[nb_bytes_to_send-1]
+int xc_send_i2c_data(struct tuner_module *module, unsigned char *bytes_to_send, int nb_bytes_to_send);
+
+// Reads data bytes from xc5000 via I2C starting with
+// bytes_received[0] and ending with bytes_received[nb_bytes_to_receive-1]
+int xc_read_i2c_data(struct tuner_module *module, unsigned char *bytes_received, int nb_bytes_to_receive);
+
+// Does hardware reset
+int xc_reset(struct tuner_module *module);
+
+// Waits for wait_ms milliseconds
+void xc_wait(struct tuner_module *module, double wait_ms);
+
+//---------------------------------------------------------------------------
+#endif
diff --git a/drivers/media/video/empia/xc5000/tunerchip.h b/drivers/media/video/empia/xc5000/tunerchip.h
new file mode 100644
index 0000000..75ba8e6
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/tunerchip.h
@@ -0,0 +1,32 @@
+#ifndef _TUNER_CHIP_H
+#define _TUNER_CHIP_H
+
+struct tuner_module {
+	void *priv;
+        int (*tuner_cmd)(struct tuner_module *client, unsigned int cmd, void *data);
+        int (*shutdown)(struct tuner_module *client);
+        int (*set_frequency)(struct tuner_module *client, unsigned long frequency_in_hz);
+        int (*get_frequency_error)(struct tuner_module *client, long *frequency_error_mhz);
+        int (*get_lock_status)(struct tuner_module *client, unsigned short int *lock_status);
+        int (*get_version)(struct tuner_module *client, unsigned char* hw_majorversion, unsigned char* hw_minorversion, unsigned char* fw_majorversion, unsigned char* fw_minorversion);
+        int (*full_scan)(struct tuner_module *client, unsigned int freq_min, unsigned int freq_max, int freq_list_size, unsigned int *freq_list, int *nb_freq_found );
+	void (*release)(struct tuner_module *client);
+};
+
+#define tuner_chip_detach(MOD) if(MOD) { \
+				MOD->release(MOD); \
+				symbol_put_addr(MOD->release); \
+			       }
+
+#define tuner_chip_attach(FUNCTION, ARGS...) ({ \
+	struct tuner_module *mod = NULL; \
+	typeof(&FUNCTION) __a = symbol_request(FUNCTION); \
+	if (__a) {  \
+		mod=__a(ARGS); \
+		if (mod == 0) \
+			symbol_put(__a); \
+	} \
+	mod; \
+})
+
+#endif
diff --git a/drivers/media/video/empia/xc5000/xc5000_Standard.h b/drivers/media/video/empia/xc5000/xc5000_Standard.h
new file mode 100644
index 0000000..8aa3d07
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/xc5000_Standard.h
@@ -0,0 +1,45 @@
+//                                                   
+// Array to hold the TV standard
+//
+// Filename : xc5000_Standard.h
+// Generated : 1/18/2007 6:26:29 PM
+// Firmware version : 1.0
+//
+// (c) 2007, Xceive Corporation
+//
+
+#ifndef __XC5000_STANDARD_H
+#define __XC5000_STANDARD_H
+
+#define MAX_TV_STANDARD   23
+
+//************************************************************
+
+XC_TV_STANDARD XC5000_Standard[MAX_TV_STANDARD] = {
+  {"M/N-NTSC/PAL-BTSC", 0x0400, 0x8020},
+  {"M/N-NTSC/PAL-A2",   0x0600, 0x8020},
+  {"M/N-NTSC/PAL-EIAJ", 0x0440, 0x8020},
+  {"M/N-NTSC/PAL-Mono", 0x0478, 0x8020},
+  {"B/G-PAL-A2",        0x0A00, 0x8049},
+  {"B/G-PAL-NICAM",     0x0C04, 0x8049},
+  {"B/G-PAL-MONO",      0x0878, 0x8059},
+  {"I-PAL-NICAM",       0x1080, 0x8009},
+  {"I-PAL-NICAM-MONO",  0x0E78, 0x8009},
+  {"D/K-PAL-A2",        0x1600, 0x8009},
+  {"D/K-PAL-NICAM",     0x0E80, 0x8009},
+  {"D/K-PAL-MONO",      0x1478, 0x8009},
+  {"D/K-SECAM-A2 DK1",  0x1200, 0x8009},
+  {"D/K-SECAM-A2 L/DK3",0x0E00, 0x8009},
+  {"D/K-SECAM-A2 MONO", 0x1478, 0x8009},
+  {"L-SECAM-NICAM",     0x8E82, 0x0009},
+  {"L'-SECAM-NICAM",    0x8E82, 0x4009},
+  {"DTV6",              0x00C0, 0x800B},
+  {"DTV8",              0x00C0, 0x800B},
+  {"DTV7/8",            0x00C0, 0x801B},
+  {"DTV7",              0x00C0, 0x8007},
+  {"FM Radio-INPUT2",   0x9802, 0x9002},
+  {"FM Radio-INPUT1",   0x0208, 0x9002}
+ };
+
+#endif
+
diff --git a/drivers/media/video/empia/xc5000/xc5000_channelmaps.h b/drivers/media/video/empia/xc5000/xc5000_channelmaps.h
new file mode 100644
index 0000000..c12473d
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/xc5000_channelmaps.h
@@ -0,0 +1,4028 @@
+//
+// Automatically generated C header file for
+// control of the XC5000 via the i2c interface.
+//
+// Filename : xc5000_channelmaps.h
+// Generated : 10/11/2007 3:23:53 PM
+// Firmware version : 15.15
+//
+// (c) 2007  Xceive Corporation
+//
+ 
+#ifndef __XC5000_CHANNELMAPS_H
+#define __XC5000_CHANNELMAPS_H
+ 
+typedef struct {
+    char *            identifier;
+    unsigned int      frequency;
+    unsigned char     dcode;
+} XC_CHANNEL;
+
+typedef struct {
+    char        *MapType;
+    int         nb_channels;
+    XC_CHANNEL  *channels;
+} XC_CHANNEL_MAP;
+ 
+// *************************************************************
+// *** LIST OF AVAILABLE CHANNELMAPS
+// ***
+// *** 1. USA - Analog - Air
+// *** 2. USA - Analog - Cable
+// *** 3. USA - Digital - Air
+// *** 4. USA - Digital - Cable
+// *** 5. Taiwan - Analog - Air
+// *** 6. Taiwan - Analog - Cable
+// *** 7. Taiwan - Digital - Air
+// *** 8. Taiwan - Digital - Cable
+// *** 9. Japan - Analog - Air
+// *** 10. Japan - Analog - Cable
+// *** 11. Japan - Digital - Air
+// *** 12. Japan - Digital - Cable
+// *** 13. CCIR - Analog - Air
+// *** 14. CCIR - Analog - Cable
+// *** 15. CCIR - Digital - Air
+// *** 16. CCIR - Digital - Cable
+// *** 17. India - Analog - Air
+// *** 18. India - Analog - Cable
+// *** 19. India - Digital - Air
+// *** 20. India - Digital - Cable
+// *** 21. France - Analog - Air
+// *** 22. France - Analog - Cable
+// *** 23. France - Digital - Air
+// *** 24. France - Digital - Cable
+// *** 25. UK - Analog - Air
+// *** 26. UK - Analog - Cable
+// *** 27. UK - Digital - Air
+// *** 28. UK - Digital - Cable
+// *** 29. Ireland - Analog - Air
+// *** 30. Ireland - Analog - Cable
+// *** 31. Ireland - Digital - Air
+// *** 32. Ireland - Digital - Cable
+// *** 33. China - Analog - Air
+// *** 34. China - Analog - Cable
+// *** 35. China - Digital - Air
+// *** 36. China - Digital - Cable
+// *** 37. Australia - Analog - Air
+// *** 38. Australia - Analog - Cable
+// *** 39. Australia - Digital - Air
+// *** 40. Australia - Digital - Cable
+// *** 41. OIRT - Analog - Air
+// *** 42. OIRT - Analog - Cable
+// *** 43. OIRT - Digital - Air
+// *** 44. OIRT - Digital - Cable
+// *** 45. USA - FM radio
+// *** 46. Europe - FM radio
+// *** 47. Japan - FM radio
+// *************************************************************
+
+
+// *** 1. USA - Analog - Air
+XC_CHANNEL USA_Analog_Air[] = {
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x75D0, 0x0000},
+  {"15", 0x7750, 0x0000},
+  {"16", 0x78D0, 0x0000},
+  {"17", 0x7A50, 0x0000},
+  {"18", 0x7BD0, 0x0000},
+  {"19", 0x7D50, 0x0000},
+  {"20", 0x7ED0, 0x0000},
+  {"21", 0x8050, 0x0000},
+  {"22", 0x81D0, 0x0000},
+  {"23", 0x8350, 0x0000},
+  {"24", 0x84D0, 0x0000},
+  {"25", 0x8650, 0x0000},
+  {"26", 0x87D0, 0x0000},
+  {"27", 0x8950, 0x0000},
+  {"28", 0x8AD0, 0x0000},
+  {"29", 0x8C50, 0x0000},
+  {"30", 0x8DD0, 0x0000},
+  {"31", 0x8F50, 0x0000},
+  {"32", 0x90D0, 0x0000},
+  {"33", 0x9250, 0x0000},
+  {"34", 0x93D0, 0x0000},
+  {"35", 0x9550, 0x0000},
+  {"36", 0x96D0, 0x0000},
+  {"37", 0x9850, 0x0000},
+  {"38", 0x99D0, 0x0000},
+  {"39", 0x9B50, 0x0000},
+  {"40", 0x9CD0, 0x0000},
+  {"41", 0x9E50, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA150, 0x0000},
+  {"44", 0xA2D0, 0x0000},
+  {"45", 0xA450, 0x0000},
+  {"46", 0xA5D0, 0x0000},
+  {"47", 0xA750, 0x0000},
+  {"48", 0xA8D0, 0x0000},
+  {"49", 0xAA50, 0x0000},
+  {"50", 0xABD0, 0x0000},
+  {"51", 0xAD50, 0x0000},
+  {"52", 0xAED0, 0x0000},
+  {"53", 0xB050, 0x0000},
+  {"54", 0xB1D0, 0x0000},
+  {"55", 0xB350, 0x0000},
+  {"56", 0xB4D0, 0x0000},
+  {"57", 0xB650, 0x0000},
+  {"58", 0xB7D0, 0x0000},
+  {"59", 0xB950, 0x0000},
+  {"60", 0xBAD0, 0x0000},
+  {"61", 0xBC50, 0x0000},
+  {"62", 0xBDD0, 0x0000},
+  {"63", 0xBF50, 0x0000},
+  {"64", 0xC0D0, 0x0000},
+  {"65", 0xC250, 0x0000},
+  {"66", 0xC3D0, 0x0000},
+  {"67", 0xC550, 0x0000},
+  {"68", 0xC6D0, 0x0000},
+  {"69", 0xC850, 0x0000}};
+
+
+// *** 2. USA - Analog - Cable
+XC_CHANNEL USA_Analog_Cable[] = {
+  {"1", 0x1250, 0x0000},
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x1E50, 0x0000},
+  {"15", 0x1FD0, 0x0000},
+  {"16", 0x2150, 0x0000},
+  {"17", 0x22D0, 0x0000},
+  {"18", 0x2450, 0x0000},
+  {"19", 0x25D0, 0x0000},
+  {"20", 0x2750, 0x0000},
+  {"21", 0x28D0, 0x0000},
+  {"22", 0x2A50, 0x0000},
+  {"23", 0x3650, 0x0000},
+  {"24", 0x37D0, 0x0000},
+  {"25", 0x3950, 0x0000},
+  {"26", 0x3AD0, 0x0000},
+  {"27", 0x3C50, 0x0000},
+  {"28", 0x3DD0, 0x0000},
+  {"29", 0x3F50, 0x0000},
+  {"30", 0x40D0, 0x0000},
+  {"31", 0x4250, 0x0000},
+  {"32", 0x43D0, 0x0000},
+  {"33", 0x4550, 0x0000},
+  {"34", 0x46D0, 0x0000},
+  {"35", 0x4850, 0x0000},
+  {"36", 0x49D0, 0x0000},
+  {"37", 0x4B50, 0x0000},
+  {"38", 0x4CD0, 0x0000},
+  {"39", 0x4E50, 0x0000},
+  {"40", 0x4FD0, 0x0000},
+  {"41", 0x5150, 0x0000},
+  {"42", 0x52D0, 0x0000},
+  {"43", 0x5450, 0x0000},
+  {"44", 0x55D0, 0x0000},
+  {"45", 0x5750, 0x0000},
+  {"46", 0x58D0, 0x0000},
+  {"47", 0x5A50, 0x0000},
+  {"48", 0x5BD0, 0x0000},
+  {"49", 0x5D50, 0x0000},
+  {"50", 0x5ED0, 0x0000},
+  {"51", 0x6050, 0x0000},
+  {"52", 0x61D0, 0x0000},
+  {"53", 0x6350, 0x0000},
+  {"54", 0x64D0, 0x0000},
+  {"55", 0x6650, 0x0000},
+  {"56", 0x67D0, 0x0000},
+  {"57", 0x6950, 0x0000},
+  {"58", 0x6AD0, 0x0000},
+  {"59", 0x6C50, 0x0000},
+  {"60", 0x6DD0, 0x0000},
+  {"61", 0x6F50, 0x0000},
+  {"62", 0x70D0, 0x0000},
+  {"63", 0x7250, 0x0000},
+  {"64", 0x73D0, 0x0000},
+  {"65", 0x7550, 0x0000},
+  {"66", 0x76D0, 0x0000},
+  {"67", 0x7850, 0x0000},
+  {"68", 0x79D0, 0x0000},
+  {"69", 0x7B50, 0x0000},
+  {"70", 0x7CD0, 0x0000},
+  {"71", 0x7E50, 0x0000},
+  {"72", 0x7FD0, 0x0000},
+  {"73", 0x8150, 0x0000},
+  {"74", 0x82D0, 0x0000},
+  {"75", 0x8450, 0x0000},
+  {"76", 0x85D0, 0x0000},
+  {"77", 0x8750, 0x0000},
+  {"78", 0x88D0, 0x0000},
+  {"79", 0x8A50, 0x0000},
+  {"80", 0x8BD0, 0x0000},
+  {"81", 0x8D50, 0x0000},
+  {"82", 0x8ED0, 0x0000},
+  {"83", 0x9050, 0x0000},
+  {"84", 0x91D0, 0x0000},
+  {"85", 0x9350, 0x0000},
+  {"86", 0x94D0, 0x0000},
+  {"87", 0x9650, 0x0000},
+  {"88", 0x97D0, 0x0000},
+  {"89", 0x9950, 0x0000},
+  {"90", 0x9AD0, 0x0000},
+  {"91", 0x9C50, 0x0000},
+  {"92", 0x9DD0, 0x0000},
+  {"93", 0x9F50, 0x0000},
+  {"94", 0xA0D0, 0x0000},
+  {"95", 0x16D0, 0x0000},
+  {"96", 0x1850, 0x0000},
+  {"97", 0x19D0, 0x0000},
+  {"98", 0x1B51, 0x0000},
+  {"99", 0x1CD1, 0x0000},
+  {"100", 0xA250, 0x0000},
+  {"101", 0xA3D0, 0x0000},
+  {"102", 0xA550, 0x0000},
+  {"103", 0xA6D0, 0x0000},
+  {"104", 0xA850, 0x0000},
+  {"105", 0xA9D0, 0x0000},
+  {"106", 0xAB50, 0x0000},
+  {"107", 0xACD0, 0x0000},
+  {"108", 0xAE50, 0x0000},
+  {"109", 0xAFD0, 0x0000},
+  {"110", 0xB150, 0x0000},
+  {"111", 0xB2D0, 0x0000},
+  {"112", 0xB450, 0x0000},
+  {"113", 0xB5D0, 0x0000},
+  {"114", 0xB750, 0x0000},
+  {"115", 0xB8D0, 0x0000},
+  {"116", 0xBA50, 0x0000},
+  {"117", 0xBBD0, 0x0000},
+  {"118", 0xBD50, 0x0000},
+  {"119", 0xBED0, 0x0000},
+  {"120", 0xC050, 0x0000},
+  {"121", 0xC1D0, 0x0000},
+  {"122", 0xC350, 0x0000},
+  {"123", 0xC4D0, 0x0000},
+  {"124", 0xC650, 0x0000},
+  {"125", 0xC7D0, 0x0000},
+  {"126", 0xC950, 0x0000},
+  {"127", 0xCAD0, 0x0000},
+  {"128", 0xCC50, 0x0000},
+  {"129", 0xCDD0, 0x0000},
+  {"130", 0xCF50, 0x0000},
+  {"131", 0xD0D0, 0x0000},
+  {"132", 0xD250, 0x0000},
+  {"133", 0xD3D0, 0x0000},
+  {"134", 0xD550, 0x0000},
+  {"135", 0xD6D0, 0x0000}};
+
+
+// *** 3. USA - Digital - Air
+XC_CHANNEL USA_Digital_Air[] = {
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x75D0, 0x0000},
+  {"15", 0x7750, 0x0000},
+  {"16", 0x78D0, 0x0000},
+  {"17", 0x7A50, 0x0000},
+  {"18", 0x7BD0, 0x0000},
+  {"19", 0x7D50, 0x0000},
+  {"20", 0x7ED0, 0x0000},
+  {"21", 0x8050, 0x0000},
+  {"22", 0x81D0, 0x0000},
+  {"23", 0x8350, 0x0000},
+  {"24", 0x84D0, 0x0000},
+  {"25", 0x8650, 0x0000},
+  {"26", 0x87D0, 0x0000},
+  {"27", 0x8950, 0x0000},
+  {"28", 0x8AD0, 0x0000},
+  {"29", 0x8C50, 0x0000},
+  {"30", 0x8DD0, 0x0000},
+  {"31", 0x8F50, 0x0000},
+  {"32", 0x90D0, 0x0000},
+  {"33", 0x9250, 0x0000},
+  {"34", 0x93D0, 0x0000},
+  {"35", 0x9550, 0x0000},
+  {"36", 0x96D0, 0x0000},
+  {"37", 0x9850, 0x0000},
+  {"38", 0x99D0, 0x0000},
+  {"39", 0x9B50, 0x0000},
+  {"40", 0x9CD0, 0x0000},
+  {"41", 0x9E50, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA150, 0x0000},
+  {"44", 0xA2D0, 0x0000},
+  {"45", 0xA450, 0x0000},
+  {"46", 0xA5D0, 0x0000},
+  {"47", 0xA750, 0x0000},
+  {"48", 0xA8D0, 0x0000},
+  {"49", 0xAA50, 0x0000},
+  {"50", 0xABD0, 0x0000},
+  {"51", 0xAD50, 0x0000},
+  {"52", 0xAED0, 0x0000},
+  {"53", 0xB050, 0x0000},
+  {"54", 0xB1D0, 0x0000},
+  {"55", 0xB350, 0x0000},
+  {"56", 0xB4D0, 0x0000},
+  {"57", 0xB650, 0x0000},
+  {"58", 0xB7D0, 0x0000},
+  {"59", 0xB950, 0x0000},
+  {"60", 0xBAD0, 0x0000},
+  {"61", 0xBC50, 0x0000},
+  {"62", 0xBDD0, 0x0000},
+  {"63", 0xBF50, 0x0000},
+  {"64", 0xC0D0, 0x0000},
+  {"65", 0xC250, 0x0000},
+  {"66", 0xC3D0, 0x0000},
+  {"67", 0xC550, 0x0000},
+  {"68", 0xC6D0, 0x0000},
+  {"69", 0xC850, 0x0000}};
+
+
+// *** 4. USA - Digital - Cable
+XC_CHANNEL USA_Digital_Cable[] = {
+  {"1", 0x1250, 0x0000},
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x1E50, 0x0000},
+  {"15", 0x1FD0, 0x0000},
+  {"16", 0x2150, 0x0000},
+  {"17", 0x22D0, 0x0000},
+  {"18", 0x2450, 0x0000},
+  {"19", 0x25D0, 0x0000},
+  {"20", 0x2750, 0x0000},
+  {"21", 0x28D0, 0x0000},
+  {"22", 0x2A50, 0x0000},
+  {"23", 0x3650, 0x0000},
+  {"24", 0x37D0, 0x0000},
+  {"25", 0x3950, 0x0000},
+  {"26", 0x3AD0, 0x0000},
+  {"27", 0x3C50, 0x0000},
+  {"28", 0x3DD0, 0x0000},
+  {"29", 0x3F50, 0x0000},
+  {"30", 0x40D0, 0x0000},
+  {"31", 0x4250, 0x0000},
+  {"32", 0x43D0, 0x0000},
+  {"33", 0x4550, 0x0000},
+  {"34", 0x46D0, 0x0000},
+  {"35", 0x4850, 0x0000},
+  {"36", 0x49D0, 0x0000},
+  {"37", 0x4B50, 0x0000},
+  {"38", 0x4CD0, 0x0000},
+  {"39", 0x4E50, 0x0000},
+  {"40", 0x4FD0, 0x0000},
+  {"41", 0x5150, 0x0000},
+  {"42", 0x52D0, 0x0000},
+  {"43", 0x5450, 0x0000},
+  {"44", 0x55D0, 0x0000},
+  {"45", 0x5750, 0x0000},
+  {"46", 0x58D0, 0x0000},
+  {"47", 0x5A50, 0x0000},
+  {"48", 0x5BD0, 0x0000},
+  {"49", 0x5D50, 0x0000},
+  {"50", 0x5ED0, 0x0000},
+  {"51", 0x6050, 0x0000},
+  {"52", 0x61D0, 0x0000},
+  {"53", 0x6350, 0x0000},
+  {"54", 0x64D0, 0x0000},
+  {"55", 0x6650, 0x0000},
+  {"56", 0x67D0, 0x0000},
+  {"57", 0x6950, 0x0000},
+  {"58", 0x6AD0, 0x0000},
+  {"59", 0x6C50, 0x0000},
+  {"60", 0x6DD0, 0x0000},
+  {"61", 0x6F50, 0x0000},
+  {"62", 0x70D0, 0x0000},
+  {"63", 0x7250, 0x0000},
+  {"64", 0x73D0, 0x0000},
+  {"65", 0x7550, 0x0000},
+  {"66", 0x76D0, 0x0000},
+  {"67", 0x7850, 0x0000},
+  {"68", 0x79D0, 0x0000},
+  {"69", 0x7B50, 0x0000},
+  {"70", 0x7CD0, 0x0000},
+  {"71", 0x7E50, 0x0000},
+  {"72", 0x7FD0, 0x0000},
+  {"73", 0x8150, 0x0000},
+  {"74", 0x82D0, 0x0000},
+  {"75", 0x8450, 0x0000},
+  {"76", 0x85D0, 0x0000},
+  {"77", 0x8750, 0x0000},
+  {"78", 0x88D0, 0x0000},
+  {"79", 0x8A50, 0x0000},
+  {"80", 0x8BD0, 0x0000},
+  {"81", 0x8D50, 0x0000},
+  {"82", 0x8ED0, 0x0000},
+  {"83", 0x9050, 0x0000},
+  {"84", 0x91D0, 0x0000},
+  {"85", 0x9350, 0x0000},
+  {"86", 0x94D0, 0x0000},
+  {"87", 0x9650, 0x0000},
+  {"88", 0x97D0, 0x0000},
+  {"89", 0x9950, 0x0000},
+  {"90", 0x9AD0, 0x0000},
+  {"91", 0x9C50, 0x0000},
+  {"92", 0x9DD0, 0x0000},
+  {"93", 0x9F50, 0x0000},
+  {"94", 0xA0D0, 0x0000},
+  {"95", 0x16D0, 0x0000},
+  {"96", 0x1850, 0x0000},
+  {"97", 0x19D0, 0x0000},
+  {"98", 0x1B51, 0x0000},
+  {"99", 0x1CD1, 0x0000},
+  {"100", 0xA250, 0x0000},
+  {"101", 0xA3D0, 0x0000},
+  {"102", 0xA550, 0x0000},
+  {"103", 0xA6D0, 0x0000},
+  {"104", 0xA850, 0x0000},
+  {"105", 0xA9D0, 0x0000},
+  {"106", 0xAB50, 0x0000},
+  {"107", 0xACD0, 0x0000},
+  {"108", 0xAE50, 0x0000},
+  {"109", 0xAFD0, 0x0000},
+  {"110", 0xB150, 0x0000},
+  {"111", 0xB2D0, 0x0000},
+  {"112", 0xB450, 0x0000},
+  {"113", 0xB5D0, 0x0000},
+  {"114", 0xB750, 0x0000},
+  {"115", 0xB8D0, 0x0000},
+  {"116", 0xBA50, 0x0000},
+  {"117", 0xBBD0, 0x0000},
+  {"118", 0xBD50, 0x0000},
+  {"119", 0xBED0, 0x0000},
+  {"120", 0xC050, 0x0000},
+  {"121", 0xC1D0, 0x0000},
+  {"122", 0xC350, 0x0000},
+  {"123", 0xC4D0, 0x0000},
+  {"124", 0xC650, 0x0000},
+  {"125", 0xC7D0, 0x0000},
+  {"126", 0xC950, 0x0000},
+  {"127", 0xCAD0, 0x0000},
+  {"128", 0xCC50, 0x0000},
+  {"129", 0xCDD0, 0x0000},
+  {"130", 0xCF50, 0x0000},
+  {"131", 0xD0D0, 0x0000},
+  {"132", 0xD250, 0x0000},
+  {"133", 0xD3D0, 0x0000},
+  {"134", 0xD550, 0x0000},
+  {"135", 0xD6D0, 0x0000}};
+
+
+// *** 5. Taiwan - Analog - Air
+XC_CHANNEL Taiwan_Analog_Air[] = {
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x75D0, 0x0000},
+  {"15", 0x7750, 0x0000},
+  {"16", 0x78D0, 0x0000},
+  {"17", 0x7A50, 0x0000},
+  {"18", 0x7BD0, 0x0000},
+  {"19", 0x7D50, 0x0000},
+  {"20", 0x7ED0, 0x0000},
+  {"21", 0x8050, 0x0000},
+  {"22", 0x81D0, 0x0000},
+  {"23", 0x8350, 0x0000},
+  {"24", 0x84D0, 0x0000},
+  {"25", 0x8650, 0x0000},
+  {"26", 0x87D0, 0x0000},
+  {"27", 0x8950, 0x0000},
+  {"28", 0x8AD0, 0x0000},
+  {"29", 0x8C50, 0x0000},
+  {"30", 0x8DD0, 0x0000},
+  {"31", 0x8F50, 0x0000},
+  {"32", 0x90D0, 0x0000},
+  {"33", 0x9250, 0x0000},
+  {"34", 0x93D0, 0x0000},
+  {"35", 0x9550, 0x0000},
+  {"36", 0x96D0, 0x0000},
+  {"37", 0x9850, 0x0000},
+  {"38", 0x99D0, 0x0000},
+  {"39", 0x9B50, 0x0000},
+  {"40", 0x9CD0, 0x0000},
+  {"41", 0x9E50, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA150, 0x0000},
+  {"44", 0xA2D0, 0x0000},
+  {"45", 0xA450, 0x0000},
+  {"46", 0xA5D0, 0x0000},
+  {"47", 0xA750, 0x0000},
+  {"48", 0xA8D0, 0x0000},
+  {"49", 0xAA50, 0x0000},
+  {"50", 0xABD0, 0x0000},
+  {"51", 0xAD50, 0x0000},
+  {"52", 0xAED0, 0x0000},
+  {"53", 0xB050, 0x0000},
+  {"54", 0xB1D0, 0x0000},
+  {"55", 0xB350, 0x0000},
+  {"56", 0xB4D0, 0x0000},
+  {"57", 0xB650, 0x0000},
+  {"58", 0xB7D0, 0x0000},
+  {"59", 0xB950, 0x0000},
+  {"60", 0xBAD0, 0x0000},
+  {"61", 0xBC50, 0x0000},
+  {"62", 0xBDD0, 0x0000},
+  {"63", 0xBF50, 0x0000},
+  {"64", 0xC0D0, 0x0000},
+  {"65", 0xC250, 0x0000},
+  {"66", 0xC3D0, 0x0000},
+  {"67", 0xC550, 0x0000},
+  {"68", 0xC6D0, 0x0000},
+  {"69", 0xC850, 0x0000}};
+
+
+// *** 6. Taiwan - Analog - Cable
+XC_CHANNEL Taiwan_Analog_Cable[] = {
+  {"1", 0x1250, 0x0000},
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x1E50, 0x0000},
+  {"15", 0x1FD0, 0x0000},
+  {"16", 0x2150, 0x0000},
+  {"17", 0x22D0, 0x0000},
+  {"18", 0x2450, 0x0000},
+  {"19", 0x25D0, 0x0000},
+  {"20", 0x2750, 0x0000},
+  {"21", 0x28D0, 0x0000},
+  {"22", 0x2A50, 0x0000},
+  {"23", 0x3650, 0x0000},
+  {"24", 0x37D0, 0x0000},
+  {"25", 0x3950, 0x0000},
+  {"26", 0x3AD0, 0x0000},
+  {"27", 0x3C50, 0x0000},
+  {"28", 0x3DD0, 0x0000},
+  {"29", 0x3F50, 0x0000},
+  {"30", 0x40D0, 0x0000},
+  {"31", 0x4250, 0x0000},
+  {"32", 0x43D0, 0x0000},
+  {"33", 0x4550, 0x0000},
+  {"34", 0x46D0, 0x0000},
+  {"35", 0x4850, 0x0000},
+  {"36", 0x49D0, 0x0000},
+  {"37", 0x4B50, 0x0000},
+  {"38", 0x4CD0, 0x0000},
+  {"39", 0x4E50, 0x0000},
+  {"40", 0x4FD0, 0x0000},
+  {"41", 0x5150, 0x0000},
+  {"42", 0x52D0, 0x0000},
+  {"43", 0x5450, 0x0000},
+  {"44", 0x55D0, 0x0000},
+  {"45", 0x5750, 0x0000},
+  {"46", 0x58D0, 0x0000},
+  {"47", 0x5A50, 0x0000},
+  {"48", 0x5BD0, 0x0000},
+  {"49", 0x5D50, 0x0000},
+  {"50", 0x5ED0, 0x0000},
+  {"51", 0x6050, 0x0000},
+  {"52", 0x61D0, 0x0000},
+  {"53", 0x6350, 0x0000},
+  {"54", 0x64D0, 0x0000},
+  {"55", 0x6650, 0x0000},
+  {"56", 0x67D0, 0x0000},
+  {"57", 0x6950, 0x0000},
+  {"58", 0x6AD0, 0x0000},
+  {"59", 0x6C50, 0x0000},
+  {"60", 0x6DD0, 0x0000},
+  {"61", 0x6F50, 0x0000},
+  {"62", 0x70D0, 0x0000},
+  {"63", 0x7250, 0x0000},
+  {"64", 0x73D0, 0x0000},
+  {"65", 0x7550, 0x0000},
+  {"66", 0x76D0, 0x0000},
+  {"67", 0x7850, 0x0000},
+  {"68", 0x79D0, 0x0000},
+  {"69", 0x7B50, 0x0000},
+  {"70", 0x7CD0, 0x0000},
+  {"71", 0x7E50, 0x0000},
+  {"72", 0x7FD0, 0x0000},
+  {"73", 0x8150, 0x0000},
+  {"74", 0x82D0, 0x0000},
+  {"75", 0x8450, 0x0000},
+  {"76", 0x85D0, 0x0000},
+  {"77", 0x8750, 0x0000},
+  {"78", 0x88D0, 0x0000},
+  {"79", 0x8A50, 0x0000},
+  {"80", 0x8BD0, 0x0000},
+  {"81", 0x8D50, 0x0000},
+  {"82", 0x8ED0, 0x0000},
+  {"83", 0x9050, 0x0000},
+  {"84", 0x91D0, 0x0000},
+  {"85", 0x9350, 0x0000},
+  {"86", 0x94D0, 0x0000},
+  {"87", 0x9650, 0x0000},
+  {"88", 0x97D0, 0x0000},
+  {"89", 0x9950, 0x0000},
+  {"90", 0x9AD0, 0x0000},
+  {"91", 0x9C50, 0x0000},
+  {"92", 0x9DD0, 0x0000},
+  {"93", 0x9F50, 0x0000},
+  {"94", 0xA0D0, 0x0000},
+  {"95", 0x16D0, 0x0000},
+  {"96", 0x1850, 0x0000},
+  {"97", 0x19D0, 0x0000},
+  {"98", 0x1B51, 0x0000},
+  {"99", 0x1CD1, 0x0000},
+  {"100", 0xA250, 0x0000},
+  {"101", 0xA3D0, 0x0000},
+  {"102", 0xA550, 0x0000},
+  {"103", 0xA6D0, 0x0000},
+  {"104", 0xA850, 0x0000},
+  {"105", 0xA9D0, 0x0000},
+  {"106", 0xAB50, 0x0000},
+  {"107", 0xACD0, 0x0000},
+  {"108", 0xAE50, 0x0000},
+  {"109", 0xAFD0, 0x0000},
+  {"110", 0xB150, 0x0000},
+  {"111", 0xB2D0, 0x0000},
+  {"112", 0xB450, 0x0000},
+  {"113", 0xB5D0, 0x0000},
+  {"114", 0xB750, 0x0000},
+  {"115", 0xB8D0, 0x0000},
+  {"116", 0xBA50, 0x0000},
+  {"117", 0xBBD0, 0x0000},
+  {"118", 0xBD50, 0x0000},
+  {"119", 0xBED0, 0x0000},
+  {"120", 0xC050, 0x0000},
+  {"121", 0xC1D0, 0x0000},
+  {"122", 0xC350, 0x0000},
+  {"123", 0xC4D0, 0x0000},
+  {"124", 0xC650, 0x0000},
+  {"125", 0xC7D0, 0x0000},
+  {"126", 0xC950, 0x0000},
+  {"127", 0xCAD0, 0x0000},
+  {"128", 0xCC50, 0x0000},
+  {"129", 0xCDD0, 0x0000},
+  {"130", 0xCF50, 0x0000},
+  {"131", 0xD0D0, 0x0000},
+  {"132", 0xD250, 0x0000},
+  {"133", 0xD3D0, 0x0000},
+  {"134", 0xD550, 0x0000},
+  {"135", 0xD6D0, 0x0000}};
+
+
+// *** 7. Taiwan - Digital - Air
+XC_CHANNEL Taiwan_Digital_Air[] = {
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x75D0, 0x0000},
+  {"15", 0x7750, 0x0000},
+  {"16", 0x78D0, 0x0000},
+  {"17", 0x7A50, 0x0000},
+  {"18", 0x7BD0, 0x0000},
+  {"19", 0x7D50, 0x0000},
+  {"20", 0x7ED0, 0x0000},
+  {"21", 0x8050, 0x0000},
+  {"22", 0x81D0, 0x0000},
+  {"23", 0x8350, 0x0000},
+  {"24", 0x84D0, 0x0000},
+  {"25", 0x8650, 0x0000},
+  {"26", 0x87D0, 0x0000},
+  {"27", 0x8950, 0x0000},
+  {"28", 0x8AD0, 0x0000},
+  {"29", 0x8C50, 0x0000},
+  {"30", 0x8DD0, 0x0000},
+  {"31", 0x8F50, 0x0000},
+  {"32", 0x90D0, 0x0000},
+  {"33", 0x9250, 0x0000},
+  {"34", 0x93D0, 0x0000},
+  {"35", 0x9550, 0x0000},
+  {"36", 0x96D0, 0x0000},
+  {"37", 0x9850, 0x0000},
+  {"38", 0x99D0, 0x0000},
+  {"39", 0x9B50, 0x0000},
+  {"40", 0x9CD0, 0x0000},
+  {"41", 0x9E50, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA150, 0x0000},
+  {"44", 0xA2D0, 0x0000},
+  {"45", 0xA450, 0x0000},
+  {"46", 0xA5D0, 0x0000},
+  {"47", 0xA750, 0x0000},
+  {"48", 0xA8D0, 0x0000},
+  {"49", 0xAA50, 0x0000},
+  {"50", 0xABD0, 0x0000},
+  {"51", 0xAD50, 0x0000},
+  {"52", 0xAED0, 0x0000},
+  {"53", 0xB050, 0x0000},
+  {"54", 0xB1D0, 0x0000},
+  {"55", 0xB350, 0x0000},
+  {"56", 0xB4D0, 0x0000},
+  {"57", 0xB650, 0x0000},
+  {"58", 0xB7D0, 0x0000},
+  {"59", 0xB950, 0x0000},
+  {"60", 0xBAD0, 0x0000},
+  {"61", 0xBC50, 0x0000},
+  {"62", 0xBDD0, 0x0000},
+  {"63", 0xBF50, 0x0000},
+  {"64", 0xC0D0, 0x0000},
+  {"65", 0xC250, 0x0000},
+  {"66", 0xC3D0, 0x0000},
+  {"67", 0xC550, 0x0000},
+  {"68", 0xC6D0, 0x0000},
+  {"69", 0xC850, 0x0000}};
+
+
+// *** 8. Taiwan - Digital - Cable
+XC_CHANNEL Taiwan_Digital_Cable[] = {
+  {"1", 0x1250, 0x0000},
+  {"2", 0x0DD0, 0x0000},
+  {"3", 0x0F50, 0x0000},
+  {"4", 0x10D0, 0x0000},
+  {"5", 0x1350, 0x0000},
+  {"6", 0x14D0, 0x0000},
+  {"7", 0x2BD0, 0x0000},
+  {"8", 0x2D50, 0x0000},
+  {"9", 0x2ED0, 0x0000},
+  {"10", 0x3050, 0x0000},
+  {"11", 0x31D0, 0x0000},
+  {"12", 0x3350, 0x0000},
+  {"13", 0x34D0, 0x0000},
+  {"14", 0x1E50, 0x0000},
+  {"15", 0x1FD0, 0x0000},
+  {"16", 0x2150, 0x0000},
+  {"17", 0x22D0, 0x0000},
+  {"18", 0x2450, 0x0000},
+  {"19", 0x25D0, 0x0000},
+  {"20", 0x2750, 0x0000},
+  {"21", 0x28D0, 0x0000},
+  {"22", 0x2A50, 0x0000},
+  {"23", 0x3650, 0x0000},
+  {"24", 0x37D0, 0x0000},
+  {"25", 0x3950, 0x0000},
+  {"26", 0x3AD0, 0x0000},
+  {"27", 0x3C50, 0x0000},
+  {"28", 0x3DD0, 0x0000},
+  {"29", 0x3F50, 0x0000},
+  {"30", 0x40D0, 0x0000},
+  {"31", 0x4250, 0x0000},
+  {"32", 0x43D0, 0x0000},
+  {"33", 0x4550, 0x0000},
+  {"34", 0x46D0, 0x0000},
+  {"35", 0x4850, 0x0000},
+  {"36", 0x49D0, 0x0000},
+  {"37", 0x4B50, 0x0000},
+  {"38", 0x4CD0, 0x0000},
+  {"39", 0x4E50, 0x0000},
+  {"40", 0x4FD0, 0x0000},
+  {"41", 0x5150, 0x0000},
+  {"42", 0x52D0, 0x0000},
+  {"43", 0x5450, 0x0000},
+  {"44", 0x55D0, 0x0000},
+  {"45", 0x5750, 0x0000},
+  {"46", 0x58D0, 0x0000},
+  {"47", 0x5A50, 0x0000},
+  {"48", 0x5BD0, 0x0000},
+  {"49", 0x5D50, 0x0000},
+  {"50", 0x5ED0, 0x0000},
+  {"51", 0x6050, 0x0000},
+  {"52", 0x61D0, 0x0000},
+  {"53", 0x6350, 0x0000},
+  {"54", 0x64D0, 0x0000},
+  {"55", 0x6650, 0x0000},
+  {"56", 0x67D0, 0x0000},
+  {"57", 0x6950, 0x0000},
+  {"58", 0x6AD0, 0x0000},
+  {"59", 0x6C50, 0x0000},
+  {"60", 0x6DD0, 0x0000},
+  {"61", 0x6F50, 0x0000},
+  {"62", 0x70D0, 0x0000},
+  {"63", 0x7250, 0x0000},
+  {"64", 0x73D0, 0x0000},
+  {"65", 0x7550, 0x0000},
+  {"66", 0x76D0, 0x0000},
+  {"67", 0x7850, 0x0000},
+  {"68", 0x79D0, 0x0000},
+  {"69", 0x7B50, 0x0000},
+  {"70", 0x7CD0, 0x0000},
+  {"71", 0x7E50, 0x0000},
+  {"72", 0x7FD0, 0x0000},
+  {"73", 0x8150, 0x0000},
+  {"74", 0x82D0, 0x0000},
+  {"75", 0x8450, 0x0000},
+  {"76", 0x85D0, 0x0000},
+  {"77", 0x8750, 0x0000},
+  {"78", 0x88D0, 0x0000},
+  {"79", 0x8A50, 0x0000},
+  {"80", 0x8BD0, 0x0000},
+  {"81", 0x8D50, 0x0000},
+  {"82", 0x8ED0, 0x0000},
+  {"83", 0x9050, 0x0000},
+  {"84", 0x91D0, 0x0000},
+  {"85", 0x9350, 0x0000},
+  {"86", 0x94D0, 0x0000},
+  {"87", 0x9650, 0x0000},
+  {"88", 0x97D0, 0x0000},
+  {"89", 0x9950, 0x0000},
+  {"90", 0x9AD0, 0x0000},
+  {"91", 0x9C50, 0x0000},
+  {"92", 0x9DD0, 0x0000},
+  {"93", 0x9F50, 0x0000},
+  {"94", 0xA0D0, 0x0000},
+  {"95", 0x16D0, 0x0000},
+  {"96", 0x1850, 0x0000},
+  {"97", 0x19D0, 0x0000},
+  {"98", 0x1B51, 0x0000},
+  {"99", 0x1CD1, 0x0000},
+  {"100", 0xA250, 0x0000},
+  {"101", 0xA3D0, 0x0000},
+  {"102", 0xA550, 0x0000},
+  {"103", 0xA6D0, 0x0000},
+  {"104", 0xA850, 0x0000},
+  {"105", 0xA9D0, 0x0000},
+  {"106", 0xAB50, 0x0000},
+  {"107", 0xACD0, 0x0000},
+  {"108", 0xAE50, 0x0000},
+  {"109", 0xAFD0, 0x0000},
+  {"110", 0xB150, 0x0000},
+  {"111", 0xB2D0, 0x0000},
+  {"112", 0xB450, 0x0000},
+  {"113", 0xB5D0, 0x0000},
+  {"114", 0xB750, 0x0000},
+  {"115", 0xB8D0, 0x0000},
+  {"116", 0xBA50, 0x0000},
+  {"117", 0xBBD0, 0x0000},
+  {"118", 0xBD50, 0x0000},
+  {"119", 0xBED0, 0x0000},
+  {"120", 0xC050, 0x0000},
+  {"121", 0xC1D0, 0x0000},
+  {"122", 0xC350, 0x0000},
+  {"123", 0xC4D0, 0x0000},
+  {"124", 0xC650, 0x0000},
+  {"125", 0xC7D0, 0x0000},
+  {"126", 0xC950, 0x0000},
+  {"127", 0xCAD0, 0x0000},
+  {"128", 0xCC50, 0x0000},
+  {"129", 0xCDD0, 0x0000},
+  {"130", 0xCF50, 0x0000},
+  {"131", 0xD0D0, 0x0000},
+  {"132", 0xD250, 0x0000},
+  {"133", 0xD3D0, 0x0000},
+  {"134", 0xD550, 0x0000},
+  {"135", 0xD6D0, 0x0000}};
+
+
+// *** 9. Japan - Analog - Air
+XC_CHANNEL Japan_Analog_Air[] = {
+  {"1", 0x16D0, 0x0000},
+  {"2", 0x1850, 0x0000},
+  {"3", 0x19D0, 0x0000},
+  {"4", 0x2AD0, 0x0000},
+  {"5", 0x2C50, 0x0000},
+  {"6", 0x2DD0, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3050, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x3350, 0x0000},
+  {"11", 0x34D0, 0x0000},
+  {"12", 0x3650, 0x0000},
+  {"13", 0x75D0, 0x0000},
+  {"14", 0x7750, 0x0000},
+  {"15", 0x78D0, 0x0000},
+  {"16", 0x7A50, 0x0000},
+  {"17", 0x7BD0, 0x0000},
+  {"18", 0x7D50, 0x0000},
+  {"19", 0x7ED0, 0x0000},
+  {"20", 0x8050, 0x0000},
+  {"21", 0x81D0, 0x0000},
+  {"22", 0x8350, 0x0000},
+  {"23", 0x84D0, 0x0000},
+  {"24", 0x8650, 0x0000},
+  {"25", 0x87D0, 0x0000},
+  {"26", 0x8950, 0x0000},
+  {"27", 0x8AD0, 0x0000},
+  {"28", 0x8C50, 0x0000},
+  {"29", 0x8DD0, 0x0000},
+  {"30", 0x8F50, 0x0000},
+  {"31", 0x90D0, 0x0000},
+  {"32", 0x9250, 0x0000},
+  {"33", 0x93D0, 0x0000},
+  {"34", 0x9550, 0x0000},
+  {"35", 0x96D0, 0x0000},
+  {"36", 0x9850, 0x0000},
+  {"37", 0x99D0, 0x0000},
+  {"38", 0x9B50, 0x0000},
+  {"39", 0x9CD0, 0x0000},
+  {"40", 0x9E50, 0x0000},
+  {"41", 0x9FD0, 0x0000},
+  {"42", 0xA150, 0x0000},
+  {"43", 0xA2D0, 0x0000},
+  {"44", 0xA450, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA750, 0x0000},
+  {"47", 0xA8D0, 0x0000},
+  {"48", 0xAA50, 0x0000},
+  {"49", 0xABD0, 0x0000},
+  {"50", 0xAD50, 0x0000},
+  {"51", 0xAED0, 0x0000},
+  {"52", 0xB050, 0x0000},
+  {"53", 0xB1D0, 0x0000},
+  {"54", 0xB350, 0x0000},
+  {"55", 0xB4D0, 0x0000},
+  {"56", 0xB650, 0x0000},
+  {"57", 0xB7D0, 0x0000},
+  {"58", 0xB950, 0x0000},
+  {"59", 0xBAD0, 0x0000},
+  {"60", 0xBC50, 0x0000},
+  {"61", 0xBDD0, 0x0000},
+  {"62", 0xBF50, 0x0000}};
+
+
+// *** 10. Japan - Analog - Cable
+XC_CHANNEL Japan_Analog_Cable[] = {
+  {"1", 0x16D0, 0x0000},
+  {"2", 0x1850, 0x0000},
+  {"3", 0x19D0, 0x0000},
+  {"M1", 0x1B50, 0x0000},
+  {"M2", 0x1CD0, 0x0000},
+  {"M3", 0x1E50, 0x0000},
+  {"M4", 0x1FD0, 0x0000},
+  {"M5", 0x2150, 0x0000},
+  {"M6", 0x22D0, 0x0000},
+  {"M7", 0x2450, 0x0000},
+  {"M8", 0x25D0, 0x0000},
+  {"M9", 0x2750, 0x0000},
+  {"M10", 0x2950, 0x0000},
+  {"4", 0x2AD0, 0x0000},
+  {"5", 0x2C50, 0x0000},
+  {"6", 0x2DD0, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3050, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x3350, 0x0000},
+  {"11", 0x34D0, 0x0000},
+  {"S1", 0x37D0, 0x0000},
+  {"S2", 0x39D0, 0x0000},
+  {"S3", 0x3B50, 0x0000},
+  {"S4", 0x3CD0, 0x0000},
+  {"S5", 0x3E50, 0x0000},
+  {"S6", 0x3F50, 0x0000},
+  {"S7", 0x40D0, 0x0000},
+  {"S8", 0x4250, 0x0000},
+  {"S9", 0x43D0, 0x0000},
+  {"S10", 0x4550, 0x0000},
+  {"S11", 0x46D0, 0x0000},
+  {"S12", 0x4850, 0x0000},
+  {"S13", 0x49D0, 0x0000},
+  {"S14", 0x4B50, 0x0000},
+  {"S15", 0x4CD0, 0x0000},
+  {"S16", 0x4E50, 0x0000},
+  {"S17", 0x4FD0, 0x0000},
+  {"S18", 0x5150, 0x0000},
+  {"S19", 0x52D0, 0x0000},
+  {"S20", 0x5450, 0x0000},
+  {"S21", 0x55D0, 0x0000},
+  {"S22", 0x5750, 0x0000},
+  {"S23", 0x58D0, 0x0000},
+  {"S24", 0x5A50, 0x0000},
+  {"S25", 0x5BD0, 0x0000},
+  {"S26", 0x5D50, 0x0000},
+  {"S27", 0x5ED0, 0x0000},
+  {"S28", 0x6050, 0x0000},
+  {"S29", 0x61D0, 0x0000},
+  {"S30", 0x6350, 0x0000},
+  {"S31", 0x64D0, 0x0000},
+  {"S32", 0x6650, 0x0000},
+  {"S33", 0x67D0, 0x0000},
+  {"S34", 0x6950, 0x0000},
+  {"S35", 0x6AD0, 0x0000},
+  {"S36", 0x6C50, 0x0000},
+  {"S37", 0x6DD0, 0x0000},
+  {"S38", 0x6F50, 0x0000},
+  {"S39", 0x70D0, 0x0000},
+  {"S40", 0x7250, 0x0000},
+  {"S41", 0x73D0, 0x0000}};
+
+
+// *** 11. Japan - Digital - Air
+XC_CHANNEL Japan_Digital_Air[] = {
+  {"1", 0x16D0, 0x0000},
+  {"2", 0x1850, 0x0000},
+  {"3", 0x19D0, 0x0000},
+  {"4", 0x2AD0, 0x0000},
+  {"5", 0x2C50, 0x0000},
+  {"6", 0x2DD0, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3050, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x3350, 0x0000},
+  {"11", 0x34D0, 0x0000},
+  {"12", 0x3650, 0x0000},
+  {"13", 0x75D0, 0x0000},
+  {"14", 0x7750, 0x0000},
+  {"15", 0x78D0, 0x0000},
+  {"16", 0x7A50, 0x0000},
+  {"17", 0x7BD0, 0x0000},
+  {"18", 0x7D50, 0x0000},
+  {"19", 0x7ED0, 0x0000},
+  {"20", 0x8050, 0x0000},
+  {"21", 0x81D0, 0x0000},
+  {"22", 0x8350, 0x0000},
+  {"23", 0x84D0, 0x0000},
+  {"24", 0x8650, 0x0000},
+  {"25", 0x87D0, 0x0000},
+  {"26", 0x8950, 0x0000},
+  {"27", 0x8AD0, 0x0000},
+  {"28", 0x8C50, 0x0000},
+  {"29", 0x8DD0, 0x0000},
+  {"30", 0x8F50, 0x0000},
+  {"31", 0x90D0, 0x0000},
+  {"32", 0x9250, 0x0000},
+  {"33", 0x93D0, 0x0000},
+  {"34", 0x9550, 0x0000},
+  {"35", 0x96D0, 0x0000},
+  {"36", 0x9850, 0x0000},
+  {"37", 0x99D0, 0x0000},
+  {"38", 0x9B50, 0x0000},
+  {"39", 0x9CD0, 0x0000},
+  {"40", 0x9E50, 0x0000},
+  {"41", 0x9FD0, 0x0000},
+  {"42", 0xA150, 0x0000},
+  {"43", 0xA2D0, 0x0000},
+  {"44", 0xA450, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA750, 0x0000},
+  {"47", 0xA8D0, 0x0000},
+  {"48", 0xAA50, 0x0000},
+  {"49", 0xABD0, 0x0000},
+  {"50", 0xAD50, 0x0000},
+  {"51", 0xAED0, 0x0000},
+  {"52", 0xB050, 0x0000},
+  {"53", 0xB1D0, 0x0000},
+  {"54", 0xB350, 0x0000},
+  {"55", 0xB4D0, 0x0000},
+  {"56", 0xB650, 0x0000},
+  {"57", 0xB7D0, 0x0000},
+  {"58", 0xB950, 0x0000},
+  {"59", 0xBAD0, 0x0000},
+  {"60", 0xBC50, 0x0000},
+  {"61", 0xBDD0, 0x0000},
+  {"62", 0xBF50, 0x0000}};
+
+
+// *** 12. Japan - Digital - Cable
+XC_CHANNEL Japan_Digital_Cable[] = {
+  {"1", 0x16D0, 0x0000},
+  {"2", 0x1850, 0x0000},
+  {"3", 0x19D0, 0x0000},
+  {"M1", 0x1B50, 0x0000},
+  {"M2", 0x1CD0, 0x0000},
+  {"M3", 0x1E50, 0x0000},
+  {"M4", 0x1FD0, 0x0000},
+  {"M5", 0x2150, 0x0000},
+  {"M6", 0x22D0, 0x0000},
+  {"M7", 0x2450, 0x0000},
+  {"M8", 0x25D0, 0x0000},
+  {"M9", 0x2750, 0x0000},
+  {"M10", 0x2950, 0x0000},
+  {"4", 0x2AD0, 0x0000},
+  {"5", 0x2C50, 0x0000},
+  {"6", 0x2DD0, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3050, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x3350, 0x0000},
+  {"11", 0x34D0, 0x0000},
+  {"S1", 0x37D0, 0x0000},
+  {"S2", 0x39D0, 0x0000},
+  {"S3", 0x3B50, 0x0000},
+  {"S4", 0x3CD0, 0x0000},
+  {"S5", 0x3E50, 0x0000},
+  {"S6", 0x3F50, 0x0000},
+  {"S7", 0x40D0, 0x0000},
+  {"S8", 0x4250, 0x0000},
+  {"S9", 0x43D0, 0x0000},
+  {"S10", 0x4550, 0x0000},
+  {"S11", 0x46D0, 0x0000},
+  {"S12", 0x4850, 0x0000},
+  {"S13", 0x49D0, 0x0000},
+  {"S14", 0x4B50, 0x0000},
+  {"S15", 0x4CD0, 0x0000},
+  {"S16", 0x4E50, 0x0000},
+  {"S17", 0x4FD0, 0x0000},
+  {"S18", 0x5150, 0x0000},
+  {"S19", 0x52D0, 0x0000},
+  {"S20", 0x5450, 0x0000},
+  {"S21", 0x55D0, 0x0000},
+  {"S22", 0x5750, 0x0000},
+  {"S23", 0x58D0, 0x0000},
+  {"S24", 0x5A50, 0x0000},
+  {"S25", 0x5BD0, 0x0000},
+  {"S26", 0x5D50, 0x0000},
+  {"S27", 0x5ED0, 0x0000},
+  {"S28", 0x6050, 0x0000},
+  {"S29", 0x61D0, 0x0000},
+  {"S30", 0x6350, 0x0000},
+  {"S31", 0x64D0, 0x0000},
+  {"S32", 0x6650, 0x0000},
+  {"S33", 0x67D0, 0x0000},
+  {"S34", 0x6950, 0x0000},
+  {"S35", 0x6AD0, 0x0000},
+  {"S36", 0x6C50, 0x0000},
+  {"S37", 0x6DD0, 0x0000},
+  {"S38", 0x6F50, 0x0000},
+  {"S39", 0x70D0, 0x0000},
+  {"S40", 0x7250, 0x0000},
+  {"S41", 0x73D0, 0x0000}};
+
+
+// *** 13. CCIR - Analog - Air
+XC_CHANNEL CCIR_Analog_Air[] = {
+  {"2", 0x0C10, 0x0000},
+  {"3", 0x0DD0, 0x0000},
+  {"4", 0x0F90, 0x0000},
+  {"5", 0x2BD0, 0x0000},
+  {"6", 0x2D90, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3110, 0x0000},
+  {"9", 0x32D0, 0x0000},
+  {"10", 0x3490, 0x0000},
+  {"11", 0x3650, 0x0000},
+  {"12", 0x3810, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 14. CCIR - Analog - Cable
+XC_CHANNEL CCIR_Analog_Cable[] = {
+  {"E2", 0x0C10, 0x0000},
+  {"E3", 0x0DD0, 0x0000},
+  {"E4", 0x0F90, 0x0000},
+  {"X", 0x1150, 0x0000},
+  {"Y", 0x1310, 0x0000},
+  {"Z", 0x14D0, 0x0000},
+  {"Z", 0x1690, 0x0000},
+  {"Z", 0x1850, 0x0000},
+  {"S1", 0x1A50, 0x0000},
+  {"S2", 0x1C10, 0x0000},
+  {"S3", 0x1DD0, 0x0000},
+  {"S4", 0x1F90, 0x0000},
+  {"S5", 0x2150, 0x0000},
+  {"S6", 0x2310, 0x0000},
+  {"S7", 0x24D0, 0x0000},
+  {"S8", 0x2690, 0x0000},
+  {"S9", 0x2850, 0x0000},
+  {"S10", 0x2A10, 0x0000},
+  {"E5", 0x2BD0, 0x0000},
+  {"E6", 0x2D90, 0x0000},
+  {"E7", 0x2F50, 0x0000},
+  {"E8", 0x3110, 0x0000},
+  {"E9", 0x32D0, 0x0000},
+  {"E10", 0x3490, 0x0000},
+  {"E11", 0x3650, 0x0000},
+  {"E12", 0x3810, 0x0000},
+  {"S11", 0x39D0, 0x0000},
+  {"S12", 0x3B90, 0x0000},
+  {"S13", 0x3D50, 0x0000},
+  {"S14", 0x3F10, 0x0000},
+  {"S15", 0x40D0, 0x0000},
+  {"S16", 0x4290, 0x0000},
+  {"S17", 0x4450, 0x0000},
+  {"S18", 0x4610, 0x0000},
+  {"S19", 0x47D0, 0x0000},
+  {"S20", 0x4990, 0x0000},
+  {"S21", 0x4BD0, 0x0000},
+  {"S22", 0x4DD0, 0x0000},
+  {"S23", 0x4FD0, 0x0000},
+  {"S24", 0x51D0, 0x0000},
+  {"S25", 0x53D0, 0x0000},
+  {"S26", 0x55D0, 0x0000},
+  {"S27", 0x57D0, 0x0000},
+  {"S28", 0x59D0, 0x0000},
+  {"S29", 0x5BD0, 0x0000},
+  {"S30", 0x5DD0, 0x0000},
+  {"S31", 0x5FD0, 0x0000},
+  {"S32", 0x61D0, 0x0000},
+  {"S33", 0x63D0, 0x0000},
+  {"S34", 0x65D0, 0x0000},
+  {"S35", 0x67D0, 0x0000},
+  {"S36", 0x69D0, 0x0000},
+  {"S37", 0x6BD0, 0x0000},
+  {"S38", 0x6DD0, 0x0000},
+  {"S39", 0x6FD0, 0x0000},
+  {"S40", 0x71D0, 0x0000},
+  {"S41", 0x73D0, 0x0000}};
+
+
+// *** 15. CCIR - Digital - Air
+XC_CHANNEL CCIR_Digital_Air[] = {
+  {"2", 0x0C10, 0x0000},
+  {"3", 0x0DD0, 0x0000},
+  {"4", 0x0F90, 0x0000},
+  {"5", 0x2BD0, 0x0000},
+  {"6", 0x2D90, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3110, 0x0000},
+  {"9", 0x32D0, 0x0000},
+  {"10", 0x3490, 0x0000},
+  {"11", 0x3650, 0x0000},
+  {"12", 0x3810, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 16. CCIR - Digital - Cable
+XC_CHANNEL CCIR_Digital_Cable[] = {
+  {"E2", 0x0C10, 0x0000},
+  {"E3", 0x0DD0, 0x0000},
+  {"E4", 0x0F90, 0x0000},
+  {"X", 0x1150, 0x0000},
+  {"Y", 0x1310, 0x0000},
+  {"Z", 0x14D0, 0x0000},
+  {"Z", 0x1690, 0x0000},
+  {"Z", 0x1850, 0x0000},
+  {"S1", 0x1A50, 0x0000},
+  {"S2", 0x1C10, 0x0000},
+  {"S3", 0x1DD0, 0x0000},
+  {"S4", 0x1F90, 0x0000},
+  {"S5", 0x2150, 0x0000},
+  {"S6", 0x2310, 0x0000},
+  {"S7", 0x24D0, 0x0000},
+  {"S8", 0x2690, 0x0000},
+  {"S9", 0x2850, 0x0000},
+  {"S10", 0x2A10, 0x0000},
+  {"E5", 0x2BD0, 0x0000},
+  {"E6", 0x2D90, 0x0000},
+  {"E7", 0x2F50, 0x0000},
+  {"E8", 0x3110, 0x0000},
+  {"E9", 0x32D0, 0x0000},
+  {"E10", 0x3490, 0x0000},
+  {"E11", 0x3650, 0x0000},
+  {"E12", 0x3810, 0x0000},
+  {"S11", 0x39D0, 0x0000},
+  {"S12", 0x3B90, 0x0000},
+  {"S13", 0x3D50, 0x0000},
+  {"S14", 0x3F10, 0x0000},
+  {"S15", 0x40D0, 0x0000},
+  {"S16", 0x4290, 0x0000},
+  {"S17", 0x4450, 0x0000},
+  {"S18", 0x4610, 0x0000},
+  {"S19", 0x47D0, 0x0000},
+  {"S20", 0x4990, 0x0000},
+  {"S21", 0x4BD0, 0x0000},
+  {"S22", 0x4DD0, 0x0000},
+  {"S23", 0x4FD0, 0x0000},
+  {"S24", 0x51D0, 0x0000},
+  {"S25", 0x53D0, 0x0000},
+  {"S26", 0x55D0, 0x0000},
+  {"S27", 0x57D0, 0x0000},
+  {"S28", 0x59D0, 0x0000},
+  {"S29", 0x5BD0, 0x0000},
+  {"S30", 0x5DD0, 0x0000},
+  {"S31", 0x5FD0, 0x0000},
+  {"S32", 0x61D0, 0x0000},
+  {"S33", 0x63D0, 0x0000},
+  {"S34", 0x65D0, 0x0000},
+  {"S35", 0x67D0, 0x0000},
+  {"S36", 0x69D0, 0x0000},
+  {"S37", 0x6BD0, 0x0000},
+  {"S38", 0x6DD0, 0x0000},
+  {"S39", 0x6FD0, 0x0000},
+  {"S40", 0x71D0, 0x0000},
+  {"S41", 0x73D0, 0x0000}};
+
+
+// *** 17. India - Analog - Air
+XC_CHANNEL India_Analog_Air[] = {
+  {"2", 0x0C10, 0x0000},
+  {"3", 0x0DD0, 0x0000},
+  {"4", 0x0F90, 0x0000},
+  {"X", 0x1150, 0x0000},
+  {"Y", 0x1310, 0x0000},
+  {"Z", 0x14D0, 0x0000},
+  {"Z", 0x1690, 0x0000},
+  {"Z", 0x1850, 0x0000},
+  {"S1", 0x1A50, 0x0000},
+  {"S2", 0x1C10, 0x0000},
+  {"S3", 0x1DD0, 0x0000},
+  {"S4", 0x1F90, 0x0000},
+  {"S5", 0x2150, 0x0000},
+  {"S6", 0x2310, 0x0000},
+  {"S7", 0x24D0, 0x0000},
+  {"S8", 0x2690, 0x0000},
+  {"S9", 0x2850, 0x0000},
+  {"S10", 0x2A10, 0x0000},
+  {"5", 0x2BD0, 0x0000},
+  {"6", 0x2D90, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3110, 0x0000},
+  {"9", 0x32D0, 0x0000},
+  {"10", 0x3490, 0x0000},
+  {"11", 0x3650, 0x0000},
+  {"12", 0x3810, 0x0000},
+  {"S11", 0x39D0, 0x0000},
+  {"S12", 0x3B90, 0x0000},
+  {"S13", 0x3D50, 0x0000},
+  {"S14", 0x3F10, 0x0000},
+  {"S15", 0x40D0, 0x0000},
+  {"S16", 0x4290, 0x0000},
+  {"S17", 0x4450, 0x0000},
+  {"S18", 0x4610, 0x0000},
+  {"S19", 0x47D0, 0x0000},
+  {"S20", 0x4990, 0x0000},
+  {"S21", 0x4BD0, 0x0000},
+  {"S22", 0x4DD0, 0x0000},
+  {"S23", 0x4FD0, 0x0000},
+  {"S24", 0x51D0, 0x0000},
+  {"S25", 0x53D0, 0x0000},
+  {"S26", 0x55D0, 0x0000},
+  {"S27", 0x57D0, 0x0000},
+  {"S28", 0x59D0, 0x0000},
+  {"S29", 0x5BD0, 0x0000},
+  {"S30", 0x5DD0, 0x0000},
+  {"S31", 0x5FD0, 0x0000},
+  {"S32", 0x61D0, 0x0000},
+  {"S33", 0x63D0, 0x0000},
+  {"S34", 0x65D0, 0x0000},
+  {"S35", 0x67D0, 0x0000},
+  {"S36", 0x69D0, 0x0000},
+  {"S37", 0x6BD0, 0x0000},
+  {"S38", 0x6DD0, 0x0000},
+  {"S39", 0x6FD0, 0x0000},
+  {"S40", 0x71D0, 0x0000},
+  {"S41", 0x73D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 18. India - Analog - Cable
+XC_CHANNEL India_Analog_Cable[] = {
+  {"2", 0x0C10, 0x0000},
+  {"3", 0x0DD0, 0x0000},
+  {"4", 0x0F90, 0x0000},
+  {"X", 0x1150, 0x0000},
+  {"Y", 0x1310, 0x0000},
+  {"Z", 0x14D0, 0x0000},
+  {"Z", 0x1690, 0x0000},
+  {"Z", 0x1850, 0x0000},
+  {"S1", 0x1A50, 0x0000},
+  {"S2", 0x1C10, 0x0000},
+  {"S3", 0x1DD0, 0x0000},
+  {"S4", 0x1F90, 0x0000},
+  {"S5", 0x2150, 0x0000},
+  {"S6", 0x2310, 0x0000},
+  {"S7", 0x24D0, 0x0000},
+  {"S8", 0x2690, 0x0000},
+  {"S9", 0x2850, 0x0000},
+  {"S10", 0x2A10, 0x0000},
+  {"5", 0x2BD0, 0x0000},
+  {"6", 0x2D90, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3110, 0x0000},
+  {"9", 0x32D0, 0x0000},
+  {"10", 0x3490, 0x0000},
+  {"11", 0x3650, 0x0000},
+  {"12", 0x3810, 0x0000},
+  {"S11", 0x39D0, 0x0000},
+  {"S12", 0x3B90, 0x0000},
+  {"S13", 0x3D50, 0x0000},
+  {"S14", 0x3F10, 0x0000},
+  {"S15", 0x40D0, 0x0000},
+  {"S16", 0x4290, 0x0000},
+  {"S17", 0x4450, 0x0000},
+  {"S18", 0x4610, 0x0000},
+  {"S19", 0x47D0, 0x0000},
+  {"S20", 0x4990, 0x0000},
+  {"S21", 0x4BD0, 0x0000},
+  {"S22", 0x4DD0, 0x0000},
+  {"S23", 0x4FD0, 0x0000},
+  {"S24", 0x51D0, 0x0000},
+  {"S25", 0x53D0, 0x0000},
+  {"S26", 0x55D0, 0x0000},
+  {"S27", 0x57D0, 0x0000},
+  {"S28", 0x59D0, 0x0000},
+  {"S29", 0x5BD0, 0x0000},
+  {"S30", 0x5DD0, 0x0000},
+  {"S31", 0x5FD0, 0x0000},
+  {"S32", 0x61D0, 0x0000},
+  {"S33", 0x63D0, 0x0000},
+  {"S34", 0x65D0, 0x0000},
+  {"S35", 0x67D0, 0x0000},
+  {"S36", 0x69D0, 0x0000},
+  {"S37", 0x6BD0, 0x0000},
+  {"S38", 0x6DD0, 0x0000},
+  {"S39", 0x6FD0, 0x0000},
+  {"S40", 0x71D0, 0x0000},
+  {"S41", 0x73D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 19. India - Digital - Air
+XC_CHANNEL India_Digital_Air[] = {
+  {"2", 0x0C10, 0x0000},
+  {"3", 0x0DD0, 0x0000},
+  {"4", 0x0F90, 0x0000},
+  {"X", 0x1150, 0x0000},
+  {"Y", 0x1310, 0x0000},
+  {"Z", 0x14D0, 0x0000},
+  {"Z", 0x1690, 0x0000},
+  {"Z", 0x1850, 0x0000},
+  {"S1", 0x1A50, 0x0000},
+  {"S2", 0x1C10, 0x0000},
+  {"S3", 0x1DD0, 0x0000},
+  {"S4", 0x1F90, 0x0000},
+  {"S5", 0x2150, 0x0000},
+  {"S6", 0x2310, 0x0000},
+  {"S7", 0x24D0, 0x0000},
+  {"S8", 0x2690, 0x0000},
+  {"S9", 0x2850, 0x0000},
+  {"S10", 0x2A10, 0x0000},
+  {"5", 0x2BD0, 0x0000},
+  {"6", 0x2D90, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3110, 0x0000},
+  {"9", 0x32D0, 0x0000},
+  {"10", 0x3490, 0x0000},
+  {"11", 0x3650, 0x0000},
+  {"12", 0x3810, 0x0000},
+  {"S11", 0x39D0, 0x0000},
+  {"S12", 0x3B90, 0x0000},
+  {"S13", 0x3D50, 0x0000},
+  {"S14", 0x3F10, 0x0000},
+  {"S15", 0x40D0, 0x0000},
+  {"S16", 0x4290, 0x0000},
+  {"S17", 0x4450, 0x0000},
+  {"S18", 0x4610, 0x0000},
+  {"S19", 0x47D0, 0x0000},
+  {"S20", 0x4990, 0x0000},
+  {"S21", 0x4BD0, 0x0000},
+  {"S22", 0x4DD0, 0x0000},
+  {"S23", 0x4FD0, 0x0000},
+  {"S24", 0x51D0, 0x0000},
+  {"S25", 0x53D0, 0x0000},
+  {"S26", 0x55D0, 0x0000},
+  {"S27", 0x57D0, 0x0000},
+  {"S28", 0x59D0, 0x0000},
+  {"S29", 0x5BD0, 0x0000},
+  {"S30", 0x5DD0, 0x0000},
+  {"S31", 0x5FD0, 0x0000},
+  {"S32", 0x61D0, 0x0000},
+  {"S33", 0x63D0, 0x0000},
+  {"S34", 0x65D0, 0x0000},
+  {"S35", 0x67D0, 0x0000},
+  {"S36", 0x69D0, 0x0000},
+  {"S37", 0x6BD0, 0x0000},
+  {"S38", 0x6DD0, 0x0000},
+  {"S39", 0x6FD0, 0x0000},
+  {"S40", 0x71D0, 0x0000},
+  {"S41", 0x73D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 20. India - Digital - Cable
+XC_CHANNEL India_Digital_Cable[] = {
+  {"2", 0x0C10, 0x0000},
+  {"3", 0x0DD0, 0x0000},
+  {"4", 0x0F90, 0x0000},
+  {"X", 0x1150, 0x0000},
+  {"Y", 0x1310, 0x0000},
+  {"Z", 0x14D0, 0x0000},
+  {"Z", 0x1690, 0x0000},
+  {"Z", 0x1850, 0x0000},
+  {"S1", 0x1A50, 0x0000},
+  {"S2", 0x1C10, 0x0000},
+  {"S3", 0x1DD0, 0x0000},
+  {"S4", 0x1F90, 0x0000},
+  {"S5", 0x2150, 0x0000},
+  {"S6", 0x2310, 0x0000},
+  {"S7", 0x24D0, 0x0000},
+  {"S8", 0x2690, 0x0000},
+  {"S9", 0x2850, 0x0000},
+  {"S10", 0x2A10, 0x0000},
+  {"5", 0x2BD0, 0x0000},
+  {"6", 0x2D90, 0x0000},
+  {"7", 0x2F50, 0x0000},
+  {"8", 0x3110, 0x0000},
+  {"9", 0x32D0, 0x0000},
+  {"10", 0x3490, 0x0000},
+  {"11", 0x3650, 0x0000},
+  {"12", 0x3810, 0x0000},
+  {"S11", 0x39D0, 0x0000},
+  {"S12", 0x3B90, 0x0000},
+  {"S13", 0x3D50, 0x0000},
+  {"S14", 0x3F10, 0x0000},
+  {"S15", 0x40D0, 0x0000},
+  {"S16", 0x4290, 0x0000},
+  {"S17", 0x4450, 0x0000},
+  {"S18", 0x4610, 0x0000},
+  {"S19", 0x47D0, 0x0000},
+  {"S20", 0x4990, 0x0000},
+  {"S21", 0x4BD0, 0x0000},
+  {"S22", 0x4DD0, 0x0000},
+  {"S23", 0x4FD0, 0x0000},
+  {"S24", 0x51D0, 0x0000},
+  {"S25", 0x53D0, 0x0000},
+  {"S26", 0x55D0, 0x0000},
+  {"S27", 0x57D0, 0x0000},
+  {"S28", 0x59D0, 0x0000},
+  {"S29", 0x5BD0, 0x0000},
+  {"S30", 0x5DD0, 0x0000},
+  {"S31", 0x5FD0, 0x0000},
+  {"S32", 0x61D0, 0x0000},
+  {"S33", 0x63D0, 0x0000},
+  {"S34", 0x65D0, 0x0000},
+  {"S35", 0x67D0, 0x0000},
+  {"S36", 0x69D0, 0x0000},
+  {"S37", 0x6BD0, 0x0000},
+  {"S38", 0x6DD0, 0x0000},
+  {"S39", 0x6FD0, 0x0000},
+  {"S40", 0x71D0, 0x0000},
+  {"S41", 0x73D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 21. France - Analog - Air
+XC_CHANNEL France_Analog_Air[] = {
+  {"A1", 0x0BF0, 0x0000},
+  {"B", 0x0DF0, 0x0000},
+  {"C1", 0x0F20, 0x0000},
+  {"C", 0x0FF0, 0x0000},
+  {"1", 0x2C00, 0x0000},
+  {"2", 0x2E00, 0x0000},
+  {"3", 0x3000, 0x0000},
+  {"4", 0x3200, 0x0000},
+  {"5", 0x3400, 0x0000},
+  {"6", 0x3600, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 22. France - Analog - Cable
+XC_CHANNEL France_Analog_Cable[] = {
+  {"A1", 0x0BF0, 0x0000},
+  {"B", 0x0DF0, 0x0000},
+  {"C1", 0x0F20, 0x0000},
+  {"C", 0x0FF0, 0x0000},
+  {"1", 0x2C00, 0x0000},
+  {"2", 0x2E00, 0x0000},
+  {"3", 0x3000, 0x0000},
+  {"4", 0x3200, 0x0000},
+  {"5", 0x3400, 0x0000},
+  {"6", 0x3600, 0x0000},
+  {"SC", 0x1E00, 0x0000},
+  {"SC", 0x2000, 0x0000},
+  {"SC", 0x2200, 0x0000},
+  {"SC", 0x2400, 0x0000},
+  {"SC", 0x2600, 0x0000},
+  {"SC", 0x2800, 0x0000},
+  {"SC", 0x2A00, 0x0000},
+  {"SC", 0x3800, 0x0000},
+  {"SC", 0x3A00, 0x0000},
+  {"SC", 0x3C00, 0x0000},
+  {"SC", 0x3E00, 0x0000},
+  {"SC", 0x4000, 0x0000},
+  {"SC", 0x4200, 0x0000},
+  {"SC", 0x4400, 0x0000},
+  {"SC", 0x4600, 0x0000},
+  {"SC", 0x4800, 0x0000},
+  {"SC", 0x4BD0, 0x0000},
+  {"SC", 0x4ED0, 0x0000},
+  {"SC", 0x51D0, 0x0000},
+  {"SC", 0x54D0, 0x0000},
+  {"SC", 0x57D0, 0x0000},
+  {"SC", 0x5AD0, 0x0000},
+  {"SC", 0x5DD0, 0x0000},
+  {"SC", 0x60D0, 0x0000},
+  {"SC", 0x63D0, 0x0000},
+  {"SC", 0x66D0, 0x0000},
+  {"SC", 0x69D0, 0x0000},
+  {"SC", 0x6CD0, 0x0000},
+  {"SC", 0x6FD0, 0x0000},
+  {"SC", 0x72D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 23. France - Digital - Air
+XC_CHANNEL France_Digital_Air[] = {
+  {"A1", 0x0BF0, 0x0000},
+  {"B", 0x0DF0, 0x0000},
+  {"C1", 0x0F20, 0x0000},
+  {"C", 0x0FF0, 0x0000},
+  {"1", 0x2C00, 0x0000},
+  {"2", 0x2E00, 0x0000},
+  {"3", 0x3000, 0x0000},
+  {"4", 0x3200, 0x0000},
+  {"5", 0x3400, 0x0000},
+  {"6", 0x3600, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 24. France - Digital - Cable
+XC_CHANNEL France_Digital_Cable[] = {
+  {"A1", 0x0BF0, 0x0000},
+  {"B", 0x0DF0, 0x0000},
+  {"C1", 0x0F20, 0x0000},
+  {"C", 0x0FF0, 0x0000},
+  {"1", 0x2C00, 0x0000},
+  {"2", 0x2E00, 0x0000},
+  {"3", 0x3000, 0x0000},
+  {"4", 0x3200, 0x0000},
+  {"5", 0x3400, 0x0000},
+  {"6", 0x3600, 0x0000},
+  {"SC", 0x1E00, 0x0000},
+  {"SC", 0x2000, 0x0000},
+  {"SC", 0x2200, 0x0000},
+  {"SC", 0x2400, 0x0000},
+  {"SC", 0x2600, 0x0000},
+  {"SC", 0x2800, 0x0000},
+  {"SC", 0x2A00, 0x0000},
+  {"SC", 0x3800, 0x0000},
+  {"SC", 0x3A00, 0x0000},
+  {"SC", 0x3C00, 0x0000},
+  {"SC", 0x3E00, 0x0000},
+  {"SC", 0x4000, 0x0000},
+  {"SC", 0x4200, 0x0000},
+  {"SC", 0x4400, 0x0000},
+  {"SC", 0x4600, 0x0000},
+  {"SC", 0x4800, 0x0000},
+  {"SC", 0x4BD0, 0x0000},
+  {"SC", 0x4ED0, 0x0000},
+  {"SC", 0x51D0, 0x0000},
+  {"SC", 0x54D0, 0x0000},
+  {"SC", 0x57D0, 0x0000},
+  {"SC", 0x5AD0, 0x0000},
+  {"SC", 0x5DD0, 0x0000},
+  {"SC", 0x60D0, 0x0000},
+  {"SC", 0x63D0, 0x0000},
+  {"SC", 0x66D0, 0x0000},
+  {"SC", 0x69D0, 0x0000},
+  {"SC", 0x6CD0, 0x0000},
+  {"SC", 0x6FD0, 0x0000},
+  {"SC", 0x72D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 25. UK - Analog - Air
+XC_CHANNEL UK_Analog_Air[] = {
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 26. UK - Analog - Cable
+XC_CHANNEL UK_Analog_Cable[] = {
+  {"1", 0x0E00, 0x0000},
+  {"2", 0x1000, 0x0000},
+  {"3", 0x1E00, 0x0000},
+  {"4", 0x2000, 0x0000},
+  {"5", 0x2200, 0x0000},
+  {"6", 0x2400, 0x0000},
+  {"7", 0x2600, 0x0000},
+  {"8", 0x2800, 0x0000},
+  {"9", 0x2A00, 0x0000},
+  {"10", 0x2C00, 0x0000},
+  {"11", 0x2E00, 0x0000},
+  {"12", 0x3000, 0x0000},
+  {"13", 0x3200, 0x0000},
+  {"14", 0x3400, 0x0000},
+  {"15", 0x3600, 0x0000},
+  {"16", 0x3800, 0x0000},
+  {"17", 0x3A00, 0x0000},
+  {"18", 0x3C00, 0x0000},
+  {"19", 0x3E00, 0x0000},
+  {"20", 0x4000, 0x0000},
+  {"21", 0x4200, 0x0000},
+  {"22", 0x4400, 0x0000},
+  {"23", 0x4600, 0x0000},
+  {"24", 0x4800, 0x0000},
+  {"25", 0x4A00, 0x0000},
+  {"26", 0x4C00, 0x0000},
+  {"27", 0x4E00, 0x0000},
+  {"28", 0x5000, 0x0000},
+  {"29", 0x5200, 0x0000},
+  {"30", 0x5400, 0x0000},
+  {"31", 0x5600, 0x0000},
+  {"32", 0x5800, 0x0000},
+  {"33", 0x5A00, 0x0000},
+  {"34", 0x5C00, 0x0000},
+  {"35", 0x5E00, 0x0000},
+  {"36", 0x6000, 0x0000},
+  {"37", 0x6200, 0x0000},
+  {"38", 0x6400, 0x0000},
+  {"39", 0x6600, 0x0000},
+  {"40", 0x6800, 0x0000},
+  {"41", 0x6A00, 0x0000},
+  {"42", 0x6C00, 0x0000},
+  {"43", 0x6E00, 0x0000},
+  {"44", 0x7000, 0x0000},
+  {"45", 0x7200, 0x0000},
+  {"46", 0x7400, 0x0000},
+  {"47", 0x7600, 0x0000},
+  {"48", 0x7800, 0x0000},
+  {"49", 0x7A00, 0x0000},
+  {"50", 0x7C00, 0x0000},
+  {"51", 0x7E00, 0x0000},
+  {"52", 0x8000, 0x0000},
+  {"53", 0x8200, 0x0000},
+  {"54", 0x8400, 0x0000},
+  {"55", 0x8600, 0x0000},
+  {"56", 0x8800, 0x0000},
+  {"57", 0x8A00, 0x0000},
+  {"58", 0x8C00, 0x0000},
+  {"59", 0x8E00, 0x0000},
+  {"60", 0x9000, 0x0000},
+  {"61", 0x9200, 0x0000},
+  {"62", 0x9400, 0x0000},
+  {"63", 0x9600, 0x0000},
+  {"64", 0x9800, 0x0000},
+  {"65", 0x9A00, 0x0000},
+  {"66", 0x9C00, 0x0000},
+  {"67", 0x9E00, 0x0000},
+  {"68", 0xA000, 0x0000},
+  {"69", 0xA200, 0x0000},
+  {"70", 0xA400, 0x0000},
+  {"71", 0xA600, 0x0000},
+  {"72", 0xA800, 0x0000},
+  {"73", 0xAA00, 0x0000},
+  {"74", 0xAC00, 0x0000},
+  {"75", 0xAE00, 0x0000},
+  {"76", 0xB000, 0x0000},
+  {"77", 0xB200, 0x0000},
+  {"78", 0xB400, 0x0000},
+  {"79", 0xB600, 0x0000},
+  {"80", 0xB800, 0x0000},
+  {"81", 0xBA00, 0x0000}};
+
+
+// *** 27. UK - Digital - Air
+XC_CHANNEL UK_Digital_Air[] = {
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 28. UK - Digital - Cable
+XC_CHANNEL UK_Digital_Cable[] = {
+  {"1", 0x0E00, 0x0000},
+  {"2", 0x1000, 0x0000},
+  {"3", 0x1E00, 0x0000},
+  {"4", 0x2000, 0x0000},
+  {"5", 0x2200, 0x0000},
+  {"6", 0x2400, 0x0000},
+  {"7", 0x2600, 0x0000},
+  {"8", 0x2800, 0x0000},
+  {"9", 0x2A00, 0x0000},
+  {"10", 0x2C00, 0x0000},
+  {"11", 0x2E00, 0x0000},
+  {"12", 0x3000, 0x0000},
+  {"13", 0x3200, 0x0000},
+  {"14", 0x3400, 0x0000},
+  {"15", 0x3600, 0x0000},
+  {"16", 0x3800, 0x0000},
+  {"17", 0x3A00, 0x0000},
+  {"18", 0x3C00, 0x0000},
+  {"19", 0x3E00, 0x0000},
+  {"20", 0x4000, 0x0000},
+  {"21", 0x4200, 0x0000},
+  {"22", 0x4400, 0x0000},
+  {"23", 0x4600, 0x0000},
+  {"24", 0x4800, 0x0000},
+  {"25", 0x4A00, 0x0000},
+  {"26", 0x4C00, 0x0000},
+  {"27", 0x4E00, 0x0000},
+  {"28", 0x5000, 0x0000},
+  {"29", 0x5200, 0x0000},
+  {"30", 0x5400, 0x0000},
+  {"31", 0x5600, 0x0000},
+  {"32", 0x5800, 0x0000},
+  {"33", 0x5A00, 0x0000},
+  {"34", 0x5C00, 0x0000},
+  {"35", 0x5E00, 0x0000},
+  {"36", 0x6000, 0x0000},
+  {"37", 0x6200, 0x0000},
+  {"38", 0x6400, 0x0000},
+  {"39", 0x6600, 0x0000},
+  {"40", 0x6800, 0x0000},
+  {"41", 0x6A00, 0x0000},
+  {"42", 0x6C00, 0x0000},
+  {"43", 0x6E00, 0x0000},
+  {"44", 0x7000, 0x0000},
+  {"45", 0x7200, 0x0000},
+  {"46", 0x7400, 0x0000},
+  {"47", 0x7600, 0x0000},
+  {"48", 0x7800, 0x0000},
+  {"49", 0x7A00, 0x0000},
+  {"50", 0x7C00, 0x0000},
+  {"51", 0x7E00, 0x0000},
+  {"52", 0x8000, 0x0000},
+  {"53", 0x8200, 0x0000},
+  {"54", 0x8400, 0x0000},
+  {"55", 0x8600, 0x0000},
+  {"56", 0x8800, 0x0000},
+  {"57", 0x8A00, 0x0000},
+  {"58", 0x8C00, 0x0000},
+  {"59", 0x8E00, 0x0000},
+  {"60", 0x9000, 0x0000},
+  {"61", 0x9200, 0x0000},
+  {"62", 0x9400, 0x0000},
+  {"63", 0x9600, 0x0000},
+  {"64", 0x9800, 0x0000},
+  {"65", 0x9A00, 0x0000},
+  {"66", 0x9C00, 0x0000},
+  {"67", 0x9E00, 0x0000},
+  {"68", 0xA000, 0x0000},
+  {"69", 0xA200, 0x0000},
+  {"70", 0xA400, 0x0000},
+  {"71", 0xA600, 0x0000},
+  {"72", 0xA800, 0x0000},
+  {"73", 0xAA00, 0x0000},
+  {"74", 0xAC00, 0x0000},
+  {"75", 0xAE00, 0x0000},
+  {"76", 0xB000, 0x0000},
+  {"77", 0xB200, 0x0000},
+  {"78", 0xB400, 0x0000},
+  {"79", 0xB600, 0x0000},
+  {"80", 0xB800, 0x0000},
+  {"81", 0xBA00, 0x0000}};
+
+
+// *** 29. Ireland - Analog - Air
+XC_CHANNEL Ireland_Analog_Air[] = {
+  {"A", 0x0B70, 0x0000},
+  {"B", 0x0D70, 0x0000},
+  {"C", 0x0F70, 0x0000},
+  {"D", 0x2BD0, 0x0000},
+  {"E", 0x2DD0, 0x0000},
+  {"F", 0x2FD0, 0x0000},
+  {"G", 0x31D0, 0x0000},
+  {"H", 0x33D0, 0x0000},
+  {"J", 0x35D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 30. Ireland - Analog - Cable
+XC_CHANNEL Ireland_Analog_Cable[] = {
+  {"1", 0x0E00, 0x0000},
+  {"2", 0x1000, 0x0000},
+  {"3", 0x1E00, 0x0000},
+  {"4", 0x2000, 0x0000},
+  {"5", 0x2200, 0x0000},
+  {"6", 0x2400, 0x0000},
+  {"7", 0x2600, 0x0000},
+  {"8", 0x2800, 0x0000},
+  {"9", 0x2A00, 0x0000},
+  {"10", 0x2C00, 0x0000},
+  {"11", 0x2E00, 0x0000},
+  {"12", 0x3000, 0x0000},
+  {"13", 0x3200, 0x0000},
+  {"14", 0x3400, 0x0000},
+  {"15", 0x3600, 0x0000},
+  {"16", 0x3800, 0x0000},
+  {"17", 0x3A00, 0x0000},
+  {"18", 0x3C00, 0x0000},
+  {"19", 0x3E00, 0x0000},
+  {"20", 0x4000, 0x0000},
+  {"21", 0x4200, 0x0000},
+  {"22", 0x4400, 0x0000},
+  {"23", 0x4600, 0x0000},
+  {"24", 0x4800, 0x0000},
+  {"25", 0x4A00, 0x0000},
+  {"26", 0x4C00, 0x0000},
+  {"27", 0x4E00, 0x0000},
+  {"28", 0x5000, 0x0000},
+  {"29", 0x5200, 0x0000},
+  {"30", 0x5400, 0x0000},
+  {"31", 0x5600, 0x0000},
+  {"32", 0x5800, 0x0000},
+  {"33", 0x5A00, 0x0000},
+  {"34", 0x5C00, 0x0000},
+  {"35", 0x5E00, 0x0000},
+  {"36", 0x6000, 0x0000},
+  {"37", 0x6200, 0x0000},
+  {"38", 0x6400, 0x0000},
+  {"39", 0x6600, 0x0000},
+  {"40", 0x6800, 0x0000},
+  {"41", 0x6A00, 0x0000},
+  {"42", 0x6C00, 0x0000},
+  {"43", 0x6E00, 0x0000},
+  {"44", 0x7000, 0x0000},
+  {"45", 0x7200, 0x0000},
+  {"46", 0x7400, 0x0000},
+  {"47", 0x7600, 0x0000},
+  {"48", 0x7800, 0x0000},
+  {"49", 0x7A00, 0x0000},
+  {"50", 0x7C00, 0x0000},
+  {"51", 0x7E00, 0x0000},
+  {"52", 0x8000, 0x0000},
+  {"53", 0x8200, 0x0000},
+  {"54", 0x8400, 0x0000},
+  {"55", 0x8600, 0x0000},
+  {"56", 0x8800, 0x0000},
+  {"57", 0x8A00, 0x0000},
+  {"58", 0x8C00, 0x0000},
+  {"59", 0x8E00, 0x0000},
+  {"60", 0x9000, 0x0000},
+  {"61", 0x9200, 0x0000},
+  {"62", 0x9400, 0x0000},
+  {"63", 0x9600, 0x0000},
+  {"64", 0x9800, 0x0000},
+  {"65", 0x9A00, 0x0000},
+  {"66", 0x9C00, 0x0000},
+  {"67", 0x9E00, 0x0000},
+  {"68", 0xA000, 0x0000},
+  {"69", 0xA200, 0x0000},
+  {"70", 0xA400, 0x0000},
+  {"71", 0xA600, 0x0000},
+  {"72", 0xA800, 0x0000},
+  {"73", 0xAA00, 0x0000},
+  {"74", 0xAC00, 0x0000},
+  {"75", 0xAE00, 0x0000},
+  {"76", 0xB000, 0x0000},
+  {"77", 0xB200, 0x0000},
+  {"78", 0xB400, 0x0000},
+  {"79", 0xB600, 0x0000},
+  {"80", 0xB800, 0x0000},
+  {"81", 0xBA00, 0x0000}};
+
+
+// *** 31. Ireland - Digital - Air
+XC_CHANNEL Ireland_Digital_Air[] = {
+  {"A", 0x0B70, 0x0000},
+  {"B", 0x0D70, 0x0000},
+  {"C", 0x0F70, 0x0000},
+  {"D", 0x2BD0, 0x0000},
+  {"E", 0x2DD0, 0x0000},
+  {"F", 0x2FD0, 0x0000},
+  {"G", 0x31D0, 0x0000},
+  {"H", 0x33D0, 0x0000},
+  {"J", 0x35D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 32. Ireland - Digital - Cable
+XC_CHANNEL Ireland_Digital_Cable[] = {
+  {"1", 0x0E00, 0x0000},
+  {"2", 0x1000, 0x0000},
+  {"3", 0x1E00, 0x0000},
+  {"4", 0x2000, 0x0000},
+  {"5", 0x2200, 0x0000},
+  {"6", 0x2400, 0x0000},
+  {"7", 0x2600, 0x0000},
+  {"8", 0x2800, 0x0000},
+  {"9", 0x2A00, 0x0000},
+  {"10", 0x2C00, 0x0000},
+  {"11", 0x2E00, 0x0000},
+  {"12", 0x3000, 0x0000},
+  {"13", 0x3200, 0x0000},
+  {"14", 0x3400, 0x0000},
+  {"15", 0x3600, 0x0000},
+  {"16", 0x3800, 0x0000},
+  {"17", 0x3A00, 0x0000},
+  {"18", 0x3C00, 0x0000},
+  {"19", 0x3E00, 0x0000},
+  {"20", 0x4000, 0x0000},
+  {"21", 0x4200, 0x0000},
+  {"22", 0x4400, 0x0000},
+  {"23", 0x4600, 0x0000},
+  {"24", 0x4800, 0x0000},
+  {"25", 0x4A00, 0x0000},
+  {"26", 0x4C00, 0x0000},
+  {"27", 0x4E00, 0x0000},
+  {"28", 0x5000, 0x0000},
+  {"29", 0x5200, 0x0000},
+  {"30", 0x5400, 0x0000},
+  {"31", 0x5600, 0x0000},
+  {"32", 0x5800, 0x0000},
+  {"33", 0x5A00, 0x0000},
+  {"34", 0x5C00, 0x0000},
+  {"35", 0x5E00, 0x0000},
+  {"36", 0x6000, 0x0000},
+  {"37", 0x6200, 0x0000},
+  {"38", 0x6400, 0x0000},
+  {"39", 0x6600, 0x0000},
+  {"40", 0x6800, 0x0000},
+  {"41", 0x6A00, 0x0000},
+  {"42", 0x6C00, 0x0000},
+  {"43", 0x6E00, 0x0000},
+  {"44", 0x7000, 0x0000},
+  {"45", 0x7200, 0x0000},
+  {"46", 0x7400, 0x0000},
+  {"47", 0x7600, 0x0000},
+  {"48", 0x7800, 0x0000},
+  {"49", 0x7A00, 0x0000},
+  {"50", 0x7C00, 0x0000},
+  {"51", 0x7E00, 0x0000},
+  {"52", 0x8000, 0x0000},
+  {"53", 0x8200, 0x0000},
+  {"54", 0x8400, 0x0000},
+  {"55", 0x8600, 0x0000},
+  {"56", 0x8800, 0x0000},
+  {"57", 0x8A00, 0x0000},
+  {"58", 0x8C00, 0x0000},
+  {"59", 0x8E00, 0x0000},
+  {"60", 0x9000, 0x0000},
+  {"61", 0x9200, 0x0000},
+  {"62", 0x9400, 0x0000},
+  {"63", 0x9600, 0x0000},
+  {"64", 0x9800, 0x0000},
+  {"65", 0x9A00, 0x0000},
+  {"66", 0x9C00, 0x0000},
+  {"67", 0x9E00, 0x0000},
+  {"68", 0xA000, 0x0000},
+  {"69", 0xA200, 0x0000},
+  {"70", 0xA400, 0x0000},
+  {"71", 0xA600, 0x0000},
+  {"72", 0xA800, 0x0000},
+  {"73", 0xAA00, 0x0000},
+  {"74", 0xAC00, 0x0000},
+  {"75", 0xAE00, 0x0000},
+  {"76", 0xB000, 0x0000},
+  {"77", 0xB200, 0x0000},
+  {"78", 0xB400, 0x0000},
+  {"79", 0xB600, 0x0000},
+  {"80", 0xB800, 0x0000},
+  {"81", 0xBA00, 0x0000}};
+
+
+// *** 33. China - Analog - Air
+XC_CHANNEL China_Analog_Air[] = {
+  {"DS1", 0x0C70, 0x0000},
+  {"DS2", 0x0E70, 0x0000},
+  {"DS3", 0x1070, 0x0000},
+  {"DS4", 0x1350, 0x0000},
+  {"DS5", 0x1550, 0x0000},
+  {"DS6", 0x2A10, 0x0000},
+  {"DS7", 0x2C10, 0x0000},
+  {"DS8", 0x2E10, 0x0000},
+  {"DS9", 0x3010, 0x0000},
+  {"DS10", 0x3210, 0x0000},
+  {"DS11", 0x3410, 0x0000},
+  {"DS12", 0x3610, 0x0000},
+  {"DS13", 0x75D0, 0x0000},
+  {"DS14", 0x77D0, 0x0000},
+  {"DS15", 0x79D0, 0x0000},
+  {"DS16", 0x7BD0, 0x0000},
+  {"DS17", 0x7DD0, 0x0000},
+  {"DS18", 0x7FD0, 0x0000},
+  {"DS19", 0x81D0, 0x0000},
+  {"DS20", 0x83D0, 0x0000},
+  {"DS21", 0x85D0, 0x0000},
+  {"DS22", 0x87D0, 0x0000},
+  {"DS23", 0x89D0, 0x0000},
+  {"DS24", 0x8BD0, 0x0000},
+  {"DS25", 0x97D0, 0x0000},
+  {"DS26", 0x99D0, 0x0000},
+  {"DS27", 0x9BD0, 0x0000},
+  {"DS28", 0x9DD0, 0x0000},
+  {"DS29", 0x9FD0, 0x0000},
+  {"DS30", 0xA1D0, 0x0000},
+  {"DS31", 0xA3D0, 0x0000},
+  {"DS32", 0xA5D0, 0x0000},
+  {"DS33", 0xA7D0, 0x0000},
+  {"DS34", 0xA9D0, 0x0000},
+  {"DS35", 0xABD0, 0x0000},
+  {"DS36", 0xADD0, 0x0000},
+  {"DS37", 0xAFD0, 0x0000},
+  {"DS38", 0xB1D0, 0x0000},
+  {"DS39", 0xB3D0, 0x0000},
+  {"DS40", 0xB5D0, 0x0000},
+  {"DS41", 0xB7D0, 0x0000},
+  {"DS42", 0xB9D0, 0x0000},
+  {"DS43", 0xBBD0, 0x0000},
+  {"DS44", 0xBDD0, 0x0000},
+  {"DS45", 0xBFD0, 0x0000},
+  {"DS46", 0xC1D0, 0x0000},
+  {"DS47", 0xC3D0, 0x0000},
+  {"DS48", 0xC5D0, 0x0000},
+  {"DS49", 0xC7D0, 0x0000},
+  {"DS50", 0xC9D0, 0x0000},
+  {"DS51", 0xCBD0, 0x0000},
+  {"DS52", 0xCDD0, 0x0000},
+  {"DS53", 0xCFD0, 0x0000},
+  {"DS54", 0xD1D0, 0x0000},
+  {"DS55", 0xD3D0, 0x0000},
+  {"DS56", 0xD5D0, 0x0000},
+  {"DS57", 0xD7D0, 0x0000}};
+
+
+// *** 34. China - Analog - Cable
+XC_CHANNEL China_Analog_Cable[] = {
+  {"DS1", 0x0C70, 0x0000},
+  {"DS2", 0x0E70, 0x0000},
+  {"DS3", 0x1070, 0x0000},
+  {"DS4", 0x1350, 0x0000},
+  {"DS5", 0x1550, 0x0000},
+  {"DS6", 0x2A10, 0x0000},
+  {"DS7", 0x2C10, 0x0000},
+  {"DS8", 0x2E10, 0x0000},
+  {"DS9", 0x3010, 0x0000},
+  {"DS10", 0x3210, 0x0000},
+  {"DS11", 0x3410, 0x0000},
+  {"DS12", 0x3610, 0x0000},
+  {"Z1", 0x1C10, 0x0000},
+  {"Z2", 0x1E10, 0x0000},
+  {"Z3", 0x2010, 0x0000},
+  {"Z4", 0x2210, 0x0000},
+  {"Z5", 0x2410, 0x0000},
+  {"Z6", 0x2610, 0x0000},
+  {"Z7", 0x2810, 0x0000},
+  {"Z8", 0x3810, 0x0000},
+  {"Z9", 0x3A10, 0x0000},
+  {"Z10", 0x3C10, 0x0000},
+  {"Z11", 0x3E10, 0x0000},
+  {"Z12", 0x4010, 0x0000},
+  {"Z13", 0x4210, 0x0000},
+  {"Z14", 0x4410, 0x0000},
+  {"Z15", 0x4610, 0x0000},
+  {"Z16", 0x4810, 0x0000},
+  {"Z17", 0x4A10, 0x0000},
+  {"Z18", 0x4C10, 0x0000},
+  {"Z19", 0x4E10, 0x0000},
+  {"Z20", 0x5010, 0x0000},
+  {"Z21", 0x5210, 0x0000},
+  {"Z22", 0x5410, 0x0000},
+  {"Z23", 0x5610, 0x0000},
+  {"Z24", 0x5810, 0x0000},
+  {"Z25", 0x5A10, 0x0000},
+  {"Z26", 0x5C10, 0x0000},
+  {"Z27", 0x5E10, 0x0000},
+  {"Z28", 0x6010, 0x0000},
+  {"Z29", 0x6210, 0x0000},
+  {"Z30", 0x6410, 0x0000},
+  {"Z31", 0x6610, 0x0000},
+  {"Z32", 0x6810, 0x0000},
+  {"Z33", 0x6A10, 0x0000},
+  {"Z34", 0x6C10, 0x0000},
+  {"Z35", 0x6E10, 0x0000},
+  {"Z36", 0x7010, 0x0000},
+  {"Z37", 0x7210, 0x0000},
+  {"DS13", 0x75D0, 0x0000},
+  {"DS14", 0x77D0, 0x0000},
+  {"DS15", 0x79D0, 0x0000},
+  {"DS16", 0x7BD0, 0x0000},
+  {"DS17", 0x7DD0, 0x0000},
+  {"DS18", 0x7FD0, 0x0000},
+  {"DS19", 0x81D0, 0x0000},
+  {"DS20", 0x83D0, 0x0000},
+  {"DS21", 0x85D0, 0x0000},
+  {"DS22", 0x87D0, 0x0000},
+  {"DS23", 0x89D0, 0x0000},
+  {"DS24", 0x8BD0, 0x0000},
+  {"Z38", 0x8DD0, 0x0000},
+  {"Z39", 0x8FD0, 0x0000},
+  {"Z40", 0x91D0, 0x0000},
+  {"Z41", 0x93D0, 0x0000},
+  {"Z42", 0x95D0, 0x0000},
+  {"DS25", 0x97D0, 0x0000},
+  {"DS26", 0x99D0, 0x0000},
+  {"DS27", 0x9BD0, 0x0000},
+  {"DS28", 0x9DD0, 0x0000},
+  {"DS29", 0x9FD0, 0x0000},
+  {"DS30", 0xA1D0, 0x0000},
+  {"DS31", 0xA3D0, 0x0000},
+  {"DS32", 0xA5D0, 0x0000},
+  {"DS33", 0xA7D0, 0x0000},
+  {"DS34", 0xA9D0, 0x0000},
+  {"DS35", 0xABD0, 0x0000},
+  {"DS36", 0xADD0, 0x0000},
+  {"DS37", 0xAFD0, 0x0000},
+  {"DS38", 0xB1D0, 0x0000},
+  {"DS39", 0xB3D0, 0x0000},
+  {"DS40", 0xB5D0, 0x0000},
+  {"DS41", 0xB7D0, 0x0000},
+  {"DS42", 0xB9D0, 0x0000},
+  {"DS43", 0xBBD0, 0x0000},
+  {"DS44", 0xBDD0, 0x0000},
+  {"DS45", 0xBFD0, 0x0000},
+  {"DS46", 0xC1D0, 0x0000},
+  {"DS47", 0xC3D0, 0x0000},
+  {"DS48", 0xC5D0, 0x0000},
+  {"DS49", 0xC7D0, 0x0000},
+  {"DS50", 0xC9D0, 0x0000},
+  {"DS51", 0xCBD0, 0x0000},
+  {"DS52", 0xCDD0, 0x0000},
+  {"DS53", 0xCFD0, 0x0000},
+  {"DS54", 0xD1D0, 0x0000},
+  {"DS55", 0xD3D0, 0x0000},
+  {"DS56", 0xD5D0, 0x0000},
+  {"DS57", 0xD7D0, 0x0000}};
+
+
+// *** 35. China - Digital - Air
+XC_CHANNEL China_Digital_Air[] = {
+  {"DS1", 0x0C70, 0x0000},
+  {"DS2", 0x0E70, 0x0000},
+  {"DS3", 0x1070, 0x0000},
+  {"DS4", 0x1350, 0x0000},
+  {"DS5", 0x1550, 0x0000},
+  {"DS6", 0x2A10, 0x0000},
+  {"DS7", 0x2C10, 0x0000},
+  {"DS8", 0x2E10, 0x0000},
+  {"DS9", 0x3010, 0x0000},
+  {"DS10", 0x3210, 0x0000},
+  {"DS11", 0x3410, 0x0000},
+  {"DS12", 0x3610, 0x0000},
+  {"DS13", 0x75D0, 0x0000},
+  {"DS14", 0x77D0, 0x0000},
+  {"DS15", 0x79D0, 0x0000},
+  {"DS16", 0x7BD0, 0x0000},
+  {"DS17", 0x7DD0, 0x0000},
+  {"DS18", 0x7FD0, 0x0000},
+  {"DS19", 0x81D0, 0x0000},
+  {"DS20", 0x83D0, 0x0000},
+  {"DS21", 0x85D0, 0x0000},
+  {"DS22", 0x87D0, 0x0000},
+  {"DS23", 0x89D0, 0x0000},
+  {"DS24", 0x8BD0, 0x0000},
+  {"DS25", 0x97D0, 0x0000},
+  {"DS26", 0x99D0, 0x0000},
+  {"DS27", 0x9BD0, 0x0000},
+  {"DS28", 0x9DD0, 0x0000},
+  {"DS29", 0x9FD0, 0x0000},
+  {"DS30", 0xA1D0, 0x0000},
+  {"DS31", 0xA3D0, 0x0000},
+  {"DS32", 0xA5D0, 0x0000},
+  {"DS33", 0xA7D0, 0x0000},
+  {"DS34", 0xA9D0, 0x0000},
+  {"DS35", 0xABD0, 0x0000},
+  {"DS36", 0xADD0, 0x0000},
+  {"DS37", 0xAFD0, 0x0000},
+  {"DS38", 0xB1D0, 0x0000},
+  {"DS39", 0xB3D0, 0x0000},
+  {"DS40", 0xB5D0, 0x0000},
+  {"DS41", 0xB7D0, 0x0000},
+  {"DS42", 0xB9D0, 0x0000},
+  {"DS43", 0xBBD0, 0x0000},
+  {"DS44", 0xBDD0, 0x0000},
+  {"DS45", 0xBFD0, 0x0000},
+  {"DS46", 0xC1D0, 0x0000},
+  {"DS47", 0xC3D0, 0x0000},
+  {"DS48", 0xC5D0, 0x0000},
+  {"DS49", 0xC7D0, 0x0000},
+  {"DS50", 0xC9D0, 0x0000},
+  {"DS51", 0xCBD0, 0x0000},
+  {"DS52", 0xCDD0, 0x0000},
+  {"DS53", 0xCFD0, 0x0000},
+  {"DS54", 0xD1D0, 0x0000},
+  {"DS55", 0xD3D0, 0x0000},
+  {"DS56", 0xD5D0, 0x0000},
+  {"DS57", 0xD7D0, 0x0000}};
+
+
+// *** 36. China - Digital - Cable
+XC_CHANNEL China_Digital_Cable[] = {
+  {"DS1", 0x0C70, 0x0000},
+  {"DS2", 0x0E70, 0x0000},
+  {"DS3", 0x1070, 0x0000},
+  {"DS4", 0x1350, 0x0000},
+  {"DS5", 0x1550, 0x0000},
+  {"DS6", 0x2A10, 0x0000},
+  {"DS7", 0x2C10, 0x0000},
+  {"DS8", 0x2E10, 0x0000},
+  {"DS9", 0x3010, 0x0000},
+  {"DS10", 0x3210, 0x0000},
+  {"DS11", 0x3410, 0x0000},
+  {"DS12", 0x3610, 0x0000},
+  {"Z1", 0x1C10, 0x0000},
+  {"Z2", 0x1E10, 0x0000},
+  {"Z3", 0x2010, 0x0000},
+  {"Z4", 0x2210, 0x0000},
+  {"Z5", 0x2410, 0x0000},
+  {"Z6", 0x2610, 0x0000},
+  {"Z7", 0x2810, 0x0000},
+  {"Z8", 0x3810, 0x0000},
+  {"Z9", 0x3A10, 0x0000},
+  {"Z10", 0x3C10, 0x0000},
+  {"Z11", 0x3E10, 0x0000},
+  {"Z12", 0x4010, 0x0000},
+  {"Z13", 0x4210, 0x0000},
+  {"Z14", 0x4410, 0x0000},
+  {"Z15", 0x4610, 0x0000},
+  {"Z16", 0x4810, 0x0000},
+  {"Z17", 0x4A10, 0x0000},
+  {"Z18", 0x4C10, 0x0000},
+  {"Z19", 0x4E10, 0x0000},
+  {"Z20", 0x5010, 0x0000},
+  {"Z21", 0x5210, 0x0000},
+  {"Z22", 0x5410, 0x0000},
+  {"Z23", 0x5610, 0x0000},
+  {"Z24", 0x5810, 0x0000},
+  {"Z25", 0x5A10, 0x0000},
+  {"Z26", 0x5C10, 0x0000},
+  {"Z27", 0x5E10, 0x0000},
+  {"Z28", 0x6010, 0x0000},
+  {"Z29", 0x6210, 0x0000},
+  {"Z30", 0x6410, 0x0000},
+  {"Z31", 0x6610, 0x0000},
+  {"Z32", 0x6810, 0x0000},
+  {"Z33", 0x6A10, 0x0000},
+  {"Z34", 0x6C10, 0x0000},
+  {"Z35", 0x6E10, 0x0000},
+  {"Z36", 0x7010, 0x0000},
+  {"Z37", 0x7210, 0x0000},
+  {"DS13", 0x75D0, 0x0000},
+  {"DS14", 0x77D0, 0x0000},
+  {"DS15", 0x79D0, 0x0000},
+  {"DS16", 0x7BD0, 0x0000},
+  {"DS17", 0x7DD0, 0x0000},
+  {"DS18", 0x7FD0, 0x0000},
+  {"DS19", 0x81D0, 0x0000},
+  {"DS20", 0x83D0, 0x0000},
+  {"DS21", 0x85D0, 0x0000},
+  {"DS22", 0x87D0, 0x0000},
+  {"DS23", 0x89D0, 0x0000},
+  {"DS24", 0x8BD0, 0x0000},
+  {"Z38", 0x8DD0, 0x0000},
+  {"Z39", 0x8FD0, 0x0000},
+  {"Z40", 0x91D0, 0x0000},
+  {"Z41", 0x93D0, 0x0000},
+  {"Z42", 0x95D0, 0x0000},
+  {"DS25", 0x97D0, 0x0000},
+  {"DS26", 0x99D0, 0x0000},
+  {"DS27", 0x9BD0, 0x0000},
+  {"DS28", 0x9DD0, 0x0000},
+  {"DS29", 0x9FD0, 0x0000},
+  {"DS30", 0xA1D0, 0x0000},
+  {"DS31", 0xA3D0, 0x0000},
+  {"DS32", 0xA5D0, 0x0000},
+  {"DS33", 0xA7D0, 0x0000},
+  {"DS34", 0xA9D0, 0x0000},
+  {"DS35", 0xABD0, 0x0000},
+  {"DS36", 0xADD0, 0x0000},
+  {"DS37", 0xAFD0, 0x0000},
+  {"DS38", 0xB1D0, 0x0000},
+  {"DS39", 0xB3D0, 0x0000},
+  {"DS40", 0xB5D0, 0x0000},
+  {"DS41", 0xB7D0, 0x0000},
+  {"DS42", 0xB9D0, 0x0000},
+  {"DS43", 0xBBD0, 0x0000},
+  {"DS44", 0xBDD0, 0x0000},
+  {"DS45", 0xBFD0, 0x0000},
+  {"DS46", 0xC1D0, 0x0000},
+  {"DS47", 0xC3D0, 0x0000},
+  {"DS48", 0xC5D0, 0x0000},
+  {"DS49", 0xC7D0, 0x0000},
+  {"DS50", 0xC9D0, 0x0000},
+  {"DS51", 0xCBD0, 0x0000},
+  {"DS52", 0xCDD0, 0x0000},
+  {"DS53", 0xCFD0, 0x0000},
+  {"DS54", 0xD1D0, 0x0000},
+  {"DS55", 0xD3D0, 0x0000},
+  {"DS56", 0xD5D0, 0x0000},
+  {"DS57", 0xD7D0, 0x0000}};
+
+
+// *** 37. Australia - Analog - Air
+XC_CHANNEL Australia_Analog_Air[] = {
+  {"0", 0x0B90, 0x0000},
+  {"1", 0x0E50, 0x0000},
+  {"2", 0x1010, 0x0000},
+  {"3", 0x1590, 0x0000},
+  {"4", 0x17D0, 0x0000},
+  {"5", 0x1990, 0x0000},
+  {"5A", 0x2290, 0x0000},
+  {"6", 0x2BD0, 0x0000},
+  {"7", 0x2D90, 0x0000},
+  {"8", 0x2F50, 0x0000},
+  {"9", 0x3110, 0x0000},
+  {"10", 0x3450, 0x0000},
+  {"11", 0x3610, 0x0000},
+  {"12", 0x37D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x8590, 0x0000},
+  {"30", 0x8750, 0x0000},
+  {"31", 0x8910, 0x0000},
+  {"32", 0x8AD0, 0x0000},
+  {"33", 0x8C90, 0x0000},
+  {"34", 0x8E50, 0x0000},
+  {"35", 0x9010, 0x0000},
+  {"36", 0x91D0, 0x0000},
+  {"37", 0x9390, 0x0000},
+  {"38", 0x9550, 0x0000},
+  {"39", 0x9710, 0x0000},
+  {"40", 0x98D0, 0x0000},
+  {"41", 0x9A90, 0x0000},
+  {"42", 0x9C50, 0x0000},
+  {"43", 0x9E10, 0x0000},
+  {"44", 0x9FD0, 0x0000},
+  {"45", 0xA190, 0x0000},
+  {"46", 0xA350, 0x0000},
+  {"47", 0xA510, 0x0000},
+  {"48", 0xA6D0, 0x0000},
+  {"49", 0xA890, 0x0000},
+  {"50", 0xAA50, 0x0000},
+  {"51", 0xAC10, 0x0000},
+  {"52", 0xADD0, 0x0000},
+  {"53", 0xAF90, 0x0000},
+  {"54", 0xB150, 0x0000},
+  {"55", 0xB310, 0x0000},
+  {"56", 0xB4D0, 0x0000},
+  {"57", 0xB690, 0x0000},
+  {"58", 0xB850, 0x0000},
+  {"59", 0xBA10, 0x0000},
+  {"60", 0xBBD0, 0x0000},
+  {"61", 0xBD90, 0x0000},
+  {"62", 0xBF50, 0x0000},
+  {"63", 0xC110, 0x0000},
+  {"64", 0xC2D0, 0x0000},
+  {"65", 0xC490, 0x0000},
+  {"66", 0xC650, 0x0000},
+  {"67", 0xC810, 0x0000},
+  {"68", 0xC9D0, 0x0000},
+  {"69", 0xCB90, 0x0000}};
+
+
+// *** 38. Australia - Analog - Cable
+XC_CHANNEL Australia_Analog_Cable[] = {
+  {"11", 0x1590, 0x0000},
+  {"12", 0x17D0, 0x0000},
+  {"13", 0x1990, 0x0000},
+  {"14", 0x1B90, 0x0000},
+  {"15", 0x1D50, 0x0000},
+  {"16", 0x1F10, 0x0000},
+  {"17", 0x20D0, 0x0000},
+  {"18", 0x2290, 0x0000},
+  {"19", 0x24D0, 0x0000},
+  {"20", 0x2690, 0x0000},
+  {"21", 0x2850, 0x0000},
+  {"22", 0x2A10, 0x0000},
+  {"23", 0x2BD0, 0x0000},
+  {"24", 0x2D90, 0x0000},
+  {"25", 0x2F50, 0x0000},
+  {"26", 0x3110, 0x0000},
+  {"27", 0x3450, 0x0000},
+  {"28", 0x3610, 0x0000},
+  {"29", 0x3810, 0x0000},
+  {"30", 0x39D0, 0x0000},
+  {"31", 0x3B90, 0x0000},
+  {"32", 0x3D50, 0x0000},
+  {"1", 0x3F10, 0x0000},
+  {"2", 0x40D0, 0x0000},
+  {"3", 0x4290, 0x0000},
+  {"4", 0x4410, 0x0000},
+  {"5", 0x4610, 0x0000},
+  {"6", 0x47D0, 0x0000},
+  {"7", 0x4990, 0x0000},
+  {"8", 0x4B50, 0x0000},
+  {"9", 0x4D10, 0x0000},
+  {"10", 0x4ED0, 0x0000},
+  {"33", 0x5090, 0x0000},
+  {"34", 0x5250, 0x0000},
+  {"35", 0x5410, 0x0000},
+  {"36", 0x55D0, 0x0000},
+  {"37", 0x5790, 0x0000},
+  {"38", 0x5950, 0x0000},
+  {"39", 0x5B10, 0x0000},
+  {"40", 0x5CD0, 0x0000},
+  {"41", 0x5E90, 0x0000},
+  {"42", 0x6050, 0x0000},
+  {"43", 0x6250, 0x0000},
+  {"44", 0x63D0, 0x0000},
+  {"45", 0x6590, 0x0000},
+  {"46", 0x6750, 0x0000},
+  {"47", 0x6910, 0x0000},
+  {"48", 0x6AD0, 0x0000},
+  {"49", 0x6C90, 0x0000},
+  {"50", 0x6E50, 0x0000},
+  {"51", 0x7010, 0x0000},
+  {"52", 0x71D0, 0x0000},
+  {"53", 0x7390, 0x0000},
+  {"54", 0x7550, 0x0000},
+  {"55", 0x7710, 0x0000},
+  {"56", 0x78D0, 0x0000},
+  {"57", 0x7A90, 0x0000},
+  {"58", 0x7C50, 0x0000},
+  {"59", 0x7E10, 0x0000},
+  {"60", 0x7FD0, 0x0000},
+  {"61", 0x8190, 0x0000},
+  {"62", 0x83D0, 0x0000},
+  {"63", 0x8590, 0x0000},
+  {"64", 0x8750, 0x0000},
+  {"65", 0x8910, 0x0000},
+  {"66", 0x8AD0, 0x0000},
+  {"67", 0x8C90, 0x0000},
+  {"68", 0x8E50, 0x0000},
+  {"69", 0x9010, 0x0000},
+  {"70", 0x91D0, 0x0000},
+  {"71", 0x9390, 0x0000},
+  {"72", 0x9550, 0x0000},
+  {"73", 0x9710, 0x0000},
+  {"74", 0x98D0, 0x0000},
+  {"75", 0x9A90, 0x0000},
+  {"76", 0x9C50, 0x0000},
+  {"77", 0x9E10, 0x0000},
+  {"78", 0x9FD0, 0x0000},
+  {"79", 0xA190, 0x0000},
+  {"80", 0xA350, 0x0000}};
+
+
+// *** 39. Australia - Digital - Air
+XC_CHANNEL Australia_Digital_Air[] = {
+  {"0", 0x0B90, 0x0000},
+  {"1", 0x0E50, 0x0000},
+  {"2", 0x1010, 0x0000},
+  {"3", 0x1590, 0x0000},
+  {"4", 0x17D0, 0x0000},
+  {"5", 0x1990, 0x0000},
+  {"5A", 0x2290, 0x0000},
+  {"6", 0x2BD0, 0x0000},
+  {"7", 0x2D90, 0x0000},
+  {"8", 0x2F50, 0x0000},
+  {"9", 0x3110, 0x0000},
+  {"10", 0x3450, 0x0000},
+  {"11", 0x3610, 0x0000},
+  {"12", 0x37D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x8590, 0x0000},
+  {"30", 0x8750, 0x0000},
+  {"31", 0x8910, 0x0000},
+  {"32", 0x8AD0, 0x0000},
+  {"33", 0x8C90, 0x0000},
+  {"34", 0x8E50, 0x0000},
+  {"35", 0x9010, 0x0000},
+  {"36", 0x91D0, 0x0000},
+  {"37", 0x9390, 0x0000},
+  {"38", 0x9550, 0x0000},
+  {"39", 0x9710, 0x0000},
+  {"40", 0x98D0, 0x0000},
+  {"41", 0x9A90, 0x0000},
+  {"42", 0x9C50, 0x0000},
+  {"43", 0x9E10, 0x0000},
+  {"44", 0x9FD0, 0x0000},
+  {"45", 0xA190, 0x0000},
+  {"46", 0xA350, 0x0000},
+  {"47", 0xA510, 0x0000},
+  {"48", 0xA6D0, 0x0000},
+  {"49", 0xA890, 0x0000},
+  {"50", 0xAA50, 0x0000},
+  {"51", 0xAC10, 0x0000},
+  {"52", 0xADD0, 0x0000},
+  {"53", 0xAF90, 0x0000},
+  {"54", 0xB150, 0x0000},
+  {"55", 0xB310, 0x0000},
+  {"56", 0xB4D0, 0x0000},
+  {"57", 0xB690, 0x0000},
+  {"58", 0xB850, 0x0000},
+  {"59", 0xBA10, 0x0000},
+  {"60", 0xBBD0, 0x0000},
+  {"61", 0xBD90, 0x0000},
+  {"62", 0xBF50, 0x0000},
+  {"63", 0xC110, 0x0000},
+  {"64", 0xC2D0, 0x0000},
+  {"65", 0xC490, 0x0000},
+  {"66", 0xC650, 0x0000},
+  {"67", 0xC810, 0x0000},
+  {"68", 0xC9D0, 0x0000},
+  {"69", 0xCB90, 0x0000}};
+
+
+// *** 40. Australia - Digital - Cable
+XC_CHANNEL Australia_Digital_Cable[] = {
+  {"11", 0x1590, 0x0000},
+  {"12", 0x17D0, 0x0000},
+  {"13", 0x1990, 0x0000},
+  {"14", 0x1B90, 0x0000},
+  {"15", 0x1D50, 0x0000},
+  {"16", 0x1F10, 0x0000},
+  {"17", 0x20D0, 0x0000},
+  {"18", 0x2290, 0x0000},
+  {"19", 0x24D0, 0x0000},
+  {"20", 0x2690, 0x0000},
+  {"21", 0x2850, 0x0000},
+  {"22", 0x2A10, 0x0000},
+  {"23", 0x2BD0, 0x0000},
+  {"24", 0x2D90, 0x0000},
+  {"25", 0x2F50, 0x0000},
+  {"26", 0x3110, 0x0000},
+  {"27", 0x3450, 0x0000},
+  {"28", 0x3610, 0x0000},
+  {"29", 0x3810, 0x0000},
+  {"30", 0x39D0, 0x0000},
+  {"31", 0x3B90, 0x0000},
+  {"32", 0x3D50, 0x0000},
+  {"1", 0x3F10, 0x0000},
+  {"2", 0x40D0, 0x0000},
+  {"3", 0x4290, 0x0000},
+  {"4", 0x4410, 0x0000},
+  {"5", 0x4610, 0x0000},
+  {"6", 0x47D0, 0x0000},
+  {"7", 0x4990, 0x0000},
+  {"8", 0x4B50, 0x0000},
+  {"9", 0x4D10, 0x0000},
+  {"10", 0x4ED0, 0x0000},
+  {"33", 0x5090, 0x0000},
+  {"34", 0x5250, 0x0000},
+  {"35", 0x5410, 0x0000},
+  {"36", 0x55D0, 0x0000},
+  {"37", 0x5790, 0x0000},
+  {"38", 0x5950, 0x0000},
+  {"39", 0x5B10, 0x0000},
+  {"40", 0x5CD0, 0x0000},
+  {"41", 0x5E90, 0x0000},
+  {"42", 0x6050, 0x0000},
+  {"43", 0x6250, 0x0000},
+  {"44", 0x63D0, 0x0000},
+  {"45", 0x6590, 0x0000},
+  {"46", 0x6750, 0x0000},
+  {"47", 0x6910, 0x0000},
+  {"48", 0x6AD0, 0x0000},
+  {"49", 0x6C90, 0x0000},
+  {"50", 0x6E50, 0x0000},
+  {"51", 0x7010, 0x0000},
+  {"52", 0x71D0, 0x0000},
+  {"53", 0x7390, 0x0000},
+  {"54", 0x7550, 0x0000},
+  {"55", 0x7710, 0x0000},
+  {"56", 0x78D0, 0x0000},
+  {"57", 0x7A90, 0x0000},
+  {"58", 0x7C50, 0x0000},
+  {"59", 0x7E10, 0x0000},
+  {"60", 0x7FD0, 0x0000},
+  {"61", 0x8190, 0x0000},
+  {"62", 0x83D0, 0x0000},
+  {"63", 0x8590, 0x0000},
+  {"64", 0x8750, 0x0000},
+  {"65", 0x8910, 0x0000},
+  {"66", 0x8AD0, 0x0000},
+  {"67", 0x8C90, 0x0000},
+  {"68", 0x8E50, 0x0000},
+  {"69", 0x9010, 0x0000},
+  {"70", 0x91D0, 0x0000},
+  {"71", 0x9390, 0x0000},
+  {"72", 0x9550, 0x0000},
+  {"73", 0x9710, 0x0000},
+  {"74", 0x98D0, 0x0000},
+  {"75", 0x9A90, 0x0000},
+  {"76", 0x9C50, 0x0000},
+  {"77", 0x9E10, 0x0000},
+  {"78", 0x9FD0, 0x0000},
+  {"79", 0xA190, 0x0000},
+  {"80", 0xA350, 0x0000}};
+
+
+// *** 41. OIRT - Analog - Air
+XC_CHANNEL OIRT_Analog_Air[] = {
+  {"1", 0x0C70, 0x0000},
+  {"2", 0x0ED0, 0x0000},
+  {"3", 0x1350, 0x0000},
+  {"4", 0x1550, 0x0000},
+  {"5", 0x1750, 0x0000},
+  {"6", 0x2BD0, 0x0000},
+  {"7", 0x2DD0, 0x0000},
+  {"8", 0x2FD0, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x33D0, 0x0000},
+  {"11", 0x35D0, 0x0000},
+  {"12", 0x37D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 42. OIRT - Analog - Cable
+XC_CHANNEL OIRT_Analog_Cable[] = {
+  {"1", 0x0C70, 0x0000},
+  {"2", 0x0ED0, 0x0000},
+  {"3", 0x1350, 0x0000},
+  {"4", 0x1550, 0x0000},
+  {"5", 0x1750, 0x0000},
+  {"6", 0x2BD0, 0x0000},
+  {"7", 0x2DD0, 0x0000},
+  {"8", 0x2FD0, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x33D0, 0x0000},
+  {"11", 0x35D0, 0x0000},
+  {"12", 0x37D0, 0x0000},
+  {"SC", 0x1C10, 0x0000},
+  {"SC", 0x1E10, 0x0000},
+  {"SC", 0x2010, 0x0000},
+  {"SC", 0x2210, 0x0000},
+  {"SC", 0x2410, 0x0000},
+  {"SC", 0x2610, 0x0000},
+  {"SC", 0x2810, 0x0000},
+  {"SC", 0x3810, 0x0000},
+  {"SC", 0x3A10, 0x0000},
+  {"SC", 0x3C10, 0x0000},
+  {"SC", 0x3E10, 0x0000},
+  {"SC", 0x4010, 0x0000},
+  {"SC", 0x4210, 0x0000},
+  {"SC", 0x4410, 0x0000},
+  {"SC", 0x4610, 0x0000},
+  {"SC", 0x4810, 0x0000},
+  {"SC", 0x4A10, 0x0000},
+  {"SC", 0x4C10, 0x0000},
+  {"SC", 0x4E10, 0x0000},
+  {"SC", 0x5010, 0x0000},
+  {"SC", 0x5210, 0x0000},
+  {"SC", 0x5410, 0x0000},
+  {"SC", 0x5610, 0x0000},
+  {"SC", 0x5810, 0x0000},
+  {"SC", 0x5A10, 0x0000},
+  {"SC", 0x5C10, 0x0000},
+  {"SC", 0x5E10, 0x0000},
+  {"SC", 0x6010, 0x0000},
+  {"SC", 0x6210, 0x0000},
+  {"SC", 0x6410, 0x0000},
+  {"SC", 0x6610, 0x0000},
+  {"SC", 0x6810, 0x0000},
+  {"SC", 0x6A10, 0x0000},
+  {"SC", 0x6C10, 0x0000},
+  {"SC", 0x6E10, 0x0000},
+  {"SC", 0x7010, 0x0000},
+  {"SC", 0x7210, 0x0000},
+  {"SC", 0x7410, 0x0000},
+  {"SC", 0x7610, 0x0000},
+  {"SC", 0x7810, 0x0000},
+  {"SC", 0x7A10, 0x0000},
+  {"SC", 0x7C10, 0x0000}};
+
+
+// *** 43. OIRT - Digital - Air
+XC_CHANNEL OIRT_Digital_Air[] = {
+  {"1", 0x0C70, 0x0000},
+  {"2", 0x0ED0, 0x0000},
+  {"3", 0x1350, 0x0000},
+  {"4", 0x1550, 0x0000},
+  {"5", 0x1750, 0x0000},
+  {"6", 0x2BD0, 0x0000},
+  {"7", 0x2DD0, 0x0000},
+  {"8", 0x2FD0, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x33D0, 0x0000},
+  {"11", 0x35D0, 0x0000},
+  {"12", 0x37D0, 0x0000},
+  {"21", 0x75D0, 0x0000},
+  {"22", 0x77D0, 0x0000},
+  {"23", 0x79D0, 0x0000},
+  {"24", 0x7BD0, 0x0000},
+  {"25", 0x7DD0, 0x0000},
+  {"26", 0x7FD0, 0x0000},
+  {"27", 0x81D0, 0x0000},
+  {"28", 0x83D0, 0x0000},
+  {"29", 0x85D0, 0x0000},
+  {"30", 0x87D0, 0x0000},
+  {"31", 0x89D0, 0x0000},
+  {"32", 0x8BD0, 0x0000},
+  {"33", 0x8DD0, 0x0000},
+  {"34", 0x8FD0, 0x0000},
+  {"35", 0x91D0, 0x0000},
+  {"36", 0x93D0, 0x0000},
+  {"37", 0x95D0, 0x0000},
+  {"38", 0x97D0, 0x0000},
+  {"39", 0x99D0, 0x0000},
+  {"40", 0x9BD0, 0x0000},
+  {"41", 0x9DD0, 0x0000},
+  {"42", 0x9FD0, 0x0000},
+  {"43", 0xA1D0, 0x0000},
+  {"44", 0xA3D0, 0x0000},
+  {"45", 0xA5D0, 0x0000},
+  {"46", 0xA7D0, 0x0000},
+  {"47", 0xA9D0, 0x0000},
+  {"48", 0xABD0, 0x0000},
+  {"49", 0xADD0, 0x0000},
+  {"50", 0xAFD0, 0x0000},
+  {"51", 0xB1D0, 0x0000},
+  {"52", 0xB3D0, 0x0000},
+  {"53", 0xB5D0, 0x0000},
+  {"54", 0xB7D0, 0x0000},
+  {"55", 0xB9D0, 0x0000},
+  {"56", 0xBBD0, 0x0000},
+  {"57", 0xBDD0, 0x0000},
+  {"58", 0xBFD0, 0x0000},
+  {"59", 0xC1D0, 0x0000},
+  {"60", 0xC3D0, 0x0000},
+  {"61", 0xC5D0, 0x0000},
+  {"62", 0xC7D0, 0x0000},
+  {"63", 0xC9D0, 0x0000},
+  {"64", 0xCBD0, 0x0000},
+  {"65", 0xCDD0, 0x0000},
+  {"66", 0xCFD0, 0x0000},
+  {"67", 0xD1D0, 0x0000},
+  {"68", 0xD3D0, 0x0000},
+  {"69", 0xD5D0, 0x0000}};
+
+
+// *** 44. OIRT - Digital - Cable
+XC_CHANNEL OIRT_Digital_Cable[] = {
+  {"1", 0x0C70, 0x0000},
+  {"2", 0x0ED0, 0x0000},
+  {"3", 0x1350, 0x0000},
+  {"4", 0x1550, 0x0000},
+  {"5", 0x1750, 0x0000},
+  {"6", 0x2BD0, 0x0000},
+  {"7", 0x2DD0, 0x0000},
+  {"8", 0x2FD0, 0x0000},
+  {"9", 0x31D0, 0x0000},
+  {"10", 0x33D0, 0x0000},
+  {"11", 0x35D0, 0x0000},
+  {"12", 0x37D0, 0x0000},
+  {"SC", 0x1C10, 0x0000},
+  {"SC", 0x1E10, 0x0000},
+  {"SC", 0x2010, 0x0000},
+  {"SC", 0x2210, 0x0000},
+  {"SC", 0x2410, 0x0000},
+  {"SC", 0x2610, 0x0000},
+  {"SC", 0x2810, 0x0000},
+  {"SC", 0x3810, 0x0000},
+  {"SC", 0x3A10, 0x0000},
+  {"SC", 0x3C10, 0x0000},
+  {"SC", 0x3E10, 0x0000},
+  {"SC", 0x4010, 0x0000},
+  {"SC", 0x4210, 0x0000},
+  {"SC", 0x4410, 0x0000},
+  {"SC", 0x4610, 0x0000},
+  {"SC", 0x4810, 0x0000},
+  {"SC", 0x4A10, 0x0000},
+  {"SC", 0x4C10, 0x0000},
+  {"SC", 0x4E10, 0x0000},
+  {"SC", 0x5010, 0x0000},
+  {"SC", 0x5210, 0x0000},
+  {"SC", 0x5410, 0x0000},
+  {"SC", 0x5610, 0x0000},
+  {"SC", 0x5810, 0x0000},
+  {"SC", 0x5A10, 0x0000},
+  {"SC", 0x5C10, 0x0000},
+  {"SC", 0x5E10, 0x0000},
+  {"SC", 0x6010, 0x0000},
+  {"SC", 0x6210, 0x0000},
+  {"SC", 0x6410, 0x0000},
+  {"SC", 0x6610, 0x0000},
+  {"SC", 0x6810, 0x0000},
+  {"SC", 0x6A10, 0x0000},
+  {"SC", 0x6C10, 0x0000},
+  {"SC", 0x6E10, 0x0000},
+  {"SC", 0x7010, 0x0000},
+  {"SC", 0x7210, 0x0000},
+  {"SC", 0x7410, 0x0000},
+  {"SC", 0x7610, 0x0000},
+  {"SC", 0x7810, 0x0000},
+  {"SC", 0x7A10, 0x0000},
+  {"SC", 0x7C10, 0x0000}};
+
+
+// *** 45. USA - FM radio
+XC_CHANNEL USA_FM_radio[] = {
+  {"200", 0x15F9, 0x0000},
+  {"201", 0x1606, 0x0000},
+  {"202", 0x1613, 0x0000},
+  {"203", 0x1620, 0x0000},
+  {"204", 0x162C, 0x0000},
+  {"205", 0x1639, 0x0000},
+  {"206", 0x1646, 0x0000},
+  {"207", 0x1653, 0x0000},
+  {"208", 0x1660, 0x0000},
+  {"209", 0x166C, 0x0000},
+  {"210", 0x1679, 0x0000},
+  {"211", 0x1686, 0x0000},
+  {"212", 0x1693, 0x0000},
+  {"213", 0x16A0, 0x0000},
+  {"214", 0x16AC, 0x0000},
+  {"215", 0x16B9, 0x0000},
+  {"216", 0x16C6, 0x0000},
+  {"217", 0x16D3, 0x0000},
+  {"218", 0x16E0, 0x0000},
+  {"219", 0x16EC, 0x0000},
+  {"220", 0x16F9, 0x0000},
+  {"221", 0x1706, 0x0000},
+  {"222", 0x1713, 0x0000},
+  {"223", 0x1720, 0x0000},
+  {"224", 0x172C, 0x0000},
+  {"225", 0x1739, 0x0000},
+  {"226", 0x1746, 0x0000},
+  {"227", 0x1753, 0x0000},
+  {"228", 0x1760, 0x0000},
+  {"229", 0x176C, 0x0000},
+  {"230", 0x1779, 0x0000},
+  {"231", 0x1786, 0x0000},
+  {"232", 0x1793, 0x0000},
+  {"233", 0x17A0, 0x0000},
+  {"234", 0x17AC, 0x0000},
+  {"235", 0x17B9, 0x0000},
+  {"236", 0x17C6, 0x0000},
+  {"237", 0x17D3, 0x0000},
+  {"238", 0x17E0, 0x0000},
+  {"239", 0x17EC, 0x0000},
+  {"240", 0x17F9, 0x0000},
+  {"241", 0x1806, 0x0000},
+  {"242", 0x1813, 0x0000},
+  {"243", 0x1820, 0x0000},
+  {"244", 0x182C, 0x0000},
+  {"245", 0x1839, 0x0000},
+  {"246", 0x1846, 0x0000},
+  {"247", 0x1853, 0x0000},
+  {"248", 0x1860, 0x0000},
+  {"249", 0x186C, 0x0000},
+  {"250", 0x1879, 0x0000},
+  {"251", 0x1886, 0x0000},
+  {"252", 0x1893, 0x0000},
+  {"253", 0x18A0, 0x0000},
+  {"254", 0x18AC, 0x0000},
+  {"255", 0x18B9, 0x0000},
+  {"256", 0x18C6, 0x0000},
+  {"257", 0x18D3, 0x0000},
+  {"258", 0x18E0, 0x0000},
+  {"259", 0x18EC, 0x0000},
+  {"260", 0x18F9, 0x0000},
+  {"261", 0x1906, 0x0000},
+  {"262", 0x1913, 0x0000},
+  {"263", 0x1920, 0x0000},
+  {"264", 0x192C, 0x0000},
+  {"265", 0x1939, 0x0000},
+  {"266", 0x1946, 0x0000},
+  {"267", 0x1953, 0x0000},
+  {"268", 0x1960, 0x0000},
+  {"269", 0x196C, 0x0000},
+  {"270", 0x1979, 0x0000},
+  {"271", 0x1986, 0x0000},
+  {"272", 0x1993, 0x0000},
+  {"273", 0x19A0, 0x0000},
+  {"274", 0x19AC, 0x0000},
+  {"275", 0x19B9, 0x0000},
+  {"276", 0x19C6, 0x0000},
+  {"277", 0x19D3, 0x0000},
+  {"278", 0x19E0, 0x0000},
+  {"279", 0x19EC, 0x0000},
+  {"280", 0x19F9, 0x0000},
+  {"281", 0x1A06, 0x0000},
+  {"282", 0x1A13, 0x0000},
+  {"283", 0x1A20, 0x0000},
+  {"284", 0x1A2C, 0x0000},
+  {"285", 0x1A39, 0x0000},
+  {"286", 0x1A46, 0x0000},
+  {"287", 0x1A53, 0x0000},
+  {"288", 0x1A60, 0x0000},
+  {"289", 0x1A6C, 0x0000},
+  {"290", 0x1A79, 0x0000},
+  {"291", 0x1A86, 0x0000},
+  {"292", 0x1A93, 0x0000},
+  {"293", 0x1AA0, 0x0000},
+  {"294", 0x1AAC, 0x0000},
+  {"295", 0x1AB9, 0x0000},
+  {"296", 0x1AC6, 0x0000},
+  {"297", 0x1AD3, 0x0000},
+  {"298", 0x1AE0, 0x0000},
+  {"299", 0x1AEC, 0x0000},
+  {"300", 0x1AF9, 0x0000}};
+
+
+// *** 46. Europe - FM radio
+XC_CHANNEL Europe_FM_radio[] = {
+  {"87.6FM", 0x15E6, 0x0000},
+  {"87.8FM", 0x15F3, 0x0000},
+  {"88FM", 0x1600, 0x0000},
+  {"88.2FM", 0x160C, 0x0000},
+  {"88.4FM", 0x1619, 0x0000},
+  {"88.6FM", 0x1626, 0x0000},
+  {"88.8FM", 0x1633, 0x0000},
+  {"89FM", 0x1640, 0x0000},
+  {"89.2FM", 0x164C, 0x0000},
+  {"89.4FM", 0x1659, 0x0000},
+  {"89.6FM", 0x1666, 0x0000},
+  {"89.8FM", 0x1673, 0x0000},
+  {"90FM", 0x1680, 0x0000},
+  {"90.2FM", 0x168C, 0x0000},
+  {"90.4FM", 0x1699, 0x0000},
+  {"90.6FM", 0x16A6, 0x0000},
+  {"90.8FM", 0x16B3, 0x0000},
+  {"91FM", 0x16C0, 0x0000},
+  {"91.2FM", 0x16CC, 0x0000},
+  {"91.4FM", 0x16D9, 0x0000},
+  {"91.6FM", 0x16E6, 0x0000},
+  {"91.8FM", 0x16F3, 0x0000},
+  {"92FM", 0x1700, 0x0000},
+  {"92.2FM", 0x170C, 0x0000},
+  {"92.4FM", 0x1719, 0x0000},
+  {"92.6FM", 0x1726, 0x0000},
+  {"92.8FM", 0x1733, 0x0000},
+  {"93FM", 0x1740, 0x0000},
+  {"93.2FM", 0x174C, 0x0000},
+  {"93.4FM", 0x1759, 0x0000},
+  {"93.6FM", 0x1766, 0x0000},
+  {"93.8FM", 0x1773, 0x0000},
+  {"94FM", 0x1780, 0x0000},
+  {"94.2FM", 0x178C, 0x0000},
+  {"94.4FM", 0x1799, 0x0000},
+  {"94.6FM", 0x17A6, 0x0000},
+  {"94.8FM", 0x17B3, 0x0000},
+  {"95FM", 0x17C0, 0x0000},
+  {"95.2FM", 0x17CC, 0x0000},
+  {"95.4FM", 0x17D9, 0x0000},
+  {"95.6FM", 0x17E6, 0x0000},
+  {"95.8FM", 0x17F3, 0x0000},
+  {"96FM", 0x1800, 0x0000},
+  {"96.2FM", 0x180C, 0x0000},
+  {"96.4FM", 0x1819, 0x0000},
+  {"96.6FM", 0x1826, 0x0000},
+  {"96.8FM", 0x1833, 0x0000},
+  {"97FM", 0x1840, 0x0000},
+  {"97.2FM", 0x184C, 0x0000},
+  {"97.4FM", 0x1859, 0x0000},
+  {"97.6FM", 0x1866, 0x0000},
+  {"97.8FM", 0x1873, 0x0000},
+  {"98FM", 0x1880, 0x0000},
+  {"98.2FM", 0x188C, 0x0000},
+  {"98.4FM", 0x1899, 0x0000},
+  {"98.6FM", 0x18A6, 0x0000},
+  {"98.8FM", 0x18B3, 0x0000},
+  {"99FM", 0x18C0, 0x0000},
+  {"99.2FM", 0x18CC, 0x0000},
+  {"99.4FM", 0x18D9, 0x0000},
+  {"99.6FM", 0x18E6, 0x0000},
+  {"99.8FM", 0x18F3, 0x0000},
+  {"100FM", 0x1900, 0x0000},
+  {"100.2FM", 0x190C, 0x0000},
+  {"100.4FM", 0x1919, 0x0000},
+  {"100.6FM", 0x1926, 0x0000},
+  {"100.8FM", 0x1933, 0x0000},
+  {"101FM", 0x1940, 0x0000},
+  {"101.2FM", 0x194C, 0x0000},
+  {"101.4FM", 0x1959, 0x0000},
+  {"101.6FM", 0x1966, 0x0000},
+  {"101.8FM", 0x1973, 0x0000},
+  {"102FM", 0x1980, 0x0000},
+  {"102.2FM", 0x198C, 0x0000},
+  {"102.4FM", 0x1999, 0x0000},
+  {"102.6FM", 0x19A6, 0x0000},
+  {"102.8FM", 0x19B3, 0x0000},
+  {"103FM", 0x19C0, 0x0000},
+  {"103.2FM", 0x19CC, 0x0000},
+  {"103.4FM", 0x19D9, 0x0000},
+  {"103.6FM", 0x19E6, 0x0000},
+  {"103.8FM", 0x19F3, 0x0000},
+  {"104FM", 0x1A00, 0x0000},
+  {"104.2FM", 0x1A0C, 0x0000},
+  {"104.4FM", 0x1A19, 0x0000},
+  {"104.6FM", 0x1A26, 0x0000},
+  {"104.8FM", 0x1A33, 0x0000},
+  {"105FM", 0x1A40, 0x0000},
+  {"105.2FM", 0x1A4C, 0x0000},
+  {"105.4FM", 0x1A59, 0x0000},
+  {"105.6FM", 0x1A66, 0x0000},
+  {"105.8FM", 0x1A73, 0x0000},
+  {"106FM", 0x1A80, 0x0000},
+  {"106.2FM", 0x1A8C, 0x0000},
+  {"106.4FM", 0x1A99, 0x0000},
+  {"106.6FM", 0x1AA6, 0x0000},
+  {"106.8FM", 0x1AB3, 0x0000},
+  {"107FM", 0x1AC0, 0x0000},
+  {"107.2FM", 0x1ACC, 0x0000},
+  {"107.4FM", 0x1AD9, 0x0000},
+  {"107.6FM", 0x1AE6, 0x0000},
+  {"107.8FM", 0x1AF3, 0x0000},
+  {"108FM", 0x1B00, 0x0000}};
+
+
+// *** 47. Japan - FM radio
+XC_CHANNEL Japan_FM_radio[] = {
+  {"76FM", 0x1300, 0x0000},
+  {"76.1FM", 0x1306, 0x0000},
+  {"76.2FM", 0x130C, 0x0000},
+  {"76.3FM", 0x1313, 0x0000},
+  {"76.4FM", 0x1319, 0x0000},
+  {"76.5FM", 0x1320, 0x0000},
+  {"76.6FM", 0x1326, 0x0000},
+  {"76.7FM", 0x132C, 0x0000},
+  {"76.8FM", 0x1333, 0x0000},
+  {"76.9FM", 0x1339, 0x0000},
+  {"77FM", 0x1340, 0x0000},
+  {"77.1FM", 0x1346, 0x0000},
+  {"77.2FM", 0x134C, 0x0000},
+  {"77.3FM", 0x1353, 0x0000},
+  {"77.4FM", 0x1359, 0x0000},
+  {"77.5FM", 0x1360, 0x0000},
+  {"77.6FM", 0x1366, 0x0000},
+  {"77.7FM", 0x136C, 0x0000},
+  {"77.8FM", 0x1373, 0x0000},
+  {"77.9FM", 0x1379, 0x0000},
+  {"78FM", 0x1380, 0x0000},
+  {"78.1FM", 0x1386, 0x0000},
+  {"78.2FM", 0x138C, 0x0000},
+  {"78.3FM", 0x1393, 0x0000},
+  {"78.4FM", 0x1399, 0x0000},
+  {"78.5FM", 0x13A0, 0x0000},
+  {"78.6FM", 0x13A6, 0x0000},
+  {"78.7FM", 0x13AC, 0x0000},
+  {"78.8FM", 0x13B3, 0x0000},
+  {"78.9FM", 0x13B9, 0x0000},
+  {"79FM", 0x13C0, 0x0000},
+  {"79.1FM", 0x13C6, 0x0000},
+  {"79.2FM", 0x13CC, 0x0000},
+  {"79.3FM", 0x13D3, 0x0000},
+  {"79.4FM", 0x13D9, 0x0000},
+  {"79.5FM", 0x13E0, 0x0000},
+  {"79.6FM", 0x13E6, 0x0000},
+  {"79.7FM", 0x13EC, 0x0000},
+  {"79.8FM", 0x13F3, 0x0000},
+  {"79.9FM", 0x13F9, 0x0000},
+  {"80FM", 0x1400, 0x0000},
+  {"80.1FM", 0x1406, 0x0000},
+  {"80.2FM", 0x140C, 0x0000},
+  {"80.3FM", 0x1413, 0x0000},
+  {"80.4FM", 0x1419, 0x0000},
+  {"80.5FM", 0x1420, 0x0000},
+  {"80.6FM", 0x1426, 0x0000},
+  {"80.7FM", 0x142C, 0x0000},
+  {"80.8FM", 0x1433, 0x0000},
+  {"80.9FM", 0x1439, 0x0000},
+  {"81FM", 0x1440, 0x0000},
+  {"81.1FM", 0x1446, 0x0000},
+  {"81.2FM", 0x144C, 0x0000},
+  {"81.3FM", 0x1453, 0x0000},
+  {"81.4FM", 0x1459, 0x0000},
+  {"81.5FM", 0x1460, 0x0000},
+  {"81.6FM", 0x1466, 0x0000},
+  {"81.7FM", 0x146C, 0x0000},
+  {"81.8FM", 0x1473, 0x0000},
+  {"81.9FM", 0x1479, 0x0000},
+  {"82FM", 0x1480, 0x0000},
+  {"82.1FM", 0x1486, 0x0000},
+  {"82.2FM", 0x148C, 0x0000},
+  {"82.3FM", 0x1493, 0x0000},
+  {"82.4FM", 0x1499, 0x0000},
+  {"82.5FM", 0x14A0, 0x0000},
+  {"82.6FM", 0x14A6, 0x0000},
+  {"82.7FM", 0x14AC, 0x0000},
+  {"82.8FM", 0x14B3, 0x0000},
+  {"82.9FM", 0x14B9, 0x0000},
+  {"83FM", 0x14C0, 0x0000},
+  {"83.1FM", 0x14C6, 0x0000},
+  {"83.2FM", 0x14CC, 0x0000},
+  {"83.3FM", 0x14D3, 0x0000},
+  {"83.4FM", 0x14D9, 0x0000},
+  {"83.5FM", 0x14E0, 0x0000},
+  {"83.6FM", 0x14E6, 0x0000},
+  {"83.7FM", 0x14EC, 0x0000},
+  {"83.8FM", 0x14F3, 0x0000},
+  {"83.9FM", 0x14F9, 0x0000},
+  {"84FM", 0x1500, 0x0000},
+  {"84.1FM", 0x1506, 0x0000},
+  {"84.2FM", 0x150C, 0x0000},
+  {"84.3FM", 0x1513, 0x0000},
+  {"84.4FM", 0x1519, 0x0000},
+  {"84.5FM", 0x1520, 0x0000},
+  {"84.6FM", 0x1526, 0x0000},
+  {"84.7FM", 0x152C, 0x0000},
+  {"84.8FM", 0x1533, 0x0000},
+  {"84.9FM", 0x1539, 0x0000},
+  {"85FM", 0x1540, 0x0000},
+  {"85.1FM", 0x1546, 0x0000},
+  {"85.2FM", 0x154C, 0x0000},
+  {"85.3FM", 0x1553, 0x0000},
+  {"85.4FM", 0x1559, 0x0000},
+  {"85.5FM", 0x1560, 0x0000},
+  {"85.6FM", 0x1566, 0x0000},
+  {"85.7FM", 0x156C, 0x0000},
+  {"85.8FM", 0x1573, 0x0000},
+  {"85.9FM", 0x1579, 0x0000},
+  {"86FM", 0x1580, 0x0000},
+  {"86.1FM", 0x1586, 0x0000},
+  {"86.2FM", 0x158C, 0x0000},
+  {"86.3FM", 0x1593, 0x0000},
+  {"86.4FM", 0x1599, 0x0000},
+  {"86.5FM", 0x15A0, 0x0000},
+  {"86.6FM", 0x15A6, 0x0000},
+  {"86.7FM", 0x15AC, 0x0000},
+  {"86.8FM", 0x15B3, 0x0000},
+  {"86.9FM", 0x15B9, 0x0000},
+  {"87FM", 0x15C0, 0x0000},
+  {"87.1FM", 0x15C6, 0x0000},
+  {"87.2FM", 0x15CC, 0x0000},
+  {"87.3FM", 0x15D3, 0x0000},
+  {"87.4FM", 0x15D9, 0x0000},
+  {"87.5FM", 0x15E0, 0x0000},
+  {"87.6FM", 0x15E6, 0x0000},
+  {"87.7FM", 0x15EC, 0x0000},
+  {"87.8FM", 0x15F3, 0x0000},
+  {"87.9FM", 0x15F9, 0x0000},
+  {"88FM", 0x1600, 0x0000},
+  {"88.1FM", 0x1606, 0x0000},
+  {"88.2FM", 0x160C, 0x0000},
+  {"88.3FM", 0x1613, 0x0000},
+  {"88.4FM", 0x1619, 0x0000},
+  {"88.5FM", 0x1620, 0x0000},
+  {"88.6FM", 0x1626, 0x0000},
+  {"88.7FM", 0x162C, 0x0000},
+  {"88.8FM", 0x1633, 0x0000},
+  {"88.9FM", 0x1639, 0x0000},
+  {"89FM", 0x1640, 0x0000},
+  {"89.1FM", 0x1646, 0x0000},
+  {"89.2FM", 0x164C, 0x0000},
+  {"89.3FM", 0x1653, 0x0000},
+  {"89.4FM", 0x1659, 0x0000},
+  {"89.5FM", 0x1660, 0x0000},
+  {"89.6FM", 0x1666, 0x0000},
+  {"89.7FM", 0x166C, 0x0000},
+  {"89.8FM", 0x1673, 0x0000},
+  {"89.9FM", 0x1679, 0x0000},
+  {"90FM", 0x1680, 0x0000}};
+
+
+XC_CHANNEL_MAP AllChannelMaps[] = {
+  {"USA - Analog - Air", 68, USA_Analog_Air},
+  {"USA - Analog - Cable", 135, USA_Analog_Cable},
+  {"USA - Digital - Air", 68, USA_Digital_Air},
+  {"USA - Digital - Cable", 135, USA_Digital_Cable},
+  {"Taiwan - Analog - Air", 68, Taiwan_Analog_Air},
+  {"Taiwan - Analog - Cable", 135, Taiwan_Analog_Cable},
+  {"Taiwan - Digital - Air", 68, Taiwan_Digital_Air},
+  {"Taiwan - Digital - Cable", 135, Taiwan_Digital_Cable},
+  {"Japan - Analog - Air", 62, Japan_Analog_Air},
+  {"Japan - Analog - Cable", 62, Japan_Analog_Cable},
+  {"Japan - Digital - Air", 62, Japan_Digital_Air},
+  {"Japan - Digital - Cable", 62, Japan_Digital_Cable},
+  {"CCIR - Analog - Air", 60, CCIR_Analog_Air},
+  {"CCIR - Analog - Cable", 57, CCIR_Analog_Cable},
+  {"CCIR - Digital - Air", 60, CCIR_Digital_Air},
+  {"CCIR - Digital - Cable", 57, CCIR_Digital_Cable},
+  {"India - Analog - Air", 106, India_Analog_Air},
+  {"India - Analog - Cable", 106, India_Analog_Cable},
+  {"India - Digital - Air", 106, India_Digital_Air},
+  {"India - Digital - Cable", 106, India_Digital_Cable},
+  {"France - Analog - Air", 59, France_Analog_Air},
+  {"France - Analog - Cable", 89, France_Analog_Cable},
+  {"France - Digital - Air", 59, France_Digital_Air},
+  {"France - Digital - Cable", 89, France_Digital_Cable},
+  {"UK - Analog - Air", 49, UK_Analog_Air},
+  {"UK - Analog - Cable", 81, UK_Analog_Cable},
+  {"UK - Digital - Air", 49, UK_Digital_Air},
+  {"UK - Digital - Cable", 81, UK_Digital_Cable},
+  {"Ireland - Analog - Air", 58, Ireland_Analog_Air},
+  {"Ireland - Analog - Cable", 81, Ireland_Analog_Cable},
+  {"Ireland - Digital - Air", 58, Ireland_Digital_Air},
+  {"Ireland - Digital - Cable", 81, Ireland_Digital_Cable},
+  {"China - Analog - Air", 57, China_Analog_Air},
+  {"China - Analog - Cable", 99, China_Analog_Cable},
+  {"China - Digital - Air", 57, China_Digital_Air},
+  {"China - Digital - Cable", 99, China_Digital_Cable},
+  {"Australia - Analog - Air", 56, Australia_Analog_Air},
+  {"Australia - Analog - Cable", 80, Australia_Analog_Cable},
+  {"Australia - Digital - Air", 56, Australia_Digital_Air},
+  {"Australia - Digital - Cable", 80, Australia_Digital_Cable},
+  {"OIRT - Analog - Air", 61, OIRT_Analog_Air},
+  {"OIRT - Analog - Cable", 54, OIRT_Analog_Cable},
+  {"OIRT - Digital - Air", 61, OIRT_Digital_Air},
+  {"OIRT - Digital - Cable", 54, OIRT_Digital_Cable},
+  {"USA - FM radio", 101, USA_FM_radio},
+  {"Europe - FM radio", 103, Europe_FM_radio},
+  {"Japan - FM radio", 141, Japan_FM_radio}};
+
+#endif
diff --git a/drivers/media/video/empia/xc5000/xc5000_control.c b/drivers/media/video/empia/xc5000/xc5000_control.c
new file mode 100644
index 0000000..dc00142
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/xc5000_control.c
@@ -0,0 +1,370 @@
+//
+// control of the XC5000 via the i2c interface.
+//
+// Filename : xc5000_control.cpp
+// Generated : 1/22/2007 4:41:24 PM
+//
+// (c) 2007, Xceive Corporation
+//
+//
+// Disclaimer:
+//
+// Xceive assumes no responsibility for any consequences arising from the use
+// of this computer code, nor from any infringement of patents or the rights of
+// third parties that may result from its use. No license is granted by
+// implication or otherwise under any patent or other rights of Xceive. The
+// customer is responsible for assuring that proper design and operating
+// safeguards are observed to minimize inherent and procedural hazards. Xceive
+// assumes no responsibility for applications assistance or customer product
+// design.
+// The present computer code is not authorized for use in medical, life-support
+// equipment, or any other application involving a potential risk of severe
+// property or environmental damage, personal injury, or death without prior
+// express written approval of Xceive.  Any such use is understood to be
+// entirely at the user's risk.
+//
+
+
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/delay.h>
+#include "xc5000_control.h"
+#include "i2c_driver.h"
+#include "tunerchip.h"
+#include "xc5000_Standard.h"
+
+#ifndef false
+#define false 0
+#endif
+
+#ifndef true
+#define true 1
+#endif
+
+#define XREG_INIT         0x00
+#define XREG_VIDEO_MODE   0x01
+#define XREG_AUDIO_MODE   0x02
+#define XREG_RF_FREQ      0x03
+#define XREG_SEEK_MODE    0x04
+#define XREG_IF_OUT       0x05
+#define XREG_POWER_DOWN   0x0A
+
+#define XREG_ADC_ENV      0x00
+#define XREG_QUALITY      0x01
+#define XREG_FRAME_LINES  0x02
+#define XREG_HSYNC_FREQ   0x03
+#define XREG_LOCK         0x04
+#define XREG_FREQ_ERROR   0x05
+#define XREG_SNR          0x06
+#define XREG_VERSION      0x07
+#define XREG_PRODUCT_ID   0x08
+
+/* *************************************************************** */
+/* *************************************************************** */
+/*                                                                 */
+/*              CODE PROVIDED BY XCEIVE                            */
+/*                                                                 */
+/* *************************************************************** */
+/* *************************************************************** */
+int xc_write_reg(struct tuner_module *module, unsigned short int regAddr, unsigned short int i2cData)
+{
+  unsigned char buf[4];
+  buf[0] = (regAddr >> 8) & 0xFF;
+  buf[1] = regAddr & 0xFF;
+  buf[2] = (i2cData >> 8) & 0xFF;
+  buf[3] = i2cData & 0xFF;
+  return xc_send_i2c_data(module, buf, 4);
+}
+
+int xc_read_reg(struct tuner_module *module, unsigned short int regAddr, unsigned short int *i2cData)
+{
+  unsigned char buf[2];
+  int result;
+
+  buf[0] = (regAddr >> 8) & 0xFF;
+  buf[1] = regAddr & 0xFF;
+  result = xc_send_i2c_data(module, buf, 2);
+  if (result!=XC_RESULT_SUCCESS)
+    return result;
+
+  result = xc_read_i2c_data(module, buf, 2);
+  if (result!=XC_RESULT_SUCCESS)
+    return result;
+
+  *i2cData = buf[0] * 256 + buf[1];
+  return XC_RESULT_SUCCESS;
+}
+
+int xc_load_i2c_sequence(struct tuner_module *module, unsigned char *i2c_sequence)
+{
+  int i,nbytes_to_send,pos,result;
+  unsigned int length, index;
+  unsigned char buf[XC_MAX_I2C_WRITE_LENGTH];
+
+  index=0;
+  while (index < 12370 && ((i2c_sequence[index]!=0xFF) || (i2c_sequence[index+1]!=0xFF)))
+  {
+    length = i2c_sequence[index]* 256 + i2c_sequence[index+1];
+    if (length==0x0000)
+    {
+      //this is in fact a RESET command
+      result = xc_reset(module);
+      index += 2;
+      if (result!=XC_RESULT_SUCCESS)
+        return result;
+    }
+    else if (length & 0x8000)
+    {
+      mdelay(length&0x7fff);
+      index += 2;
+    }
+    else
+    {
+      //send i2c data whilst ensuring individual transactions do
+      //not exceed XC_MAX_I2C_WRITE_LENGTH bytes
+      index += 2;
+      buf[0] = i2c_sequence[index];
+      buf[1] = i2c_sequence[index + 1];
+      pos = 2;
+      while (pos < length)
+      {
+        if ((length - pos) > XC_MAX_I2C_WRITE_LENGTH - 2)
+        {
+          nbytes_to_send = XC_MAX_I2C_WRITE_LENGTH;
+        }
+        else
+        {
+          nbytes_to_send = (length - pos + 2);
+        }
+        for (i=2; i<nbytes_to_send; i++)
+        {
+          buf[i] = i2c_sequence[index + pos + i - 2];
+        }
+        result = xc_send_i2c_data(module, buf, nbytes_to_send);
+
+        if (result!=XC_RESULT_SUCCESS)
+          return result;
+
+        pos += nbytes_to_send - 2;
+      }
+      index += length;
+    }
+  }
+  return XC_RESULT_SUCCESS;
+}
+
+int xc_initialize(struct tuner_module *module)
+{
+  return xc_write_reg(module, XREG_INIT, 0);
+}
+
+int xc_SetTVStandard(struct tuner_module *module, unsigned short int VideoMode, unsigned short int AudioMode)
+{
+  int returnStatus = xc_write_reg(module, XREG_VIDEO_MODE, VideoMode);
+  if (returnStatus == XC_RESULT_SUCCESS)
+    returnStatus = xc_write_reg(module, XREG_AUDIO_MODE, AudioMode);
+  return returnStatus;
+}
+
+int xc_shutdown(struct tuner_module *module)
+{
+  int returnStatus = xc_write_reg(module, XREG_POWER_DOWN, 0);
+  return returnStatus;
+}
+
+int xc_set_RF_frequency(struct tuner_module *module, unsigned long frequency_in_hz)
+{
+  unsigned int frequency_code;
+  if ((frequency_in_hz>1023000000) || (frequency_in_hz<1000000))
+    return XC_RESULT_OUT_OF_RANGE;
+
+  frequency_code = (unsigned int)(frequency_in_hz/15625);
+  return xc_write_reg(module, XREG_RF_FREQ ,frequency_code);
+}
+
+int xc_set_IF_frequency(struct tuner_module *module, unsigned long frequency_in_khz)
+{
+  unsigned int frequency_code;
+  frequency_code = (unsigned int)(frequency_in_khz*1024/1000 );
+  return xc_write_reg(module, XREG_IF_OUT ,frequency_code);
+}
+
+
+int xc_get_ADC_Envelope(struct tuner_module *module, unsigned short int *adc_envelope)
+{
+  return xc_read_reg(module, XREG_ADC_ENV, adc_envelope);
+}
+
+// Obtain current frequency error
+// Refer to datasheet for values.
+int xc_get_frequency_error(struct tuner_module *module, unsigned long *frequency_error_hz)
+{
+  unsigned short int data;
+  short int signed_data;
+  int result;
+
+  result = xc_read_reg(module, XREG_FREQ_ERROR, &data);
+  if (result)
+    return result;
+
+  signed_data = (short int)data;
+  (*frequency_error_hz) = signed_data * 15625;
+
+  return 0;
+}
+
+// Obtain current lock status.
+// Refer to datasheet for values.
+int xc_get_lock_status(struct tuner_module *module, unsigned short int *lock_status)
+{
+  return xc_read_reg(module, XREG_LOCK, lock_status);
+}
+
+// Obtain Version codes.
+// Refer to datasheet for values.
+int xc_get_version(struct tuner_module *module,
+		       unsigned char* hw_majorversion,
+                       unsigned char* hw_minorversion,
+                       unsigned char* fw_majorversion,
+                       unsigned char* fw_minorversion)
+{
+  unsigned short int data;
+  int result;
+
+  result = xc_read_reg(module, XREG_VERSION, &data);
+  if (result)
+    return result;
+
+    (*hw_majorversion) = (data>>12) & 0x0F;
+    (*hw_minorversion) = (data>>8) & 0x0F;
+    (*fw_majorversion) = (data>>4) & 0x0F;
+    (*fw_minorversion) = (data) & 0x0F;
+
+  return 0;
+}
+
+// Obtain Product ID.
+// Refer to datasheet for values.
+int xc_get_product_id(struct tuner_module *module, unsigned short int *product_id)
+{
+  return xc_read_reg(module, XREG_PRODUCT_ID, product_id);
+}
+
+// Obtain current horizontal video frequency.
+// Refer to datasheet for values.
+int xc_get_hsync_freq(struct tuner_module *module, unsigned long *hsync_freq_hz)
+{
+  unsigned short int regData;
+  int result;
+
+  result = xc_read_reg(module, XREG_HSYNC_FREQ, &regData);
+  if (result)
+    return result;
+  (*hsync_freq_hz) = (regData & 0x0fff)*763/100;
+  return result;
+}
+
+ // Obtain current number of lines per frame.
+ // Refer to datasheet for values.
+int xc_get_frame_lines(struct tuner_module *module, unsigned short int *frame_lines)
+{
+  return xc_read_reg(module, XREG_FRAME_LINES, frame_lines);
+}
+
+// Obtain current video signal quality.
+// Refer to datasheet for values.
+int xc_get_quality(struct tuner_module *module, unsigned short int *quality)
+{
+  return xc_read_reg(module, XREG_QUALITY, quality);
+}
+
+unsigned short int WaitForLock(struct tuner_module *module)
+{
+  unsigned short int lockState = 0;
+  int watchDogCount = 40;
+  while ((lockState == 0) && (watchDogCount > 0))
+  {
+    xc_get_lock_status(module, &lockState);
+    if (lockState != 1)
+    {
+      xc_wait(module, 5);      // wait 5 ms
+      watchDogCount--;
+    }
+  }
+  return lockState;
+}
+
+int xc_tune_channel(struct tuner_module *module, unsigned long chnl_freq)
+{
+  unsigned long freq_error, min_freq_error, max_freq_error;
+  unsigned short int quality, max_quality;
+  int res;
+  int  chnl_found = false;
+  if (xc_set_RF_frequency(module, chnl_freq) != XC_RESULT_SUCCESS)
+    return false;
+  if (WaitForLock(module)== 1)
+  {
+    xc_wait(module, 6);
+    res=xc_get_frequency_error(module, &freq_error);
+    if (res!=XC_RESULT_SUCCESS) return res;
+    max_freq_error = freq_error;
+    min_freq_error = freq_error;
+
+    res=xc_get_quality(module, &quality);
+    if (res!=XC_RESULT_SUCCESS) return res;
+    max_quality=quality;
+
+    xc_wait(module, 6);
+
+    res=xc_get_frequency_error(module, &freq_error);
+    if (res!=XC_RESULT_SUCCESS) return res;
+    max_freq_error = (max_freq_error>freq_error) ? max_freq_error : freq_error;
+    min_freq_error = (min_freq_error<freq_error) ? min_freq_error : freq_error;
+
+    res=xc_get_quality(module, &quality);
+    if (res!=XC_RESULT_SUCCESS) return res;
+    max_quality=(max_quality>quality) ? max_quality : quality;
+
+    xc_wait(module, 6);
+
+    res=xc_get_frequency_error(module, &freq_error);
+    if (res!=XC_RESULT_SUCCESS) return res;
+    max_freq_error = (max_freq_error>freq_error) ? max_freq_error : freq_error;
+    min_freq_error = (min_freq_error<freq_error) ? min_freq_error : freq_error;
+
+    res=xc_get_quality(module, &quality);
+    if (res!=XC_RESULT_SUCCESS) return res;
+    max_quality=(max_quality>quality) ? max_quality : quality;
+
+
+    //We got lock, but now we check that carrier is stable and that quality is sufficient
+    if (((max_freq_error-min_freq_error)<60000) && (max_quality>0))
+      chnl_found = true;
+      //add new channel
+
+  }
+  return chnl_found;
+}
+
+int xc_tuner_cmd(struct tuner_module *module, unsigned int cmd, void *data)
+{
+	switch(cmd) {
+	case XC5000_INIT_TUNER:
+		xc_initialize(module);
+		break;
+	case XC5000_SET_MODE:
+		{
+			struct xc_std_conf *conf = data;
+
+			xc_SetTVStandard(module, XC5000_Standard[conf->index].VideoMode, XC5000_Standard[conf->index].AudioMode);
+			if (conf->index<=16) 
+				xc_set_IF_frequency(module, 31025);
+			if (conf->index>=17 && conf->index<=20)
+				xc_set_IF_frequency(module, 4560);
+			break;
+		}
+	default:
+		break;
+	}
+	return -EINVAL;
+}
diff --git a/drivers/media/video/empia/xc5000/xc5000_control.h b/drivers/media/video/empia/xc5000/xc5000_control.h
new file mode 100644
index 0000000..5d357dd
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/xc5000_control.h
@@ -0,0 +1,162 @@
+//
+// C header file for control of the XC5000 via the i2c interface.
+//
+// Filename : xc5000_control.h
+// Generated : 1/22/2007 4:41:24 PM
+//
+// (c) 2007, Xceive Corporation
+//
+//
+// Disclaimer:
+//
+// Xceive assumes no responsibility for any consequences arising from the use
+// of this computer code, nor from any infringement of patents or the rights of
+// third parties that may result from its use. No license is granted by
+// implication or otherwise under any patent or other rights of Xceive. The
+// customer is responsible for assuring that proper design and operating
+// safeguards are observed to minimize inherent and procedural hazards. Xceive
+// assumes no responsibility for applications assistance or customer product
+// design.
+// The present computer code is not authorized for use in medical, life-support
+// equipment, or any other application involving a potential risk of severe
+// property or environmental damage, personal injury, or death without prior
+// express written approval of Xceive.  Any such use is understood to be
+// entirely at the user's risk.
+//
+//
+
+#ifndef __XC5000_CONTROL_H
+#define __XC5000_CONTROL_H
+
+/* *********************************************************************** */
+/* Defines                                                                 */
+/* *********************************************************************** */
+
+#define XC_MAX_I2C_WRITE_LENGTH                     64
+
+#define XC_RESULT_SUCCESS                           0
+#define XC_RESULT_RESET_FAILURE                     1
+#define XC_RESULT_I2C_WRITE_FAILURE                 2
+#define XC_RESULT_I2C_READ_FAILURE                  3
+#define XC_RESULT_OUT_OF_RANGE                      5
+
+#include "tunerchip.h"
+
+/* *********************************************************************** */
+/* Type Declarations                                                       */
+/* *********************************************************************** */
+
+/*
+   This represents an I2C firmware file encoded as a string of unsigned char.
+   Format is as follows:
+
+   char[0  ]=len0_MSB  -> len = len_MSB * 256 + len_LSB
+   char[1  ]=len0_LSB  -> length of first write transaction
+   char[2  ]=data0 -> first byte to be sent
+   char[3  ]=data1
+   char[4  ]=data2
+   char[   ]=...
+   char[M  ]=dataN  -> last byte to be sent
+   char[M+1]=len1_MSB  -> len = len_MSB * 256 + len_LSB
+   char[M+2]=len1_LSB  -> length of second write transaction
+   char[M+3]=data0
+   char[M+4]=data1
+   ...
+   etc.
+
+   The [len] value should be interpreted as follows:
+
+   len= len_MSB _ len_LSB
+   len=1111_1111_1111_1111   : End of I2C_SEQUENCE
+   len=0000_0000_0000_0000   : Reset command: Do hardware reset
+   len=0NNN_NNNN_NNNN_NNNN   : Normal transaction: number of bytes = {1:32767)
+   len=1WWW_WWWW_WWWW_WWWW   : Wait command: wait for {1:32767} ms
+
+   For the RESET and WAIT commands, the two following bytes will contain
+   immediately the length of the following transaction.
+
+*/
+typedef struct {
+  char Name[80];
+  unsigned short AudioMode;
+  unsigned short VideoMode;
+} XC_TV_STANDARD;
+
+typedef struct {
+    char  identifier[80];
+    unsigned int      frequency;
+    unsigned char     dcode;
+} XC_CHANNEL;
+
+typedef struct {
+    char        MapType[80];
+    int         nb_channels;
+    XC_CHANNEL  *channels;
+} XC_CHANNEL_MAP;
+
+// Download firmware
+int xc_load_i2c_sequence(struct tuner_module *module, unsigned char i2c_sequence[]);
+
+// Perform calibration and initialize default parameter
+int xc_initialize(struct tuner_module *module);
+
+// Initialize device according to supplied tv mode.
+int xc_SetTVStandard(struct tuner_module *module, unsigned short int VideoMode, unsigned short int AudioMode);
+
+int xc_set_RF_frequency(struct tuner_module *module, unsigned long frequency_in_hz);
+
+int xc_set_IF_frequency(struct tuner_module *module, unsigned long frequency_in_mhz);
+
+// Power-down device.
+int xc_shutdown(struct tuner_module *module);
+
+// Get ADC envelope value.
+int xc_get_ADC_Envelope(struct tuner_module *module, unsigned short int *adc_envelope);
+
+// Get current frequency error.
+int xc_get_frequency_error(struct tuner_module *module, unsigned long *frequency_error_mhz);
+
+// Get lock status.
+int xc_get_lock_status(struct tuner_module *module, unsigned short int *lock_status);
+
+// Get device version information.
+int xc_get_version( struct tuner_module *module, unsigned char* hw_majorversion,unsigned char* hw_minorversion,
+                        unsigned char* fw_majorversion, unsigned char* fw_minorversion);
+
+// Get device product ID.
+int xc_get_product_id(struct tuner_module *module, unsigned short int *product_id);
+
+// Get horizontal sync frequency.
+int xc_get_hsync_freq(struct tuner_module *module, unsigned long *hsync_freq_hz);
+
+// Get number of lines per frame.
+int xc_get_frame_lines(struct tuner_module *module, unsigned short int *frame_lines);
+
+// Get quality estimate.
+int xc_get_quality(struct tuner_module *module, unsigned short int *quality);
+
+// Tune a channel
+int xc_tune_channel(struct tuner_module *module, unsigned long chnl_freq);
+
+int xc_tuner_cmd(struct tuner_module *module, unsigned int cmd, void *data);
+
+struct xc5000_priv {
+        struct i2c_adapter *adap;
+	int i2c_address;
+        XC_CHANNEL_MAP *XC3028_current_channel_map_ptr;
+        XC_CHANNEL      XC3028_current_channel;
+        int (*callback)(void *dev, unsigned int cmd, void *data);
+	void *dev;
+};
+
+struct xc_std_conf {
+	unsigned int index;
+};
+
+#define XC5000_CHIP_RESET 1
+#define XC5000_INIT_TUNER 2
+#define XC5000_SET_MODE 3
+
+#endif
+
+
diff --git a/drivers/media/video/empia/xc5000/xc5000_firmwares.h b/drivers/media/video/empia/xc5000/xc5000_firmwares.h
new file mode 100644
index 0000000..8bbb256
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/xc5000_firmwares.h
@@ -0,0 +1,24 @@
+//                                                   
+// Automatically generated C header file for         
+// control of the XC5000 via the i2c interface.      
+//                                                   
+// Filename : xc5000_firmwares.h                                     
+// Generated : 2/4/2008 1:59:22 PM                                    
+// Firmware version : f.f                          
+//                                                   
+// (c) 2008, Xceive Corporation                         
+//                                                   
+                                                     
+#ifndef __XC5000_FIRMWARES_H                                           
+#define __XC5000_FIRMWARES_H                                           
+                                                     
+                                                     
+// ************************************************************ 
+// *** BASE FIRMWARE FILES                                      
+// *** These declarations are not used directly by user         
+// ************************************************************ 
+                                                                
+unsigned char *XC5000_firmware_SEQUENCE;
+                                               
+#endif                                         
+                                               
diff --git a/drivers/media/video/empia/xc5000/xc5000_module.c b/drivers/media/video/empia/xc5000/xc5000_module.c
new file mode 100644
index 0000000..f5bd83c
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/xc5000_module.c
@@ -0,0 +1,54 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/i2c.h>
+#include "xc5000_control.h"
+#include "xc5000_module.h"
+#include "i2c_driver.h"
+#include "tunerchip.h"
+
+static struct tuner_module xc5000_tuner_module = {
+	.shutdown = xc_shutdown,
+	.set_frequency = xc_set_RF_frequency,
+	.tuner_cmd = xc_tuner_cmd,
+	.get_lock_status = xc_get_lock_status,
+	.get_version = xc_get_version,
+	.release = xc5000_tuner_release
+};
+
+struct tuner_module *xc5000_tuner_attach(struct xc5000_config *config, unsigned char *firmware_SEQUENCE)
+{
+	struct tuner_module *module;
+	struct xc5000_priv *priv;
+
+	printk(KERN_INFO"attaching xc5000 tuner module\n");
+
+	module = kzalloc(sizeof(struct tuner_module), GFP_KERNEL);
+
+	priv = kzalloc(sizeof(struct xc5000_priv), GFP_KERNEL);
+
+	priv->callback = config->callback;
+	priv->dev = config->dev;
+	priv->i2c_address = config->i2c_address;
+	priv->adap = config->adap;
+
+	memcpy(module, &xc5000_tuner_module, sizeof(struct tuner_module));
+	module->priv = priv;
+
+	xc_reset(module);
+	xc_initialize(module);
+	xc_load_i2c_sequence(module, firmware_SEQUENCE);
+	xc_set_IF_frequency(module, 30298);
+
+	return module;
+}
+EXPORT_SYMBOL_GPL(xc5000_tuner_attach);
+
+void xc5000_tuner_release(struct tuner_module *tuner)
+{
+	kfree(tuner->priv);
+	kfree(tuner);
+}
+
+MODULE_AUTHOR("Markus Rechberger <mrechberger@empiatech.com>");
+MODULE_DESCRIPTION("Xceive 5000 Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/video/empia/xc5000/xc5000_module.h b/drivers/media/video/empia/xc5000/xc5000_module.h
new file mode 100644
index 0000000..81f562f
--- /dev/null
+++ b/drivers/media/video/empia/xc5000/xc5000_module.h
@@ -0,0 +1,28 @@
+#ifndef _XC5000_TUNER_H
+#define _XC5000_TUNER_H
+
+struct i2c_adapter;
+
+struct xc5000_config {
+	struct i2c_adapter *adap;
+	XC_CHANNEL* new_channel_map_ptr;
+	int (*callback)(void *dev, unsigned int cmd, void *data);
+	void *dev;
+	int i2c_address;
+};
+
+void xc5000_tuner_release(struct tuner_module *tuner);
+
+#if 1 
+//defined(CONFIG_DVB_TUNER_XC5000) || (defined(CONFIG_DVB_TUNER_XC5000_MODULE) && defined(MODULE))
+struct tuner_module *xc5000_tuner_attach(struct xc5000_config *config, unsigned char *firmware_SEQUENCE);
+#else
+static inline struct tuner_module *xc5000_tuner_attach(struct xc5000_config, unsigned char *firmware_SEQUENCE)
+{
+        printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+        return NULL;
+}
+#endif
+
+#endif // _XC5000_TUNER_H
+

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 3/7] adding xc5000 tuner chip driver
  2008-10-22 21:05 [PATCH 3/7] adding xc5000 tuner chip driver Markus Rechberger
@ 2008-10-24 17:36 ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 2+ messages in thread
From: Mauro Carvalho Chehab @ 2008-10-24 17:36 UTC (permalink / raw)
  To: Markus Rechberger
  Cc: Linux Kernel Mailing List, em28xx, acano, Andre Kelmanson,
	Bouwsma Barry, Dan Kreiser, Frank Neuber, Jelle de Jong,
	John Stowers, Lukas Kuna, Stefan Vonolfen, Stephan Berberig,
	Thomas Giesecke, Vitaly Wool, Zhenyu Wang

On Wed, 22 Oct 2008 23:05:39 +0200
"Markus Rechberger" <mrechberger@gmail.com> wrote:

>     xc5000_module.c:
>     linuxtv tuner frontend interface
>     xc5000_control.c:
>     core xceive tuning code
> 
>     this code also uses the tunerchip.h interface which allows to attach
>     the whole driver only once and reuse it as often as needed using a generic
>     interface.
>     It uses the latest Xceive reference driver which fixes some issues.

NACK. There's already a driver for XC5000 on kernel.



Cheers,
Mauro

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-10-24 17:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-22 21:05 [PATCH 3/7] adding xc5000 tuner chip driver Markus Rechberger
2008-10-24 17:36 ` Mauro Carvalho Chehab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).