10.05.2013 Views

PIONERO V - La Cellule Du Sat

PIONERO V - La Cellule Du Sat

PIONERO V - La Cellule Du Sat

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>PIONERO</strong> V5.0<br />

28 de Septiembre, 2004<br />

LISTA RESUMIDA DE CARACTERÍSTICAS :<br />

1. Escritura del firmware de los decodificadores Pioneer por los puertos paralelo y serie.<br />

2. Lectura y escritura de casi cualquier posición de memoria (RAM, Vídeo-RAM e integrados FLASH)<br />

a través de un interfaz Jtag en los decodificadores Pioneer y algunos Pace, Grundig y Echostar.<br />

3. Lectura y escritura de datos a través del puerto serie con las funciones de Deemonru.<br />

4. Lectura, escritura y edición de los datos almacenados en la Eeprom de los decodificadores<br />

Pioneer a través del puerto serie o del interfaz Jtag.<br />

5. Edición de todos los parámetros de las listas de canales, transpondedores, symbol rates, satélites<br />

y la tarjeta virtual. El envío y recepción se pueden realizar por el interfaz Jtag y en el caso del<br />

puerto paralelo y serie solamente se podrá enviar.<br />

6. Lectura y conversión a JPEG o BMP de las imágenes capturadas del decodificador. <strong>La</strong> lectura se<br />

realiza a través del interfaz Jtag.<br />

7. Envío y recepción de comandos al decodificador por el puerto serie.<br />

8. Configuración de multitud de parámetros de las transmisiones y de los comandos enviados.<br />

REQUERIMIENTOS DEL SISTEMA:<br />

1- Windows 95, 98, ME, NT, 2000, XP, 2003.<br />

2- Un puerto serie.<br />

3- Un puerto paralelo ECP.<br />

4- Resolución de pantalla 800x600.<br />

NOVEDADES :<br />

Pionero v5.0<br />

- Todo el código se ha reorganizado y traducido al 80%.<br />

- Se ha añadido soporte para los Philips 607x en la sección del Jtag.<br />

- Se han añadido las funciones de envío y recepción de datos a través del puerto serie usando las<br />

funciones de Deemonru.<br />

- Nuevo editor de la tarjeta virtual (EMU) con soporte para los sistemas Seca, Nagravision, Conax,<br />

Viaccess, Irdeto y SHLCrypt.<br />

- Se ha añadido soporte a los decodificadores Pioneer BCT-17xx.<br />

- En la sección de la Eeprom se han añadido las siguientes funciones :<br />

- Soporte de las eeproms que usan los firmwares que pueden manejar 4 antenas.<br />

- Se han añadido muchos más valores y checksums.<br />

- Ahora se calcula el código de secciones activa automáticamente según la lista de canales que<br />

hay en la sección de “sintonización”.<br />

- En la sección de sintonización se han añadido las siguientes funciones :<br />

- Edición de los datos de satélites y de configuración almacenados en el archivo TPA.<br />

- Bits de estado de las listas de canales actualizados con los significados de los últimos firmwares.<br />

- Ahora se puede seleccionar entre todas las antenas en la lista de transpondedores en los<br />

firmwares que lo soporten.<br />

- Añadida la posibilidad de intercambiar los satélites usados. Por ejemplo, si una lista tiene el<br />

Astra en la entrada A del diseqc y el Hotbird en la B, se pueden intercambiar sin editar cada<br />

transpondedor.<br />

- Se ha incluido un editor de Symbol Rates para los firmwares que almacenan esos valores junto<br />

a las listas de canales.<br />

- Ahora es posible seleccionar canales, transpondedores o symbol rates que no sean consecutivos<br />

pulsando CONTROL.<br />

- Ahora hay funciones de borrado selectivo de canales, transpondedores y symbol-rates.<br />

- Se ha mejorado el movimiento de filas. Ahora se realiza con “Drag and drop”.<br />

- Ahora se puede cambiar el tamaño de las listas de canales y transpondedores más<br />

cómodamente.


- En la sección de Imagen se han añadido las siguientes funciones :<br />

- Ahora no es necesario volver a recibir o cargar la imagen para cambiar su tamaño.<br />

- Se han añadido más tamaños de imagen.<br />

- Ahora es posible cambiar el tamaño y proporción de la imagen pulsando el botón derecho del<br />

ratón sobre la imagen.<br />

- Añadida una opción de configuración rápida en la sección de “Firmware (paralelo+serie)”.<br />

- También es posible especificar los nombres de 32 satélites en la configuración.<br />

- Soporte experimental para decodificadores Grundig GDS310/2 y Echostar DSB8100.<br />

- Añadida la posibilidad de cambiar la posición del Checksum en los firmwares.<br />

- Mejorado el reconocimiento del código de la CPU por el Jtag. Ahora se reconocen estas CPUs :<br />

ST20-TP2, ST20-TP4, STi5500, STi5505, STi5508, STi5510, STi5512 y STi5518.<br />

- Se han reorganizado diversos aspectos del interfaz para evitar los problemas con la resolución 800x600.<br />

- Ahora hay más comentarios en los logs de las transmisiones por Jtag. Así será más fácil detectar errores<br />

de configuración.<br />

- Se han eliminado el botón de comprobación de LPT y el soporte de listas de canales RAM porque<br />

inducían a confusión y no tienen gran importancia.<br />

Pionero v4.0 (FINAL)<br />

- Añadida la función de escritura de la eeprom a través del interfaz jtag gracias de nuevo al código de pio.<br />

- Se ha posibilitado cambiar el todos los bits de Status desde la sección de Sintonización sin tener que<br />

editar el canal.<br />

- Mejorada la escritura en los integrados Sanyo. Ahora se pueden borrar bloques y sectores sin problemas.<br />

- Soporte para los nuevos Symbol Rates del firmware v4.31 de Dynamit.<br />

- Pequeños errores corregidos.<br />

Pionero v4.0 (BETA 3)<br />

- Se ha añadido la función de lectura de la eeprom a través del interfaz jtag gracias al código de pio.<br />

- Ahora es posible seleccionar el sistema de encriptación de cada canal desde la tabla de canales y<br />

también se ha añadido la configuración de un bit desconocido.<br />

- Añadida la opción de borrar todo un integrado de Flash. ¡TENED MUCHO CUIDADO!<br />

- Soporte para algunos decodificadores PACE.<br />

- Nueva sección para editar algunos datos de la eeprom directamente.<br />

- Errores corregidos.<br />

Pionero v4.0 (BETA 2)<br />

- Configuración de todos los integrados Flash según el modelo y placa del decodificador.<br />

- Ahora se puede generar automáticamente el checksum en los firmwares de los BCT15xx y BCT16xx.<br />

- Numero de bits de espera configurable. Con esto se logra acelerar notablemente todas las transmisiones<br />

por el Jtag.<br />

- Se han incorporado más medidas de seguridad en el código que controla el Jtag para evitar cuelgues por<br />

Jtags defectuosos.<br />

- Añadido un botón para cortar canales o transpondedores en la sección de Sintonización.<br />

- Ahora Pionero reconoce las tablas de canales y transpondedores que se han mezclado con<br />

actualizaciones.<br />

- Se han organizado los archivos INI y DOC en subdirectorios.<br />

- Nueva traducción del GUI : Árabe.<br />

- Errores corregidos.<br />

Pionero v4.0 (BETA 1)<br />

- Implementada la opción de escritura en los integrados de la flash :<br />

- Configurable a partir de ficheros INI para los BCT14xx, BCT15xx y BCT16xx.<br />

- Verificación automática tras la escritura.<br />

- Comprobación de los contenidos de la flash antes de escribir para ahorrarnos escribir sobre<br />

bloques que tienen exactamente los mismos datos.<br />

- Borrado automático de los bloques necesarios.<br />

- Se ha añadido una pequeña comprobación del estado del puerto paralelo del decodificador.<br />

- Velocidad de lectura y escritura por el Jtag mejorada.<br />

- Ahora los indicadores de velocidad indican la velocidad media y no la instantánea.<br />

- Nueva traducción del manual : Ruso.<br />

- Errores corregidos.<br />

Pionero v3.2.1<br />

- Añadida la opción de lectura y escritura parcial de la eeprom hasta 0x0AF.


- Ahora es posible cambiar el número máximo de canales y transpondedores.<br />

- Se ha posibilitado la opción de añadir más canales y transpondedores desde un segundo archivo.<br />

- Error corregido en el cambio de tamaño de la ventana.<br />

Pionero v3.2<br />

- Nueva sección para poder visualizar imágenes congeladas del decodificador:<br />

- Se pueden guardar las imágenes en formato BMP o JPEG.<br />

- Tamaños de imagen soportados: 352x576, 528x576, 544x576, 704x576 y 720x576.<br />

- Formatos de imagen soportados: 4:3 y 16:9<br />

- En la sección de sintonización se han añadido las siguientes funciones:<br />

- Copiar y pegar canales y transpondedores.<br />

- Mover y borrar transpondedores.<br />

- Teclas rápidas para los que prefieren usar el teclado antes que el ratón.<br />

- Añadidos nuevos indicadores de velocidad y tiempo restante en todas las transmisiones.<br />

- Se ha posibilitado modificar el tamaño de más ventanas en la sección de sintonización.<br />

- Nueva traducción del GUI: Sueco.<br />

- Se ha reorganizado todo el código y también se ha explicado cada uno de los procedimientos de Pionero.<br />

- Errores corregidos.<br />

Pionero v3.1<br />

- Soporte de DiSEqC en la tabla de transpondedores.<br />

- Sustitución del byte Status de cada transpondedor por el del número de canales (desconocía su<br />

significado hasta ahora).<br />

- Soporte de listas de transpondedores del firmware de Dynamit. Ahora todos los valores, incluso los que<br />

se salen de lo normal con transpondedores extraños, se guardan correctamente.<br />

- Soporte de transpondedores de banda C.<br />

- Ahora los diferentes valores de Symbol Rate se pueden configurar con ficheros INI. De esta manera, los<br />

desarrolladores de firmware podrán seguir ordenando sus canales sin necesidad de rehacer el editor<br />

cada vez que añaden o quitan algún valor de Symbol Rate.<br />

- Añadida la posibilidad de guardar la tabla de canales y transpondedores como archivos de texto y html.<br />

- Uso del Jtag ligeramente mejorado. En teoría no debería haber problemas con los ordenadores rápidos y<br />

ahora Pionero no se cuelga con los Jtag defectuosos. Simplemente informará del error y de la dirección<br />

donde se ha producido.<br />

- Tratamiento de los ficheros INI mucho más rápido y eficaz. Ahora el comienzo de Pionero y cambiar de<br />

Symbol Rate o Idioma es mucho más rápido.<br />

- Pequeñas mejoras del interfaz gráfico que espero que mejoren el uso de Pionero a la hora de ordenar<br />

canales. Ahora es posible cambiar el tamaño de la ventana y se informa de los datos del transpondedor<br />

cuando se selecciona un canal.<br />

- Añadidas las instrucciones para modificar la lista de canales y la eeprom en los BCT13xx.<br />

Pionero v3.0<br />

- Edición de las tablas de canales y transpondedores :<br />

- Es posible editar las tablas de la memoria Flash o RAM.<br />

- Editor totalmente integrado con el resto de las funciones.<br />

- Se pueden cambiar las posiciones de la TCS o TPT, la<br />

forma en que se almacena el Symbol Rate y las frecuencias<br />

O.L. del LNB.<br />

- Y por supuesto, se puede cambiar toda la configuración de<br />

cada canal y transpondedor.<br />

- Ahora es posible escribir en RAM a través del interfaz JTag.<br />

- Soporte para el formato de eeprom del GGF1367.<br />

- Nuevas traducciones del GUI : Ruso e Italiano.<br />

- Nuevas traducciones del manual : Francés, Polaco e Italiano.<br />

- Nuevo Logotipo.<br />

- Pequeños errores corregidos.<br />

Pionero v2.0<br />

- Ahora es posible actualizar el firmware a través del puerto paralelo y el serie<br />

para los modelos BCT14xx y compatibles.<br />

- Lectura a través del interfaz JTag.<br />

- Lectura del código de la CPU a través del interfaz JTag.<br />

- Añadida la sección de la terminal.<br />

- Añadida la sección de la configuración.<br />

- Toda la configuración se guarda en ficheros INI.


- Traducciones del GUI a través de ficheros INI.<br />

- GUI en Español, Inglés, Catalán, Polaco y Francés.<br />

- Ahora los manuales están en Español e Inglés.<br />

- Errores corregidos.<br />

Pionero v1.1<br />

- Editor hexadecimal de la eeprom<br />

- Soporte para el formato binario de la eeprom<br />

- Primer manual solo en Español.<br />

- Errores corregidos.<br />

Pionero v1.0<br />

- Implementadas las funciones para enviar, recibir, borrar y verificar la eeprom.<br />

- GUI solo en Español.<br />

INSTALACIÓN DE <strong>PIONERO</strong>:<br />

Este programa se distribuye empaquetado en un archivo ZIP que debe ser descomprimido manteniendo la<br />

estructura de sus directorios.<br />

No es necesario ningún proceso de desinstalación y tan solo hay que borrar el directorio donde se<br />

descomprimieron los archivos contenidos en el paquete ZIP.<br />

INFORMACIÓN TECNICA SOBRE LOS DECODIFICADORES Y SU<br />

CONEXIÓN AL PC:<br />

LAS FAMILIAS DE DECODIFICADORES PIONEER:<br />

Los decodificadores Pioneer se pueden dividir en grupos o “familias” de modelos.<br />

Cada familia tiene diferentes componentes en su hardware y en muchos casos, diferentes mapas de<br />

memoria con lo cual, los firmwares son incompatibles entre familias distintas.<br />

Algo esencial antes de intentar hacer ningún cambio en nuestros decodificadores es identificar la familia a<br />

la cual pertenece nuestro decodificador. Para ello se utiliza el modelo del decodificador, el nombre de<br />

algunos de sus componentes y el tipo de placa que tiene.<br />

Esta es la lista de familias de decodificadores Pioneer con sus características distintivas :<br />

FAMILIA MODELOS TIPO DE PLACA COMPONENTES<br />

BCT-12XX BCT-1210, BCT-1220T, ETC... BNP-1295-... FLASH EPROM 29F400 B A<br />

BCT-13XX BCT-1310, BCT-1330, DBR-S100I, ETC... BNP-1310-... EPROM 27C800<br />

BCT-14XX<br />

BCT-15XX<br />

BCT-1430, BCT-1420, BCT-1410,<br />

DBR-S100NL2, DBR-S200NL, TS4,<br />

DBR-S100I2, ALGUNOS DBR-S200F, ETC...<br />

BCT-1530, DBR-S110I, DBR-S110NL,<br />

DBR-S210F, ALGUNOS DBR-S200F, ETC...<br />

BNP-1323-...<br />

BNP-1337-...<br />

BNP-1354-...<br />

BCT-16XX BCT-1610, DBR-120, ETC... BNP-1354-...<br />

BCT-17XX<br />

BCT-1710, BCT-1730, DBR-S300,<br />

DBR-S400, ETC...<br />

BNP-1368-...<br />

BNP-1378-...<br />

TIENE 2 INTEGRADOS FLASH DE<br />

ALGUNO DE ESTOS TIPOS :<br />

M29W400BT,<br />

TC58FVT160FT-10,<br />

