terça-feira, 24 de abril de 2012

Flying Shark: carregamento de fita Bleeploader

Como já afirmei anteriormente, prefiro carregar os programas e arquivos no TK90X a partir de disquetes. Existem algumas diferentes maneiras de se transferir programas de fitas ou imagem de fitas (TAP ou TZX) para o disquete.

As mais fáceis são na forma de snapshot, isto é, uma imagem de toda a RAM e dos registradores do Z80 no momento em que se "congela" o TK90X. Isto pode ser feito com o botão mágico da interface padrão Beta 48. Melhor ainda é criar um snapshot com a Multiface 1, pois os programas são comprimidos e ocupam menos espaço. O problema desta abordagem é que se perde totalmente o esquema de carregamento da fita que, em alguns casos, são bastante interessantes no áudio ou no visual. Nada mais chato do que a monótona tela azul (calma, é bem anterior a Janelas...) com a mensagem "M1 LOADING".


Por causa disto, prefiro adaptar os arquivos da fita para que sejam carregados do disco, mas tentando preservar de alguma forma os aspectos interessantes do carregamento original. Hoje estarei falando do esquema de carregamento Bleepload empregado pela Firebird.


No Flying Shark ocorre o carregamento da tela e depois do código de máquina. Em cada uma destas partes são carregados pequenos blocos (cerca de 250-270 bytes) cujo número, em hexadecimal, é exibido na tela. Cada bloco inicia com um tom piloto curto (borda vermelho/amarelo) seguido dos dados (borda azul/ciano). Se ocorrer algum erro, basta retroceder a fita alguns segundos e tentar novamente, ao contrário do carregamento normal em que se deve rebobinar a fita até o início. Este esquema de carregamento, semelhante ao do BBC Micro,  também é empregado por outros jogos cuja lista está presente aqui.

Na emulação do Bleeploader no Beta 48, a alternância de cores da borda não é uma tarefa simples (envolveria reescrever a rotina de carregamento de um setor) e por isso foi omitida. Já a indicação em hexadecimal da busca e do carregamento de blocos é relativamente fácil, desde que seja contado o número de setor (256 bytes) que está sendo carregado do disco.


A adaptação para o Beta 48 do Flying Shark pode ser baixada aqui baixada no 4 Shared (é necessário ter conta e fazer login). Outros jogos com carregamento Bleepload que adaptei estão presentes neste diretório.

Nenhum comentário:

Postar um comentário

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