sexta-feira, 3 de agosto de 2012

Problema com Comando Tracer

Eu tenho adaptados jogos com som para a interface Explorer, sendo que desta vez estava trabalhando no Commando Tracer. Parecia que ia ser fácil, pois era um carregador baseado simplesmente em blocos headerless

Consegui em pouco tempo, no emulador Fuse, transferir os arquivos para o disco virtual TRD. Parecia que carregava normalmente no emulador e rodava perfeitamente. O problema surgiu quando transferi a imagem TRD para um disquete real e coloquei no meu TK90X. Quando se perda uma vida, a tela é corrompida e o computador fica travado. 


Testei várias vezes, uma vez desabilitando a captura da faixa de endereço de ROM pela interface Beta em 15360-15615, outra vez chaveando a ROM, e assim por diante. Porém nada adiantou. 

Resolvi rodar no emulador SpecEmu, na versão com a interface de drive padrão Beta 48 CBI-95 e Multiface 1, mas não apresentava o problema detectado no TK90X real. Como última medida, voltei ao Fuse, mas desta vez em modo Spectrum 48K (NTSC).


Bingo! Travou da mesma forma que o TK90X. No modo NTSC a frequência de interrupção é 60 Hz, semelhante ao computador brasileiro (na Europa é 50 Hz). Portanto o intervalo de tempo entre uma interrupção e outra é menor, o que pode causar problemas quando a temporização for crítica.

Eu já vi demos que não funcionam por este mesmo motivo, mas foi a primeira vez que encontro um jogo com este problema. E, pior, este é um dos jogos desta lista que funciona no Spectrum 48 com som para PSG AY-3-8912. Não faço ideia se é possível fazer modificações para que este jogo funcione no TK90X, mas por enquanto é incompatível.

Mesmo assim, coloco à disposição a adaptação para o Beta 48 que pode ser baixada aqui.  Arquivos em formato TAP ou TZX podem ser baixados do World of Spectrum. Seria interessante que mais usuários testassem Comando Tracer em seu equipamento e relatassem os resultados.

5 comentários:

  1. Rodei pelos arquivos da Beta que vc disponibilizou. Aconteceu exatamente igual, travou após perder uma vida.

    Pena que não tem modo NTSC no SpecEmu, deixaria o emulador muito mais realista.

    ResponderExcluir
    Respostas
    1. José Roberto, foi você quem contatou o autor do SpecEmu para incluir Beta 48 e M1 na emulação? Seria possível pedir a ele para incluir o modo NTSC (60 Hz)?

      Por outro lado o Einar está tentando determinar os parâmetros de tempo do TK90X. Se os resultados forem conclusivos, poderiam ser incorporados no emulador.

      Excluir
  2. Flávio, desde 2010 não tive mais contato. De todo modo, posso tentar :-)

    Aproveitando o recente contato com o autor do X128, eu fiz a ele essa questão e, relatei o problema do jogo também. Copiei a resposta lá no fórum, junto ao seu post inicial.

    ResponderExcluir
  3. Flávio, no WOS tem um tópico sobre os teste do BIFROST* e o Woody lançou uma nova versão do SpecEmu, com base nos testes que foram feitos. Eu rodei o jogo e agora trava após perder uma vida :-)

    ResponderExcluir
    Respostas
    1. Nunca pensei que iria ficar feliz em saber que um programa travou. :-)

      Valeu pelo informe!

      Excluir

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