TC58FVT400FT-10<br />

Y OTROS.<br />

TIENE 2 INTEGRADOS FLASH DE<br />

ALGUNO DE ESTOS TIPOS :<br />

LE28DW1621T-80T,<br />

M29W800AT,<br />

TC58FVT160FT-10<br />

Y OTROS.<br />

UN SOLO INTEGRADO<br />

FLASH LE28DW1621T-80T<br />

UN SOLO INTEGRADO<br />

FLASH LE28DW1621F-80T


Nota : Cada pocos meses salen a la venta nuevos modelos que pueden pertenecer a<br />

nuevas familias pero Pionero puede seguir siendo utilizado gracias al interfaz Jtag.<br />

Todos los decodificadores Pioneer tienen una eeprom de 2Kbytes de tipo 24C16 que utilizan para<br />

almacenar datos temporales (último canal visto, tipo de alarma, etc...)<br />

El tipo de placa que tiene el decodificador está sobreimpreso usualmente sobre un extremo de la placa.<br />

LOS PUERTOS DE COMUNICACIÓN :<br />

Una vez se tiene claro a que familia pertenece nuestro decodificador hay que tener claro como podremos<br />

comunicarnos con él.<br />

<strong>La</strong> mayor parte de los modelos tiene tres vías de comunicación :<br />

- El puerto serie.<br />

- El puerto paralelo.<br />

- <strong>La</strong> zona de conexión del interfaz Jtag.<br />

En realidad, la CPU de los decodificadores también tiene la posibilidad de conectar un OS-Link pero por<br />

limitaciones del encapsulado de la CPU, esta opción está descartada en la mayor parte de los modelos.<br />

Tal y como viene el decodificador de fabrica se puede leer y escribir la eeprom por el puerto serie además<br />

de enviar comandos para el control del estado de funcionamiento del decodificador y el control del envío<br />

de archivos por el puerto paralelo. Con las ultimas generaciones de firmwares el puerto serie también se<br />

utiliza para la lectura y escritura de las listas de canales entre otras cosas.<br />

Por el puerto paralelo solamente se pueden enviar datos hacia el decodificador debido a las limitaciones<br />

impuestas por el firmware del propio decodificador. Es imposible leer ningún dato a través de él.<br />

A través de la conexión cn2002 (con un interfaz Jtag) se puede leer y escribir casi cualquier dirección de<br />

memoria (RAM, Vídeo-RAM, integrados flash, etc...). Tiene como desventaja con respecto a los puertos<br />

serie y paralelo que es necesario construir un interfaz Jtag.<br />

No todos los modelos de decodificadores tienen puerto paralelo y en ese caso tendremos que usar<br />

forzosamente el interfaz Jtag para actualizar el firmware.<br />

Los decodificadores de las familias BCT-12xx y BCT-13xx almacenan el firmware en unos integrados que<br />

no permiten ninguna escritura, por lo tanto, únicamente podremos cambiar la eeprom o enviar listas de<br />

canales.<br />

Por seguridad y velocidad de transmisión se recomienda el uso de los puertos serie y paralelo siempre que<br />

sea posible.<br />

Dicho esto, queda claro que dependiendo de lo que se quiera leer y/o escribir, habrá que diversas<br />

opciones :<br />

ACCIÓN BCT-12XX BCT-13XX BCT-14XX BCT-15XX BCT-16XX BCT-17XX<br />

Actualizar el<br />

firmware<br />

Leer o escribir<br />

en la eeprom<br />

Enviar una<br />

lista de<br />

canales<br />

Leer el<br />

firmware o la<br />

lista de<br />

canales<br />

(Nota 1) (Nota 1)<br />

Serie +<br />

paralelo o<br />

Jtag<br />

Serie +<br />

paralelo o<br />

Jtag<br />

Serie +<br />

paralelo o<br />

Jtag<br />

Jtag<br />

Serie Serie Serie o Jtag Serie o Jtag Serie o Jtag Serie o Jtag<br />

(Nota 2)<br />

Serie +<br />

paralelo<br />

Serie +<br />

paralelo o<br />

Jtag<br />

Serie +<br />

paralelo o<br />

Jtag<br />

Serie +<br />

paralelo o<br />

Jtag<br />

Serie o Jtag<br />

Imposible Imposible Serie o Jtag Serie o Jtag Serie o Jtag Serie o Jtag<br />

Nota 1 : Imposible sin cambiar el integrado donde se almacena el firmware.<br />

Nota 2 : No se ha intentado.


EL MAPA DE MEMORIA EN PIONEER Y PHILIPS :<br />

Como ya se ha dicho, dependiendo de la familia y marca a la que pertenece el decodificador se usan<br />

diferentes direcciones de memoria para el firmware y el resto de datos que usa el decodificador.<br />

FAMILIA FIRMWARE LISTA DE CANALES<br />

BCT-12xx ??? ???<br />

BCT-13xx 0x7FF00000 0xFFF90000<br />

BCT-14xx 0x7FE00000 0x60000000<br />

BCT-15xx 0x60000000 0x7FF10000<br />

BCT-16xx 0x7FE00000 0x7FF80000<br />

BCT-17xx 0x7FE00000 0x7FF80000<br />

Philips 607x 0x7FE80000 0x7FE10000<br />

Un mapa más detallado de los BCT-14xx es el siguiente :<br />

Registros de configuración EMI 0x00002000 – 0x00002FFF<br />

Espacio interno para periféricos 0x20000000 – 0x3FFFFFFF<br />

RAM 0x40000000 – 0x403FFFFF<br />

Lista de canales 0x60000000 – 0x6006FFFF<br />

Parches HDL 0x60070000 – 0x6007FFFF<br />

Firmware 0x7FE00000 – 0x7FF7FFFF<br />

Cargador del sistema y rutinas del modo de servicio 0x7FF80000 – 0x7FFEFFFF<br />

Cargador de arranque (boot-loader) 0x7FFF0000 – 0x7FFFFFFF<br />

SRAM interna del Sti5510 0x80000000 – 0x80001FFF<br />

Vídeo-RAM 0xC0000000 – 0xC03FFFFF<br />

Un mapa más detallado de los BCT-15xx es el siguiente :<br />

Registros de configuración EMI 0x00002000 – 0x00002FFF<br />

Espacio interno para periféricos 0x20000000 – 0x3FFFFFFF<br />

RAM 0x40000000 – 0x403FFFFF<br />

Firmware 0x60000000 – 0x60140001<br />

Sin usar 0x60140002 – 0x601BFFFF<br />

Cargador del firmware 0x601C0000 – 0x601FFFFF<br />

Parches HDL 0x7FF00000 – 0x7FF0FFFF<br />

Lista de canales 0x7FF10000 – 0x7FF7FFFF<br />

Cargador del sistema y rutinas del modo de servicio 0x7FF80000 – 0x7FFEFFFF<br />

Cargador de arranque (boot-loader) 0x7FFF0000 – 0x7FFFFFFF<br />

SRAM interna del Sti5512 0x80000000 – 0x80001FFF<br />

Vídeo-RAM 0xC0000000 – 0xC03FFFFF<br />

Un mapa más detallado de los BCT-16xx es el siguiente :<br />

Registros de configuración EMI 0x00002000 – 0x00002FFF<br />

Espacio interno para periféricos 0x20000000 – 0x3FFFFFFF<br />

RAM 0x40000000 – 0x403FFFFF<br />

Firmware 0x7FE00000 – 0x7FF1FFFF<br />

Sin usar 0x7FF20000 – 0x7FF3FFFF<br />

Cargador del sistema y rutinas del modo de servicio 0x7FF40000 – 0x7FF7FFFF<br />

Lista de canales 0x7FF80000 – 0x7FFEFFFF<br />

Sin usar 0x7FFF0000 – 0x7FFF7FFF<br />

Cargador de arranque (boot-loader) 0x7FFF8000 – 0x7FFFFFFF<br />

SRAM interna del Sti5512 0x80000000 – 0x80001FFF<br />

Vídeo-RAM 0xC0000000 – 0xC03FFFFF<br />

Un mapa más detallado de los BCT-17xx es el siguiente :<br />

Registros de configuración EMI 0x00002000 – 0x00002FFF<br />

Espacio interno para periféricos 0x20000000 – 0x3FFFFFFF<br />

RAM y Vídeo-RAM 0x40000000 – 0x403FFFFF<br />

Firmware 0x7FE00000 – 0x7FF2FFFF<br />

Parches HDL 0x7FF30000 – 0x7FF3FFFF<br />

Sin usar 0x7FF40000 – 0x7FF5FFFF


Cargador del sistema y rutinas del modo de servicio 0x7FF60000 – 0x7FF7FFFF<br />

Lista de canales 0x7FF80000 – 0x7FFEFFFF<br />

Sin usar 0x7FFF0000 – 0x7FFFDFFF<br />

Cargador de arranque (boot-loader) 0x7FFFE000 – 0x7FFFFFFF<br />

SRAM interna del Sti5512 0x80000000 – 0x80001FFF<br />

Un mapa más detallado de los Philips 6072 es el siguiente :<br />

Registros de configuración EMI 0x00002000 – 0x00002FFF<br />

Espacio interno para periféricos 0x20000000 – 0x3FFFFFFF<br />

Sin usar 0x7FE00000 – 0x7FE1FFFF<br />

Lista de canales 0x7FE10000 – 0x7FE7FFFF<br />

Firmware 0x7FE80000 – 0x7FFDFFFF<br />

Cargador de arranque (boot-loader) 0x7FFE0000 – 0x7FFFFFFF<br />

SRAM interna del Sti5512 0x80000000 – 0x80001FFF<br />

Un mapa más detallado de los Philips 6071 es el siguiente :<br />

Registros de configuración EMI 0x00002000 – 0x00002FFF<br />

Espacio interno para periféricos 0x20000000 – 0x3FFFFFFF<br />

Sin usar 0x7FE00000 – 0x7FE1FFFF<br />

Lista de canales 0x7FE10000 – 0x7FE7FFFF<br />

Firmware 0x7FE80000 – 0x7FFFFFFF<br />

SRAM interna del Sti5512 0x80000000 – 0x80001FFF<br />

Nota: En éste modelo el “Boot loader” está mezclado con el firmware. Hay que tener esto en<br />

cuenta porque si se actualiza de manera incompleta se puede quedar “muerto” y solo se<br />

podría recuperar con un OSLink.<br />

Como se puede ver, si quisiéramos hacer una copia de resguardo de todo el contenido de los integrados<br />

flash tendríamos que leer estas direcciones y longitudes :<br />

FAMILIA DIRECCIÓN LONGITUD<br />

BCT-14xx<br />

0x7FE00000 0x200000<br />

0x60000000 0x80000<br />

BCT-15xx<br />

0x60000000<br />

0x7FF00000<br />

0x200000<br />

0x100000<br />

BCT-16xx 0x7FE00000 0x200000<br />

BCT-17xx 0x7FE00000 0x200000<br />

Philips 607x 0x7FE00000 0x200000<br />

Sin embargo, en el caso de querer hacer una copia del firmware solamente tendríamos que leer estas<br />

direcciones y longitudes :<br />

FAMILIA DIRECCIÓN LONGITUD<br />

BCT-14xx 0x7FE00000 0x180000<br />

BCT-15xx 0x60000000 0x140002<br />

BCT-16xx 0x7FE00000 0x120000<br />

BCT-17xx 0x7FE00000 0x130000<br />

Philips 6071 0x7FE80000 0x180000<br />

Philips 6072 0x7FE80000 0x160000<br />

En el caso de querer hacer una copia de la lista de canales tendríamos que leer estas direcciones y<br />

longitudes :<br />

FAMILIA DIRECCIÓN LONGITUD<br />

BCT-14xx 0x60000000 0x70000<br />

BCT-15xx 0x7FF10000 0x70000<br />

BCT-16xx 0x7FF80000 0x70000<br />

BCT-17xx 0x7FF80000 0x70000<br />

Philips 607x 0x7FE10000 0x70000<br />

<strong>La</strong>s listas de canales pueden tener una longitud de 0x70000 pero en algunos casos basta con una longitud<br />

de 0x50000.


LA TRANSMISIÓN DE DATOS POR LOS PUERTOS SERIE Y PARALELO :<br />

En el caso de querer usar los puertos serie y/o paralelo hay que conocer como conectar los cables y<br />

preparar el decodificador para recibir los datos.<br />

Los cables serie y paralelo son cables prolongadores. Al ser prolongadores cada pin de un extremo del<br />

cable esta conectado al pin del otro extremo con el mismo numero (1->1, 2->2, etc...)<br />

Los cables paralelos usados para conectar dos ordenadores NO pueden utilizarse para esta tarea porque<br />

suelen tener algún pin cruzado.<br />

También hay que comprobar que :<br />

1. Los cables estén en buen estado. Los cables “caseros” suelen tener peor calidad que los<br />

comprados en tiendas especializadas.<br />

2. El puerto serie esté configurado en Windows con una velocidad igual o mayor a 9600 baudios en<br />

el panel de control.<br />

3. El puerto paralelo tiene que estar configurado como ECP en la BIOS.<br />

4. Ninguno de los puertos debe ser utilizado por otros programas o controladores de Windows. En<br />

ocasiones, algunos controladores bloquean el uso de los puertos y Pionero no puede conectar<br />

con el decodificador.<br />

5. Sería prudente eliminar los conflictos de interrupciones antes de intentar usar este programa,<br />

especialmente los que afecten a los puertos COM y LPT.<br />

Para que los decodificadores acepten los comandos por el puerto serie que ha implementado el fabricante,<br />

tienen que estar en un “modo de servicio” que se alcanzará conectando unos puntos especiales que hay<br />

sobre la placa del decodificador a tierra cuando este se enciende. <strong>La</strong> comunicación por el puerto serie con<br />

las funciones de Deemonru se comentarán más adelante.<br />

Los nombres de esos puntos cambian dependiendo de la familia de decodificador. Además, dependiendo<br />

de la zona de la flash que se quiere cambiar hay que conectar un punto distinto.<br />

FAMILIA MODO DE SERVICIO 1 (FIRMWARE) MODO DE SERVICIO 2 (LISTAS DE CANALES)<br />

BCT-12xx ??? K1300<br />

BCT-13xx ??? K2501<br />

BCT-14xx K2002 K6003<br />

BCT-15xx K2002 K7003<br />

BCT-16xx K2002 K7003<br />

BCT-17xx K2002 K7003<br />

Como puede verse, el modo de servicio 1 se usa para cambiar el firmware y el modo de servicio 2 para<br />

cambiar la lista de canales. En ambos modos se puede cambiar la eeprom.


En las siguientes fotografías se puede ver la situación de los puntos sobre la placa de algunos modelos :<br />

BCT-13xx


BCT-14xx<br />

BCT-15xx<br />

El método genérico para entrar en el modo de servicio 1 es el siguiente :<br />

1. Con el decodificador apagado conectamos los cables que sean necesarios (serie, paralelo o jtag).<br />

2. Con el decodificador aún apagado usaremos cualquier cable que tengáis a mano para conectar el<br />

punto K2002 con tierra (<strong>La</strong> caja metálica donde entra la antena es un buen sitio).<br />

3. En este momento encendemos el decodificador del interruptor general y aparecerá “DL1” en la<br />

pantalla. Tras unos segundos aparecerá "DL1o".


4. Entonces podremos retirar el cable del punto K2002 y el decodificador ya se encontrará en el<br />

