quinta-feira, 10 de maio de 2012

Temporização de vídeo do TK90X (interlúdio)

Einar Saukas conseguiu aperfeiçoar meu programa de medição de temporização do vídeo do TK90X e disponibilizou o arquivo e o código fonte. Não pude testar por estar ocupado em um outro projeto (ainda é segredo...), mas espero em breve retomar este. Convido a todos a testarem a nova versão do programa num TK  real e relatarem seus resultados.

Vou postar as instruções passadas pelo próprio Einar, que estão bem detalhados. Obrigado, Einar, por este importantíssima contribuição.

Olá Flávio,

Uma boa notícia: descobri como adaptar seu programa de teste de temporização para ter precisão perfeita!

Tomei a liberdade de fazer essas alterações no seu programa para testá-lo, espero que você não se incomode com isso. Essa nova versão (incluindo código fonte e arquivo TZX) está disponível em:

http://www.mediafire.com/?zoz8wwzx8b93cst

Para usá-lo, deve-se fazer o seguinte:

1.) Em primeiro lugar, enquanto a mudança de cores ainda está na borda superior, usar as teclas O e P para "calibrar" um parâmetro que chamei de "delay mod 4". Esse parâmetro varia de 0 a 3, sendo que apenas um desses valores evita que a mudança de cor da borda fique piscando. Por exemplo, no ZXSpin 0.7 e no SpecEmu usando a configuração "Spectrum 48K" sem "late timing", esse valor é 3 (no SpecEmu, se mudarmos para "late timing" o valor que não pisca passa a ser zero).

2.) Em seguida, não mexer mais no parâmetro acima e fazer todas as medições usando apenas as teclas QWE e ASD. Note que, quando as cores da borda aproximam-se da tela, elas podem piscar devido a contenção de memória, mesmo que o parâmetro "delay mod 4" tenha sido ajustado corretamente. Por isso é importante que esse parâmetro tenha sido previamente ajustado na borda superior, longe da tela.

Com esse novo parâmetro, eu repeti todos os testes do seu blog para o Spectrum 48K usando SpecEmu e ZXSpin, obtendo os mesmos resultados em todos os casos:

* Teste 1: zona oculta do topo da tela
Min Delay=3567

* Teste 2: última posição da borda acima da tela principal
Min Delay=14267

* Teste 3: primeira posição visível à esquerda da tela.
Min Delay=14319

* Teste 4: posição à esquerda da área principal do vídeo
Min Delay=14339

* Teste 5: posição à esquerda da área principal do vídeo
Min Delay=14463 ou 14467

* Teste 6: última posição à direita
Min Delay=14487

O resultado 4 indica um delay mínimo de 14339 e máximo de 14342, o que corresponde perfeitamente à documentação do ZX-Spectrum 48K.

Entretanto, no teste 5 existem 2 valores que "caem" exatamente na mesma posição, devido a atrasos causados pela contenção. Por causa disso, infelizmente os valores na borda direita ficam todos distorcidos, inclusive o valor do teste 6 também não é confiável. O único jeito confiável seria fazer essas medições uma linha acima ou abaixo da tela!

Infelizmente meu TK90X de verdade não está mais operacional, por isso minhas medições foram só nos emuladores mesmo. Assim são vocês que vão ficar com toda a diversão... De qualquer forma seria legal se mais pessoas fizessem essas medições para comparação, para sabermos se todos os TK90X têm os mesmos tempos e se são os mesmos do TK95.

Além disso, sugiro 4 novas medições:

* Teste 7: primeira posição visível à esquerda, na linha seguinte à tela

* Teste 8: posição à esquerda da área do vídeo, na linha seguinte à tela

* Teste 9: primeira posição à direita do vídeo, na linha seguinte à tela

* Teste 10: última posição à direita do vídeo, na linha seguinte à tela

Ou seja, seriam exatamente repetições dos testes 3, 4, 5 e 6 do Flávio, porém na linha da borda que fica logo embaixo do final da tela. Eu gerei uma imagem de cada um desses testes para servir como base, caso seja útil:

http://www.mediafire.com/?7y02z60bp8ll2lw

Quem puder coletar essas medições no TK de verdade, por favor mande os resultados para a lista ou diretamente para o Flávio compilar os resultados no blog dele, afinal toda essa iniciativa de medição das temporizações é dele e eu estou aqui dando palpite "de penetra"! =:)

Um abraço,

Einar 

Nenhum comentário:

Postar um comentário

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.