Modelo de temporização do TK90X em 60 Hz
Eletrônica

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 que, além de ser o que nós rotineiramente usamos, para 50 Hz seria necessário modificar o programa de teste.


A principal unidade de tempo do Z80 é o seu clock, cuja frequência nominal é de 3,575611 MHz e o período (T) é de 279,6725 ns. Entretanto a ULA usa o dobro desta frequência na geração de vídeo, isto é, 7,151222 MHz. Portanto, a duração de cada pixel é de ½T ou 139,8362 ns. 

O tempo de duração de um quadro (que inclui a tela visível e a parte que não é mostrada) é de 59736 T que corresponde a 16,70652 ms ou 59,85689 Hz (um pouco abaixo de 60 Hz). Nesta análise, considerou-se como tempo inicial (0 T) o início da rotina de interrupção mascarável, pois as medições foram feitas dessa forma.

Cada quadro é composto por 262 linhas com duração de 228 T (63,76533 μs ou 15,68250 kHz) cada. Numerando as linhas de 0 a 261, podemos classificá-las em:
  • 0-22: 23 linhas invisíveis superiores (0-5243 T);
  • 23-37: 15 linhas da borda superior (5244-8663 T);
  • 38-229: 192 linhas da tela principal (8664-52439 T); 
  • 230-251: 22 linhas da borda inferior (52440-57455 T);
  • 252-261: 10 linhas invisíveis inferiores (57456-59735 T).
O tempo de uma linha pode ser dividido em:
  • 0-23 T: 24 T ou 48 pixels da borda direita; 
  • 24-75 T: 52 T invisíveis, que incluem sincronização e retraço; 
  • 76-99 T: 24 T ou 48 pixels da borda esquerda; 
  • 100-228 T: 128 T ou 256 pixels da tela principal. 
Pode parecer estranha a exibição da linha começar pela borda direita da linha imediatamente acima e ser terminada com a tela principal, porém isto ocorre porque o tempo 0 foi definido, de forma arbitrária, no início da interrupção. Não existe a priori um início ou um fim na sequência de geração de vídeo, pois é um ciclo que se repete indefinidamente; sendo assim, poder-se-ia escolher qualquer ponto como sendo o começo da geração de um quadro.
Assim, se o tempo inicial for redefinido como 5320 T após início da rotina de interrupção, as 262 linhas do quadro passam a ser:
e o tempo da uma linha seria dividido em: 
 Acredito ser esta segunda abordagem mais intuitiva. A temporização horizontal e as linhas verticais estão sumarizados na figura:





loading...

- Temporização De Vídeo Da Ula E Do Clone (60 Hz)
Eu tinha feito medições de temporizações de vídeo do TK90X que, entre outras coisas, resultou em parâmetros para que Rotatrix e Bifrost* pudessem funcionar no computador brasileiro. Como estou testando o clone de ULA do Fábio Belavenuto, resolvi...

- 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...

- Temporização De Vídeo Do Tk90x (parte 5)
Desta vez estou trazendo a mensagem de Einar Saukas, que interpreta os resultados que divulguei na postagem passada. - As medições próximas à borda (medida 4 do lado esquerdo, medidas 5 e 6 do lado direito) ficam bastante distorcidas pela contenção...

- Temporização De Vídeo Do Tk90x (parte 4)
Continuando com a série de determinação de temporização do vídeo do TK90X através da cor da borda (BORDER), nesta postagem estou usando o programa modificado pelo Einar Saukas para maior precisão. Foram colhidos 11 dados de tempos no meu TK90X...

- Temporização De Vídeo Do Tk90x (parte 1)
Programas como Rotatrix, que dependem fortemente de sincronização com o vídeo, são extremamente sensíveis às diferenças de temporizações entre o TK90X e os diferentes modelos de ZX Spectrum. Enquanto o computador britânico tem as suas temporizações...



Eletrônica








.