modo de servicio 1.<br />

El método genérico para entrar en el modo de servicio 2 es el siguiente :<br />

1- Con el decodificador apagado conectamos los cables que sean necesarios (serie, paralelo o jtag).<br />

2- Con el decodificador aún apagado usaremos cualquier cable que tengáis a mano para conectar el<br />

punto que indica la tabla superior para el modo de servicio 2 de nuestro decodificador con tierra<br />

(<strong>La</strong> caja metálica donde entra la antena es un buen sitio).<br />

3- En este momento encendemos el decodificador con el interruptor general y posteriormente con el<br />

mando a distancia. Veremos unos números en la pantalla y al final aparecerá “88:88”.<br />

4- En ese momento podemos desconectar el cable del punto del modo de servicio 2 y el<br />

decodificador ya se encontrará en el modo de servicio 1.<br />

Para poder usar el puerto paralelo en Windows NT, 2000, XP o 2003 Pionero usa el archivo “gwiopm.sys”<br />

que tiene que encontrarse el mismo directorio que “Pionero.exe” y es necesario tener privilegios de<br />

administrador. Si se usa otra versión de Windows se puede borrar “gwiopm.sys” con tranquilidad.


LA CONSTRUCCIÓN DE UN INTERFAZ JTAG :<br />

En los decodificadores Pioneer hay una zona donde se puede conectar un Jtag llamada CN2002. Esos 20<br />

puntos los tendremos que conectar al interfaz Jtag, y éste al puerto paralelo del ordenador. Este circuito<br />

reduce la tensión del puerto paralelo a 3.3v para no quemar el decodificador.<br />

En cambio los decodificadores Pioneer BCT-17xx no poseen la zona cn2002 aunque se puede conectar el<br />

interfaz Jtag en estos puntos :


Este circuito se puede construir con solo unos leds, resistencias y diodos, pero es recomendable usar un<br />

circuito integrado del tipo 74HC244 alimentado desde la placa del decodificador.<br />

El esquema del circuito con leds y resistencias sería este :<br />

D1, D2, D3 y D4 son leds amarillos de 5 mm. D5 es un diodo 1N4148 o 1N4007<br />

R1, R2, R3 y R5 son resistencias de 100 ohm. R4 es una resistencia de 33 ohm<br />

El esquema con el integrado sería este :<br />

Es muy recomendable utilizar un cable de cinta de menos de 30 cm entre el interfaz JTag y el<br />

decodificador.


En estos esquemas se muestran las conexiones en los decodificadores Pioneer pero en los Philips cambia<br />

la zona donde se ha de conectar. En los Philips existe una zona junto a la CPU donde también se conecta<br />

el OSLink y que tiene serigrafiado “1504” a un lado.<br />

Como se puede ver en la foto la numeración de los puntos en Philips cambia respecto a la numeración que<br />

hay en Pioneer. Los números en amarillo corresponden a la numeración en Pioneer mientras que los<br />

números en negro son los correspondientes a Philips.<br />

Aunque en esta foto se muestran dos puntos de masa y en el 2 se dice que es la masa del Jtag, se ha<br />

comentado en los foros que es recomendable usar el punto 1 en lugar del 2 para evitar errores en la<br />

comunicación.<br />

También se recomienda usar una pila o fuente de alimentación de 5v en caso de tener problemas con los<br />

3.3v habituales.


SECCIÓN DE LA EEPROM:<br />

En esta sección no se hacen distinciones entre los distintos modelos de decodificadores Pioneer porque<br />

todos ellos usan la misma manera de leer y escribir en la eeprom.<br />

Antes de nada hay que conectar el ordenador y el decodificador con el cable de serie. Después<br />

retiraremos la tapa metálica del decodificador y encenderemos el ordenador.<br />

En ese momento podremos entrar en cualquiera de los modos de servicio descritos en la sección anterior<br />

del manual.<br />

El funcionamiento básico de esta sección de Pionero es el siguiente:<br />

1) Recibir el contenido de la Eeprom a través del puerto serie :<br />

a) Pulsar "Recibir" y el contenido de la eeprom aparecerá en la tabla junto con el log de lo ocurrido.<br />

Dependiendo de la longitud seleccionada, recibiremos toda la eeprom, las primeras direcciones<br />

hasta 0AF o una sola línea. Recordad que en algunos modelos, tras entrar en modo se servicio, la<br />

eeprom se borra pero en otros se conserva intacta.<br />

b) Pulsar "Guardar como..." y escribir el nombre del fichero destino.<br />

2) Modificar contenido de la Eeprom:<br />

a) Si hacemos clic sobre la tabla podremos modificar individualmente cada valor de la Eeprom. pero<br />

además, si pulsamos el botón "Leer Archivo..." podremos cargar los contenidos de otros ficheros,<br />

tanto si son de toda la Eeprom como si son solo unas pocas líneas con pequeñas modificaciones.<br />

b) En la sección “Datos interpretados” y “Antenas” se pueden editar muchos valores más facilmente.<br />

3) Enviar datos a la Eeprom a través del puerto serie :<br />

a) Pulsar "Enviar" y veremos como se envía al decodificador los datos que hay en la tabla.<br />

Dependiendo de la longitud seleccionada enviaremos toda la eeprom, las primeras direcciones<br />

hasta 0AF o una sola línea.<br />

b) Si se ha escogido bien el puerto serie aparecerán líneas de texto en el cuadro de la derecha.<br />

c) Al final, si no hay errores, el programa confirma que la Eeprom se ha escrito correctamente.<br />

d) Si solo se quieren enviar unos pocos datos he añadido el botón “Enviar Fila Selecc.”. Al pulsarlo<br />

se enviará la línea (16 datos) que contiene al último dato editado.<br />

4) Borrado de la Eeprom :<br />

a) Pulsando "Borrar" solamente ponemos toda la tabla con FF.<br />

b) Si se quiere borrar la eeprom tendremos que enviar estos valores al decodificador pulsando<br />

"Enviar".<br />

5) Verificación de la Eeprom a través del puerto serie :<br />

a) Pulsando "Verificar" comenzara la comparación de los valores de la tabla con el contenido de la<br />

eeprom. Dependiendo de la longitud seleccionada, verificaremos toda la eeprom, las primeras<br />

direcciones hasta 0AF o una sola línea.<br />

b) Si se ha escogido bien el puerto serie aparecerán líneas de texto en el cuadro de la derecha<br />

informando línea a línea si la verificación es correcta.<br />

Para realizar todas estas funciones solo necesitáis tener conectado el decodificador con el cable serie<br />

aunque también se puede leer y escribir la eeprom a través del interfaz Jtag usando la tabla de esta<br />

sección como destino y origen de lo que se lee y escribe, respectivamente.<br />

Hay que tener en cuenta que tanto al leer los contenidos como al guardarlos se dan tres opciones<br />

correspondientes a los tres formatos que admite Pionero:<br />

1- Archivo de Texto Pionero : Formato original de TTSherpa en su método para actualizar la<br />

eeprom con el HyperTerminal. Se compone de líneas de texto con los comandos que<br />

entiende el decodificador “%EE=...” explicados en la sección de la Terminal.<br />

2- Archivo de Texto GGF1367 : Formato de los programas GGF1367 y GGF1351. Consiste en<br />

una serie de líneas de texto con los contenidos de la eeprom en formato hexadecimal.<br />

3- Archivo Binario : Formato para usar con algún programador de integrados como el ICPROG.<br />

Solo es útil para los que tengan la eeprom desoldada de la placa.<br />

De todos estos formatos, el más fiable es el primero porque en cada línea tiene indicada la dirección de la<br />

eeprom en donde deben ir esos datos y tiene un checksum para evitar errores.<br />

Para guardar el log de la sesión hacer clic con el botón derecho sobre el texto de la derecha y pulsar sobre<br />

"Guardar como..."<br />

Dependiendo del firmware usado la eeprom tendrá valores diferentes y en algunos casos, los valores de la<br />

sección “Datos interpretados” no informarán correctamente. Esto adquiere importancia en el caso de que


usamos firmwares que soporten 4 antenas porque la información de la pestaña “Antenas” solamente<br />

mostrará correctamente los datos si seleccionamos el número correcto de antenas en la sección de<br />

“Configuración – Sintonización”.<br />

Estos son algunos datos de interés que se encuentran en la mayoría de las eeprom :<br />

Posición Significado Opciones<br />

0x02 – 0x04 País ESP, ITA, NLD, POL, GBR...<br />

0x05 – 0x06 ID del sistema CA 0100, 1800, 0500...<br />

0x07 – 0x08 Provider ID 000C, 0019, 0004 ...<br />

0x09 Versión del software<br />

0x00B – 0x054<br />

Espacio reservado para la información de<br />

las antenas.<br />

(Ver tablas inferiores)<br />

0x055 – 0x056 Provider ID para ordenar canales 000C, 0019, 0004... (Nota 2)<br />

0x057 – 0x059 Idioma del audio secundario ita, esl, dut, eng, pol...<br />

0x05A (bit 7) Canales preferidos activos<br />

0x05A (bit 6) Bloqueo parental activo<br />

10 = Visual<br />

0x05A (bits 4-5) Tipo de alarma<br />

20 = Sonora<br />

30 = Ambas<br />

0x05B – 0x05D Idioma del audio primario ita, esl, dut, eng, pol...<br />

0x05E – 0x060 Idioma de subtítulos ita, esl, dut, eng, pol...<br />

0x061 (bits 0-1) Estación del año<br />

00 = verano<br />

01 = invierno<br />

0x061 (bit 6) Mostrar subtítulos<br />

0 = No mostrar subtítulos<br />

1 = Mostrar subtítulos<br />

0x061 (bit 7) Audio original<br />

0 = Usar idioma preferido<br />

1 = Usar idioma original<br />

0x063 (bit 3) Blocker activado<br />

0 = Activado<br />

1 = Desactivado<br />

0x065 – 0x066 Último canal visto<br />

0x067 – 0x068 Checksum de la posición 0x001 (Nota 3)<br />

0x069 – 0x06A Checksum del país (Nota 3)<br />

0x06B – 0x06C Checksum del ID del sistema CA (Nota 3)<br />

0x06D – 0x06E Checksum del Provider ID (Nota 3)<br />

0x06F – 0x070 Checksum de las posiciones 0x009-0x00A (Nota 3)<br />

0x071 – 0x072 Checksum de las posiciones 0x00B-0x02B (Nota 3)<br />

0x073 – 0x074 Checksum de las posiciones 0x02C-0x02F (Nota 3)<br />

0x075 – 0x076 Checksum de las posiciones 0x030-0x050 (Nota 3)<br />

0x077 – 0x078 Checksum de las posiciones 0x051-0x054 (Nota 3)<br />

0x079 – 0x07A<br />

Checksum del Provider ID para ordenar<br />

canales<br />

(Nota 3)<br />

0x07B – 0x07C Checksum del audio secundario (Nota 3)<br />

0x07D Checksum de la posición 0x05A (Nota 3)<br />

0x07F – 0x080 Checksum del audio primario (Nota 3)<br />

0x081 – 0x082 Checksum del idioma de subtítulos (Nota 3)<br />

0x083 – 0x084 Checksum de la posición 0x061 (Nota 3)<br />

0x085 – 0x086 Checksum de la posición 0x062 (Nota 3)<br />

0x087 – 0x088 Checksum de la posición 0x063 (Nota 3)<br />

0x089 – 0x08A Checksum de la posición 0x064 (Nota 3)<br />

0x08B – 0x08C Checksum del último canal visto (Nota 3)<br />

0x08E – 0x09B Código de las secciones activas<br />

(Leer la sección de<br />

“Sintonización”)<br />

0x09C – 0x0A9 Copia del código de las secciones activas<br />

(Leer la sección de<br />

“Sintonización”)<br />

80 = Baja<br />

0x403 Luminosidad<br />

81 = Media Baja<br />

82 = Media Alta<br />

83 = Alta<br />

0x406 Sistema de color<br />

00 = PAL<br />

FF = Secam<br />

0x418 Modo de arranque del decodificador 00 = Standby


0x0DE – 0x0E5 EPG<br />

FF = Encendido<br />

(Nota 4)<br />

0x733 – 0x734 Diseqc<br />

0000 = On<br />

FFFF = Off<br />

0x7D0 – 0x7D1 Código del País<br />

0x7D2 – 0x7DD Número de serie del decodificador<br />

En un firmware que use 2 antenas encontraremos esta información :<br />

Posición Significado Opciones<br />

0x00B – 0x020 Nombre del satélite 1 ASTRA, HOTBIRD<br />

0x021 Banda del satélite 1<br />

00 = Ku<br />

01 = C<br />

0x022 Número de antena del satélite 1<br />

00 = antena.1<br />

01 = antena.2<br />

0x025 – 0x026 Frecuencia del satélite 1<br />

0x027 Symbol Rate del satélite 1 (Nota 1)<br />

0x028 FEC del satélite 1 (Nota 1)<br />

0x029 Polaridad del satélite 1<br />

00 = V<br />

01 = H<br />

0x02A 22KHz del satélite 1<br />

00 = Off<br />

01 = On<br />

0x02B Alimentación del LNB del satélite 1 00=Si (interna)<br />

0x02C – 0x02D Frec. LNB L.O. Baja del satélite 1<br />

2968 = 10600<br />

2616 = 9750<br />

0x02E – 0x02F Frec. LNB L.O. Alta del satélite 1<br />

2968 = 10600<br />

2616 = 9750<br />

0x030 – 0x045 Nombre del satélite 2 OVERIGE, OTROS, ALTRI...<br />

0x046 Banda del satélite 2<br />

00 = Ku<br />

01 = C<br />

0x047 Número de antena del satélite 2<br />

00 = antena 1<br />

01 = antena.2<br />

0x04A – 0x04B Frecuencia del satélite 2<br />

0x04C Symbol Rate del satélite 2 (Nota 1)<br />

0x04D FEC del satélite 2 (Nota 1)<br />

0x04E Polaridad del satélite 2<br />

00 = V<br />

01 = H<br />

0x04F 22KHz del satélite 2<br />

00 = Off<br />

01 = On<br />

0x050 Alimentación del LNB del satélite 2 00=Si (interna)<br />

0x051 – 0x052 Frec. LNB L.O. Baja del satélite 2<br />

2968 = 10600<br />

2616 = 9750<br />

0x053 – 0x054 Frec. LNB L.O. Alta del satélite 2<br />

2968 = 10600<br />

2616 = 9750<br />

En un firmware que use 4 antenas encontraremos esta información :<br />

Posición Significado Opciones<br />

0x00B Alimentación del LNB 00=Si (interna)<br />

0x00C (bits 0-3) Modo del Diseqc<br />

0 = ToneBurst<br />

1 = ToneBurst+On/Off<br />

0x00C (bits 4-7) Antena usada en la barra de señal<br />

0x00D – 0x016 Nombre del satélite 1 ASTRA, HOTBIRD, EUTELSAT...<br />

0x017 (bits 4-7) Banda del satélite 1<br />

0 = Ku<br />

1 = C<br />

0 = antena.1<br />

0x017 (bits 0-3) Número de antena del satélite 1<br />

1 = antena.2<br />

2 = antena 3<br />

3 = antena 4<br />

0x018 – 0x019 Frecuencia del satélite 1


0x01A (bits 4-7) Symbol Rate del satélite 1 (Nota 1)<br />

