Curiosidades Técnicas:
Curiosamente, esta adaptação foi bastante simples. A parte
mais difícil (como na maioria dos casos) foi compreender o carregador
original do jogo, para poder reproduzir suas ações em disco.
No caso específico, para ler a fita o jogo simplesmente chamava o
endereço 00E1h da BIOS; como também é comum, ele ocupa
a RAM toda e, portanto, precisava chavear slots. O problema foi meio que
encontrar esta rotina, já que o jogo a construía dinamicamente na RAM,
usando sequencias de LD DE,mmnn / PUSH DE.
Acabei encontrando por acaso, tentando entender o que faziam aqueles dados
que, após colocados em um endereço maluco da RAM (FF91h) eram
executados.
Em geral, os jogos adaptados diferem um pouco em colorização. Entretanto,
o Altered Beast difere mais. Os jogos usuais são adaptados de uma forma
um pouco mais criteriosa com a conversão de cores. No Altered Beast algumas
cores simplesmente sumiram, mesmo que não houvesse qualquer razão
para isso. Por exemplo: no Spectrum, a primeira fase tem as ruínas do
cenário em cinza e as rochas que sobem em branco. No MSX é tudo
branco.
Este tipo de "perda" de cor está espalhado pelo jogo todo,
não apenas na primeira fase. A razão para que isso tenha sido
feito é desconhecida para mim e não é identificável
pelo código.
Possível, sim. Se vale a pena, não. Mas por quê? Porque, ao
contrário do usual, em que os dados do jogo de spectrum são preservados
e a conversão é feita "on-the-fly", ao jogar os dados na VRAM,
no Altered Beast os dados foram convertidos estaticamente, ao gerar os códigos
de MSX. Assim, todos os "detalhes" de cor foram perdidos.
Adicionalmente, não é possível recuperar os dados do Spectrum
sem muito esforço (i.e.: refazer a conversão total dos gráficos),
porque a programação da parte gráfica foi totalmente refeita
para o MSX.
Altered Beast é um jogo pesado, muito intensivo na CPU e no display de vídeo. Mesmo com as conversões estáticas - o que acelera bem o jogo - no MSX a 3.57MHz ele ainda fica substancialmente mais lento que no Spectrum (o velho problema dos OUTs pro VDP e do Wait State adicional nas instruções do Z80 existente no MSX).
Quando o jogo é executado em um Spectrum 48k, nenhuma música é
tocada, o jogo fica mudo, mudo. Entretanto, em um Spectrum 128, a situação
muda: há uma música em cada fase.
No MSX, aparentemente, usaram o espaço das músicas no bloco das fases com
códigos de adaptação e moveram a música para outro canto,
em uma parte que não é recarregada a cada fase, mantendo assim a mesma
música o jogo todo.
Mais uma vez, possível... é. Mas não vale a pena. O replayer de áudio
está bastante modificado (aparentemente) no MSX, e não consegui achar pareamento
entre os dados de áudio do Spectrum e do MSX. Na realidade, sequer conseguir encontrar
exatamente onde estão os dados de música do MSX, pois estão programados de
uma forma que eu nunca vi antes num jogo.
Com algum esforço seria possível desassemblar totalmente o replayer e tentar
compreender seu funcionamento e localizar os dados; entretanto, o trabalho seria bastante grande
para um jogo que, apesar de interessante, não vale este esforço todo, na minha opinião.
Apesar da conversão ter sido extremamente criteriosa com a temporização dos OUTs para o VDP e PSG, ela não foi tão criteriosa com relação aos INs de leitura do VDP. Os INs do VDP do MSX1 precisam de um delay ainda maior que os OUTs, e foi necessário aumentar o delay naquele pedaço específico de código.
A palheta é modificada em MSX2 ou superiores; a palheta usada faz com que, nos emuladores, as cores fiquem esmaecidas. Entretanto, isso ocorre porque as cores foram ajustadas para que fiquem bem em um monitor RGB de MSX ou uma TV, não nos emuladores.
Curiosidades Não-Técnicas:
Curiosamente, quase não ouvi músicas no desenvolvimento desta adaptação. Quando ouvia, em geral era o tema do próprio jogo, tocado pelo PSG.
Durante várias das tardes de desenvolvimento (quando passo em casa entre um trabalho e outro) o alimento foram esfihas e kibes do Habbib's.
Pepsi Light!
01/05/2008
# Release 1.0.2: Small bug on loading routine corrected.
11/26/2007
# Section "On the Media" updated.
11/14/2007
# Download sections added.
11/13/2007
# ZX Spectrum and Atari ST (same as C64) game images added.
# Progress section added.
# Music section added.
# Several other sections added.