quinta-feira, 12 de dezembro de 2019

Em Busca dos Tesouros


Nome: Em Busca dos Tesouros
Editora: Bitnamic Software
Autor: Tadeu Curinga da Silva
Ano de lançamento: 1986 / 2019
Género: Plataformas
Teclas: Não redefiníveis
Joystick: Cursor, ZXpand
Memória: ZX81
Número de jogadores: 1

Quem diria que em pleno 2019 continuariam a aparecer jogos para o ZX81, sistema que parecia defunto em 1986, mas que entrou agora numa segunda juventude? E este jogo até tem uma história muito curiosa e que se revelou uma autêntica epopeia, mas que mas que não resistimos a contar…

Em Busca dos Tesouros foi desenvolvido por Tadeu Curinga da Silva ao longo de dois anos, tendo sido lançado em 1986. O autor inspirou-se em Pitfall, sucesso do Atari 2600 (saiu uma versão em 1984 para o Zx Spectrum), tendo sido vendido exclusivamente pelo correio (em cassete ou somente a listagem com o código-fonte), pela primeira revista brasileira de microcomputadores, a Micro Sistemas. Ao lado encontra-se um artigo muito interessante que saiu no número 62 da revista (Novembro 1986).

Entretanto o jogo desapareceu de circulação, até ter sido recuperado por Kelly A. Murta (responsável também pela recuperação dos primeiros jogos para o ZX81 em Portugal, já disponibilizados em Planeta Sinclair), que digitou manualmente toda o código. Em 2006 o criador de Em Busca dos Tesouros foi contactado, tendo permitido a sua distribuição pela internet, tendo, além disso, cedido o caderno com o código-fonte original, completo, escrito à mão, que entretanto também já se encontra disponível pela comunidade.

Desde logo em Busca dos Tesouros destacou-se pela sua dimensão: com 16K, 313 diferentes ecrãs, 15 tipos de inimigos, possibilidade de uso de joystick, escrito 100% em assembler, não parecia sequer ser um lançamento para um computador tão escasso em memória como é o ZX81. Aliás, a própria dimensão do jogo fez com que ao contrário do que era habitual na revista Micro Sistemas, a listagem com o código-fonte não pudesse ser impressa.

Surge então agora uma versão de luxo pela recém-criada Bitnamic Software, dos nossos colegas Filipe Veiga e Marcus Garrett, dando enfim o tratamento que há muito este jogo merecia. Além disso, juntou-lhe a música exclusiva, da autoria de mais um nosso colega, Pedro Pimenta, originando um lançamento memorável.


Em Busca dos Tesouros assumimos a pele de um explorador, Kid K. Sador, quiçá inspirando-se nas aventuras de Indiana Jones, e que parte à procura dos valiosos tesouros perdidos da Terra T. Nebrosa (e é mesmo tenebrosa, podemos assegurar). E os problemas começam logo a partir do segundo ecrã, quando surgem buracos no piso. É óbvio aquilo que há a fazer: saltar. No entanto, ao longo do percurso haverá armadilhas menos óbvios, e por vezes até percursos alternativos, exigindo boa memória, mas acima de tudo muita intuição (decorar 313 ecrãs seria obra…), não esquecendo que a ganância é fatal.

De seguida os inimigos começam a aparecer. Alguns deles permanecem imóveis, e apenas temos que dar com o ponto exacto para conseguir saltar por cima deles (sim, é exigido “pixel perfect”), mas a grande maioria vai andando ao longo dos cenários, e mesmo sendo através de padrões regulares e por isso memorizáveis, não impede que ultrapassar alguns deles seja tremendamente complicado. Se algo temos a apontar a este jogo é mesmo o excessivo grau de dificuldade. Aliás, quando foi lançado, em 1986, a primeira pessoa a conseguir terminá-lo teria direito a um prémio monetário. Escusado será dizer que não houve vencedor que se acusasse.


Por esta altura já começam a perceber, mesmo aqueles que não experimentaram Em Busca dos Tesouros, o seu elevadíssimo grau de dificuldade. Agora, se juntarmos os obstáculos fixos, que exigem um timing de salto perfeito, com toda a panóplia de inimigos que vão surgindo, incluindo o próprio piso, que por vezes se vai movendo, vemos que chegar ao fim é tarefa praticamente impossível, e mesmo aqueles que o façam (possivelmente com a ajuda de vidas infinitas), irão demorar longas horas até o fazer. 

São muito poucos os momentos mortos, excluindo-se os easter eggs que surgem a cada 100 ecrãs, e um ou outro que o autor achou por bem deixar e que permite respirar um pouco, proporcionando um desafio frenético e difícil de imaginar numa plataforma como a do ZX81. 

E será que as coisas poderiam piorar? Podem, pois em alguns ecrãs, assim que neles entramos, teremos logo que tomar algum tipo de acção (saltar um inimigo que caminha contra nós, ou saltar o piso que desaparece, etc.). Assim, além de tempo e local de salto perfeito, também reflexos rápidos e uma capacidade de reacção quase sobrenatural, é-nos exigido. Em Busca dos Tesouros é um desafio apenas para os mais destemidos, os restantes podem-se ficar por emoções menos fortes (sugere-se a Canasta ou o Dominó).


Seria incontornável falarmos das dificuldades que se vão aqui encontrar, no entanto, quem se atrever a jogar Em Busca dos Tesouros vai também encontrar aquele que porventura será o maior e mais completo jogo para o ZX81. As animações são deliciosas, cada inimigo com alguns movimentos característicos (os jacarés, por exemplo), e os 313 cenários, todos diferentes uns dos outros, estão muito bem imaginados, apresentando sempre desafios que nos deixariam deslumbrados, não fosse a maior parte deles apresentarem armadilhas às quais teremos que reagir rapidamente. Aliás, atrevemo-nos a dizer que os gráficos são melhores (e maiores) do que em muitos jogos do irmão maior (ZX Spectrum).

O nosso personagem desloca-se com grande leveza, sendo apenas um pouco “duro de rins” em alguns emuladores, nos quais conseguir saltar na diagonal exige alguma técnica. Na máquina real assegura-se uma tarefa um pouco menos complicada, diga-se.

Finalmente, e sem querer “puxar a brasa à nossa sardinha”, os efeitos sonoros e música são talvez os melhores que se vão encontrar num jogo para o ZX81. O Pedro Pimenta (também colaborador de Planeta Sinclair e responsável pelo logótipo), tem vindo a fazer uma progressão meteórica e não é por acaso que actualmente já é requisitado pelos melhores criadores de jogos para o Spectrum.

Em Busca dos Tesouros é assim uma aventura imensa, a maior, sem qualquer dúvida, e talvez a melhor que jamais foi feita para o ZX81. Aventurem-se por aqui, se forem capazes, pois a partir de Sábado o jogo será disponibilizado pela comunidade...