0x01A (bits 0-3) FEC del satélite 1 (Nota 1)<br />

0x01B (bits 4-7) Polaridad del satélite 1<br />

0 = V<br />

1 = H<br />

0x01B (bits 0-3) 22KHz del satélite 1<br />

0 = Off<br />

1 = On<br />

0x01C (bits 4-7) Señal digital del satélite 1 00 = Si<br />

0x01C (bits 0-3) <strong>Sat</strong>élite 1 activo 00 = Si<br />

0x01D – 0x01E Frec. LNB L.O. Alta del satélite 1<br />

2968 = 10600<br />

2616 = 9750<br />

0x01F – 0x028 Nombre del satélite 2 ASTRA, HOTBIRD, EUTELSAT...<br />

0x029 (bits 4-7) Banda del satélite 2<br />

0 = Ku<br />

1 = C<br />

0 = antena.1<br />

0x029 (bits 0-3) Número de antena del satélite 2<br />

1 = antena.2<br />

2 = antena 3<br />

3 = antena 4<br />

0x02A – 0x02B Frecuencia del satélite 2<br />

0x02C (bits 4-7) Symbol Rate del satélite 2 (Nota 1)<br />

0x02C (bits 0-3) FEC del satélite 2 (Nota 1)<br />

0x02D (bits 4-7) Polaridad del satélite 2<br />

0 = V<br />

1 = H<br />

0x02D (bits 0-3) 22KHz del satélite 2<br />

0 = Off<br />

1 = On<br />

0x02E (bits 4-7) Señal digital del satélite 2 00 = Si<br />

0x02E (bits 0-3) <strong>Sat</strong>élite 2 activo 00 = Si<br />

0x02F – 0x030 Frec. LNB L.O. Alta del satélite 2<br />

2968 = 10600<br />

2616 = 9750<br />

0x031 – 0x03A Nombre del satélite 3 ASTRA, HOTBIRD, EUTELSAT...<br />

0x03B (bits 4-7) Banda del satélite 3<br />

0 = Ku<br />

1 = C<br />

0 = antena.1<br />

0x03B (bits 0-3) Número de antena del satélite 3<br />

1 = antena.2<br />

2 = antena 3<br />

3 = antena 4<br />

0x03C – 0x03D Frecuencia del satélite 3<br />

0x03E (bits 4-7) Symbol Rate del satélite 3 (Nota 1)<br />

0x03E (bits 0-3) FEC del satélite 3 (Nota 1)<br />

0x03F (bits 4-7) Polaridad del satélite 3<br />

0 = V<br />

1 = H<br />

0x03F (bits 0-3) 22KHz del satélite 3<br />

0 = Off<br />

1 = On<br />

0x040 (bits 4-7) Señal digital del satélite 3 00 = Si<br />

0x040 (bits 0-3) <strong>Sat</strong>élite 3 activo 00 = Si<br />

0x041 – 0x042 Frec. LNB L.O. Alta del satélite 3<br />

2968 = 10600<br />

2616 = 9750<br />

0x043 – 0x04C Nombre del satélite 4 ASTRA, HOTBIRD, EUTELSAT...<br />

0x04D (bits 4-7) Banda del satélite 4<br />

0 = Ku<br />

1 = C<br />

0 = antena.1<br />

0x04D (bits 0-3) Número de antena del satélite 4<br />

1 = antena.2<br />

2 = antena 3<br />

3 = antena 4<br />

0x04E – 0x04F Frecuencia del satélite 4<br />

0x050 (bits 4-7) Symbol Rate del satélite 4 (Nota 1)<br />

0x050 (bits 0-3) FEC del satélite 4 (Nota 1)<br />

0x051 (bits 4-7) Polaridad del satélite 4<br />

0 = V<br />

1 = H<br />

0x051 (bits 0-3) 22KHz del satélite 4<br />

0 = Off<br />

1 = On<br />

0x052 (bits 4-7) Señal digital del satélite 4 00 = Si<br />

0x052 (bits 0-3) <strong>Sat</strong>élite 4 activo 00 = Si


0x053 – 0x054 Frec. LNB L.O. Alta del satélite 4<br />

2968 = 10600<br />

2616 = 9750<br />

Notas :<br />

1- Se almacenan el mismo tipo de valores que se usan en las listas de transpondedores para el<br />

Symbol Rate y FEC.<br />

2- Si en lugar de un Provider ID insertamos FFFF, el decodificador permitirá buscar libremente.<br />

3- Todos los checksum se calculan de igual manera. Hacemos un xor de todos los bytes y el<br />

resultado irá en segunda posición. En primera posición aparecerá la resta de FF menos el<br />

segundo valor del checksum. Por ejemplo, si queremos calcular el checksum de estos tres bytes<br />

47, 42 y 52, realizaremos la siguiente operación 47 xor 42 xor 52 = 57. Este valor será el que<br />

aparecerá en la segunda posición del checksum y el primero se calcula restándolo de FF, o sea,<br />

FF - 57 = A8.<br />

4- Dependiendo de los valores que se tengan en estas posiciones las teclas Piloto y Guía<br />

funcionarán con la información de diferentes proveedores :<br />

a) 3B00060000000000 : España<br />

b) 3F50000000000000 : Francia<br />

c) 3B00000060000000 : Holanda<br />

d) 3B00000600000000 : Italia<br />

e) 3B00000000600000 : Polonia<br />

f) 3F00060660060000 : Todos a la vez<br />

g) 3B00000000000000 : Nivel mínimo (usado por algunos firmwares)<br />

h) 0000000000000000 : Ninguno<br />

<strong>La</strong> mayor parte de esta información puede ser editada más fácilmente en la pestaña “Datos Interpretados”<br />

y “Antenas” dentro de la sección de la eeprom.


SECCIÓN DEL FIRMWARE (Paralelo + Serie):<br />

En esta sección hay que tener mucho cuidado para evitar tener que enviar el decodificador Pioneer al<br />

servicio técnico. Cada familia de modelos tiene la memoria flash organizada de una manera diferente y un<br />

error en la dirección de memoria que se va a actualizar puede ser fatal.<br />

Como ya se ha dicho antes, a través del puerto paralelo no podremos mas que enviar nuevos firmwares y<br />

listas de canales. Nunca podremos leerlos por limitaciones de las rutinas que gobiernan los modos de<br />

servicio en el decodificador. Además, no todos los modelos pueden utilizar esta sección por carecer de<br />

puerto paralelo o por el tipo de integrado que almacena el firmware.<br />

Nota : En esta sección utilizaremos ficheros RCU, RSC o BIN pero en realidad no hay ninguna diferencia de<br />

formato. Se pueden cambiar las extensiones entre BINRCU o BINRSC sin problemas.<br />

ENVÍO DEL FIRMWARE :<br />

Casi todos los BCT-14xx, BCT-15xx y BCT-16xx pueden utilizar esta sección de Pionero para enviar el<br />

firmware pero en los casos donde se tengan problemas siempre se podrá usar la sección del Jtag para<br />

conseguir actualizarlo.<br />

El método a seguir es el siguiente :<br />

1- Con el decodificador apagado, conectar los cables paralelo y serie entre el decodificador y el<br />

ordenador.<br />

2- Proceder a entrar en el modo de servicio 1 tal y como se explica al principio de este manual.<br />

3- En la sección de “Configuración rápida” seleccionar el apartado “Firmware” que corresponda a<br />

nuestro decodificador.<br />

4- Pulsar “Enviar” y seleccionar el archivo *.rcu<br />

5- Pionero empezará a enviar el archivo y aparecerán todos los pasos que se han seguido en el log.<br />

6- Al final Pionero informará al usuario si la actualización ha tenido éxito o se ha producido algún<br />

error.<br />

7- Apagar el decodificador y después desconectar los cables.<br />

Con algunos firmwares es necesario enviar un fichero a la eeprom pero lo normal es que el autor pida<br />

borrarla totalmente. En caso de tener problemas, es muy recomendable borrar la eeprom totalmente.<br />

Nota : Los archivos de firmware deben tener la longitud indicada al principio de este manual o se tendrán<br />

problemas al enviarlos.<br />

ENVÍO DE LA LISTA DE CANALES :<br />

<strong>La</strong>s familias que pueden enviar las listas de canales con esta sección de Pionero son los BCT-13xx, BCT-<br />

14xx, BCT-15xx y BCT-16xx.<br />

El método a seguir es el siguiente :<br />

1- Con el decodificador apagado, conectar los cables paralelo y serie entre el decodificador y el<br />

ordenador.<br />

2- Proceder a entrar en el modo de servicio 2 tal y como se explica al principio de este manual.<br />

3- En la sección de “Configuración rápida” seleccionar el apartado “Canales” que corresponda a<br />

nuestro decodificador.<br />

4- Pulsar “Enviar” y seleccionar el archivo *.rcu o *.rsc<br />

5- Pionero empezará a enviar el archivo y aparecerán todos los pasos que se han seguido en el log.<br />

6- Al final Pionero informará que se ha producido un error pero es totalmente normal.<br />

7- Entrar en la sección de la eeprom y enviar un archivo que tenga las secciones activas correctas<br />

tal y como se explica en el apartado de la “eeprom” y “sintonización” de este manual.<br />

8- Apagar el decodificador y después desconectar los cables.<br />

Si en lugar de “Archivo” seleccionamos “Tabla canales FLASH” se enviará la lista de canales que esté<br />

abierta en la sección de “sintonización”.<br />

Con los decodificadores BCT-13xx hay que tener mas precauciones que con los demás modelos. Si se<br />

produce algún problema se suelen solucionar desoldando la eeprom para borrarla con un programador<br />

externo.


Nota : Los archivos de firmware deben tener la longitud indicada al principio de este manual o se tendrán<br />

problemas al enviarlos. NUNCA deben ser mayores de 0x70000<br />

A diferencia de otros programas, Pionero no necesita ningún fichero *.dat ni actualizar la dirección 7D0 en<br />

la eeprom. Simplemente hay que elegir el archivo *.rcu, *.rsc o *.bin y Pionero hará todos lo necesario<br />

para enviarlo.<br />

En los archivos *.dat solo se encuentra la longitud del fichero *.rcu o *rsc en hexadecimal junto con un<br />

checksum y estos dos valores los calcula automáticamente Pionero antes de enviar cualquier comando.<br />

NOTA : Es MUY IMPORTANTE conectar y desconectar los cables con el decodificador<br />

APAGADO. ¡Si no se hace así, se corre un grave riesgo de quemar el puerto paralelo o serie del<br />

decodificador!


SECCIÓN DEL FIRMWARE (JTag):<br />

Con esta sección podréis actualizar el firmware, la lista de canales y la eeprom de las siguientes familias<br />

de decodificadores Pioneer :<br />

1- BCT-14xx<br />

2- BCT-15xx<br />

3- BCT-16xx<br />

4- BCT-17xx<br />

Los BCT-12xx y BCT-13xx no pueden usar esta sección porque la CPU de esos decodificadores no tienen<br />

DCU (Diagnostics Controller Unit).<br />

También los Philips 6071 y 6072 pueden usar esta sección para el firmware, la eeprom y la lista de<br />

canales.<br />

Los BCT-14xx, BCT-15xx y BCT-16xx se pueden actualizar con esta sección pero se recomienda usar la<br />

sección de “Firmware (paralelo+serie)” por ser más rápida, segura y sencilla.<br />

También se pueden actualizar otros decodificadores como los Pace CP3000P a través del Jtag.<br />

El soporte de los decodificadores Grundig GDS310-2 y Echostar DBS8100 es experimental y no se ha<br />

probado.<br />

El envío y recepción de las listas de canales se ha simplificado enormemente en las ultimas versiones de<br />

firmwares gracias a las funciones del puerto serie de Deemonru. Si se usa uno de estos firmwares se<br />

recomienda utilizar la secciones de “Deemonru (Serie)” y la pestaña de “Secciones Activas” dentro de<br />

“Sintonización”.<br />

Antes de intentar enviar ningún fichero a través del Jtag hay que comprobar si el interfaz Jtag funciona<br />

correctamente o podremos tener problemas.<br />

Para comprobar el funcionamiento del circuito se puede usar el botón de “Código de la CPU”. Al pulsarlo<br />

veremos el IDCODE de la CPU de nuestro decodificador en el log. Si no se reconoce el código y no sale<br />

siempre el mismo es un claro síntoma de que tenemos que repasar el circuito. Quizás alguna soldadura<br />

esté mal realizada o algún diodo (o led) esté soldado al revés.<br />

Como prueba de absoluta fiabilidad, leed todo el integrado flash de 2Mb. Si no tenéis ningún error significa<br />

que vuestro interfaz Jtag funciona correctamente.<br />

En el caso de los decodificadores Pioneer, para usar el Jtag no es necesario entrar en un modo de servicio<br />

aunque se recomienda entrar en uno porque el proceso es más rápido. Los métodos para entrar en uno<br />

de los modos de servicio están explicados en la sección de la Eeprom.<br />

Sólo después de conectar el interfaz Jtag al decodificador y al ordenador se puede encender el<br />

decodificador. Si lo conectáis con el decodificador encendido podéis dañar algún puerto.<br />

COMO LEER CON EL INTERFAZ JTAG:<br />

Una vez comprobado que el circuito está en perfectas condiciones podremos proceder a seleccionar la<br />

dirección de comienzo y la longitud que se quiere leer.<br />

Los datos leídos los podemos dirigir a un archivo, a la sección de la imagen o a la de sintonización, y para<br />

esto, solo hay que marcar “Archivo”, “Eeprom”, “Tabla canales FLASH” o “Imagen capturada” dentro del<br />

recuadro “usar”.<br />

Por último pulsaremos “Recibir” y veremos como Pionero empieza a leer el contenido de la dirección<br />

seleccionada.


Si se había seleccionado “Eeprom” Pionero leerá el contenido actual de la eeprom y lo enviará a la tabla<br />

que hay en la sección de la eeprom. Recordad que en algunos decodificadores la eeprom se borra<br />

automáticamente al entrar en un modo de servicio, así que si queréis leerla completa tendréis que hacerlo<br />

con el decodificador encendido con el mando a distancia. Para esto tendréis que usar una dirección trap<br />

con 65Kb sin usar (llena de FFs o ceros).<br />

Cuando se selecciona “Eeprom” los campos “Dirección” y “Longitud” se utilizan así :<br />

- Dirección : Indicaremos la dirección interna de la eeprom donde queremos empezar a leer. En los<br />

decodificadores Pioneer la eeprom es del tipo 24C16, por tanto el rango valido es 0x000 – 0x7FF<br />

- Longitud : Indicaremos la longitud que queremos leer de la eeprom. Como máximo podréis leer la<br />

longitud de la eeprom 0x800.<br />

Por defecto, al seleccionar “Eeprom” se seleccionarán los datos correctos automáticamente.<br />

Si se había seleccionado “Archivo”, Pionero pedirá el nombre y el tipo de archivo que se va a crear (BIN o<br />

RCU).<br />

Los archivos BIN, RCU y RSC normalmente solo se diferencian en el nombre y en la longitud. En realidad,<br />

las extensiones RCU y RSC solo se mantienen por compatibilidad con el programa GGF1367.<br />

Si queremos leer la tablas de canales y transpondedores que hay en la Flash tendremos que seleccionar la<br />

dirección de “Lista de canales” que se indica al principio de este manual y una longitud mayor o igual a<br />

