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