Se optarem pela edição física, esta tem duas opções:
  • Baú de Jóias: caixa grande e colorida, manual ilustrado com 24 páginas (história da Terra T. Nebrosa, dados dos inimigos, dicas e outras surpresas), fita cassete produzida / duplicada profissionalmente, card numerado e autografado pelo Tadeu Curinga da Silva, e uma reprodução da página da revista Micro Sistemas (1986) em que o jogo saiu pela primeira vez (10 cópias virão para Portugal).
  • Arca Preciosa traz tudo isso, mais: "boneco" do Escorpião Pinel (em MDF) armazenado numa caixa de madeira ao estilo "relíquia" e uma tshirt autografada pelo Tadeu Curinga da Silva.

Dicas: rotina C/M para anti-Break

Neste post, partilhamos uma rotina ANTI-BREAK para o ZX Spectrum 48K BASIC, adaptada por este vosso autor. Saliente-se que a rotina não desactiva necessariamente o BREAK, por exemplo, em rotinas de LOAD e SAVE. Desactiva, sim, o retorno ao BASIC, e respectiva mensagem de erro.

No código fonte de assembly que acompanha este artigo, o endereço/ORG está construída de tal forma, que é carregada na primeira linha de BASIC, que deve ter um REM seguido de 58 caracteres. A rotina é carregada a seguir ao REM, se o BASIC estiver na posição normal.

Também partilhamos um .TAP já com a rotina carregada no REM.

O código assembly está escrito de tal forma que a rotina START:
  • usa o registo BC para saber com que endereço foi invocada/onde está a ser executada;
  • modifica a rotina HANDLER: para este bloco de código poder ser carregado em qualquer endereço;
  • faz update do endereço apontado por ERR_SP para redireccionar a rotina de tratamento de erros do BASIC para HANDLER:
  • volta ao BASIC
A rotina de HANDLER:
  • verifica se o código de erro é BREAK - CONT ou BREAK into program;
  • se não, salta para o endereço, que normalmente vai, sem este programa, para um ponto alternativo de entrada da rotina MAIN, o ciclo principal do interprete BASIC - MAIN_4;
  • de outra forma, limpa o código de erro e o sinal de ter tecla(s) em buffer;
  • Salta para uma entrada alternativa, da rotina da ROM onde chegam rotinas de BASIC sem erros, STMT_R_1.
        ; BASIC ANTI-BREAK
        ; BASED IN YS/WOS ROUTINE
        ; RUI RIBEIRO/2019

        ORG     $5CD0 ; 1st Basic LINE after REM

START:

        ; HL,(HANDLER)
        LD HL,HANDLER-START
        ADD HL,BC   ; HL=HANDLER

        PUSH HL
        POP  IX     ; LD IX,HANDLER

        ; self modifying code
        ; update handled address loaded
        ; in HL in HANDLER: line
        ; LD (HANDLER+1),HANDLER

        LD (IX+1),L ; HANDLER+1
        LD (IX+2),H ; HANDLER+2

        ; Update ERR_SP pointer

        PUSH HL                      ; preserve handler address

        ; GET ADDRESS pointed by ERR_SP
        ; HL,(ERR_SP)
        LD L,(IY+3) ; $5C3D ERR_SP
        LD H,(IY+4) ; $5C3E ERR_SP

        PUSH    HL
        POP     IX                      ; LD IX,(ERR_SP)
        POP     HL
        ; LD (IX),HANDLER
        LD      (IX+0),L ;
        LD      (IX+1),H ;
        RET

HANDLER:

        LD HL,HANDLER     ; value will be modified
        LD A,(IY+0)               ;  ERR NR Sys Var 1 less than error code
        CP $14                      ;  L BREAK into program
        JR Z,label1                ; =
        CP $0C                      ;  D BREAK - CONT repeats
        JP NZ,$1303              ; != GO  MAIN_4
                                           ; usual value pushed in (ERR_SP)
label1:
        PUSH HL                   ; PUSH HANDLER
        LD (IY+0),$FF           ;  $5C3A ERR-NR 
                                          ; 0-1 clear error
        RES 5, (IY+1)           ;  $5C3B
                                          ; FLAGS  - 5 Set when a new key has been pressed
                                          ; unset it

        JP $1B7D ; STMT_R_1 - Continue here as the BREAK key was not pressed.


O TAP carrega uma linha 1 com um REM seguido da rotina em código máquina. A linha 2 é para calcular o endereço execução, já que o endereço de BASIC pode variar, notavelmente se estiver uma interface 1 ligada.

2 RANDOMIZE USR (PEEK 23635+PEEK 23636*256+5)

Se esta rotina for incluída num conjunto de protecção BASIC (pode ter outros usos, como usar à vontade BREAK como tecla de INPUT), para tornar a linha 1 em 0 e criar assim uma protecção ANTI-MERGE, fazer, depois de fazer load ao BASIC do TAP:

POKE (PEEK 23635+PEEK 23636*256+1),0

Nota: Um handler com um wrapper / rotina de tratamento pendurado em ERR_SP, é uma gateway possível, para ampliar o BASIC da ROM normal do ZX Spectrum 48K com mais comandos/funcionalidades.

O IY na ZX Spectrum ROM, aponta sempre para $5C3A. 

Para clarificar o uso do registo BC nesta rotina, veja Devolver um número de uma rotina C/M

Temos conhecimento de POKEs anti-break, mas eles parecem ser derivados empiricamente e não são fiáveis, por exemplo, em GOSUBs, uma operação que mexe com o stack, deixam de trabalhar e tem que se fazer outra vez o POKE.

quarta-feira, 11 de dezembro de 2019

Maestro Sound Transceiver


Habitualmente à Quarta-feira disponibilizamos um ou dois MIA's pela comunidade. Mas desta vez temos uma proposta diferente, pois não se trata de um simples programa, antes de um pacote completo de documentação do interface Maestro Sound Transceiver. Assim, além de fotografias do hardware, juntamos os manuais digitalizados, um do próprio interface, outro dos programas que o acompanham (e dos .tzx desses programas).

No lado A da cassete que era vendida no nosso país encontra-se Voz. Ao contrário do que se poderia pensar, não é uma tradução de Vox, o programa que a Ere Informatique lançou em 1984 a acompanhar este produto, mas sim o próprio programa original em francês. No entanto contém uma novidade e que não aparece no lançamento original: um gerador de caracteres no lado B da cassete, que foi agora recuperado e que se encontra aqui disponível, juntamente com todo o restante material.

Screen (MIA)


Screen é mais um pequeno utilitário criado por um programador (amador) nacional em 1984, André Amaral. Permite carregar e gravar ecrãs de carregamento, possivelmente para serem utilizados noutros programas, pensamos nós.

Foi agora preservado, podendo aqui ser descarregado.

terça-feira, 10 de dezembro de 2019

Super Enquiry Simulator

 

Nome: Super Enquiry Simulator
Editora: NA
Autor:  David Walford
Ano de lançamento: 2019
Género: Aventura de Texto
Teclas: Não redefiníveis
Joystick: Não
Memória: 48 K
Número de jogadores: 1

