mirror of https://lore.kernel.org/lkml/
 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	[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

all inboxes | Powered by JetHome®