50000 (320Kb).<br />

También se pueden leer otras direcciones distintas a las zonas donde se almacena el firmware o las listas<br />

de canales. En la dirección 40000000 se encuentra la RAM del decodificador y en C0000000 se encuentra<br />

la RAM de Vídeo (excepto en los BCT-17xx, donde la RAM y la Vídeo-RAM se encuentran en 40000000).<br />

Si se quiere leer la dirección de la memoria Vídeo-RAM donde se almacenan las imágenes capturadas<br />

podremos seleccionar la dirección C00D0000 o C0168000 y 98000 como longitud.<br />

COMO ESCRIBIR CON EL INTERFAZ JTAG:<br />

Con el interfaz jtag podremos escribir en RAM y en los integrados de FLASH. Como el método utilizado es<br />

radicalmente distinto, hay que configurar Pionero para que sepa que rango de direcciones de nuestros<br />

decodificadores corresponden a integrados de Flash. Además, no todos los integrados de Flash son iguales<br />

y Pionero tiene que saber exactamente que tipo hay en cada dirección para no cometer errores y dejar el<br />

decodificador “OUT OF ORDER”.<br />

Esta es una pequeña lista de decodificadores Pioneer y Philips :<br />

Familia Placa Modelo Direcciones Integrado<br />

BCT-14xx BNP-1323-E/Y DBR-S100NL2<br />

60000000 – 6007FFFF<br />

7FE00000 – 7FFFFFFF<br />

M29W400BT<br />

TC58FVT160FT-10<br />

BCT-14xx BNP-1323-E/Y DBR-S200F<br />

60000000 – 6007FFFF<br />

7FE00000 – 7FFFFFFF<br />

M29W400BT<br />

TC58FVT160FT-10<br />

BCT-14xx BNP-1323-C/Y BCT-1430<br />

60000000 – 6007FFFF<br />

7FE00000 – 7FFFFFFF<br />

TC58FVT400FT-10<br />

TC58FVT160FT-10<br />

BCT-15xx BNP-1354-I DBR-S210F<br />

60000000 – 601FFFFF<br />

7FF00000 – 7FFFFFFF<br />

LE28DW1621T-80T<br />

M29W800AT<br />

BCT-15xx BNP-1354-F DBR-S210F<br />

60000000 – 601FFFFF<br />

7FF00000 – 7FFFFFFF<br />

LE28DW1621T-80T<br />

M29W800AT<br />

BCT-15xx BNP-1354-E DBR-S210F<br />

60000000 – 601FFFFF<br />

7FF00000 – 7FFFFFFF<br />

TC58FVT160FT-10<br />

M29W800AT<br />

BCT-15xx BNP-1354-D DBR-S210F<br />

60000000 – 601FFFFF<br />

7FF00000 – 7FFFFFFF<br />

TC58FVT160FT-10<br />

M29W800AT<br />

BCT-15xx BNP-1354-G DBR-S210I<br />

60000000 – 601FFFFF<br />

7FF00000 – 7FFFFFFF<br />

LE28DW1621T-80T<br />

M29W800AT<br />

BCT-15xx BNP-1354-F DBR-S210I<br />

60000000 – 601FFFFF<br />

7FF00000 – 7FFFFFFF<br />

TC58FVT160FT-10<br />

M29W800AT<br />

BCT-15xx BNP-1354-E TS-5<br />

60000000 – 601FFFFF<br />

7FF00000 – 7FFFFFFF<br />

TC58FVT160FT-10<br />

M29W800AT<br />

BCT-15xx BNP-1354-E DBR-S110I 60000000 – 601FFFFF TC58FVT160FT-10


BCT-15xx BNP-1354-D DBR-S110I<br />

BCT-15xx BNP-1354-F DBR-S110I<br />

BCT-15xx BNP-1354-G DBR-S110I<br />

BCT-15xx BNP-1354-H DBR-S110NL<br />

BCT-15xx BNP-1354-G DBR-S110NL<br />

BCT-15xx BNP-1354-D DBR-S110NL<br />

BCT-15xx BNP-1354-E BCT-1510<br />

BCT-15xx BNP-1354-G BCT-1510<br />

BCT-15xx BNP-1354-D BCT-1510<br />

BCT-15xx BNP-1354-D BCT-1530<br />

BCT-16xx BNP-1354-I BCT-1610<br />

BCT-16xx BNP-1354-H DBR-S120I<br />

BCT-17xx BNP-1368-B BCT-1710<br />

Philips<br />

607x<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF TC58FVT160FT-10<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF TC58FVT160FT-10<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF LE28DW1621T-80T<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF LE28DW1621T-80T<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF LE28DW1621T-80T<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF TC58FVT160FT-10<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF LE28DW1621T-80T<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF TC58FVT160FT-10<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF TC58FVT160FT-10<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

60000000 – 601FFFFF TC58FVT160FT-10<br />

7FF00000 – 7FFFFFFF M29W800AT<br />

7FE00000 – 7FF7FFFF<br />

7FF80000 – 7FFFFFFF<br />

LE28DW1621T-80T<br />

7FE00000 – 7FF7FFFF<br />

7FF80000 – 7FFFFFFF<br />

LE28DW1621T-80T<br />

7FE00000 – 7FF7FFFF<br />

7FF80000 – 7FFFFFFF<br />

LE28DW1621F-80T<br />

------- DSX6073/03A 7FE00000– 7FFFFFFF 2 chips M29W800DB<br />

Antes de intentar actualizar el firmware hay que seleccionar el modelo y la placa de vuestro decodificador<br />

en la sección de “Configuración”. Si no aparecen exactamente como en la lista, tendréis que seleccionar<br />

modelo y placa “Personalizado”, después el tipo de integrado Flash y la dirección inicial de cada integrado.<br />

Por ejemplo, en un DBR-S210F tendríamos que seleccionar TC58FVT160FT-10 y 600000000 para el<br />

integrado del Software Interactivo (firmware), y M29W800AT y 7FE00000 para el integrado de la Lista de<br />

Canales.<br />

Como podéis ver, los BCT16-xx y los BCT-17xx solo tienen un integrado donde guardan toda la<br />

información. Para configurar personalizadamente estos modelos hay que introducir los mismos datos<br />

porque es el mismo chip en el recuadro de Software interactivo y Lista de canales, incluidas las direcciones<br />

iniciales. Solamente tendremos que seleccionar la dirección adecuada dependiendo de lo que queramos<br />

enviar en la sección “Firmware (Jtag)”.<br />

Los decodificadores con integrados Sanyo pueden elegir si quieren borrar y escribir por bloques (64Kb) o<br />

por sectores (1Kb) seleccionando el tipo de integrado “LE28DW1621T-80T” o “LE28DW1621T-80T sectors”.<br />

En la sección de “Configuración” también hay que seleccionar la dirección de la rutina Trap donde se<br />

almacenará dicha rutina. Se puede seleccionar cualquier dirección de la RAM o Vídeo-RAM pero hay que<br />

tener en cuenta que esta dirección no debe ser utilizada por el decodificador, así que si la cambiáis,<br />

deberéis elegir una dirección que tenga por delante 65Kb de FF’s o ceros (leed toda la RAM o Vídeo-RAM y<br />

seleccionad la dirección donde veáis 65Kb con FF’s o ceros). Tened esto ultimo muy en cuenta,<br />

especialmente si queréis escribir por el Jtag sin estar en algún modo de servicio.<br />

Esta rutina Trap se utiliza porque no es posible escribir directamente en los integrados de la flash a través<br />

del Jtag. Lo que se tiene que hacer es enviar un pequeño programa al decodificador que se encarga de<br />

escribir y borrar los integrados bajo las ordenes de Pionero. Para todo esto, Pionero necesita 65Kb libres<br />

en tu decodificador.<br />

He incluido un par de opciones para asegurar que se escribe correctamente en la flash. Antes de escribir<br />

en un bloque de la flash se comprueba que el contenido es diferente a lo que se quiere enviar. Además,<br />

también se verifica que se han escrito correctamente los datos. Si confiáis plenamente en vuestro Jtag y<br />

queréis la velocidad máxima, podéis desactivar estas opciones en la sección de “Configuración” marcando<br />

“Forzar escritura en todos los bloques” y quitando la marca de “Verificar escritura en Flash”.<br />

Si sospecháis que vuestro Jtag pueda ser la causa de vuestros problemas, dejad la verificación activada y<br />

no forcéis la escritura en todos los bloques.


También he añadido una opción en “Configuración” para generar automáticamente el checksum cuando se<br />

quiere actualizar el firmware de los BCT15-xx y BCT-16xx. Este checksum solo afecta al software<br />

interactivo y no a la lista de canales. En general, solo se debería activar esta opción si se está seguro de<br />

que el firmware no tiene bien calculado este dato.<br />

Después de esto hay que volver a la sección de “Firmware (Jtag)” y seleccionar la dirección destino<br />

adecuada. No es necesario indicar la longitud porque Pionero la calcula automáticamente. De hecho, este<br />

campo se ignora totalmente en la escritura por el jtag.<br />

También tendremos que seleccionar el origen de los datos que vamos a enviar en el recuadro “usar”:<br />

- “Tabla canales Flash”: Se enviarán las tablas de canales y transpondedores de la sección de<br />

Sintonización.<br />

- “Archivo”: Pionero pedirá que seleccionemos un archivo para enviarlo a la dirección destino<br />

seleccionada.<br />

- “Imagen capturada”: Si se selecciona esta opción no se enviará ninguna imagen. Se podría enviar<br />

una imagen, pero es algo que carece de sentido...<br />

- “Eeprom” : Se enviarán los valores de la tabla de la sección de la eeprom. En “Dirección”<br />

indicaremos la dirección interna de la eeprom (0x000-0x7FF) a donde van dirigidos los datos y<br />

“Longitud” se ignora porque se calcula automáticamente.<br />

Por ultimo, hay que comprobar que el fichero “trap.bin” se encuentra en el mismo directorio que Pionero,<br />

luego pulsaremos “Enviar” y Pionero comenzará a enviar los datos al decodificador.<br />

Debido al diseño por bloques de los integrados de Flash, hay que borrar, enviar y verificar los datos en<br />

cada bloque por separado.<br />

En el caso de que se compruebe que hay alguna diferencia entre los datos del bloque y los que queremos<br />

enviar, se procederá a enviar los datos actualizados. Posteriormente se verificarán los datos de ese bloque<br />

y si se detecta alguna diferencia se preguntará si se ignora el error, se aborta todo el envío o si se intenta<br />

de nuevo.<br />

Si abortáis el envío del firmware podéis dejar vuestro decodificador con “OUT OF ORDER”, “RETRYING<br />

UPDATE” o “UPDATE ERROR” en la pantalla. En ese estado el decodificador no llegará a encenderse y no<br />

funcionará, pero se puede arreglar repasando el interfaz Jtag para que no de errores debidos a su mal<br />

montaje y enviando de nuevo el firmware Si los errores son esporádicos, podéis reintentar la actualización<br />

hasta que se envíe correctamente.<br />

Es muy recomendable cerrar todas las otras aplicaciones mientras se actualiza el firmware (salvapantallas,<br />

antivirus, etc...) porque en ocasiones, dependiendo de la cantidad de memoria disponible, vuestro PC<br />

accederá demasiadas veces al disco duro y la sincronización de la transmisión por Jtag se romperá.<br />

Si tenéis un ordenador demasiado rápido y tenéis problemas, también podéis probar a cambiar la<br />

“<strong>Du</strong>ración TCK” en la sección de “Configuración”. Si por el contrario, queréis acelerar al máximo el envío<br />

por el Jtag, podéis quitar la marca de “Verificar escritura en flash”, poner la marca en “Forzar escritura en<br />

todos los bloques” y reducir el numero de “Bits WaitStart”. Recordad que esto solo se debería hacer<br />

cuando se confía plenamente en el interfaz Jtag.<br />

Con algunos firmwares, el decodificador no se llegará a encender si se ha dejado el interfaz Jtag<br />

conectado. Es recomendable retirarlo antes de encenderlo.<br />

En ocasiones, los parches y actualizaciones que se almacenan en el integrado con la información de los<br />

canales. Para evitar este problema se puede borrar esa zona del integrado.<br />

En los BCT14-xx se puede borrar todo el integrado de la lista de canales sin problemas, pero en los<br />

BCT15-xx, BCT16-xx, BCT-17xx y Philips 6071 hay que tener cuidado para no borrar una zona donde hay<br />

código NECESARIO para el funcionamiento del decodificador.<br />

Nota : Jamás se debe borrar o sobrescribir el cargador de arranque (boot-loader) o el<br />

decodificador no arrancará.<br />

Por esta razón, es muy recomendable no intentar enviar archivos que escriban sobre esas posiciones.<br />

Si en alguna ocasión se borra el “boot-loader” tendremos que usar un programa llamado “Jtag-Tester” de<br />

Deemonru para arreglarlo o un OS-Link en el caso de los Philips.


COMO BORRAR INTEGRADOS CON EL INTERFAZ JTAG:<br />

Como ya habéis podido leer, si borráis alguna zona necesaria para el funcionamiento del decodificador,<br />

éste podría quedarse “muerto”. Sin embargo, en algunos modelos los bloques que contienen ese código<br />

están protegidos y no se pueden borrar aunque usemos esta función de Pionero.<br />

Después de borrar un integrado es muy recomendable leerlo por completo para ver si se han borrado las<br />

zonas con este código necesario. Si es así, ¡ NO APAGUÉIS EL DECODIFICADOR SE DEBEN<br />

DESCONECTAR LOS CABLES HASTA QUE SE CONSIGA ESCRIBIR EN ESAS ZONAS DE NUEVO !<br />

Además, Pionero ya borra cada bloque antes de escribir sobre él y sólo en algunos casos en que hay<br />

problemas con el Jtag es necesario borrar todo el chip para asegurarse de que todos los bloques se borran<br />

correctamente.<br />

Si decidís borrar un chip y comprobáis que se ha borrado totalmente, aseguraros de enviar después un<br />

archivo de la misma longitud que la capacidad del chip borrado.<br />

Para borrar un integrado tenéis que indicar su dirección inicial en el apartado “Dirección”, luego<br />

seleccionar el método de borrado y por último pulsar sobre “Borrar Chip”. El método de borrado “por<br />

bloques” es idéntico al usado cuando se envía el firmware y el método “Con un solo comando” borrará<br />

todo el chip en 10-20 segundos usando un único comando JEDEC.<br />

COMO ACTUALIZAR EL FIRMWARE CON EL INTERFAZ JTAG:<br />

Estos son los pasos a seguir para actualizar vuestro firmware. Si no sabéis como hacer alguno de los<br />

pasos volved a leer la sección del Jtag y la Eeprom porque allí se explican todos los detalles.<br />

Esto es solo un mini-resumen :<br />

1- Con el decodificador apagado conecta el Jtag al PC y al decodificador.<br />

2- No es necesario entrar en ningún modo de servicio pero si se decide entrar en uno solo hay que<br />

seguir las instrucciones descritas al principio de este manual.<br />

3- En la sección de “configuración” selecciona el modelo y la placa de nuestro decodificador. Si no<br />

está en la lista, selecciona “Personalizado” e introduce los datos de los integrados Flash<br />

manualmente. El resto de configuraciones es mejor dejarlas con los valores por defecto y solo<br />