Começamos o jogo apenas com a informação de que seria um simulador que nos iria trazer a experiência muito pouco excitante de lidar com burocracia, que com o progredir da nossa história se torna cada vez mais obstrutiva. Pudemos ver logo pela página do autor que possuía uns gráficos bem desenhados, mas a ideia que ficou é a de que seria mais um simulador inútil, apenas uma piada de curta duração ao estilo das que se vêem frequentemente na "Crap Games Competition".

Não podíamos estar mais enganados. Se inicialmente nos parecia apenas mais uma experiência de reduzido interesse, mais tarde e com o avançar do jogo, cada vez mais nos convencemos de que estaríamos mais próximos de um "art game" ao qual a simplicidade da interface, gráficos e sons minimalistas, mas extremamente bem desenhados, ajudaram imenso à experiência.


Ao iniciarmos a nossa experiência, podemos logo escolher no menu duas opções: o modo "simulation" e "arcade". No "simulation", está representado de modo extremamente realista a dificuldade de tentar resolver assuntos burocráticos recorrendo a linhas telefónicas com tempos de espera ridículos (de modo muito semelhante à realidade, devemos dizer). Aqui teremos de estar atentos para que assim que nos atendam a chamada, imediatamente respondermos, caso contrário voltam-nos a colocar em espera.

Não recomendamos de todo este modo de jogo, a não ser que tenham algum desejo masoquista. Já no modo "arcade", os tempos de espera são muito encurtados e podem ser ultrapassados apenas carregando numa tecla, o que ajuda bastante a avançar na história com maior rapidez.


Para não revelarmos muito a história, estragando-vos a experiência, podemos contar-vos que inicialmente sabemos que a reposta a um formulário nosso está demorada, como tal decidimos telefonar para o departamento responsável. Ficamos também a saber que não nos conseguiam ajudar e de que iriam comunicar a situação a um supervisor. Após algum tempo sem qualquer resposta, voltamos a telefonar, descobrimos que a nossa situação foi passada para o departamento de processamento onde nos recomendam falar com o departamento de avaliações e assim sucessivamente.

Depois de uma série de obstáculos que mais parecem ter sido colocados propositadamente para nos fazer desistir, tal como acontece na vida real, decidimos continuar a insistir até não nos ser mais possível fazê-lo por telefone, e é aí que, ao tentarmos ir às instalações destes serviços, entramos numa viagem completamente surreal. Aqui somos confrontados com uma questão - se a burocracia parece ter sido desenhada para nos fazer desistir de tentar resolver um problema, o que acontecerá se continuarmos a insistir até às últimas consequências?


Apenas temos duas opções disponíveis - continuar ou desistir, tal como numa situação real. Lamentamos que a aventura não nos permita mais opções, podendo assim ser criada uma experiência mais envolvente, mas tendo em conta que estamos perante um jogo mais narrativo em que se pretende testar de forma realista a nossa paciência, não podíamos pedir mais.

Ficámos então bastante curiosos com toda esta experiência bizarra, e única até, falando de jogos do Spectrum e decidimos tentar contactar o autor por e-mail, que nos disse então o seguinte (tradução livre nossa): "Foi inspirado pelas muitas horas que passei ao telefone à procura de cartas aparentemente desaparecidas num departamento do Estado, falando com muitas pessoas que me ajudavam (ou não) pelo caminho. Tive dinheiro suficiente para poder suportar as longas demoras, mas há muitos outros que não têm essa sorte. Este jogo não é a história da minha experiência, mesmo antes de se tornar bizarro, mas por vezes a verdade é mais estranha que a ficção."


"O meu plano original era mais fazer um jogo onde o jogador pudesse escolher uma de várias acções, mas na verdade, receio que muitos dos actuais sistemas que lidam com inquéritos e reclamações se tornaram simples testes de resiliência. Acho que este jogo se tornou uma fantasia acerca da conclusão extrema desses sistemas e é de igual modo engraçado e preocupante que outras pessoas o tenham achado realista."

"Já tinha feito mais um jogo de puzzle para o "Mr. Biffo's Found Footage" que é uma estranha série de vídeos de um antigo jornalista de jogos que trabalhava com teletexto. Na verdade, esse jogo apareceu enquanto desenvolvia este e foi feito nalguns meses, enquanto este o foi ao longo de dois anos. Foi divertido fazer algo mais descartável e consegui encontrar um pequeno público, mas então decidi fazer este jogo muito mais acessível."


"Devo creditar tanto a CSSCGC como o Deus Ex-Machina como inspirações. A Crap Games Competition, para além do uso excessivo da palavra "Simulador" desde o seu início, tem alguns excelentes exemplos de conceitos bizarros, muito antes de ser comum falar-se de "Art Games". O Deus Ex-Machina é o original "big-budget art game" (bastante engraçado também) e foi o que me inspirou a trabalhar mais a minha piada, para durar mais de dois minutos."

"Claro que quando jogava no Spectrum no final dos anos 80 e início dos anos 90, ocasionalmente apareciam jogos com conceitos estranhos que surgiam ao acaso em cover tapes de revistas. Quis que o Super Enquiry Simulator parecesse ter sido lançado nessa altura ou até antes, e só agora me apercebo que que os tipos de telefone que achei mais interessantes de usar são desse período."


Só posso concluir afirmando que é um jogo extremamente recomendado, mas será mais adequado para quem está mais familiarizado com "art games" ou jogos mais experimentais pois se procuram um simples jogo "arcade" ou de aventura, este é o seu total oposto.

A história está extremamente interessante e é bastante original, os gráficos são muito simples, mas bastante bem desenhados e com animações muito agradáveis de se ver. A parte sonora é também minimalista mas muito bem executada, temos os sons da marcação dos números no telefone, da chamada em espera, o sinal de sem rede e muitos outros pequenos efeitos sonoros perfeitamente replicados com um detalhe fantástico. Impressiona ver o trabalho que o autor teve nesta parte, recomendamos até a quem tiver interesse a consultar o source do jogo na página do autor, para perceber um pouco mais de como este obteve este resultado.

Só queremos deixar uma última nota de agradecimento ao autor pelo tempo que nos disponibilizou e por ter respondido a todas as nossas questões. Certamente que este jogo não é de todo consensual, mas para quem como nós gosta mais de experiências diferentes e originais, pensamos que é um título essencial e dos mais interessantes que saiu este ano.

Não lhe daremos nota, porque é mais uma experiência interactiva do que um jogo e, como tal, consideramo-lo muito bom dentro do género, mas não podendo ser comparado a projectos com objectivos totalmente diferentes. Avaliá-lo no âmbito de dificuldade, longevidade, jogabilidade, não se aplica neste caso e se o fizesse seriamos sempre injusto, pois ficaria a perder em comparação a outros jogos recentes, mesmo não o merecendo, pois não foi a isso que se propôs.

Fica aqui o link para a página do autor onde o poderão experimentar.

16. Starquake

segunda-feira, 9 de dezembro de 2019

