quinta-feira, 27 de novembro de 2014

48K (Hooy-Program)

Eis que seria uma tranquila reconversão para compatibilizar o demo com a Beta 128, mas...


Incompatibilidade com Beta 128

Por incrível que pareça, descobri que não bastaria mudar a instrução USR 15363 por USR 15619, como tenho feito nas outras readaptações. Na parte final, a música Explorer soava bastante estranha no emulador Fuse.


No TK90X, tanto no emulador Specemu como no computador real, nada disso acontecia. Para confundir mais, carregando da fita no Fuse também não dava problemas, só quando carregava da Beta 128. Foi difícil encontrar a causa desta incompatibilidade inesperada, confesso que fiquei um bom tempo testando várias hipóteses, sem sucesso.

No final, a causa era que a área livre da memória BASIC (entre o final da pilha da calculadora e o início da pilha do Z80) não estava limpa. Incluí a seguinte linha no carregador BASIC com POKE para zerar este espaço:

  30 FOR n=VAL "PEEK 23651+256*PEEK 23652+10" TO 24500: POKE n,NOT PI: NEXT n: RANDOMIZE USR VAL "25842"

Feito isto, a música final do demo soava como deveria. Mas porque o problema não se manifesta na Beta 48 ou na fita? Como já expliquei numa postagem anterior, a Beta 128 cria durante operação de disco um espaço de 256 bytes como buffer para armazenar um setor e, neste processo, desloca os dados do BASIC na RAM. Depois que é feita a operação de leitura ou escrita, os dados deslocados retomam seu lugar original, porém não se apagam os endereços superiores que foram alterados. Como a Beta 48 ou a fita não usam este mecanismo, estão imunes ao problema.

Comentário sobre o demo

Este demo tem uma apresentação visual bastante caprichada. Na parte principal, há uma repetição de efeitos com animação senoidal, efeito plasma com atributos de cores e animações de pixels com cores oscilantes.



A parte final é uma tela estática com música digital.


As duas músicas de Yerzmyey são primorosas, como sempre.

Nova versão para Beta

Para baixar os arquivos Hobeta que, finalmente agora rodam na Beta 128 sem incompatibilidades, clique neste link.

Nenhum comentário:

Postar um comentário

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