sexta-feira, 31 de outubro de 2014

Willy The Wasp 2

Desta vez Yerzmyey escreveu-me para um assunto que nada tem a ver com chipmusic


Ele estava tentando converter o jogo Willy The Wasp 2 para rodar num computador real com interface Beta. Entretanto não estava conseguindo fazer com que funcione porque o loader parava no meio. A primeira vista, pareceu-me problema de falta de memória que solucionei com técnicas descritas anteriormente nesta postagem. Enviei o arquivo TRD pensando estar tudo resolvido.


Logo em seguida o Yerzmyey deu retorno dizendo que não conseguia sair da tela acima, do menu de seleção entre joystick e teclado. Outra dica que ele tinha me dado é que a linha 15 do BASIC parecia ser a fonte do problema. Eu tinha esquecido que não estava conseguindo entrar no jogo pressionando J ou K, mas somente quando apertava com a tecla shift. Então fiz a suposição de que o jogo estava lendo o teclado em modo de letras maiúsculas. A referida linha de programa seria:
15 POKE 23606,96: POKE 23607,233: POKE 23658,8: POKE 23624,0: POKE 23739,111
Os POKEs para 23606/23607 define um conjunto de caracteres diferente ao da ROM, 23624 define os atributos de cores da borda e das linhas inferiores da tela e 23739 é para evitar que o carregamento da fita corrompa a tela (portanto dispensável para a Beta). Eu não estava me lembrando da finalidade do POKE 23658 no momento, mas depois vi que era para colocar o cursor em modo C (letras maiúsculas). O problema originou-se por eu ter apagado os POKEs em 23653 e 23739 que tinha julgado desnecessários.

No final, o loader ficou assim:
   5 POKE s,z: BORDER z: POKE k,z: CLEAR c: PRINT #NOT PI;"DISKED BY YERZMYEY/HOOY-PROGRAM AND TK90X FAN": PAUSE CODE "P": CLS
  10 POKE VAL "23606",VAL "96": POKE VAL "23607",VAL "233": POKE VAL "23658",VAL "8": LET d=VAL"15363+256*(PEEK 15363<>195)"
  20 RANDOMIZE USR d: REM : LOAD "WTW2A"CODE
  30 RANDOMIZE USR VAL "5e4": POKE VAL "23388",VAL "22": OUT VAL "32765",VAL "22": RANDOMIZE USR d: REM : LOAD "WTW2B"CODE
  40 RANDOMIZE USR VAL "5e4": POKE VAL "23388",VAL "16": OUT VAL
 "32765",VAL "16": RANDOMIZE USR d: REM : LOAD "WTWD"CODE
  50 RANDOMIZE USR VAL "61900"
Eu joguei só um pouquinho, WTW2 é bastante rápido e difícil. Suas telas são extremamente coloridos, coisa pouco comum no TK90X, e lembra um pouco o Rainbow Islands. Possui também música e som para a Explorer. Outro requisito é que deve haver 128K de RAM, portanto para rodar no TK90X, é necessário conectar a TKMEM-128.


Para baixar o arquivo Hobeta para interface Beta 48/128, clique neste link. O arquivo TRD encontra-se neste site.

3 comentários:

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