Novo jogo de Gabriele Amore


Tivemos ontem a notícia de um novo jogo em desenvolvimento da parte de Gabriele Amore, ainda numa fase muito inicial, partilhado no grupo de Facebook dedicado ao AGD.

Não temos ainda nenhuma informação disponível, mas pelo que pudemos ver controlamos um Rei, que ao ver a sua Rainha ser raptada e aprisionada por um maléfico feiticeiro, tenta resgatá-la, apenas para ser transformado num sapo e expulso para fora do castelo. Devemos controlar o nosso personagem por entre vários cenários no caminho até ao castelo, sendo que apenas conseguimos passar para o ecrã seguinte após lambermos todos os inimigos, o que os bloqueia temporariamente. Quando estão todos bloqueados, o que requer rapidez e destreza na navegação pelos cenários, vêmo-los desaparecer então um a um e é nos dada a oportunidade de avançar de nível.

Não queremos adiantar muito mais, até porque o jogo ainda está longe de estar pronto para o lançamento, mas parece-nos ter uma história interessante e bastante apelativo a nível gráfico. Infelizmente são vários os bugs com que nos deparámos, mas acreditamos que a seu tempo todos os problemas a que assistimos serão solucionados.

ULA - floating bus no ZX Spectrum 48K

No Spectrum, além do efeito da contenção de memória aquando de acessos simultâneos à RAM dos primeiros 16KB e da ULA, existe também um fenómeno conhecido como floating bus

Na realidade, este é um fenómeno que afecta o resultado da leitura de portas "não conectadas", i.e. de portas ímpares que não tenham hardware associado, já que as portas pares activam a ULA.

Foi discutido que o data BUS por defeito se encontra(va) em $FF no ZX Spectrum. Na realidade, dado a ULA e o Z80 partilharem BUS de endereço e dados, o que acontece é que se for feita uma leitura de uma porta ímpar não conectada  durante o período em que a ULA está a aceder a um byte da área de pixels ou atributos, o valor desse byte será devolvido na leitura da porta. Noutras alturas, é devolvido o valor $FF.

Este comportamento pode ser (ab)usado para monitorar a ULA e é abusado em jogos. (Arkanoid, Sidewize, Cobra, Short Circuit, Aquaplane, Darkstar). O floating bus, pode ser e é diferente em clones, desde a sua não existência, ou timings diferentes. (Timex 2048 / 2068 / modelos 128K / Scorpion /...). Aliás, o comportamento conhecido como floating bus não está presente nos issue 1 e 2 do ZX Spectrum 16K / 48K.

Existe também o floatspy da RAMSOFT, que é um diagnóstico interessante para avaliar se a ULA / primeiros 16 kb da RAM estão bem de saúde, ou se um emulador cumpre os requisitos de emular um ZX Spectrum 48K.

Além de outros efeito, um possível uso útil de monitorizar o floating bus, é esperar que o Spectrum acabe de varrer pelo menos o border superior, ou até a zona de atributos toda, para se ter a certeza que se pode manipular o ecrã sem haver flicker e / ou contenção de RAM.

Sabemos também que o primeiro byte de atributos, é lido 14347T depois do Z80 ter recebido um sinal de INTR da ULA.

Como exemplo de timings:

Valor128K T48K T
Primeira linha de pixels
(0x4000)1436814347
(0x5800)1436914348
(0x4001)1437014349
(0x5801)1437114350
IDLE ($FF)1437214351
IDLE ($FF)1437314352
IDLE ($FF)1437414353
IDLE ($FF)1437514354
(0x4002)1437614355
(0x5802)1437714356
.........
Segunda linha de pixels
(0x4100)1459614571
(0x5800)1459714572
.........

 Note-se a ordem de cada linha:
- Primeira coluna de 8 pixels ($4000/16384)
- Atributo correspondente
- Segunda coluna de 8 pixels
- Atributo correspondente
- Bus em descanso
- Data BUS em descanso;
- Data BUS em descanso;
- Data BUS em descanso;
- Segunda coluna de 8 pixels
....

 Salienta-se mais uma vez, que o varrimento de linhas é feito pela ordem que as linhas são visíveis no ecrã. (para ter melhor ideia, veja no floating_bus.c abaixo, o array de inteiros screen_line em que começa em cada uma das 192 linhas do  ecrã  do ZX Spectrum o varrimento de pixels (e acaba o varrimento do border esquerdo).

Na verdade, o estudo e análise deste efeito colateral do varrimento de ecrã, é uma das melhores formas de entender o efeito dos timings do varrimento de ecrã, mencionados em ULA - varrimento de ecrã do ZX Spectrum

ASM de rotina a usar floating bus para colocar linha de border 
TAP

Output esperado do floatspy num 48K (neste caso no QtSpecem)


Ver:

The floating bus on the 48K and 128K

The floating bus

The “Sidewize Test”: ZX Spectrum floating bus shenanigans

The Definitive Programmer’s Guide to Using the Floating Bus Trick on the ZX Spectrum

teste de floating BUS - floatspy.tap

floating_bus.c : implementação do efeito de floating bus no QtSpecem

domingo, 8 de dezembro de 2019

Rescaldo do workshop "Preservação de MIA"


Aceitei o repto do João Diogo Ramos e durante um dia inteiro, no Museu da Pedra em Cantanhede, dedicámo-nos à preservação e recuperação de MIA’s (“Missing in Action”), isto é software que ainda não esteja devidamente preservado e disponibilizado pela comunidade. Este é sempre um tema polémico, algumas pessoas não percebendo porque é que se considera um programa como MIA se o têm em suas casas numa cassete. Pois, mas isso não serve de nada, se não estiver convertido digitalmente, e ao mesmo tempo disponível pela comunidade, de pouco vale.

Isto mesmo aconteceu com uma das cassetes que tinha um programa MIA que tentámos recuperar. A fita, devido à idade, prendeu no leitor de cassetes, e partiu. O programa que lá estava, Biblioteca, dificilmente será agora recuperado, pelo menos dessa cassete, embora o João já a tenha conseguido "colar". Veremos como fica...

Mas esse foi o único percalço, pois no meio de cerca de 500 cassetes (nem 10% deveremos ter conseguido ver), pelo menos 20 MIA’s já foram recuperados, incluindo um jogo português desconhecido: Catota.

Catota, tal como o nome já dava a entender, leva para a marotice, tal como muitos jogos da época feitos pelos programadores nacionais. Mais não diremos, ficará a surpresa para quando estiver disponibilizado no blogue.

A sessão terminou com uma entrevista (vídeo em cima), na qual se falou um pouco no trabalho desenvolvido por Planeta Sinclair, de como tudo começou, dos seus colaboradores, dos planos futuros, e ainda naquilo que mais se procura actualmente: Elifoot, Talismã (partes 3 e 4), Corrida de Caracóis, etc.

Fica assim para o registo mais um dia memorável na Capital do Spectrum, no qual o João até já desvendou alguns dos planos futuros.

Better Late Than Never: Andy Green Pixel Art


"Better Late Than Never" é o título do primeiro livro de Andy Green e até se aplica na perfeição ao caso: desde a encomenda até o recebermos passou-se mais de um mês. Claro que o seu autor é alheio a isso, e até sabíamos à partida que o livro poderia demorar a chegar (a Amazon previa isso mesmo na sua página). Mas o que podemos dizer é que compensou inteiramente a espera.

O livro foi escrito a meias com o seu amigo Richard Langford (Project ZXProject ZX II: Jetboot Joe), contando ainda com a colaboração de John Davies e Shaun McClure). Tudo gente bem conceituada no universo dos 8 bits e do Spectrum, como se pode ver.

