Disassembly do UniLoader
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








.