Mais investigações sobre o "efeito Rodland"
Eletrônica

Mais investigações sobre o "efeito Rodland"


Fiz mais algumas investigações sobre o bug detectado na ULA clonada.


Na tela acima, observa-se uma linha vertical clara logo à direita da fadinha ruiva (fica mais visível sob ampliação). Deixando todos os atributos em branco e preto (PAPER 7 e INK 0), o resultado é:


A parte superior da tela, onde as fadas estão desenhadas, o fundo é feito basicamente com a cor do INK, enquanto na parte inferior, com uma mensagem, o fundo é da cor do PAPER. O que se pode notar é que a referida linha é vista ao lado da parte em que o INK (preto) predomina.

Analisando agora os atributos, na figura abaixo isolou-se somente as cores do PAPER:


Se olhar a primeira figura com atenção, pode-se notar que a linha espúria tem partes brancas e vermelha. As cores dessa linha parecem se encaixar com os valores de PAPER do lado direito da tela acima.

Se repetirmos a análise para INK, verifica-se que no lado direito só há cor preta. Não parece capaz de interferir na cor da borda.


Surge então uma hipótese: logo ao lado da extremidade direita da tela, no primeiro pixel da borda, é exibida a cor do atributo PAPER do quadro de 8×8 pixels imediatamente vizinho. Resta então testar a hipótese, que pode ser feito com o programa abaixo:

  10 DIM a$(704): FOR n=257 TO 512: LET a$(n)=CHR$ 143: NEXT n
  20 LET i=0: LET p=0: LET b=0: LET f=0: LET o=0
  30 CLS
  50 INK i: PAPER p: BRIGHT b: FLASH f: POKE 23624,PEEK 23693: OUT 254,o
  60 PRINT AT 0,0;a$
  70 PRINT #0;AT 0,0,,,, INK 9;AT 0,3;"ink=";i;" paper=";p
  80 LET i$=INKEY$: IF i$="" THEN GO TO 80
  90 IF i$="i" THEN LET i=i+1: IF i=8 THEN LET i=0
 100 IF i$="p" THEN LET p=p+1: IF p=8 THEN LET p=0
 110 IF i$="o" THEN LET o=o+1: IF o=8 THEN LET o=0
 120 IF i$="b" THEN LET b=NOT b
 130 IF i$="f" THEN LET f=NOT f
 140 BEEP .05,30: GO TO 50

O programa imprime um padrão na tela, sendo o terço central da tela com predomínio de INK e o restante de PAPER. A tecla 'i' muda o valor de INK, 'p' muda valor de PAPER, 'b' alterna o BRIGHT, 'f' alterna o FLASH e 'o' muda a cor da borda. Observando as várias combinações possíveis, parece mesmo que a linha reflete a cor do PAPER, mas que isto se torna visível com certas combinação de cores, devido ao contraste.

Para testar se a linha visível é o último pixel da tela ou o primeiro pixel da borda, fiz o seguinte programa:

  10 INPUT "ink=";i'"paper=";p
  20 INK i: PAPER p: BORDER i: CLS
  30 FOR n=255 TO 0 STEP -1: PAUSE 0: PLOT n,0: DRAW 0,175: NEXT n

Repetindo o teste várias vezes, concluí que a linha é formada pelos primeiros pixels da borda. Devo alertar que tem que dedicar muita atenção nas observações durante os testes, pois é fácil ser enganado por ilusão de ótica.

Como era esperado, ao repetir o teste com a ULA da Microdigital, nenhuma vez foi observado o "efeito Rodland".

Com base nos testes realizados, minha conclusão é que o clone da ULA exibe no primeiro pixel da borda direita, a cor do PAPER do último atributo da tela, ao invés da cor da borda (aquela definida por OUT 254,x). Espero que estes resultados ajudem o Fábio Belavenuto a encontrar uma forma de remover este bug.



loading...

- Transferindo Desenho Para Tk90x
Apresento uma forma de transferir desenho para o TK90X e fazer uma pequena animação.  Fonte: Kandi patternsAlém da Hatsune Miku, é possível encontrar vários outros padrões deste tipo neste site. Primeiro o modelo acima é impresso em tamanho...

- Efeito "rodland" Sanado
O bug do clone da ULA do TK90X foi enfim sanado: Clone da ULA debugada. Fonte: Fábio BelavenutoO efeito "Rodland" refere-se a um bug detectado pela primeira vez nesse jogo, em que o primeiro pixels da borda direita assumem a cor do fundo (PAPER) do...

- Modelo De Temporização Do Tk90x Em 60 Hz
Com os dados anteriormente coletados, apesar das incertezas das medidas, é possível propor um modelo de temporização para o TK90X. O que estarei expondo aqui é fortemente baseado no livro de Chris Smith. Estarei centrando a análise no modo 60 Hz...

- Rom E Porta 254 (parte 1)
Nas investigações sobre as ROMs do TK90X/95 promovidas por mim e Einar Saukas, com a ajuda de vários amigos, verificamos que o bit 7 da porta de entrada 254 pode interferir na seleção do idioma entre português e espanhol. O TK90X com a ROM mais...

- Dica: Programa Que Funciona Para Beta 48 E 128
Fonte: World of Spectrum As interfaces de drives Beta 48, comuns no Brasil, e Beta 128, amplamente adotadas no leste europeu possuem pontos de entrada para comandos do DOS em endereços diferentes.  Por exemplo, o programa BASIC para o Beta...



Eletrônica








.