Eletrônica
Disassembly do UniLoader
Em postagem anterior apresentei um vídeo que gravei, com o esquema de carregamento de fita e proteção UniLoader para o jogo do TK90X intitulado Ikari Warriors, da Elite Systems. Este esquema tem o diferencial de apresentar intermitência de borda multicolorida, ao invés dos tradicionais vermelho/ciano e azul/amarelo.
Desta vez fiz uma análise completa do UniLoader, que foi empregado em vários jogos como pode se ver nesta listagem do World of Spectrum.
A descrição pormenorizada da estrutura da fita e do carregamento é dada pelo documento IkariLoading.txt e a listagem disassembly, por IKARLoad.txt. Desta vez estou experimentando compartilhar arquivos através do Google Drive, se alguém tiver problemas para os visualizar, peço que me avise. Ainda estarei utilizando o 4 Shared também.
A rotina de carregamento é bem parecida com a da ROM do TK90X com poucas modificações, entre elas a que controla a cor da borda da tela exibida. O trecho a seguir mostra o acréscimo de código para alternar as cores em sequência:
LdEdSample:
65435 4 inc b ; Count each pass.
65436 c8 ret z ; Return carry reset & zero set if 'time-up'.
65437 3e 7f ld a,#7f ; Read EAR and bottom left row of keyboard
65439 db fe in a,(254)
;(SPACE key).
65441 1f rra ; Shift byte to right.
65442 a9 xor c ; Test the byte against the 'last edge-type'.
65443 e6 20 and #20
65445 28 f4 jr z,LdEdSample ; Jump back if it has not changed.
65447 79 ld a,c ; Change the 'last edge-type'.
65448 2f cpl
65449 4f ld c,a
; The following lines are different from ROM routine.
65450 f5 push af ; Save registers prior to be used.
65451 e5 push hl
65452 21 ff ff ld hl,BColor ; HL points to border color variable.
65455 34 inc (hl) ; Increment border color counter.
65456 7e ld a,(hl) ; Take value from variable, but keep
65457 e6 07 and #07 ;only the 3 least significant bits (color
65459 f6 08 or #08 ;
value)
and set bit 3 (MIC off).
65461 d3 fe out (254),a ; Send this value to ULA port.
65463 e1 pop hl ; Restore registers.
65464 f1 pop af
; End of lines that differ from ROM routine.
65465 37 scf ; Signal the successful search.
65466 c9 ret ; End of subroutine.
Agora só falta eu tentar simular o mesmo comportamento para carregar o jogo a partir de disco
Beta 48.
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 ...
-
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...
-
Disassembly Do Uniloader
Em postagem anterior apresentei um vídeo que gravei, com o esquema de carregamento de fita e proteção UniLoader para o jogo do TK90X intitulado Ikari Warriors, da Elite Systems. Este esquema tem o diferencial de apresentar intermitência de borda multicolorida,...
Eletrônica