cambiarlas en caso de problemas.<br />

4- Vuelve a la sección de “Firmware (Jtag)” y selecciona “Archivo” en el cuadro usar.<br />

5- Introduce la dirección de inicio del integrado con el software interactivo (firmware) de vuestro<br />

decodificador. El campo “Longitud” se calcula automáticamente y no hay que rellenarlo. Los<br />

decodificadores Philips son un caso especial porque muchos desarrolladores de firmware<br />

distribuyen ficheros de 2Mb con un volcado completo de todo el firmware. Los ficheros con esta<br />

longitud deberían enviarse a la dirección 7FE00000 pero los ficheros de menor tamaño deberían<br />

enviarse a la dirección 7FE80000.<br />

FAMILIA DIRECCIÓN<br />

BCT-14xx 7FE00000<br />

BCT-15xx 60000000<br />

BCT-16xx y BCT-17xx 7FE00000<br />

Philips 607x 7FE00000<br />

6- Pulsa “Enviar” y selecciona el archivo del nuevo firmware. Verás como Pionero comprueba los<br />

bloques antes de borrarlos y solo en caso de que sean distintos los borra, escribe y verifica.<br />

7- Cuando finalice de enviarlo puedes apagar el decodificador y luego desconectar el jtag y los<br />

cables.<br />

COMO RECIBIR Y ENVIAR LA LISTA DE CANALES CON EL INTERFAZ JTAG:<br />

Para leer la lista de canales hay que seguir estos pasos :<br />

1- Con el decodificador apagado conecta el jtag al PC y al decodificador.<br />

2- Enciende el decodificador desde el mando a distancia.<br />

3- Como no estamos en un modo de servicio tendremos que usar una dirección trap distinta a la<br />

normal. Para ello buscaremos una zona de la RAM o Vídeo-RAM (ver el mapa de memoria dado


anteriormente) con 65Kb libres (llena de FFs o ceros). El resto de configuraciones es mejor<br />

dejarlas con los valores por defecto y solo cambiarlas en caso de problemas.<br />

4- Seleccionamos “Eeprom” en el cuadro “usar” y pulsamos “Recibir”.<br />

5- Cuando termina, Pionero abre la sección de la eeprom donde podremos guardar esos datos y<br />

fijarnos en las secciones activas que está usando el decodificador en ese momento (dentro de<br />

“Datos Interpretados”). Guardad la eeprom en un archivo para usarla en el futuro.<br />

6- Volvemos a la sección de “Firmware (Jtag)” , seleccionamos “Archivo” en el cuadro “usar” y la<br />

dirección donde vuestro decodificador guarda la lista de canales. En “Longitud” hay que introducir<br />

70000.<br />

FAMILIA DIRECCIÓN<br />

BCT-14xx 60000000<br />

BCT-15xx 7FF10000<br />

BCT-16xx y BCT-17xx 7FF80000<br />

Philips 607x 7FE10000<br />

7- Pulsamos “Recibir” y nos pedirá el nombre del archivo que se va a crear.<br />

8- Cuando termine de leer podremos ir a la sección de “Sintonización” y abrir el archivo que<br />

acabamos de recibir. Si pide que seleccionemos alguna sección activa tendremos que escoger la<br />

que antes hemos visto que estaba siendo usada en la eeprom. Por ejemplo, si en la eeprom se<br />

indica que se usan las secciones 0 y 2, y luego al abrir los canales pide que seleccionemos entre<br />

unas tablas situadas en las posiciones 10000, 20000 y 30000, tendremos que seleccionar 20000 y<br />

pulsar OK. Tenéis más detalles sobre este tema en las secciones de la “Eeprom” y “Sintonización”<br />

de este manual.<br />

9- Editamos los canales y guardamos el archivo.<br />

Este es el resumen con los pasos para enviar la lista de canales ya editada :<br />

1- Con el decodificador apagado conecta el jtag al PC y al decodificador.<br />

2- No es necesario entrar en ningún modo de servicio pero si se decide entrar en uno solo hay que<br />

seguir las instrucciones descritas al principio de este manual.<br />

3- En la sección de “configuración” selecciona el modelo y la placa de nuestro decodificador. Si no<br />

está en la lista, selecciona “Personalizado” e introduce los datos de los integrados Flash<br />

manualmente. El resto de configuraciones es mejor dejarlas con los valores por defecto y solo<br />

cambiarlas en caso de problemas.<br />

4- Vuelve a la sección de “Firmware (Jtag)” y selecciona “Archivo” en el cuadro “usar”.<br />

5- Introduce la dirección de la lista de canales de vuestro decodificador. No tendremos que poner<br />

nada en “Longitud” porque se calcula automáticamente.<br />

Modelo Dirección<br />

BCT-14xx 60000000<br />

BCT-15xx 7FF10000<br />

BCT-16xx y BCT-17xx 7FF80000<br />

Philips 607x 7FE10000<br />

6- Pulsa “Enviar” y selecciona el archivo con la lista de canales ya editada.<br />

7- Id a la sección de la eeprom y pulsa “Lee archivo...” para cargar el fichero de la eeprom que<br />

habíamos leído de nuestro decodificador antes de leer la lista de canales.<br />

8- Vuelve a la sección de “Firmware (Jtag)” y selecciona “Eeprom” en el cuadro usar.<br />

9- Pulsad “Enviar” para enviar la eeprom.<br />

10- Cuando finalice de enviarlo podemos apagar el decodificador y luego desconectar el jtag y los<br />

cables.<br />

Si en lugar de enviar la lista de canales desde un archivo, queréis enviar la que tenéis abierta en la sección<br />

de “Sintonización” solo tenéis que seleccionar “Tabla canales FLASH” en el cuadro usar. Después, cuando<br />

pulséis “Enviar” no necesitaréis seleccionar ningún archivo.<br />

Recordad que las secciones activas de la lista de canales y las de la eeprom tienen que ser las mismas<br />

para no tener que resintonizar. Para calcular el código de secciones activas correcto que debería usarse<br />

con la lista de canales que hay cargada en la sección de “sintonización” solo hay que pulsar el botón<br />

“Calcular código” de la sección de la eeprom. Leed la sección de la “Sintonización” para obtener más<br />

detalles sobre este tema.


SECCIÓN DE LA TERMINAL:<br />

En esta sección se puede enviar cualquier comando por el puerto serie hacia el decodificador Pioneer.<br />

Solamente hay que teclear el comando y pulsar “Enter” para enviarlo. Tened en cuenta que si tenéis<br />

marcada la opción “Añadir Checksum” en la configuración, no tendréis que escribirlo. Pionero añadirá el<br />

checksum correcto antes de enviar el comando.<br />

En la ventana superior aparecen todos los comandos enviados y todas las respuestas que se han recibido.<br />

Incluso cuando estéis en otra sección de Pionero (eeprom, firmware) se añadirá a esta ventana todo el<br />

trafico de comandos serie, pero sin los mensajes que añade Pionero para informar del estado de la<br />

transmisión. Esto será muy útil para ver si el decodificador envía algo que no se esperaba en otra sección<br />

o para enviar más comandos si se cree que son necesarios en algún momento.<br />

Esta es la sintaxis de algunos comandos:<br />

- Escritura en la Eeprom : %EE=(dirección)(longitud)(datos)(checksum)<br />

dirección = 3 nibbles.<br />

longitud = 2 nibbles. Indica el número de bytes que hay en (datos)<br />

datos = valores que se desean escribir en la eeprom<br />

checksum = 2 nibbles. XOR negado de los caracteres que componen el comando excepto el %<br />

Respuesta del decodificador : $.D1 indica que el comando ha tenido éxito.<br />

- Lectura de la Eeprom : %EE?(dirección)(longitud)(checksum)<br />

dirección = 3 nibbles.<br />

longitud = 2 nibbles.<br />

checksum = 2 nibbles.<br />

Respuesta del decodificador : $.(longitud)(datos)(checksum)<br />

- Escritura de la Flash en 7FE00000 - 7FF7FFFF : %DL=(dirección)(longitud)(suma)(checksum)<br />

dirección = 8 nibbles.<br />

longitud = 8 nibbles.<br />

suma = 4 nibbles. Son los ultimos 2 bytes de la suma de todos los bytes del archivo.<br />

checksum = 2 nibbles.<br />

Respuesta del decodificador : $.D1 indica que el comando ha tenido éxito y se puede empezar el<br />

envío del archivo por el puerto paralelo.<br />

- Comprobación del resultado de DL : %DL?(checksum)<br />

checksum = 2 nibbles.<br />

Respuesta del decodificador : $.D1 indica que el comando ha tenido éxito y se han escrito los<br />

datos correctamente.<br />

- Escritura de la Flash en 60000000 - 6006FFFF : %FL=(dirección)(longitud)(suma)(checksum)<br />

dirección = 8 nibbles.<br />

longitud = 8 nibbles.<br />

suma = 4 nibbles.<br />

checksum = 2 nibbles.<br />

Respuesta del decodificador : $.D1 indica que el comando ha tenido éxito y se puede empezar el<br />

envío del archivo por el puerto paralelo.<br />

- Comprobación del resultado de FL : %FL?(checksum)<br />

checksum = 2 nibbles.<br />

Respuesta del decodificador : $.D1 indica que el comando ha tenido éxito y se han escrito los<br />

datos correctamente.<br />

- Escritura en la Flash en 60070000 – 6007FFFF : %PL=(dirección)(longitud)(suma)(checksum)<br />

dirección = 8 nibbles.<br />

longitud = 8 nibbles.<br />

suma = 4 nibbles.<br />

checksum = 2 nibbles.<br />

Respuesta del decodificador : $.D1 indica que el comando ha tenido éxito y se puede empezar el<br />

envío del archivo por el puerto paralelo.<br />

- Comprobación del resultado de PL : %PL?(checksum)<br />

checksum = 2 nibbles.<br />

Respuesta del decodificador : $.D1 indica que el comando ha tenido éxito y se han escrito los<br />

datos correctamente.<br />

- Frecuencia del sintonizador : %TN=(frecuencia)(banda)(checksum)<br />

- Symbol rate : %TB=(symbol-rate-1)(symbol-rate-2)(symbol-rate-3)(symbol-rate-4)(checksum)<br />

- QPSK : %QP=(symbol-rate)(IQ-mode)(RF-switch)(checksum)<br />

- PID : %PI=(v-pid)(a-pid)(p-pid)(checksum)<br />

- Sub Ucom Out : %SO=(puerto)(checksum)<br />

- Procesador de Video : %VP=(hsync)(level)(cont)(color)(mute)(brightness)(sync)(checksum)


- Volumen de Audio : %RG=(nivel-volumen)(checksum)<br />

- MPEG Audio Mute : %MA=(mute)(checksum)<br />

- Control de Volumen : %VL=(nivel)(checksum)<br />

- Control VCXO : %VX=(nivel)(checksum)<br />

- Comando GPIO : %GP=(comando)(checksum)<br />

- Modem Reset : %SO=*****************(logica)(checksum)<br />

- Comando Modem : %AT=(comando)(checksum)<br />

- Modem ring : %TX=(comando)(checksum)<br />

- Encender LEDs : %LE=(commando)(checksum)<br />

- Error Rate : %ER=(error-rate)(checksum)<br />

- APR : %AP=(commando)(checksum)<br />

- AQTime : %AQ=(aqtime)(aqfrec)(banda)(iq-mode)(rf-switch)(v-pid)(a-pid)(p-pid)<br />

(aq-symbol-rate)(symbol-rate-2)(symbol-rate-3)(symbol-rate-4)(checksum)<br />

- Otros comandos : %LG?(checksum)<br />

%TN?(checksum)<br />

%FE?(checksum)<br />

%PI?(checksum)<br />

%SO?(checksum)<br />

%SI?(checksum)<br />

%MV?(checksum)<br />

%MA?(checksum)<br />

%VL?(checksum)<br />

%CA?(checksum)<br />

%BK?(checksum)<br />

%RX?(checksum)<br />

%TX?(checksum)<br />

%MD?(checksum)<br />

%AL?(checksum)<br />

%PR?(checksum)<br />

%GP?(checksum)<br />

%AQ?(checksum)<br />

%SF?(checksum)<br />

%MM?(checksum)<br />

%BL=(desconocido)(checksum)<br />

%BL?(checksum)<br />

%RL=(desconocido)(checksum)<br />

%RL?(checksum)<br />

%BT=(desconocido)(checksum)<br />

%BT?(checksum)<br />

%VA?(checksum)<br />

%VB?(checksum)<br />

%LL=(desconocido)(checksum) (CUIDADO, ¡BORRA LA MEMORIA FLASH!)<br />

%LL?(checksum)<br />

%LE?(checksum)<br />

<strong>La</strong> mayoría de estos comandos se pueden encontrar en las fuentes del GGF1351 pero otros son exclusivos<br />

de los modelos bct1530 y compatibles.<br />

En general, el decodificador responde con :<br />

$.D1 si el comando ha tenido éxito.<br />

$!C0 si el comando es desconocido, tiene la sintaxis errónea o no ha tenido éxito.<br />

$!DE si el comando es correcto sintácticamente pero el decodificador no lo permite.<br />

Según las fuentes del bct1330, si el segundo carácter de la respuesta es diferente a “.”, significa que se ha<br />

producido un error. Los otros caracteres que pueden aparecer en esa posición son : “!”,”?”,”#”,”@” y “&”<br />

Un caso especial es la respuesta “$*C5” que se produce cuando el decodificador informa que ya se puede<br />

enviar el comando de comprobación %DL? en la segunda fase del envío del firmware.


SECCIÓN DE LA SINTONIZACIÓN:<br />

Aquí podréis cambiar el orden de los canales y modificar muchos de los datos necesarios para su<br />

sintonización.<br />

Antes de comenzar a explicar cada una de las opciones, hay que dar una pequeña explicación sobre la<br />

recepción de la señal por satélite.<br />

En los satélites se transmiten los canales de televisión, radio y datos por unos canales llamados<br />

“transpondedores” caracterizados por su frecuencia y su polaridad. En nuestro caso, estamos recibiendo<br />

información digital, así que lo que transmite el satélite son ceros y unos a grandes velocidades.<br />

Gracias a la compresión usada en esta transmisión, se pueden agrupar varios canales de video, audio y<br />

datos en un solo transpondedor.<br />

Dicho esto, os podéis imaginar que el decodificador necesita almacenar 2 listas (tablas) con toda la<br />

información necesaria para sintonizar un determinado canal de televisión dentro de un determinado<br />

transpondedor. <strong>La</strong>s llamaremos TPT (tabla de transpondedores) y TCS (tabla de canales)<br />

Todo el flujo (stream) de ceros y unos que se recibe por un transpondedor se divide en paquetes de<br />

video, audio y datos. Cada uno de estos paquetes tiene un numero (PID) que lo identifica, y para ver y oír<br />

un canal de televisión necesitaremos saber cuales son los paquetes hay que seleccionar para obtener la<br />

imagen y el sonido correctos. Esta información se guarda en los campos “Video PID” y “Audio PID”.<br />

En la tabla de canales también se almacenan otros datos necesarios para desencriptar los canales<br />

encriptados (“Audio ECM” y “Video ECM”), además del nombre del canal y la posición del transpondedor<br />

dentro de la tabla de transpondedores. El campo “PCR PID” identifica el paquete que se utiliza para<br />

sincronizar el audio y el video. Por último, en el campo “Status” se almacenan datos que puede modificar<br />