Também é bem conhecida a apreciação que temos pelos trabalhos de Andy Green (mantenham-se atentos, em breve iremos fazer uma surpresa e divulgar uma colaboração da Espectroteam com o Andy), artista gráfico que domina a arte dos 8 bits como quase ninguém. De facto, as suas telas são autênticas obras-primas, muitas vezes superando até os jogos a que estão associadas. Aliás, o facto de qualquer jogo ter um ecrã de carregamento do Andy, já é um forte incentivo para o autor conseguir superar-se e apresentar algo condizente ou que se aproxime do brilho desse ecrã. E agora, Andy resolveu compilar os seus trabalhos num livro, dando uma pequena explicação sobre cada um dos desenhos.

O livro desenrola-se ao longo de vários capítulos. Assim, depois de uma introdução, onde é feito um enquadramento da obra, surgem "That was the screen that wasn´t". Tal como o nome o dá a entender, engloba alguns dos trabalhos feitos por Andy para jogos que tinham ecrãs de má qualidade, ou nem sequer tinham ecrãs. E tudo começou com "Stop the Express", o primeiro loading screen criado para o Spectrum. Surgem algumas curiosidades, como a parecença em "Rescue" do personagem principal com Harrinson Ford, sendo o nosso preferido, tal como tivemos oportunidade de dizer ao próprio autor, os ecrãs criados para a trilogia da Fantasy, e sobretudo "3D Tunnel", um desenho magnífico e claustrofóbico, com o comboio a surgir ao longe, e que define desde logo o estilo de Andy.


Outra curiosidade: o ecrã de "Auf Wiedersehen Pet". O jogo é mau, mas a capa ainda era pior. Tivesse na altura sido lançada com o trabalho do Andy, totalmente a preto e branco, contemplando as personagens da série, e talvez o jogo tivesse tido outro impacto.

De seguida "(Not) coming to a Spectrum near you". Naturalmente com menos telas que o capítulo anterior, que representa quase metade do livro, mas mesmos assim com meia dúzia de trabalhos bastante meritórios. Destacamos Toki, claro, até por toda o mediatismo que este jogo, que nunca aconteceu para o Spectrum, teve.

E é também de forma lógica que os novos jogos e programadores são contemplados no livro, desta feita em "Generation homebrew". este foi um capítulo que nos deu particular gozo ler, pois são muitas as referências a jogos que ajudámos a testar (Jaime Grilo, Team Moritz), e também porque estando nós envolvido na cena Spectrum como estamos, todos e tudo ali nos soa bastante familiar.

Seria um pouco ingrato estar nesta parte a destacar alguma tela em particular (como dissemos, conhecemos praticamente todos os intervenientes, e um deles até é membro deste blogue, o Pedro Pimenta), e não o iremos fazer, mas gostaríamos de dar relevo à história de "Italian Job", onde Andy nos vai descrevendo como foi o desenvolvimento da tela, desde os primeiros traços, até chegar a um resultado final brilhante, no nosso entender. Obviamente que o desenho não é a nossa praia, mas se fossemos candidatos a artistas gráficos, iríamos "beber" com toda a atenção aquilo que Andy relata. 

Ficamos também a saber no penúltimo capítulo, "Random etchings", qual a tela preferida de Andy. Mas para o saberem terão que comprar o livro, não iremos ser spoilers...

Quanto ao último capítulo, "So What's Next", é muito breve, mas focado no futuro. E no Spectrum Next, pois claro, agora que deverá estar prestes a sair.


Como foi visível ao longo da nossa descrição, adorámos o livro. A qualidade de impressão e do papel está ao nível das telas, que tomam obviamente a primazia ao longo do trabalho. Dizem que uma imagem vale mais que mil palavras, e isso aplica-se inteiramente à obra de Andy Green. É um artista gráfico fabuloso, atrevemo-nos mesmo a dizer, ao nível de um Bob Wakelin, e ficamos no livro também a saber que os seus talentos não se esgotam na vertente gráfica, pois também foi responsável pela criação de alguns jogos, faceta esta que desconhecíamos.

Recomendamos vivamente a aquisição de "Better Late Than Never", que apesar de tarde, ainda veio muito a horas...

sábado, 7 de dezembro de 2019

Puzzles


Puzzles é um jogo nacional criado pela família Albuquerque em 1988. Embora o jogo já esteja preservado em várias páginas dedicadas ao Spectrum, faltava ainda estar disponível o .tzx tal e qual como foi lançado originalmente. E conseguimos agora chegar à cassete original através de um contributor anónimo, preservando não só o .tzx, mas também a capa e as instruções.

Puzzles, tal como o nome indica, representa os vulgares quebra-cabeças, muito em voga nos anos 80. Mas com algumas novidades, como a escolha do grau de dificuldade, além de ter vários puzzles à disposição, qual deles o mais bonito. Arriscamo-nos a dizer que é mesmo um dos melhores jogos do género.


Mas além disso conseguimos arranjar outra preciosidade. Recentemente adquirimos um toastrack, que vinha acompanhado de um lote de cassetes que gentilmente o Miguel Pires nos cedeu. E numa das cassetes vinha precisamente este jogo. Esta foi lançada pela Jonu, dupla João e Nuno que tinham uma casa em Benfica que colocava edições duplas no mercado. Essas tinham uma capa genérica, com o nome dos jogos, e depois um primeiro ecrã de carregamento igual ao que se encontra em baixo.

Disponibilizamos assim mais um importante jogo nacional, agora completo, e ainda com a curiosidade de se ter simultaneamente obtido uma segunda versão pirateada. Podem aqui obter ambas as versões e todo o material que as acompanha.

sexta-feira, 6 de dezembro de 2019

19 jogos novos na competição Yandex


Uma verdadeira loucura!!! São 19 os jogos a concurso na competição Yandex, evento que tínhamos anunciado há cerca de meia dúzia de meses (aqui). Vão agora ser muitos dias até conseguirmos analisar tudo, mas seguramente valerá a pena.

Venham aqui descarregar os jogos.

A Capital: POKES & DICAS - 29 de Janeiro de 1988

O guia para o Guadalcanal, um dos grandes jogos de estratégia do ZX Spectrum, é o maior destaque do suplemento desta semana.


