quarta-feira, 11 de dezembro de 2019
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."
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.
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:
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
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:
| Valor | 128K T | 48K T | |
| Primeira linha de pixels | |||
| (0x4000) | 14368 | 14347 | |
| (0x5800) | 14369 | 14348 | |
| (0x4001) | 14370 | 14349 | |
| (0x5801) | 14371 | 14350 | |
| IDLE ($FF) | 14372 | 14351 | |
| IDLE ($FF) | 14373 | 14352 | |
| IDLE ($FF) | 14374 | 14353 | |
| IDLE ($FF) | 14375 | 14354 | |
| (0x4002) | 14376 | 14355 | |
| (0x5802) | 14377 | 14356 | |
| ... | ... | ... | |
| Segunda linha de pixels | |||
| (0x4100) | 14596 | 14571 | |
| (0x5800) | 14597 | 14572 | |
| ... | ... | ... | |
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 ZX e Project 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
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:
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
É 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.
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.
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
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.
terça-feira, 3 de dezembro de 2019
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:
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.
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.
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.
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).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.
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 (New Timeline Edition)
Editora: NA
Autor: Apsis
Ano de lançamento: 2014 / 2019
Género: Labirinto
Teclas: Não redefiníveis
Joystick: Kempston, 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
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).
sábado, 30 de novembro de 2019
Trailer de Moritz on the Autobahn
Será já em Janeiro que poderemos assistir ao lançamento de um dos jogos mais aguardados da Team Moritz: Moritz on the Autobahn. Este novo trailer da autoria de Mike van der Lee promete dar-nos mais alguns detalhes acerca do jogo e apresentar a saga Moritz a quem ainda a não conhece.
Relembramos que se trata de um jogo onde Moritz parte numa viagem pela Europa para se reencontrar com o seu primo português Mortiz. Nessa viagem passará pela Alemanha, Bélgica, França, Espanha e, claro, Portugal enfrentando uma série de inimigos relacionados com a cultura e história desses países. Está a ser desenvolvido pela Team Moritz, composta por Andy Green, Lobo, Pedro Pimenta, Sebastian Braunert e Uwe Geiken. Será um lançamento exclusivo que virá em formato digital com a revista Blast Annual 2020, mas também soubemos que irá em breve haver uma edição física muito especial para coleccionadores. Já não falta muito para podermos começar a grande viagem...
Monopólio (MIA)
Da colecção do Luís Dias chegou mais um lançamento da Timex que ainda não estava preservado, Monopólio, recriando o popular jogo de tabuleiro. Além do .tzx, inclui a capa e as instruções, permitindo-nos assim ficar com mais um lançamento completo. Tenham em conta que o programa apenas corre no TC 2068 (ou num emulador com essa plataforma), por isso não estranhem que ao carregarem-no no Spectrum, apareça uma mensagem de erro.
Poderão vir aqui descarregar Monopólio.
The Spectrum Show: episode 90
Final do mês e como de costume Paul Jenkinson presenteia-nos com o insubstituível The Spectrum Show, agora o episódio 90. Pode ser visionado acima...
sexta-feira, 29 de novembro de 2019
Versão com gráficos para Escape From Dinosaur Island DX
Escape From Dinosaur Island DX ganhou uma nova roupagem, com a introdução de gráficos na parte superior do ecrã por parte da Adventuron Software Limited (Chris Ainsley).
Jogamo-lo há meia dúzia de meses e considerámo-lo como uma das boas aventuras de texto que saíram este ano. Termos agora que voltar a fazê-lo, para assim apreciar devidamente os ecrãs agora adicionados.
Poderão vir aqui descarregar o jogo.
Subscrever:
Mensagens (Atom)













