el usuario desde el mando a distancia, como marcar el canal como favorito, bloqueo parental y si el canal<br />

está activo. “Service ID” es un identificador del canal o “servicio” dentro del transpondedor.<br />

Antes de comentar los diferentes campos de la tabla de transpondedores hay que aclarar el<br />

funcionamiento del LNB.<br />

El LNB es el aparato que hay en el foco de la antena parabólica y se utiliza para que el decodificador<br />

pueda recibir la información que se recibe por satélite. No voy a entrar en detalles técnicos, pero si que<br />

hay que aclarar que el decodificador controla el comportamiento del LNB a través de señales de 22KHz y<br />

cambios de tensión. Gracias a esto se consigue sintonizar transpondedores con polaridades horizontal y<br />

vertical, se puede seleccionar la banda de frecuencias por la que se recibe ese transpondedor y también<br />

se puede seleccionar el LNB en caso de tener mas de uno conectado al decodificador (DiSEqC).<br />

En el archivo TPT se almacena la frecuencia del sintonizador y no la frecuencia real debido a que el LNB<br />

rebaja la frecuencia que se recibe por satélite y el decodificador solamente “ve” frecuencias bajas. Estos<br />

cambios de frecuencia dependen del LNB y se controlan con los valores de frecuencia del O.L. que hay en<br />

la sección de configuración. Sin embargo, en la tabla de transpondedores se muestra y edita la frecuencia<br />

real para comodidad del usuario.<br />

Los otros campos son :<br />

1- Transponder ID : Identifica el transpondedor dentro del satélite.<br />

2- Network ID : Creo que algunos proveedores lo utilizan para identificar sus transpondedores.<br />

3- FEC (Forward Error Correction) : Sistema de corrección de errores en la transmisión por satélite<br />

que añade bytes redundantes.<br />

4- Symbol Rate : Velocidad a la que se transmite la información. En la modulación QPSK un símbolo<br />

son 2 bits.<br />

5- Número de canales : Número de canales que se emiten a traves de ese transpondedor. No tiene<br />

por qué coincidir con los canales que en ese momento hay almacenados en el decodificador.<br />

6- <strong>Sat</strong>élite : Nombre del satélite al cual pertenece ese transpondedor. Este nombre lo podemos<br />

cambiar en la sección de configuración.<br />

7- Banda : Banda en la que se recibe ese transpondedor.<br />

El decodificador puede almacenar en la flash más de una TCS y más de una TPT. En realidad solo utiliza<br />

una TPT y TCS, las otras se pueden borrar. Es por esta razón que Pionero pide seleccionar una TCS y TPT<br />

al abrir un archivo con la lista de canales. Si la que habéis seleccionado no es la que estaba utilizando el<br />

decodificador, abrid el archivo de nuevo y seleccionad otra diferente.


Los diferentes archivos que se pueden almacenar junto a las listas de canales lo hacen en varias secciones<br />

predeterminadas y que si no están vacías se llaman “secciones activas”. <strong>La</strong> zona donde se guardan las<br />

listas de canales se divide en bloques de 64Kb (0x10000)<br />

SECCIÓN BCT-13XX BCT-14XX BCT-15XX<br />

BCT-16XX Y<br />

BCT-17XX<br />

0 FFF90000 60000000 7FF10000 7FF80000 7FE10000<br />

1 FFFA0000 60010000 7FF20000 7FF90000 7FE20000<br />

2 FFFB0000 60020000 7FF30000 7FFA0000 7FE30000<br />

3 FFFC0000 60030000 7FF40000 7FFB0000 7FE40000<br />

... ... ... ... ... ...<br />

PHILIPS 607X<br />

Además de los archivos TPT y TCS también pueden aparecer otros archivos si el decodificador ha recibido<br />

actualizaciones vía satélite o si el firmware guarda otros datos adicionales (TSR, EMU, SETTINGS, KNOWN,<br />

etc...)<br />

Al encender el decodificador, éste debe conocer en que secciones hay archivos y por esta razón hay un<br />

“código de secciones activas” en la eeprom. Allí se especifica el numero de archivos por sección junto a un<br />

pequeño checksum para comprobar que no hay errores.<br />

Si ese código de secciones activas es erróneo o los archivos TCS y TPT no son correctos, el decodificador<br />

pedirá resintonizar todos los canales. Dependiendo de los firmwares, el tamaño de los archivos TCS y TPT<br />

cambia y si se intenta usar una lista de canales de otro firmware que use tamaños diferentes, el<br />

decodificador pedirá resintonizar todos los canales.<br />

Para evitar este tipo de problemas, Pionero incluye una opción en la configuración que permite cambiar el<br />

tamaño de los archivos TPT y TCS.<br />

Para ordenar los canales hay dos métodos :<br />

1- Haciendo clic sobre uno o varios canales, transpondedores o symbol rates y arrastrarlos hasta la<br />

nueva posición. Para seleccionar varios valores se puede pulsar CONTROL o MAYUSCULAS a la<br />

vez que se hace clic sobre cada valor.<br />

2- Seleccionando varios canales, transpondedores o symbol rate y pulsar el botón “Mover a”. De<br />

esta manera se pueden mover rápidamente grandes bloques de canales o transpondedores a la<br />

posición que elijamos a la derecha del botón.<br />

Para facilitar la ordenación de los canales se ha añadido un recuadro a la izquierda que muestra los datos<br />

del transpondedor por el que se emite el canal seleccionado. Además, se puede maximizar Pionero para<br />

poder visualizar el máximo número de canales y transpondedores a la vez.<br />

Para seleccionar una fila diferente se puede pulsar la celda con el ratón o pulsar las flechas. Si se quiere<br />

selecciona más de una celda se puede hacer clic con el ratón sobre la primera fila que se quiera<br />

seleccionar y sin soltar el botón del ratón, arrastrarlo hasta la última fila que se quiera seleccionar. Con el<br />

teclado también se pueden seleccionar varias filas pulsando MAYÚSCULAS a la vez que nos movemos con<br />

las flechas. Para selecciones más complejas, se puede usar la tecla CONTROL y se conseguirá seleccionar<br />

valores no contiguos.<br />

Pulsando “editar” o haciendo doble clic sobre un canal o transpondedor se abrirá una ventana donde<br />

podremos editar todos los valores del canal o transpondedor seleccionado. También podremos editar si<br />

pulsamos ENTER tras seleccionar un canal o transpondedor.<br />

Haciendo clic sobre el botón “Borrar” o pulsando DELETE eliminaremos el canal o transpondedor<br />

seleccionado y pulsando sobre “Buscar...” aparecerá una ventana donde podremos introducir el nombre<br />

del canal que queremos encontrar. Si se borra un transpondedor también se borrarán todos sus canales<br />

en la tabla de canales.<br />

Pulsando “Copiar” o las teclas CONTROL+C podremos copiar la información de los canales o<br />

transpondedores seleccionados al portapapeles. Por otra parte, si pulsamos “Pegar” o CONTROL+V,<br />

pegaremos la información del portapapeles a la posición de la tabla seleccionada.<br />

Pulsando “Cortar” o las teclas CONTROL+X podremos copiar y borrar automáticamente las filas<br />

seleccionadas de la tabla.


Con los botones “Leer Archivo...” y “Guardar como...” podremos abrir y guardar las lista de canales en<br />

nuestro disco duro. Cada vez que abrimos un archivo veremos que los canales de audio, video y datos<br />

tienen distinto color.<br />

Para mezclar los canales de dos archivos diferentes se puede usar el botón “Añadir archivo...” después de<br />

haber abierto un primer archivo. Tras pulsar este botón seleccionaremos el archivo con los canales y<br />

transpondedores de otro satélite y estos se añadirán en las posiciones finales vacías. Los Symbol rates,<br />

transpondedores y canales repetidos se eliminarán automáticamente.<br />

En algunas ocasiones, tras leer la FLASH con el Jtag en la dirección que contiene la TCS y TPT, vemos que<br />

hay mas de una TCS o TPT. En tal caso, Pionero preguntará cual es la tabla que se quiere editar y cuando<br />

se guarden los cambios o se envíen por el puerto paralelo, las tablas no seleccionadas se borrarán,<br />

quedando solo una TCS y una TPT.<br />

Tras seleccionar la tabla que se quiere editar aparecerán los datos a la derecha y en el cuadro de<br />

“secciones activas” veremos que secciones estamos editando en ese momento.<br />

En la sección de la Tarjeta Virtual se almacenan los datos de todas las tarjetas emuladas en el firmware.<br />

Es posible exportar e importar solo el archivo EMU con los botones de “Guardar como...” e “Importar<br />

EMU”.<br />

Por último, según el firmware que estemos utilizando se almacenará la información del Symbol Rate de<br />

manera distinta y esta puede cambiar con las nuevas versiones de firmware. Por esta razón he añadido la<br />

opción de guardar los distintos Symbol Rates en ficheros INI. El la sección de Configuración está explicado<br />

como crear o modificar estos ficheros.<br />

En las últimas versiones de firmware los valores de Symbol rate se almacenan en un archivo llamado TSR<br />

junto a los archivos TCS y TPT. Los valores del TSR se podrán editar, borrar o añadir en la pestaña<br />

llamada “Tabla de Symbol Rates” que hay a la derecha.<br />

En la siguiente tabla se encuentran los valores que reconoce Pionero con los ficheros INI :<br />

BCT1430 BCT1330 BCT1410 BCT1420 Dynamit Dynamit Dynamit Dynamit<br />

Polish Polish Spanish Italian v3.x v4.x v4.31 v4.37<br />

11320 0C<br />

12130 0A<br />

13333 0B<br />

13400 09<br />

18056 07 07 04 04<br />

18386 05<br />

19540 0E<br />

20000 08 08 03<br />

22000 01 01 00 02 00 00 00 00<br />

22500 0B 03<br />

24000 0C<br />

24500 0D<br />

25550 06 06 01 01<br />

26000 0A<br />

27195 01 01<br />

27500 00 02 02 00 02 02 02 02<br />

27800 09<br />

28000 05 05<br />

28125 06 06<br />

29900 03 03 05<br />

30000 04 04 07 07<br />

Antes de abrir un archivo tendremos que seleccionar el tipo de firmware que estemos utilizando y si<br />

queremos enviar por el puerto paralelo o guardar el archivo con otra forma de almacenar el Symbol Rate<br />

solo tendremos que cambiar el tipo Symbol Rate en el cuadro de “Sintonización”, dentro de la pestaña de<br />

“Configuración”.<br />

A la derecha también se encuentran la pestaña con la información de las secciones activas al estilo de<br />

Defiant en la cual se han incluido las funciones de Deemonru para el envío de archivos a través del puerto


serie. Tal como sucedía en Defiant, es posible modificar la posición de los archivos dentro de cada sección<br />

arrastrando y soltando con el ratón cada archivo o carpeta (drag and drop).<br />

Para enviar la lista de canales a través del puerto serie se han de seguir estos pasos:<br />

1- Con el decodificador apagado conectar el cable serie del decodificador al PC. Se ha de utilizar el<br />

mismo tipo de cable serie descrito al principio de este manual.<br />

2- Entrar en la opción del menú del decodificador donde se reciben los datos del PC. Con frecuencia<br />

se cambia el aspecto, localización y nombre de esta opción pero en algunas ocasiones se llama<br />

“DOWNLOAD DESDE EL HOST PC”, “RECEIPT DATA FROM PC” o simplemente “Download”.<br />

3- Abrir un archivo con la lista de canales que se quiere enviar.<br />

4- Entrar en la sección de “Secciones Activas” dentro de “Sintonización”.<br />

5- Se recomienda enviar todos los archivos de la lista de canales usando la opción “Todos los<br />

Archivos” del cuadro “Enviar Datos”. Solo se debería usar la opción “Archivo seleccionado”<br />

cuando se sabe que no va a haber problemas de compatibilidad con el firmware que tiene el<br />

decodificador. Para activar esta opción solo hay que seleccionar el archivo que hay dentro de las<br />

carpetas.<br />

6- Pulsar el botón “Enviar”.<br />

En la pestaña de la Tarjeta Virtual se pueden cambiar los parámetros del fichero EMU, el comportamiento<br />

del blocker y de la información en pantalla sobre las EMMs.<br />

Nota : Se recuerda que es ILEGAL ver canales de pago sin estar abonado. El autor de este<br />

programa no se hace responsable del posible uso de fraudulento que tenga el usuario de<br />

tarjetas o firmwares emuladores. Se recuerda también que este programa está destinado a<br />

ser usado únicamente en decodificadores que sean propiedad del usuario.


SECCIÓN DE DEEMONRU (SERIE):<br />

Esta sección puede ser utilizada tanto por los decodificadores Pioneer como por los Philips mientras el<br />

firmware que posean soporte este tipo de comunicaciones.<br />

Pulsando el botón “Recibir” se puede volcar el contenido de la posición de memoria especificada en el<br />

apartado “Dirección” con la longitud indicada en “Longitud”.<br />

Se ha integrado esta sección con las de “Sintonización” e “Imagen” seleccionando “Lista de canales” o<br />

“Imagen capturada” dentro del cuadro “Usar”. Si solo se desea guardar el contenido en un archivo hay<br />

que seleccionar “Archivo”. Al igual que con el Jtag, si seleccionamos “Sintonización” o “Imagen” se<br />

enviaran los datos recibidos directamente a la sección de “Sintonización” o “Imagen” respectivamente sin<br />

necesidad de guardarlos previamente en un archivo.<br />

Los pasos para recibir los datos por el puerto serie usando esta sección son los siguientes:<br />

1- Con el decodificador apagado conectar el cable serie del decodificador al PC. Se ha de utilizar el<br />

mismo tipo de cable serie descrito al principio de este manual.<br />

2- Activar el puerto RS232 (puerto serie) en el decodificador. Esta opción cambia de nombre en<br />

algunos firmwares aunque suele llamarse “COMM” o “RS 232”. Suele estar dentro de las opciones<br />

que aparecen pulsando “+”.<br />

3- Seleccionar la dirección y la longitud que se desea leer. Pulsando sobre “Lista de canales” o<br />

“Imagen capturada” se rellenan automáticamente basándose en la configuración del Jtag.<br />

4- Pulsar “Recibir”.<br />

Nota: Para recibir las imágenes capturadas es necesario congelar la imagen antes de comenzar a leerla.


SECCIÓN DE LA IMAGEN:<br />

Con esta sección podréis ver las imágenes congeladas del decodificador. Si vuestro firmware no soporta la<br />

opción de FREEZE (congelar) no obtendréis imágenes nítidas.<br />

<strong>La</strong> memoria RAM para video se sitúa en la dirección 0xC0000000 en los decodificadores BCT-14xx, BCT-<br />

15xx y BCT-16xx, pero en los BCT-17xx se comparte con la RAM convencional en 0x40000000.<br />

<strong>La</strong>s imágenes que se encuentran en esa dirección está en un formato YUV Planar (4:2:0) propio de los<br />

micros ST. Además, estas se pueden almacenar en la memoria RAM con distintas resoluciones y<br />

proporciones, dependiendo del canal sintonizado.<br />

Pionero puede leer imágenes con estas resoluciones: 320x576, 352x288, 352x576, 480x576, 500x576,<br />

528x576, 544x576, 704x576 y 720x576. De todos estos, el más común es el último y será este el tamaño<br />