Não percam os seguintes destaques descarregando o suplemento na nossa Dropbox.
  • Shareware;
  • O plus 3 e os programas utilitários;
  • Terceira e última parte do guia para o Gunship;
  • Análise, muito curta, ao Deflektor:
  • Excelente mapa do Head Over Heels;
  • Espaço Linha a linha;
  • Espaço Aventura;
  • E para quem gosta de música análise aos discos da semana por João Gobern.

quinta-feira, 5 de dezembro de 2019

ULA - varrimento do ecrã no ZX Spectrum

No ZX Spectrum 48K, como já mencionado em artigos anteriores, a ULA controla que o relógio do Z80, quer a geração de vídeo no ecrã/TV.

É a ULA que varre a memória do ecrã e atributos para gerar o video externo. Quer pelo estudo de interacções na arquitectura (floating bus), efeitos multicor, snow effect, quer por engenharia reversa, ao longo do tempo foi-se melhorando o conhecimento dos timings do varrimento do ecrã. O que permitiu desenvolver hardware e software que emulam fielmente os efeitos de ecrã.

A ULA é alimentada por um cristal de 14MHz, que divide em 2, para varrer a memória do ecrã a 7MHz, e divide novamente a metade para fornecer o impulso de CLK ao Z80.

O varrimento é feito em linhas horizontais. e é iniciado ao mesmo tempo que a ULA envia um sinal de interrupt (INTR), ao Z80. Note-se que os timings em questão são para a geração de sinais PAL.

O ecrã tem 16 linhas de Hsync + 305 linhas visíveis, cada uma sendo varrida em 224T ciclos de Z80.

Numa linha:
  • os primeiros 48T são para sincronização;
  •  logo em seguida, 24T para a geração da linha da borda esquerda;
  • 128T para o varrimento de pixels/atributos;
  • e por fim 24T, para a geração da linha da borda direita.
Na zona dos 128T, estando nas linhas que têm pixels / atributos, o varrimento do ecrã, é byte pixels / byte+1 / atributo / atributo+1 / PAUSA / PAUSA / PAUSA / PAUSA / byte+2 / byte+3 / atributo+2 / atributo+3 /.... (a ULA lê words da àrea do video i.e. 2 bytes de cada vez).

O varrimento da memória/linhas é feito de tal maneira pela ordem que elas são apresentadas no ecrã (lembrar que é o varrimento da imagem).

O fenómeno conhecido como contenção de memória apenas acontece (a partir do issue 3). Ou seja, quando o Z80 tenta aceder a RAM nos primeiros 16KB, e a ULA está a aceder a pixels ou atributos (i.e. o CLK do Z80 deixa de ser fornecido). Estando a ULA a varrer o border ou depois de acabar atributos e não ter passado ao próximo bytes de pixels, não existe contenção de RAM.



Note-se que o conhecimento destes tempos, podem ser (ab)usados para criar efeitos / lógica de tratamento de video de  em jogos, e para diagnósticos de Spectrum.

As variações de cor de border no carregamento de cassetes, tem também a ver com variar a cor do border em timings que implica que no rendering das diferentes linhas que compõe o ecrã, o border esteja com cores diferentes.

Este artigo não pretende entrar em mais profundidade nos efeitos visíveis do varrimento do ecrã. No próximo artigo descreveremos o efeito de floating bus no Spectrum 48K, que é um artefacto do desenho da arquitectura do ZX Spectrum em conjunto com estes timings.

Ver: Spectrum Timings e Contended memory

quarta-feira, 4 de dezembro de 2019

MOD para Robocop partes 1 a 3


Depois do MOD para R-Type, surge do mesmo autor, Slider, o MOD para Robocop.
São muitas as novidades, as quais ficámos a saber através do canal Modern ZX. Estas incluem:
  • Intro com a fotografia digital do Robocop
  • Música AY do Robocop
  • Novos ecrãs de carregamento
  • Possibilidade de carregar as partes 2 e 3 de Robocop
  • Vários cheats 
Poderão aqui descarregar esta verdadeira versão deluxe...

Cotações (MIA)


Como é que estava a cotação na bolsa portuguesa em 1988? Fácil, basta vir a este programa que se encontrava numa das cassetes que o Vasco Gonçalves nos emprestou para ver, permitindo até analisar os respectivos gráficos, tendo de certeza tido bastante utilidade para o seu criador, demonstrando que o Spectrum era muito mais que uma mera máquina de jogos.

Poderão aqui descarregar mais este programa, desconhecido até agora.

O Esquiador


Horace Goes Skiing é dos jogos mais conhecidos para o Spectrum, apesar de ser de 1982, tendo inclusive dado origem a uma versão portuguesa por cortesia da Timex, Horácio Vai esquiar. E foi com enorme surpresa, e graças ao nosso amigo Jose Manuel (El Trastero del Spectrum), que descobrimos que os piratas portugueses, três anos depois do lançamento original, trocaram as voltas aos consumidores, lançando o jogo com o nome de O Esquiador, incluindo um novo ecrã de carregamento (se é para enganar, então há que o fazer bem).

De resto, o jogo encontra-se traduzido para a nossa língua, tal como a versão da Timex. Além disso, descobrimos mais uma loja de software nacional com a qual ainda não nos tínhamos deparado, a Multisoft Informatica, embora não tenhamos alguma informação sobre ela.

Poderão aqui descarregar O Esquiador.

segunda-feira, 2 de dezembro de 2019

Mini Battle Tank


Nome: Mini Battle Tank
Editora: NA
Autor:  Tomás Pérez, AsteroideZX
Ano de lançamento: 2019
Género: Shoot'em'up
Teclas: Não redefiníveis
Joystick: Não
Memória: 128 K
Número de jogadores: 1

A competição BASIC 2020 continua a bombar, com o aparecimento frequente de jogos a concurso. O mais recente é Mini Battle Tank, num exercício semelhante ao que Train Wars já tinha oferecido, só que desta vez com a inclusão de tanques de guerra.

O objectivo é imediato, destruir o tanque inimigo ao longo de três diferentes cenários, o primeiro passado na cidade, com os prédios por trás, o segundo no deserto, vendo-se ao longe as montanhas, e o terceiro num oleoduto, com outras montanhas cobertas de neve a fazer de paisagem. Mas tirando a diferença ao nível dos cenários, a mecânica de jogo é sempre igual em todos: atingir o inimigo, ao mesmo tempo evitando ser atingido. O disparo tem também um truque, pois primeiro tem que se armar o canhão, e só depois se pode efectuar o disparo. Convém que o disparo seja feito uns momentos antes do inimigo se colocar em posição, pois se ficamos em linha recta com esse, o mais provável é que sejamos nós a ser atingidos.

Para se poder passar de nível teremos que disparar três tiros certeiros no inimigo, só depois esse é destruído. Além disso existe um tempo limite para se terminar cada nível, findo o qual uma bomba elimina o nosso tanque. É assim escusado adoptarmos uma posição demasiado defensiva por trás dos obstáculos, pois necessariamente teremos que passar ao ataque, doutra forma esgota-se o tempo.


