Disassembly das ROMs
Eletrônica

Disassembly das ROMs


Einar Saukas está analisando os dump das ROMs de TK90X e TK95 e as diferenças entre elas estão sendo desvendadas.


A primeira ROM parece ter sido a 9128B como a minha, que está na foto acima (clique aqui para baixar o dump)  O seu disassembly revela:

04aa 112a3a ld de,$3a2a ; $3a2a possui mensagem "Ligue o gravador,
                        ;digite ENTER"
04ad 211e00 ld hl,$001e ; $3a2a+$001e possui mensagem "Conecte grabador,

                        ;digite ENTER"
04b0 1806   jr $04b8
04b2 119113 ld de,$1391 ; $1391 possui mensagens de erro em portugues
04b5 21dc24 ld hl,$24dc ; $1391+$24dc possui msg. de erro em espanhol
04b8 dbfe   in a,($fe)
04ba 17     rla
04bb d0     ret nc      ; bit 7 da porta de entrada $FE seleciona

                        ;portugues (0) ou espanhol (1)
04bc 19     add hl,de
04bd eb     ex de,hl    ; calcula soma, se for espanhol
04be c9     ret

A porta 254 ($fe ou #FE), empregada para ler o teclado e EAR do gravador, foi aproveitada pela Microdigital para definir o idioma das mensagens. Se o bit 7 for 0 seleciona-se o português e se for 1, o espanhol. Ficou claro o porquê do diodo D1 da placa do TK90X, que trazia incompatibilidade: se presente, o idioma seria português e se ausente, seria espanhol.

A segunda versão é a do Leonardo Suárez (clique aqui pra baixar o dump), cuja foto é:

Fonte: Leonardo Suárez

Uma coisa que me chamou a atenção é o uso de uma EPROM de 32 KB ao invés de 16 KB. Será que há 2 ROMs gravadas nela? Talvez uma com mensagens em português e outra em espanhol? O disassembly feito por Einar mostra:

04aa 112a3a ld de,$3a2a ; $3a2a possui mensagem "Ligue o gravador, 
                        ;digite ENTER"
04ad 211e00 ld hl,$001e ; $3a2a+$001e possui mensagem "Conecte grabador, 
                        ;digite ENTER"
04b0 1806   jr $04b8
04b2 119113 ld de,$1391 ; $1391 possui mensagens de erro em portugues
04b5 21dc24 ld hl,$24dc ; $1391+$24dc possui msg. de erro em espanhol
04b8 dbbf   in a,($bf)
04ba 17     rla
04bb 00     nop         ; valor 00(nop) para espanhol ou C9(ret) para 
                        ;portugues
04bc 19     add hl,de
04bd eb     ex de,hl    ; calcula soma, se for espanhol
04be c9     ret

A diferença é que ao invés de ler a porta 254, é feita a leitura da porta 191 ($bf) inexistente, e o valor é ignorado. O que determina o idioma é o byte em $04bb (1211) que, no caso da ROM do Leonardo é 0, que produz mensagens em espanhol (o TK90X dele é uruguaio).

Já o TK95 tem um disassembly muito semelhante à listagem acima, exceto que o byte em 1211 é 201 ($c9) que produz mensagens em português.

A área da ROM a partir de $04aa não é usada no ZX Spectrum, pois segundo Logan e O'Hara, é ocupada por uma rotina do ZX-81 que não foi removida quando o monitor BASIC foi reescrito.



loading...

- Dica Tv Electronia 20nt Chassis 11ak30
Defeito--Não liga. Led vermelho aceso. Ao tentar ligar, o led passa a verde mas, no               mesmo instante, o led volta para vermelho e a fonte da tv não arma.Valores         ...

- Dica Tvs Panasonic Tx-32pk25f Chassis Euro-4h
Defeito--Imagem a preto e branco ou com as cores alteradas com manchas como se o              TRC estivesse magnetizado. Foi regravada a eeprom mas não resultou. Em           ...

- Dica Tvs Panasonic Tx-25xd3e Chassis Euro 2m
Defeito--Este  tv estava em protecção, trazia o transístor de saída de linhas (2SD1577-               LB) em curto. Depois de o substituir, o tv arrancou apresentando o seguinte       ...

- Outra Rotina De Detecção De Ram 48/128k
Eu publiquei nesta postagem, uma rotina que faz a detecção no TK90X da configuração com ou sem a TKMEM-128 (128 ou 48K de RAM). Modifiquei-a e consegui fazer com que ficasse menor ainda (25 bytes).  Esta rotina testa se ocorre chaveamento entre...

- Thundercats V. 2 Para Basic 128
Mal acabei de lançar uma adaptação do Thundercats para Beta e TKMEM-128 e estou com a versão 2. A versão anterior tinha um problema: não consegue carregar a partir do BASIC 128, portanto tinha que dar um 'USR 0' antes. Na versão 2 não...



Eletrônica








.