sexta-feira, 5 de abril de 2013

Timing test

Já estou algum tempo testando as temporizações do TK90X para, entre outras coisas, subsidiar um emulador que tenha suporte ao computador brasileiro. No fórum do World of Spectrum foi-me sugerido pelo Patrik Rak para usar seu programa timing test para obter mais parâmetros.


O período de duração de quadro de vídeo (59736 T) é igual ao de outros testes anteriores, confirmando mais uma vez este valor.

No menu acima há 9 testes disponíveis, dos quais só não efetuei o último (teste 8) por se referir ao Spectrum 128K. As telas abaixo mostram os resultados obtidos nos testes 0 a 7:









Todas as telas acima originalmente são do TK90X; eu salvei-as no disco Beta com a Multiface 1, transferi para o meu PC e depois converti para PNG através do emulador Fuse. Eu poderia tentar tirar fotos do meu televisor, mas nem sempre dá bons resultados, por isso usei este procedimento mais trabalhoso.

Atualização: mais testes


Os testes acima foram feitos para temporização do ZX Spectrum. Einar sugeriu-me fazer os testes abaixo para pegar todo o ciclo de conteção no TK90X.

Estes testes começam a partir de 8690 T:









E os testes abaixo começam a parir 8850 T:









Foi ainda feito um teste para tempo anterior aos realizados acima mas, como era esperado, não se observou contenção. Como nos tempos entre 0 a 8763 T não é gerado vídeo da tela principal, a qual iria requerer acesso da ULA à RAM, era esperado que não se observasse a contenção.

Espero que estes dados seja suficientes para criar uma emulação fiel do TK90X.

2 comentários:

  1. Fiquei curioso em saber se o último teste poderia ser feito com o TK com a TKMEM plugada nele...

    ResponderExcluir
    Respostas
    1. Pode fazer o teste (na verdade até fiz), mas o resultado é que não se detecta contenção alguma. Como na TKMEM a RAM não é ligada diretamente à ULA, não é sujeita à contenção. Neste quesito, a TKMEM é superior ao próprio Spectrum 128. ;-)

      Excluir

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