Fazendo a comparação com Train Wars, perde bastante na questão da fluidez de movimentos, talvez porque ao contrário desse, Mini Battle Tank foi criado apenas com recurso a Basic. Já Train Wars utilizou o Boriel, e isso nota-se imediatamente no departamento da velocidade.

Por outro lado, Mini Battle Tank apresenta a vantagem de ter três cenários, diminuindo um pouco a monotonia e tendo efectivamente um objectivo imediato a cumprir: ultrapassar os adversários dos três níveis, vencendo a batalha e assegurando o prémio, na forma de uma melodia criada por AsteroideZX.

Outra diferença é que Mini Battle Tank é um desafio solitário. Enquanto que Train Wars apenas permitia dois jogadores em simultâneo, já esta opção não existe em Mini Battle Tank, o que é pena, uma vez que assim que se consiga terminar o jogo, e nem sequer é muito complicado fazê-lo, pouco incentivo temos para depois continuar.

De qualquer forma, a ideia está engraçada e o programador conseguiu, dentro das limitações da linguagem Basic, apresentar um desafio interessante.

A cassete do ZX Spectrum (III) - turbo loaders

Ignorando as protecções todas à volta, e centrando-nos na parte de transferência de dados, os turbo loaders são simplesmente rotinas alteradas de save e load da ROM.

Apenas a rotina de LOAD está normalmente presente num jogo. A rotina de SAVE, embora tenha sido escrita e usada, não é normalmente passada para cassete.

As rotinas de turbo loader mais simples apenas modificam os timings da rotina para ser mais rápida.
Outras, usam outras cores para o border, ou têm um contador de tempo de carregamento, ou outros artefactos. Havia pelo menos um jogo que tinha um jogo mais simples na rotina de loading.

Com um pouco de imaginação, pode-se fazer algo enquanto se carrega a tape, entre as instruções código máquina de carregamento de dados, desde que se tenha os timings em conta.

Normalmente, as rotinas turbo são as rotinas LD_BYTES e SA_BYTES que já falamos, mas com os timings alterados. Outra alteração muito simples de se fazer, é mudar as cores do border. Outra ainda, é tirar o byte/os 8 bits de tipo de bloco. Nem é necessário, já que estamos a nossa própria rotina. Ele apenas é para uso das rotinas da ROM.

Dado a qualidade das cassetes audio, as rotinas turbo que usem cassete, e não outro meio de armazenamento mais recente, nunca poderão ser muito mais rápidas que a ROM para preservar a fiabilidade dos dados.

Normalmente, isto são os tempos normais para um bloco:

SA_LEAD: 5s se A for 0 (header) ; 
                     2s se A não for 0 (bloco de dados)

6675672T LEADER 2132T OFF / ON (dados)
667T off SYNC1          
735T on  SYNC2
855T off + 855T on - 0
855T * 2 = 1710T off + 1710T on - 1 (HEADER + DATA + CHECKSUM)

941T off

No nosso caso do turbo loader de demonstração, mudados os tempos para metade. Cortamos do código o período final de silêncio.

Demonstração video de um turbo loader, escrito para este artigo

Nestas rotinas de turbo loader (and saving), modificamos ligeiramente as rotinas LD-BYTES e SA-BYTES da ROM, e modificamos os tempos de load e saving para metade (aproximadamente 3000 bauds).

Modificamos também as cores do border na rotina de turbo loading.


Código fonte em assembly  Ficheiro de cassette em formato TZX

Loader BASIC. Fazendo GOTO 50,  constrói a tape TZX dada como exemplo. Para implementar o loader num jogo , deve colocar-se o BORDER e COLOUR na linha 25 com a cor dominante do background da imagem, antes de saltar para a rotina de turbo loader. Isto não foi feito nesta demonstração em TZX, apenas para evidenciar o carregamento da área de pixels.

10 CLEAR 49999
20 LOAD ""CODE: REM Load de rotina C/M no link código fonte
30 RANDOMIZE USR 50000: REM chama rotina C/M de turbo loader
40 GO TO 60
50 SAVE "loader" LINE 10: REM grava este programa BASIC
51 SAVE "turboload"CODE 50000,296: REM grava as rotinas C/M
52 PAUSE 0:RANDOMIZE USR 50001: REM turbo saving
60 BORDER 0
70 PAUSE 0

No código fonte em assembly, primeiro vem as rotinas de loading, e depois as de saving. No final, tem em comentários, o estudo de timings T das rotinas da ROM SA-BYTES e LD-BYTES.

Nota: Devido à contenção de RAM, qualquer rotina que controle directamente a tape,  tem de ficar fora dos primeiros 16KB de RAM.

As míticas rotinas de turbo loader, são bastante simples, o que era complicado era quebrar todo o esquema de protecções que era construído para proteger estas rotinas e os jogos. Note-se que este exemplo está feito para ser legível; seria mais efectivo e de carga mais rápida em cassete incluir o assembly na zona BASIC e depois transferi-lo para uma zona de memória sem contenção.

Incluímos aqui a rotina de turbo loader (demasiado extensa para colocar no corpo do post).

domingo, 1 de dezembro de 2019

Workshop: Preservação de M.I.A.


NOVO LOAD "ENCONTROS":
NO PRÓXIMO SÁBADO 07/12 VAMOS À "CAÇA".

Vamos tomar um (ou vários) cafés com o André Luna Leão do Planeta Sinclair ao longo do dia.

A desculpa é irmos à caça dos famosos "Missing In Action" ou M.I.A., nome dado vulgarmente a programas e/ou jogos nacionais que possam não estar ainda preservados.

Ao André esperam 2 sacadas de cassetes e algumas disquetes que vamos varrer e averiguar se algo de interessante se encontra por aqui, contribuindo desta forma singela para o trabalho de preservação que o Planeta Sinclair tem liderado.

É um encontro de amigos que naturalmente poderá ser alargado a quem nos quiser juntar. Havendo interessados numa visita guiada, realizaremos a mesma pelas 10h30 h.

Pelas 11h15 h iremos iniciar o trabalho dos M.I.A. começando por descrever o processo. Iremos documentar o processo e detalhar posteriormente resultados alcançados com a comunidade.

Quem quiser aparecer é bem-vindo. Há vários computadores que estarão disponíveis para uso.

Até sábado, no Museu da Pedra em Cantanhede.

Godkiller: New Timeline Edition


Nome: Godkiller
Editora: NA
Autor: Apsis
Ano de lançamento: 2014 / 2019
Género: Labirinto
Teclas: Não redefiníveis
Joystick: Kempstons, Sinclair
Memória: 128 K
Número de jogadores: 1

Walking between Light and Darkness, Good against Evil,through time & space
and the hidden dimensions of Existence. Populated by both divine and demonic
entities, we protect the Universe destroying any entity that alters the Balance. We are
Godkillers, humans capable of containing and returning to the Source the powers
released from the death of a god without causing a collapse in the fabric of the
Creation, we know the darkness in the heart of evil because we have seen it in our
own heart, and in the end, even death cannot free us.
Who I am ?
I am the Final Fate of all , my will is law, my wrath, absolute.
I'm a GODKILLER

