domingo, 17 de junho de 2012

Typhoon 128 para Beta 48

Eu consegui adaptar a versão 128k do jogo Typhoon para a interface de drive Beta 48. Este jogo para TK90X tem música e efeitos sonoros para o Explorer. Existe uma versão para 48k também, o qual é multiload mas não tem som para o PSG, somente para a interface de 1 bit (beeper).


Neste caso particular, foi uma adaptação dupla. Primeiro, tive que transformar um jogo de carregamento único (para 128k) em carregamento múltiplo. Não era difícil, pois apesar de todo o jogo ser carregado de uma vez, o conteúdo de cada banco de RAM de 16kb estava armazenado em arquivos separados na fita. O que era bom é que cada fase ficava em bancos separados de RAM, assim bastava gravar cada parte em arquivos separados no disquete.

A segunda parte consistia em modificar o programa para que carregasse cada arquivo correspondente à determinada fase do disco. Como o espaço de memória estava restrita, escrevi uma rotina própria de carregamento de disco que dispensa os 112 bytes de variáveis do TRDOS. Testei no emulador SpecEmu do Woody (disponível no site do José Roberto) que tem um modo TK90X com CBI-95, até fazer conseguir funcionar. Parecia que tudo estava certo.

Entretanto as coisas nunca são tão fáceis assim. Quando fui rodar no meu TK90X, não funcionou. Quebrei bastante a cabeça, pois fazendo debug no emulador parecia que a lógica do programa não continha erro. Fiquei um bom tempo matutando e veio-me uma hipótese: talvez o problema estava no funcionamento real de um drive de disquete. A solução, encontrada meio na base da tentativa e erro, foi obrigar mover o cabeçote do drive em várias posições, antes de chegar ao destino final. Deu certo, mas não sei bem o motivo (talvez tenha a ver com o stepping rate do motor que move o cabeçote). 

O jogo adaptado pode ser baixado do Google Drive ou do 4 Shared. Eu não garanto que vá funcionar para todas as interfaces e drives, por isso peço retorno dos que tiverem oportunidade de experimentar rodar o programa. A adaptação que fiz teoricamente contempla os dois tipos de interfaces (CAS ou CBI), porém foi testada somente no IDS-91.

A propósito, se houver interesse, posso adaptar a versão 48k, para quem não tem a Explorer. 

3 comentários:

  1. Show, Flávio, parabéns! Vou testar no TK real, e na interface CAS. Você tá "profiça" nisso hein! Fantástico! :-D

    ResponderExcluir
    Respostas
    1. Valeu, Eduardo! Agradeço se puder me relatar seus testes. Não estou muito seguro sobre a adaptação, pois foi feita de uma forma totalmente nova.

      Excluir
  2. Flávio, fiz o teste na interface CAS, funcionou perfeitamente! Ficou ótimo! vou responder na lista TK90X com detalhes mais específicos, mas, posso dizer que a adaptação ficou perfeita! Parabéns! Agora vai rolar mais jogos 128 com AY p/ o TK? ;-) Grande abraço Flávio!

    ResponderExcluir

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