al que se hay que convertir las imágenes para obtener el formato 4:3 de las Televisiones. En el caso de<br />

sintonizar un canal 16:9, hay que cambiar el tamaño de las imágenes a 1024x576. Todos estos cambios<br />

por el formato se hacen automáticamente si seleccionamos el formato adecuado en la sección de<br />

“Configuración” o pulsando el botón derecho del ratón sobre la imagen ya recibida.<br />

Para leer una imagen a través del Jtag estos son los pasos que hay que seguir :<br />

1- Con el decodificador apagado conectamos el interfaz Jtag entre el ordenador y el decodificador.<br />

2- Encendemos el decodificador, sintonizamos un canal y pulsamos la tecla del mando a distancia<br />

que congela la imagen (‘B’ en el firmware 4.13 de Dynamit)<br />

3- Ejecutamos Pionero, entramos en la sección de “Firmware (Jtag)”<br />

4- Seleccionamos la dirección C00D0000 y 98000 como longitud.<br />

5- Marcamos “Imagen capturada” dentro de “usar” y por último pulsar “Recibir”.<br />

6- Cuando se termine de recibir comenzará el proceso de transformación en una imagen RGB típica<br />

de Windows.<br />

El método para leer una imagen a través del puerto serie con las funciones de Deemonru son los<br />

siguientes:<br />

1- Con el decodificador apagado conectar el cable serie del decodificador al PC. Se ha de utilizar el<br />

mismo tipo de cable serie descrito al principio de este manual.<br />

2- Activar el puerto RS232 (puerto serie) en el decodificador. Esta opción cambia de nombre en<br />

algunos firmwares aunque suele llamarse “COMM” o “RS 232”. Suele estar dentro de las opciones<br />

que aparecen pulsando “+”.<br />

3- Pulsando sobre “Imagen capturada” en el cuadro de “Usar”.<br />

4- Pulsar “Recibir”.<br />

Cuando la imagen aparece en pantalla se puede pulsar “Guardar como...” para guardarla en formato JPEG<br />

o BMP de Windows.<br />

En la dirección C0168000 también hay otra imagen que puede ser leída y visualizada con Pionero.<br />

El error más frecuente cuando se quieren leer imágenes capturadas es marcar un tamaño incorrecto, en<br />

cuyo caso la imagen aparecerá seccionada horizontalmente en varias franjas. Para solucionarlo, hay que<br />

seleccionar el tamaño de imagen adecuado en la sección de “Configuración” o pulsando el botón derecho<br />

del ratón sobre la imagen y seleccionando el tamaño y aspecto adecuados.<br />

Si no creéis que el método de cambiar el tamaño de la imagen para adaptarse al formato dé la calidad<br />

esperada, solo tenéis que marcar la opción “No cambiar el formato” dentro de la sección de<br />

“Configuración”. Posteriormente podéis usar cualquier programa de retoque fotográfico que use mejores<br />

algoritmos de cambio de tamaño para adaptar la imagen.<br />

También es posible guardar en un archivo BIN el contenido de la dirección C00D0000 para poder hacer<br />

pruebas con él marcando la opción “Archivo” dentro del recuadro “usar” en la sección “Jtag”. Luego<br />

podremos abrirlo tantas veces como queramos pulsando “Abrir archivo...” en la sección de “Imagen”.<br />

En la sección de “Configuración” también se da la oportunidad de cambiar la calidad con la que se guarda<br />

la imagen final en formato JPEG. Si elegimos 100, la calidad será la mayor pero el tamaño del archivo JPG


también será mayor. Sin embargo, si elegimos 1, la calidad será mínima y el archivo tendrá un tamaño<br />

pequeño.


SECCIÓN DE LA CONFIGURACIÓN:<br />

Aquí podréis retocar toda la configuración de Pionero. En el recuadro del “Puerto Serie” podréis hacer<br />

pruebas con otros modos de realizar la conexión con el decodificador. Por ejemplo, los Pioneer DBR-S110<br />

pueden conectarse a 19200 bits, 7 , impar, y control de flujo Xon-Xoff. Hay que tener muy claro que el<br />

primer recuadro es la configuración usada para el envío de la eeprom o del firmware gracias a las<br />

funciones que vienen de fábrica en el decodificador pero el segundo cuadro se usa para el envío y<br />

recepción usando las funciones de Deemonru.<br />

En el recuadro “Sintonización” se pueden modificar las frecuencias del oscilador local del LNB alta y baja.<br />

Además también se puede elegir el modo en que se almacena el Symbol Rate en el firmware, junto con<br />

las nuevas posiciones de las tablas TCS, TPT, TSR.... Además, también se puede cambiar el nombre del<br />

satélite que aparecerá en las tablas de canales y transpondedores, junto con el tamaño máximo de sus<br />

tablas.<br />

Al elegir un Symbol Rate, lo que se hace es cargar el fichero INI con el nombre seleccionado. Estos<br />

nombres aparecen en el fichero “Pionero.ini”, en las líneas “SR(número)=”. Por ejemplo, si queréis añadir<br />

un nombre de firmware con valores de symbol rate nuevos tendríamos que añadir esta línea :<br />

...<br />

SR5=Dynamit v4.x<br />

SR6=nombre-firmware<br />

SR7=<br />

...<br />

Después hay que crear un fichero con el mismo nombre que hemos dado antes (nombre-firmware.ini) con<br />

una sección llamada “nombre-firmware” y tras “value(número)=” añadiremos el symbol rate que<br />

corresponda :<br />

[nombre-firmware]<br />

value00=<br />

value01=22000<br />

value02=27500<br />

value03=<br />

value04=<br />

value05=<br />

value06=<br />

value07=<br />

value08=<br />

value09=<br />

value0A=<br />

value0B=<br />

value0C=<br />

value0D=<br />

value0E=<br />

value0F=<br />

Como se puede ver, los valores no usados los tenemos que dejar en blanco.<br />

Cualquier cambio en este recuadro se efectuará cuando se guarde el archivo o se envíe por el puerto<br />

paralelo.<br />

En el recuadro “Terminal” podréis activar la opción de añadir el checksum automáticamente y en el<br />

recuadro de “Idioma” se puede elegir el idioma con el que Pionero aparece en pantalla.<br />

En esta última opción se pueden añadir más idiomas con solo modificar el fichero “Pionero.ini”. El nombre<br />

del nuevo idioma deberá aparecer en alguna línea “Idioma(numero)=” libre. Por ejemplo, si queréis añadir<br />

el Italiano :<br />

Idioma0=Spanish<br />

Idioma1=English<br />

Idioma2=Italian<br />

Después hay que crear un fichero con el mismo nombre que hemos dado antes que debería tener una<br />

sección llamada de igual manera con todas las frases traducidas:<br />

[Italian]


traduc0=, codice:<br />

...<br />

Tened en cuenta que si la traducción de una frase o palabra es muy extensa, ésta superará los límites que<br />

tiene en Pionero y aparecerá recortada.<br />

En el recuadro del “Puerto Paralelo” se pueden modificar todos los parámetros del envío por el paralelo.<br />

Sería MUY aconsejable leer la documentación sobre la norma ieee1284 antes de hacer algún cambio.<br />

Esta es una pequeña explicación de este recuadro:<br />

1- Intervalo de Entrada/Salida : Conseguir esta información a través de llamadas API o leyendo el<br />

registro es bastante complicado, así que he añadido esta opción para seleccionarlo manualmente.<br />

Este intervalo es el que aparece en la sección de “recursos” del controlador del puerto paralelo,<br />

dentro del panel de control llamado “Sistema”. Si alguien conoce alguna manera de conseguir<br />

esta información en cualquier versión de Windows, le agradecería que me lo dijera.<br />

2- Retardo Busy : Tiempo en milisegundos que espera Pionero hasta que el decodificador le da<br />

permiso para enviar otro byte.<br />

3- Retardo Strobe : Cada vez que Pionero envía un byte debe activar el strobe un tiempo mínimo<br />

para que el decodificador se de cuenta que hay un dato nuevo en el puerto. Este valor tiene que<br />

ser de 0.5 μseg como mínimo y dado que Windows solo permite controlar diferencias de 1<br />

milisegundo, he tenido que controlar este tiempo tal y como lo hace el GGF1351: Con unos pasos<br />

de un bucle for.<br />

4- Retardo Negociación 1 : Retardo del evento 0 de las especificaciones del ECP.<br />

5- Retardo Negociación 2 : Tiempo de espera del evento 2 en las especificaciones del ECP.<br />

6- Retardo Negociación 3 : Retardo del evento 4 de las especificaciones del ECP.<br />

7- Retardo Negociación 4 : Tiempo de espera del evento 6 en las especificaciones del ECP.<br />

8- Retardo Apertura 1 y 2 : No he podido encontrar documentación sobre esta fase pero en el<br />

GGF1351 y el GGF1367 aparecen de esta manera.<br />

9- Retardo Clausura 1 : Tiempo de espera del evento 24 en las especificaciones del ECP.<br />

10- Retardo Clausura 2 : Tiempo de espera del evento 27 en las especificaciones del ECP.<br />

11- Retardo Comienzo Envío : Tras la apertura y la negociación se empieza a enviar el archivo, pero<br />

he incluido un retardo opcional porque he notado que el decodificador se comporta de distinta<br />

manera con un retardo de unos segundos.<br />

12- Retardo Verificación : Tras completar el envío del archivo hay que esperar un segundo para<br />

poder enviar el comando de verificación.<br />

13- Retardo entre bytes : Opcionalmente se puede hacer mas lento el envío del archivo introduciendo<br />

un retardo entre cada byte.<br />

Como se puede ver en las especificaciones ECP, los retardos de clausura 1 y 2 se usan en la fase de<br />

Terminación. Los programas GGF1351 y GGF1367 ejecutan esta fase antes y después de la trasmisión.<br />

Los retardos de los puntos 3, 4, 7 y 13 son pasos de un bucle for. El resto son milisegundos.<br />

Si hacéis demasiadas modificaciones y no sabéis volver atrás, pulsad el botón “Valores por Defecto”.<br />

En el recuadro “Jtag” se puede modificar la duración de cada pulso en el pin TCK, o sea, la duración de<br />

cada bit transmitido. Espero que con esto se solucionen los problemas de transmisión con el Jtag en los<br />

ordenadores más rápidos. Recordad que este retardo son pasos de un bucle for.<br />

En esta misma sección se seleccionan la dirección donde se envía la rutina Trap, el modelo y tipo de placa<br />

del decodificador, el tipo los integrados Flash y sus direcciones iniciales. Además también se puede<br />

desactivar la comprobación y verificación en la escritura en la Flash, junto con la opción de añadir<br />

automáticamente el checksum en los firmwares de los BCT-15xx, BCT-16xx y BCT-17xx.<br />

Si queréis añadir un nuevo tipo de integrado Flash solo hay que añadir su nombre en algún apartado<br />

“FlashIC(número)=” libre dentro de “Pionero.ini”. Por ejemplo, para añadir un integrado llamado “Nombre-<br />

Flash” :<br />

...<br />

FlashIC3=Toshiba TC58FVT400FT-10<br />

FlashIC4=Sanyo LE28DW1621T-80T<br />

FlashIC5=Nombre-Flash<br />

...


Después tendremos que crear un archivo de texto llamado “Nombre-Flash.ini” que incluya<br />

“[Nombre-Flash]” en la primera línea. En las siguientes líneas hay que introducir las direcciones base de<br />

cada bloque de ese integrado e indicando el número de bloques en el apartado “NumBlocks=”.<br />

Para saber la longitud total del integrado hay que incluir también la dirección base del bloque que vendría<br />

después del último bloque real. Se que esta explicación es algo confusa, pero si echáis un vistazo a<br />

alguno de los INI de un integrado Flash que vienen con Pionero, todo quedará claro.<br />

También se ha de indicar el tipo de borrado que se necesita ese integrado en el campo “ErasureMode=”.<br />

Aquí escribiremos el ultimo byte del comando JEDEC que utiliza ese integrado para borrar un bloque<br />

(64Kb) o un sector (1Kb). Algunos fabricantes hablan de sectores cuando en realidad quieren decir<br />

bloques, tened cuidado.<br />

Cada modelo y tipo de placa que se pueden seleccionar en Pionero se pueden modificar, añadir o borrar a<br />

través de ficheros INI. En el fichero “Pionero.ini” hay líneas que comienzan con “Model(número)=” donde<br />

se introducen los modelos y placas de algunos decodificadores. Si queréis añadir otro, solo hay que añadir<br />

sus modelo y placa en una sección “Model(número)=” libre.<br />

...<br />

Model11=BCT-1510, BNP-1354-D<br />

Model12=DBR-S120I, BNP-1354-H<br />

Model13=nombre-modelo, tipo-de-placa<br />

Model14=<br />

...<br />

Luego tendríamos que crear un archivo INI llamado “nombre-modelo, tipo-de-placa.ini” que tuviera<br />

“[nombre-modelo, tipo-de-placa]” en la primera línea. Después hay que añadir estas cuatro líneas mas :<br />

Flash1Start=7FE00000<br />

Flash1Type=2<br />

Flash2Start=60000000<br />

Flash2Type=0<br />

En “Flash1Start” indicaremos la dirección en hexadecimal del integrado del software interactivo y en<br />

“Flash2Start” la dirección del integrado con la lista de canales. En “Flash1Type” indicaremos el tipo de<br />

flash que se usa para el software interactivo. Para ello se indica el número que hay en la sección<br />

“FlashIC(número)=”. Por ejemplo, para seleccionar “Toshiba TC58FVT400FT-10” como integrado con la<br />

lista de canales, tendremos que introducir :<br />

Flash2Type=3<br />

Debajo de los tipos de integrados flash aparecen estas otras líneas:<br />

FirmwareAddress=7FE00000<br />

ChannelListAddress=7FF80000<br />

TrapAddress=C0010000<br />

CombinedICs=False<br />

En “FirmwareAddress” indicaremos la dirección inicial donde ese decodificador almacena el firmware y en<br />

“ChannelListAddress” la dirección con la lista de canales. En “TrapAddress” aparece la dirección donde se<br />

enviará la rutina trap y en “CombinedICs” se especifica si ese decodificador usa dos integrados como si<br />

fuera uno. Esta última opción solo debería estar a “True” en los Philips.<br />

En el recuadro “Imagen” se puede cambiar la calidad de la imagen JPG, el tamaño de la imagen en la<br />

memoria del decodificador y el formato que se desea obtener al final.


NOTAS FINALES:<br />

Este programa lo he creado con el simple propósito de experimentar y aprender, gracias a los<br />

conocimientos que han aportado multitud de personas en Internet. Con ello quiero decir que el verdadero<br />

autor de este programa somos TODOS y por eso doy las fuentes del programa.<br />

¡Por favor, no distribuyáis este programa junto a ficheros de firmware!<br />

Se recuerda que es ILEGAL ver canales de pago sin estar abonado. El autor de este programa<br />

no se hace responsable del posible uso de fraudulento que tenga el usuario de tarjetas o<br />

firmwares emuladores. Se recuerda también que este programa está destinado a ser usado<br />

únicamente en decodificadores que sean propiedad del usuario.<br />

¡¡¡¡ No me hago responsable de ningún perjuicio si alguien tiene problemas, así que tened en<br />

cuenta que he creado este programa para experimentar !!!!<br />

Un saludo<br />

Sa1vador

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!