Aproveitando que o terceiro episódio de Godkiller chegará nos próximos tempos, Apsis pegou no primeiro episódio da série, lançado em 2014, deu-lhe nova roupagem, e criou a New Timeline Edition (NTE). E preparem-se, pois Godkiller 2 está a ter o novo tratamento e também irá sair em breve.

Então e que modificações são essas, perguntam os nossos leitores? São bastantes e relevantes, tornando esta versão NTE quase num novo jogo.


Em primeiro lugar, e aquela que imediatamente se nota, o grafismo. Embora o número de ecrãs se mantenha, pouco mais de duas dezenas, os cenários apresentam agora um aspecto muito mais futurista e estilizado, fazendo mesmo lembrar os da saga Harbinger. As localizações mantém-se as mesmas, mas tudo o resto muda, e para melhor, na nossa opinião.

Esta nova versão agora incluí também uma melodia durante o jogo, acrescentando-lhe algum colorido, até porque como bem sabemos, os efeitos sonoros do MK2 tornam-se um pouco monótonos ao final de algum tempo. A música tem um toque medieval, fazendo lembrar Brunilda e outros do do género, mas adequa-se perfeitamente ao tema de Godkiller (NTE).

Além disso, quem conhece os anteriores lançamentos de Apsis, sabe que os jogos são sempre acompanhados de muito material adicional e sempre original: sleeves, mapa, manual muito informativo, quase parece que estamos perante uma versão deluxe, não fosse o jogo gratuito.


Vamos abster-nos de contar a história, pois esta encontra-se muito detalhada no manual que acompanha Godkiller, doutra forma correríamos o risco de tornar a nossa análise demasiado extensa. Mas de forma muito sintética, poderemos dizer que está relacionada com a guerra entre Deuses e humanos e que nos tempos actuais, 25.000 anos depois dos acontecimentos que originaram essa guerra, termos que encontrar três relíquias, libertar as almas aprisionadas e abrir o portal que fará com que o Universo fique novamente equilibrado.

Apesar do cenário de jogo não ter uma dimensão exagerada, é labiríntico o suficiente para numa primeira fase, e enquanto não o explorarmos devidamente, nos perdermos. Aconselhamos a que dêem uma espreitadela no mapa que vai acompanhar o jogo (no momento em que estamos a escrever esta review ainda não foi disponibilizado), ajudando a orientar neste emaranhado de salas, ainda mais quando algumas só podem ser acedidas se tivermos chaves em número suficiente para abrir as portas.

Existe uma certa ordem na realização das tarefas (ver figura abaixo). Assim, em primeiro lugar teremos que encontrar as três relíquias (não esquecer que a tecla "M" serve para as apanhar e dar uso), levá-las ao local de sacrifício e só depois poderemos voltar ao portal do tempo, onde o jogo termina.


Chegamos finalmente ao último factor actualizado nesta nova versão de Godkiller: o grau de dificuldade. De facto, uma das maiores fragilidades da versão original era o seu baixo grau de dificuldade, resultando em que qualquer jogador mediano, ao final de algumas tentativas, conseguiria terminar o jogo. Diz-nos o seu autor que o jogo agora é um pouco mais difícil, com inimigos mais agressivos, sempre prontos a disparar sobre nós.

Ainda não tínhamos referido, mas as salas encontram-se repletas com inimigos, alguns pouco mais que inofensivos, caso das cobras, mas outros que seguem padrões irregulares, e por isso mais difíceis de serem evitados, no entanto, qualquer um deles é eliminado com uns feitiços certeiros. Apesar de tudo, Godkiller continua a não ter um nível de dificuldade elevado, naquela que é talvez a sua maior pecha. Para aqueles que se estão agora a iniciar nas artes do Spectrum, poderá ser este o jogo indicado para o fazerem, pois seguramente não irão sentir-se frustrados por não chegarem ao fim.


Outro pormenor em que reparámos é que quando o ecrã se encontra repleto de inimigos, o movimento do nosso personagem torna-se um pouco mais lento. Não que isso influencie muito a dinâmica do jogo, mas de qualquer forma, os mais "puristas", poderão aqui encontrar um dos poucos defeitos.

Já falámos dos gráficos, cuja nova roupagem o veio favorecer ainda mais. De facto, os cenários são prodigiosos, muito coloridos, constituindo um factor de atractividade que leva a que nos apaixonemos imediatamente por Godkiller. Fosse o mapa maior (que consequentemente iria elevar o nível de dificuldade), e talvez estivéssemos perante uma aventura épica. No entanto, não terá sido fácil ao seu autor colocar tudo em apenas 128K de memória, ainda por cima com a bonita música incluída.

Godkiller é assim, não obstante as (poucas) fragilidades apontadas, um grande jogo, que será do agrado de todos. Poderão vir aqui descarregá-lo, tendo em conta que relativamente à notícia original no qual apontámos o seu lançamento (aqui), o seu autor corrigiu alguns bugs (quem o descarregou anteriormente, deverá agora fazer a actualização).

MOD para R-Type


Notícia grande para este fim-de-semana. Goodboy e Tiboh pegaram no clássico R-Type e deram-lhe nova roupagem. Mas ainda antes de falarmos das novidades, uma chamada de atenção: deverá ser carregado nos clones russos (Spectaculator tem essa funcionalidade, por exemplo).

Quanto às novidades, estas incluem a música original do arcade em todos os níveis, um novo ecrã de menu com várias possibilidades, incluindo um "cheat mode" concedendo vidas infinitas para os mais aselhas, possibilidade de suporte do Kempston Mouse e possibilidade de dois modos de efeitos sonoros. Se tudo isto é "legal" ou não, já não nos diz respeito, mas poderão descarregar esta versão no vídeo abaixo (entrando no You Tube).

Principais novidades de Dezembro de 1984

Há 35 anos as principais novidades foram:
  • Com o lançamento do Spectrum + e a aproximação do Natal, a Sinclair espera vendas massivas, no entanto os problemas começam a surgir, com queixas de que as teclas caem. 
  • Foi lançado o Siel MIDI Interface, permitindo ligar o Spectrum a teclados e sintetizadores, no entanto um preço muito elevado faz com que apenas seja viável para utilizadores profissionais.
  • Apesar do lançamento do Spectrum +, continuam a aparecer teclados semi-profissionais para o Spectrum, sendo o mais recente o Cheetah 68FX1 Keyboard.
  • Lançamentos importantes: Kokotoni Wilf (Elite Systems), Combat Lynx (Durell Software), Skool Daze (Microsphere), 3D Starstrike (Realtime Games Software), Sir Lancelot (Melbourne House), Gilligan's Gold (Ocean Software), Tir Na Nog (Gargoyle Games), Travel with Trashman (New Generation Software) e Battlezone (Quicksilva).