Mudanças entre as edições de "GC150ATA"
(Criou página com '== descrição geral == Display VGA SYS-GC150ATA == CPU == MYSON mtv312mv64 - variante de 8051 Datasheet em: www.telemaster.ru/minitv/pdf/MTV312MV64.pdf == chip de vídeo ...') |
|||
Linha 2: | Linha 2: | ||
Display VGA SYS-GC150ATA |
Display VGA SYS-GC150ATA |
||
− | == |
+ | == Principais componentes == |
+ | === CPU === |
||
MYSON mtv312mv64 - variante de 8051 |
MYSON mtv312mv64 - variante de 8051 |
||
Linha 8: | Linha 9: | ||
Datasheet em: www.telemaster.ru/minitv/pdf/MTV312MV64.pdf |
Datasheet em: www.telemaster.ru/minitv/pdf/MTV312MV64.pdf |
||
− | == chip de vídeo == |
+ | === chip de vídeo === |
Controlador GENESIS gmZAN1 |
Controlador GENESIS gmZAN1 |
||
Datasheet em: http://www.datasheetarchive.com/dlmain/Datasheets-312/182051.pdf |
Datasheet em: http://www.datasheetarchive.com/dlmain/Datasheets-312/182051.pdf |
||
− | == EPROM == |
+ | === EPROM === |
Memória EPROM serial (I2C) ATMEL 24C21 |
Memória EPROM serial (I2C) ATMEL 24C21 |
||
Datasheet em: http://www.datasheetcatalog.com/datasheets_pdf/2/4/C/2/24C21.shtml |
Datasheet em: http://www.datasheetcatalog.com/datasheets_pdf/2/4/C/2/24C21.shtml |
||
+ | |||
+ | == Estratégias de Engenharia Reversa == |
||
+ | |||
+ | === Dump de fw === |
||
+ | |||
+ | ==== Via I2C ==== |
||
+ | |||
+ | A placa mãe tem um conector de 4 vias com alabel P303. Os sinais são: |
||
+ | |||
+ | * VCC (5V) |
||
+ | * SCL |
||
+ | * SDA |
||
+ | * GND |
||
+ | |||
+ | As duas vias do barramento '''i²c''' estão ligadas aos pinos HSCL e HSDA do 8051. O datasheet descreve o procedimento para apagar a memória flash por meio da interface I2C, e diz que o slave address é especificado pelo firmware por meio de uma escrita ao SFR (special funciona register) ISPSLV (In-System Programming Slave Address) |
||
+ | |||
+ | <quote> |
||
+ | After Power On/Reset, The MTV312M runs the original Program Code. Once the S/W detects an ISP |
||
+ | request (by key or IIC), S/W can accept the request following the steps below: |
||
+ | |||
+ | # Clear watchdog to prevent reset during ISP period. |
||
+ | # Disable all interrupt to prevent CPU wake-up. |
||
+ | # Write IIC address of ISP slave to ISPSLV for communication. |
||
+ | # Write 93h to ISP enable register (ISPEN) to enable ISP. |
||
+ | # Enter 8051 idle mode. |
||
+ | </quote> |
||
+ | |||
+ | Como não temos acesso ao firmware (ainda) não temos como saber qual é o endereço usado. Então resolvi tentar todos! De acordo com a descrição do protocolo de programação da Flash, são 6 bits de endereços possíveis (apesar de i2c permitir 7 bits, um deles - o menos significativo - é usado pra indicar se é acesso de comando ou acesso de dado). |
||
+ | |||
+ | ===== Usando o BusPirate ===== |
||
+ | Preciso achar o meu que eu perdi ou comprar um novo. |
||
+ | |||
+ | O legal é que dá pra fazer uns scripts pra automatizar o sniffer... |
||
+ | |||
+ | ===== Usando o USBTinyISP ===== |
||
+ | Precisaria modificar o dispositivo pra se comunicar por i2c também. Ele é projetado pra falar SPI |
||
+ | |||
+ | ===== Usando a porta VGA ===== |
||
+ | Isso é genial. Tentei, mas ainda não rolou. |
||
+ | |||
+ | ===== Usando algum outro bridge USB->I2C ===== |
||
+ | Preciso comprar um desses pra tentar. |
||
+ | |||
+ | ==== Via Soquete PLCC ==== |
||
+ | |||
+ | Desoldar o chip, conectá-lo a um conversor PLCC→DIP e utilizar o TL866CS para fazer o dump. |
||
+ | |||
+ | '''CONTRAS:''' Procedimento invasivo. Ter que soldar um soquete no lugar, e depois ter que remover/reinserir toda vez que for atualizar o firmware. Pode danificar o componente pelo esforço mecânico. |
Edição das 23h38min de 8 de julho de 2014
descrição geral
Display VGA SYS-GC150ATA
Principais componentes
CPU
MYSON mtv312mv64 - variante de 8051
Datasheet em: www.telemaster.ru/minitv/pdf/MTV312MV64.pdf
chip de vídeo
Controlador GENESIS gmZAN1
Datasheet em: http://www.datasheetarchive.com/dlmain/Datasheets-312/182051.pdf
EPROM
Memória EPROM serial (I2C) ATMEL 24C21
Datasheet em: http://www.datasheetcatalog.com/datasheets_pdf/2/4/C/2/24C21.shtml
Estratégias de Engenharia Reversa
Dump de fw
Via I2C
A placa mãe tem um conector de 4 vias com alabel P303. Os sinais são:
- VCC (5V)
- SCL
- SDA
- GND
As duas vias do barramento i²c estão ligadas aos pinos HSCL e HSDA do 8051. O datasheet descreve o procedimento para apagar a memória flash por meio da interface I2C, e diz que o slave address é especificado pelo firmware por meio de uma escrita ao SFR (special funciona register) ISPSLV (In-System Programming Slave Address)
<quote> After Power On/Reset, The MTV312M runs the original Program Code. Once the S/W detects an ISP request (by key or IIC), S/W can accept the request following the steps below:
- Clear watchdog to prevent reset during ISP period.
- Disable all interrupt to prevent CPU wake-up.
- Write IIC address of ISP slave to ISPSLV for communication.
- Write 93h to ISP enable register (ISPEN) to enable ISP.
- Enter 8051 idle mode.
</quote>
Como não temos acesso ao firmware (ainda) não temos como saber qual é o endereço usado. Então resolvi tentar todos! De acordo com a descrição do protocolo de programação da Flash, são 6 bits de endereços possíveis (apesar de i2c permitir 7 bits, um deles - o menos significativo - é usado pra indicar se é acesso de comando ou acesso de dado).
Usando o BusPirate
Preciso achar o meu que eu perdi ou comprar um novo.
O legal é que dá pra fazer uns scripts pra automatizar o sniffer...
Usando o USBTinyISP
Precisaria modificar o dispositivo pra se comunicar por i2c também. Ele é projetado pra falar SPI
Usando a porta VGA
Isso é genial. Tentei, mas ainda não rolou.
Usando algum outro bridge USB->I2C
Preciso comprar um desses pra tentar.
Via Soquete PLCC
Desoldar o chip, conectá-lo a um conversor PLCC→DIP e utilizar o TL866CS para fazer o dump.
CONTRAS: Procedimento invasivo. Ter que soldar um soquete no lugar, e depois ter que remover/reinserir toda vez que for atualizar o firmware. Pode danificar o componente pelo esforço mecânico.