quarta-feira, 19 de março de 2025

JetPac Miner


Briefer666, que tem vindo a disponibilizar uma interessante obra literária onde nos ensina a programar em BASIC e BASIC compilado (Boriel), acaba de lançar mais um jogo: JetPac Miner. Poder-se-ia pensar que estaríamos perante uma mistura de Jetpac com Manic Miner, e o nome do jogo não surge por acaso, mas a nós fez-nos também lembrar um clássico como Boulderdash. O que não é mau sinal, diga-se. E claro que o herói deste jogo não poderia ter outro nome que não fosse Willy. 

Willy, que também é mineiro, foi então de férias para Maiorca e gastou todo o seu dinheiro em casinos e em mulheres de reputação duvidosa. E agora, os credores estão a ameaçar ficar com a sua mansão, a menos que ele pague as £10.000 que lhes deve. Assim, resta-lhe colocar o seu capacete de mineiro e escavar o jardim da sua mansão, quem sabe possa encontrar pedras preciosas que o irão ajudar a pagar a dívida. Para isso tem a ajuda de um jetpac, assim como um eficaz berbequim. Já entenderam portanto de onde surge a ideia para este jogo, não é?

Se quiserem experimentar JetPac Miner, basta aqui virem. O jogo tem um custo mínimo de 2 usd e parece ser mais complexo do que aquilo que se poderia imaginar pelo nome.

Ondas (MIA)


Quando o ZX Spectrum foi lançado, o Zé Oliveira entreteve-se a criar muitos e muitos programas para esse computador. E felizmente, as listagens sobreviveram até aos dias de hoje. O Zé tem então estado a digitá-las, permitindo-nos assim ver os programas que fez enquanto adolescente. E o talento era já bem visível.

Poderão aqui vir visualizar este interessante programa.

terça-feira, 18 de março de 2025

Ficheiro (MIA)


Das cassetes do tio do João Diogo Ramos conseguimos preservar mais um pequeno utilitário. A estrutura é a habitual neste tipo de programas, com entradas, saídas, ordenação e consulta de registos.

Poderão aqui descarregar o programa.

Nightmare Park & Music Plus (ZX81 MIA)

 

Steven Brown e Mark Westmoreland enviaram-nos um lançamento da Macronics. Curiosamente já tínhamos conseguido recuperar vários programas desta editora.

O primeiro, Nightmare Park, já estava preservado, mas faltava ainda preservar Music Plus, o que acontece agora.

Poderão aqui descarregar esta colectânea.

segunda-feira, 17 de março de 2025

Pássaros (type-in)


Em tempos já tínhamos partilhado Pássaros, de Luís Filipe Monteiro, que apareceu como type-in na Softfile número 1 (ver aqui). Pois agora fizemos a conversão para .tap, podendo aqui ser descarregada. 

Far West


Far West é um novo jogo criado com o ZX Game Maker, por um programador que dá pelo nome de Antrilles Software. E parece mesmo ser o seu primeiro jogo, que tal como refere na sua página, tanto prazer lhe deu fazer.

Estamos fora (e assim vamos estar durante a semana), pelo que apenas a espaços vamos conseguir ver este novo jogo (e outros que entretanto apareçam). Aproveitámos a hora de almoço para lhe dar uma espreitadela, e parece ser interessante, com um atemática a levar para os westerns. Realce ainda para a excelente música, mas de Beyker não se poderia esperar outra coisa.

Assim que tivermos oportunidade, iremos tentar levar este platformer até ao fim. Até lá, podem vir aqui descarregá-lo e darem a vossa opinião. Como sempre, aconselhamos a fazerem uma pequena doação, é uma forma de recompensar o autor do jogo pelo seu esforço.

domingo, 16 de março de 2025

Topografia (MIA)

Partilhamos hoje mais um programa cuja cassete tinha sido doada ao Museu LOAD ZX. Estamos aqui perante um pequeno utilitário, criado pro J.F.C. Molero em data desconhecida.

Poderão aqui descarregar Topografia.

Liminal


Há uns tempos tínhamos referido uma nova editora, a QAOP, que estava a preparar o lançamento de vários jogos, alguns deles originais (ver aqui). O primeiro deles já está disponível, Liminal, embora a sua aquisição possa revelar algumas dificuldades. Claro que os utilizadores do Leste estarão habituados a essas formas de pagamento propostas, mas no Ocidente poderá não haver muitos a utilizarem esses meios. O ideal seria a editora tentar criar uma conta no itch.io (se lhes for possível, não sabemos se pelo local onde se encontram, a operação estará vedada pelas sanções). Desta forma iriam conseguir chegar a muito mais gente e a rentabilizar o investimento.

Quanto ao jogo, e já tínhamos experimentado uma versão beta, a jogabilidade parece ser interessante, isso se se conseguir perceber o que se tem que fazer. Provavelmente, quem encomendar Liminal, também terá direito a instruções (esperemos que em língua Inglesa), permitindo usufruir dele.

De qualquer forma, é com muito agrado que vemos o aparecimento de mais uma editora vinda do Leste, agora que a Zosya cessou as suas actividades (esperemos que apenas temporalmente). Talvez ante a perspectiva do fim do conflicto entre a Rússia e a Ucrânia, a situação global comece a normalizar, assim como as relações entres todos os países. É que a nível de programadores, nunca essas questões políticas surgiram e todos trabalham para um objectivo comum. 

Poderão aqui vir encomendar o jogo.

sábado, 15 de março de 2025

Criar o Manager de Futebol 2025 para ZX Spectrum (parte 2)

Depois de termos deixado a parte 1 do diário de Manager de Futebol 2025 (ver aqui), deixamos agora a segunda parte. O jogo foi desenvolvido por Mário Armão Ferreira, autor da excelente página PCManias (ver aqui).

Criar o Manager de Futebol 2025 para ZX Spectrum (parte 2)

Após ler um bocadinho sobre a arquitectura do Spectrum vejo que os 64 KB restantes não são acessíveis de uma vez como os primeiros. E que dado eles estarem em quatro bancos de 16KB de RAM, teria de aceder a cada um deles de forma individual. E pesquisando um pouco de informação sobre como lhes aceder, atiro-me de cabeça a explorá-los.

Aqui, poderia ter feito como o comum dos mortais. Parava o jogo, estudava a coisa, e voltava quando a percebesse completamente. Mas não só eu não sou assim, como muito sinceramente, não tenho grande pachorra para leituras. Assim, preferi entrar à bruta, batendo com a cabeça e aprendendo com os erros. É minha convicção que o aprendido desta forma acaba por ser mais duradouro que o que se aprende meramente lendo.

Daí que me “atirei” aos bancos, usando código meu. E comparo o que me sucedeu aqui com uma cena do Filme Indiana Jones e a Ultima Cruzada.

Nesse filme, já na parte final, Indiana tem que salvar a vida do seu Pai, e para isso tem de resolver uma série de puzzles que lhe podem custar a vida. Um dele chama-se “A Palavra de Deus”, e consiste num chão coberto de letras onde apenas calcando as letras certas se é possível passar. Indiana conclui que Deus em Hebraico se escreve Jehovah, pelo que muito convicto avança…

J… E o chão desaba sob os seus pés quase o matando, pois na realidade, em Hebraico, Jahovah escreve-se Yehõwã.

Ora é impossível deixar de fazer a comparação disto com o que aconteceu comigo: Ok, há quatro bancos, vamos abrir o primeiro.

1… E o que me apercebo é que, uma vez o banco aberto, 25% do meu código do jogo… desapareceu.
Porque aconteceu isto? Porque na realidade há um bom motivo para que o Basic, em modo 128KB, apenas dê acesso a 64 KB máximo de RAM. E o motivo é que o Z80 apenas consegue endereçar no máximo essa RAM. O que implica que, aceder a mais 16 KB, requer largar um dos bancos em uso, para aceder ao outro.

Por outras palavras, não era com as rotinas que estava a usar que conseguiria chegar lá!

A solução que encontrei passou por reservar um pedaço de RAM dos 64 KB iniciais, que abdico de endereçar, e com ela abrir uma “janela” para os outros bancos, por onde se transfere os dados. E após muito bater com a cabeça, lá consegui com PEEKS e POKES metidos num ciclo FOR NEXT transferir dados para um dos bancos.

Oh maravilha… tudo funcionava… Ou não?

Na realidade… funcionava! Mas a velocidade de transferência de dados era miserável. Por exemplo, para encher o equivalente à memória vídeo, que são 6 912 bytes, o ciclo tinha de ir de 1 a 6 912 para ler os bytes todos. Experimentem fazer um ciclo com esta dimensão, mesmo sem fazerem nada no seu interior, e vejam o que tem de penar para que ele acabe.

E foi aqui que o assembler entrou. Dado que a transferência usando Basic, era lenta, mas mesmo muito, muito lenta, recorri ao assembler, centenas de vezes mais rápido. Apenas como exemplo, em Basic, passar o conteúdo da RAM vídeo de um lado para o outro, demorava mais de 4 minutos. Em assembler, apenas alguns milisegundos.

Tinha resolvido o meu problema. Estava a aceder a mais RAM. E nesse sentido até fui ao meu blogue, a PCMANIAS.COM, colocar num comentário onde tinha dado a conhecer que estava quase a desistir do jogo, o texto: “Yippee-Kai-Yai Motherfucker, consegui!”.

Mas será que tinha mesmo conseguido?

A realidade é que tudo funcionava… e com a RAM adicional, o grafismo podia ser melhorado, e a memória base livre da parte que o definia. Libertaria RAM base, e conseguiria melhores gráficos. Que maravilha!

Assim, conseguindo meter e tirar dados do banco adicional 1… passo ao banco adicional 2…
E tudo funcionava. Excepto que quando mandava retornar os dados do banco 1, o que obtinha era o conteúdo do banco 2 … Que raio se passava?

O que vim a descobrir, é que uma vez aberto o acesso a um banco, a mudança para outro não fecha o acesso ao inicialmente aberto. Conclusão, dado que o estava a trabalhar com endereços lógicos, e não os físicos, que desconheço quais pertencem a que banco, ao mandar os dados para o segundo banco, os dados no primeiro nos mesmos endereços lógicos, eram sobrepostos.

Deixem-me explicar melhor isto:

Cada bloco de RAM tem 16 KB, o que significa que cada um deles tem um total de 16 384 Bytes com endereços do 0000h ao 3FFFh (hexadecimal para 0 e 16 383).

Os primeiros 64 KB de RAM são apresentados como um todo, endereçados com endereços físicos do byte 0 ao 65 535 (0000h a FFFFh), sendo que os restantes bancos terão endereços físicos que acrescem a este valor um total de 16 384 bytes cada um. 

Ou seja, se os bancos fossem usados sequencialmente, do 0 ao 7, o banco 0,1,2 e 3 estariam a uso no Basic e devidamente endereçados, e o banco 4 começaria no endereço 65 536 e iria até ao 81 919, e por aí foram até perfazermos os 128 Kb.

A questão é que, no tempo que disponibilizei a isso não consegui encontrar dados concretos sobre qual a ordem dos bancos, quais os usados, e quais os endereços de RAM de cada um. E nesse sentido fui por tentativa e erro. Assim acedia a bancos livres, mas sem saber quais os endereços físicos que eles possuíam.

A solução foi usar endereços lógicos. Basicamente isso implica tratar os bancos todos por igual, e em vez de dizer qual o endereço exato na RAM total, refiro o endereço dentro do banco em uso que vai do byte 0 ao Byte 14 383.

Ora com dois bancos abertos, ao mandar dados para os primeiros 7 KB do Bloco, o que acontecia é que ele mandava para ambos a mesma coisa, escrevendo por cima do que já tinha mandado para o primeiro bloco. Ou seja, ambos os blocos ficavam a uso, mas ambos continuam a mesma coisa.

É um pouco como em vez de dizerem ao carteiro para entregar na Avenida Marechal Gomes da Costa nº 146, abrindo a cidade Lisboa, mudando depois para o Porto, e pedindo igualmente para entregar na Avenida Marechal Gomes da Costa, nº 146, o que, pelo não fecho de Lisboa, originaria uma duplicação da entrega em ambas as Avenidas (se tal fosse possível).

OMG! E Agora! Como resolvo esta situação! Preciso de fechar o acesso ao primeiro banco, antes de aceder ao segundo.

Recorri a fóruns de programação para ajuda, mas não conhecendo verdadeiramente nenhum bem ativo e dedicado ao Spectrum, não obtive grande ajuda.

Aliás, as respostas que obtinha eram desanimadoras, e do género: “Ao usares os bancos extras dessa forma, meteste-te num caminho que poucos que usaram o Spectrum conseguiam trilhar”.
Desanimei… 

No meio destes comentários, alguém me referiu: “Usa a RAMDISK”. Não dei importância ao que me foi dito, pois não sabia o que isso era, e pensei tratar-se de algum software de terceiros. Optei por usar apenas 16 KB extra, metendo apenas o grafismo do campo, agora bem mais detalhado do que antes, nesta memória. Basicamente leria o conteúdo das imagens directamente para a RAM vídeo, não usando assim memória extra nos 64 KB base.

E assim, disto:


Passei a isto:


Ao não ter de desenhar o campo, tornei o processo mais rápido, libertando o código de uma boa quantidade de PLOTs e DRAWs. O resultado era bem mais convincente. E dado que usava a mesma linha de código para desenhar o campo nas duas direcções, isso obrigava ao uso de variáveis e cálculos de valor absoluto, de forma a tornar positivos resultados negativos. Estava ali uma boa quantidade de código massudo que libertei desta forma.

Mas quando coloco a imagem, criada no Photoshop, na RAM do Spectrum, e executo as animações das jogadas sobre ela… OMG. Que salgalhada de cores!

O motivo era simples. O Spectrum trabalha com duas cores em cada bloco de 8x8, o INK, e o PAPER. Eu tive o cuidado ao criar a imagem de em cada bloco de 8x8 apenas usar duas cores, e usar a paleta de cores do Spectrum. Mas não pude definir, qual da duas cores era o PAPER, e qual era o INK. E o resultado era que isso estava à sorte, criando uma salgalhada de alterações de cores.

Basicamente tive de rever a imagem, recorrendo ao software ZX PAINTBRUSH, percebendo as zonas do ecrã que estavam bem, e copiando os atributos para todo o resto do ecrã, pixel a pixel. Pff… Foi uma trabalheira.

A questão era… mesmo assim a memória estava curta. Faltava muito, muito pouco, mas dado que estava a reservar RAM para a transferência de dados para a RAM Superior, e para a música, precisava de um pouquinho mais de RAM, ou iria ter de sacrificar algumas das novidades. E ainda tinha o problema do Beta Testing, que poderia encontrar bugs que requeressem várias linhas de código para correcção, ou mesmo a criação de subrotinas para prever casos não pensados (como aconteceu).
Tinha de aceder ao resto da RAM. Afinal estava lá tão perto.

Revendo os comentários de ajuda, bati novamente com o que me dizia “Usa a RAMDISK”. E fui pesquisar por ela!

O que encontrei… era a solução de todos os meus problemas.

Continua na parte 3...

Pokes 1, 2 e 3 (MIA)


Em tempos vimos à venda três curiosas cassetes à venda e resolvemos arriscar, para ver o que estava lá dentro. E valeu bem a pena o dinheiro despendido, pois encontrámos pokes para 60 jogos. Claro que hoje em dia este conteúdo acaba por ser redundante, pois facilmente se encontram os pokes na WWW, mas na altura os piratas nacionais devem ter feito uma maquia extra com estas três cassetes.

Poderão aqui descarregar as três cassetes.

sexta-feira, 14 de março de 2025

Edição física de Johhny Danger


Continuamos a partilhar algumas das edições físicas que recebemos nos últimos tempos. Desta vez temos Johhny Danger y el Talismán de Fuego, edição deluxe, e edição standard. Qualquer uma delas está muito bem composta, senão vejamos.

A edição com a caixa versão coleccionista contém:
  • Caixa grande
  • Cassete lacrada com selo
  • Folheto de instruções com 12 páginas
  • Poster
  • Postais
  • Autocolantes
  • Moedas do tesouro
  • Cartão de autenticidade
  • Set completo com 8 cartas

Mas a versão standard também tem muita coisa:
  • Cassete lacrada com selo
  • Autocolantes
  • Cartão de autenticidade
  • Set com 2 cartas
Assim, seja qual for a edição escolhida, ficamos muito bem servidos, não só com um interessante jogo (ver aqui o que dissemos sobre ele), como uma versão física muito atractiva e completa. Além disso, o próprio programador vai estar no fim-de-semana no Retro Parla, onde irá falar um pouco sobre este sonho que foi lançar um jogo para o ZX Spectrum, e podem aproveitar para autografar o material.

Se quiserem apoiar mais um promissor programador e criador de jogos para o ZX Spectrum, apenas têm que aqui vir.

La Deuda


Já está disponível mais um jogo do género "make your own adventure", que faz as delícias de nuestros hermanos. Em vésperas do Retro Parla, onde muitas novidades vão acontecer, aqui está mais uma para alegrar quem se vai pôr ao caminho de Madrid (Filipe, já tens com que te entreter pelo caminho).

Mais que um jogo, La Deuda é uma película interactiva, com um ambiente muito negro, à boa maneira Americana. E com um tema fora do normal: impostos...

Podem vir aqui descarregar este novo jogo, quem sabe venha a ser traduzido para Inglês para aumentar o leque de possíveis jogadores, incluindo os colectores de impostos.

quinta-feira, 13 de março de 2025

Bastidores da produção de Paradise Café 40 Anos e Retro Parla


Ontem marcou a estreia da Larvae Records na produção da sua primeira edição para o ZX Spectrum, num cenário já bem conhecido para a Teknamic. Estivemos na Edisco para acompanhar de perto o processo de fabrico desta edição muito especial para os portugueses.

Entre o barulho da impressão e algumas conversas sobre o panorama português da cena retro, foram impressas 150 cassetes, que seguiram depois para duplicação.

Entretanto, tivemos acesso privilegiado ao primeiro teste de sempre desta nova edição.

E as surpresas não ficam por aqui! A Larvae Records cedeu generosamente 15 unidades para serem adquiridas no espaço da Teknamic no Retro Parla, que acontece já no próximo fim de semana (15 e 16 de março) em Madrid. Embora o Paradise Café não faça parte do catálogo da Teknamic, esta faz questão de apoiar e dar visibilidade a produções lusas no estrangeiro, independentemente da editora ou do título.

Os nossos vizinhos espanhóis terão assim o privilégio de ver, em primeira mão, os primeiros exemplares desta belíssima cassete – e apostamos que vão desaparecer num instante!

Pequenos utilitários (FDD)


O conteúdo da disquete do professor Noémio Ramos que deixamos hoje, contém vários pequenos jogos e utilitários, alguns deles nunca antes vistos.

Poderão aqui descarregar o conteúdo.

quarta-feira, 12 de março de 2025

DiscDump (MIA)


DiscDump foi mais um utilitário que encontrámos em cassetes que foram doadas ao museu. E logo em dose dupla, com duas versões diferentes. No entanto, parece não estar completo, e é necessário entrar-se na listagem para se conseguir carregar o menu inicial.

Poderão aqui descarregar o programa.

Pequenos programas para o ZX81


São mais de 30 pequenos programas, provavelmente type-ins, que encontrámos em várias cassetes doadas ao Museu LOAD ZX. Os fãs desse computador, poderão tentar identificar o que aqui deixamos.

Podem aqui descarregar os programas.

terça-feira, 11 de março de 2025

8K Shadow ROM


Hoje temos algo "fora da caixa". Assim, o ficheiro que partilhamos é a memória extra, possivelmente para o pacote de Interface 1 + Microdrive da Sinclair. Não sabemos se isso já estava preservado ou em que formato. Se algum leitor tiver mais pistas, por favor, utilize os comentários.

Poderão aqui descarregar o ficheiro (em triplicado).

Stormforce & Starbuster (ZX81 MIA)


Steve Brown e Mark Westmoreland enviaram-nos mais um lançamento da editora do gato preto, isto é, a Meow Micros. Desta vez são dois jogos, Stormforce e Starbuster, sendo o primeiro deles um jogo de tabuleiro de estratégia que iremos depois explorar mais aprofundadamente.

Poderão aqui vir descarregar mais esta importante preservação.

segunda-feira, 10 de março de 2025

Dr. BASIC

Já tínhamos partilhado Curso de BASIC Elementar, também conhecido como Dr. BASIC (ver aqui). E até temos a sensação de também já ter partilhado esta versão que podem ver no ecrã acima. No entanto, como não a localizamos no blogue, e porque nos foi pedido por um leitor, voltamos a deixá-la disponível.

Este curso foi lançado pela Triudus, tendo pelo menos três versões com ligeiras diferenças. Poderão então descarregar aqui esta versão, que ocupa duas cassetes.

Grutas de Neptuno (type-in)


Apesar de já termos terminado de colocar os type-ins da Mini Micro's (tudo o que era possível digitar, já o foi feito), ainda temos mais algumas curiosidades para partilhar.

Grutas de Neptuno está incluindo num livro que encontrámos numa feira, e que faz parte duma colecção mais abrangente. A listagem tinha uma série de erros, o que até é uma pena, tendo em conta a apresentação do livro. Mas corrigimo-la, ficando como seguramente seria a intenção do seu autor, sendo agora partilhada.

Poderão aqui descarregar a aventura Grutas de Neptuno.

domingo, 9 de março de 2025

JND: Micromania (P&B) - 11


Ontem foi o Dia Internacional da Mulher e, por coincidência, a Micromania que trazemos hoje remete a essa comemoração tão importante. Sónia, a primeira leitora a escrever para a Micromania, marcou a história da participação feminina nesta seção. Como bem apontou João Cruz: quem disse que elas não apreciam também os videojogos?


Esta edição da Micromania, de 26 de junho de 1988, também apresentou a primeira tira dos JN Troopers, intitulada Jogos Mortais. Não percam as próximas preservações para acompanhar a sequência da história. Que ameaça se esconde por trás daquela arcade?

E, claro, as colaborações dos leitores continuaram a crescer, com mais dicas, pokes e os famosos "carregadores" – listagens em BASIC que permitiam carregar os jogos com algumas batotas..! Podem descarregar a digitalização feita por Miguel Brandão neste link.

The Last Bullet


Mananuk lançou recentemente o terceiro episódios desse herói dos tempos modernos, Paleto Jones, cujas semelhanças com um certo Indiana não são mera coincidência. O nome do jogo é The Last Bullet, e faz todo o sentido, pois ao longo de toda esta aventura em três partes, estamos sempre atentos à quantidade de munições que temos em nosso poder, não se dê o caso de chegarmos à última bala e ficarmos apeados, que é como quem diz, morrer na praia, ou, neste caso, nas areias do deserto.

Mas vamos à história, tal como o prolífico Mananuk que tantos e tão bons jogos nos tem trazido nos últimos tempos, nos conta, ao redor duma fogueira, entre sessões de tiro ao alvo e uma rodada no saloon local...

Assim, Paleto Jones regressou a casa depois de ter passado por várias aventuras. A flauta de Bartolo (nota: quem experimentou o último jogo de Paleto Jones sabe ao que nos referimos) foi parar às mãos de um marinheiro e o seu tio Ramon descansa à sombra de um cipreste. Mas quando chega à sua aldeia, encontra-a deserta, os seus habitantes desapareceram e, com eles, a sua amada Maribel. Para piorar a situação, aranhas gigantes e mortos-vivos andam à solta. As suas investigações levam-no à mina de Billy Joe, isso já depois de ter passado pela povoação fantasma.


O Jogo tem três áreas, ou níveis, como lhe queiram chamar, cada qual com diferentes objectivos. O primeiro deles, a Cidade fantasma, Jones tem que apanhar todo o ouro que consiga, para poder comprar a dinamite que permite fazer explodir as rochas que estão a obstruir a entrada da mina. E quando dizemos todo, é mesmo todo, pois se nos esquecermos de recolher algum objecto, e isso aplica-se a todos os níveis, teremos que voltar atrás para recolher o que estiver em falta (atenção especial no segundo nível, pois algumas entradas encontram-se bem escondidas).

Quanto chegamos ao segundo nível, já dentro da mina de Billy Joe, chegam-nos rumores de que os aldeões e a nossa amada Maribel foram raptados numa aldeia índia lá pelos lados do deserto. Para lá chegar, temos de atravessar a mina, recolher todas as pedras precisos, só assim Billy Joe nos irá dar a chave que nos permite avançar para o terceiro nível.

Chegamos então finalmente ao Deserto de Hill Valley, onde dizem que está a nossa amada. O objectivo é salvar todos os aldeões e, por fim, Maribel, para depois irmos para o local onde se encontra o nosso corcel e galopar a toda a velocidade para a próxima aventura de Mananuk.

Já experimentámos o jogo e não descansámos enquanto não o terminámos. E isso quer dizer que estamos perante um desafio agradável, que certamente vai ser do agrado de todos. Embora tenhamos usado um emulador (fizemos batota, mas não digam a ninguém), o jogo é perfeito para ser carregado no The Spectrum, não sendo por acaso que está a ser primeiramente lançado nessa plataforma.

Resta ainda dizer que The Last Bullet começou a ser desenvolvido em 2020, tendo depois passado por uma longa pausa. Agora, o jogo foi concluído, tendo ainda algumas melhorias gráficas relativamente ao original sido feitas recentemente.

E como podem ter acesso a este jogo, perguntam os nosso leitores? Pois é fácil, para já está incluído exclusivamente na edição física do Pack Total. Quem a adquiriu, Mananuk enviou agora este agradável bónus, recompensando todos aqueles que o têm ajudado. Para isso apenas têm que aqui vir, onde têm acesso a este fabuloso pack. E podem também aproveitar para ver o directo que o nosso amigo El Spectrumero fez muito recentemente, totalmente de surpresa (aqui).

sábado, 8 de março de 2025

Retro Parla 2025

​A Retro Parla 2025, o Sétimo Encontro Anual de Retroinformática e Videojogos, está agendada para os dias 15 e 16 de março de 2025, na Casa da Juventude de Parla, Espanha. Este evento reúne entusiastas e profissionais dedicados à preservação e celebração de tecnologias e jogos clássicos, e contará com a participação de associações, grupos de desenvolvedores, diversas lojas e expositores que enriquecem o evento com uma variedade de produtos e experiências para os entusiastas da retroinformática e dos videojogos clássicos

Entre os destaques está a Topo Siglo XXIiniciativa está intimamente ligada à histórica Topo Soft, uma das principais empresas de desenvolvimento de videojogos na Espanha durante a década de 1980. A Topo Siglo XXI, (amiga e parceira de longa data do Planeta Sinclair) dedica-se à reprodução e reedição de títulos clássicos, oferecendo aos visitantes a oportunidade de adquirir versões atualizadas desses jogos icónicos. Além disso, é notável a colaboração com Alfonso Fernández Borro, conhecido como Borrocop, um dos artistas gráficos originais da Topo Soft, que estará presente no evento para interagir com os fãs e partilhar as suas experiências.


Outra presença de relevo é a da Teknamic Software, uma empresa independente portuguesa que participa pela segunda vez no Retro Parla. Especializada no desenvolvimento e reedição de jogos para microcomputadores clássicos e plataformas modernas, a Teknamic oferece uma gama de produtos que refletem a pequena, mas ativa, cena retro portuguesa. Os visitantes terão a oportunidade de explorar e adquirir os seus lançamentos mais recentes.


Além das menções acima, são inúmeras as participações, entre lojas, associações e grupos, com alguns nomes sonantes. São elas: El Templo Del Arcade, Gamepress, GameXtore, Kentinel Studios, Librería Gradua, Marcianitos, r_Sports, AUA, CAAD, Los trastos de XaX, Retro entre amigos, RetroHobby, RetroReal, Yo tenía un juego, 4MHz, Dr. Kucho! Games, KaleidoGames, RetroWorks e Volcano Bytes.


O Retro Parla 2025 contará com diversas atividades, incluindo exposições temáticas, torneios, concertos de ChipTune e uma ação solidária em parceria com a Associação Juventudes Hospitalarias, que organizará a troca de videojogos por alimentos para apoiar famílias necessitadas em Parla. Além disso, estão programadas várias palestras, como a apresentação do livro "Cinco duros", que aborda a história dos salões de jogos em Espanha, ou a comemoração do 40º aniversário da Ópera Soft com a presença de nomes sonantes desta empresa lendária.


​O evento terá a seguinte organização espacial para melhor acolher os participantes:​

Nave Principal (Piso Térreo):

  • Área Central: Destinada às associações, expositores e lojas participantes.​
  • Palco (ao fundo): Local onde decorrerão diversos torneios ao longo do fim de semana.​
  • Zona de Arcades: Situada próxima ao palco, esta área será gerida pelo "El Templo del Arcade", proporcionando aos visitantes a oportunidade de jogar em máquinas clássicas.​
  • Área de Restauração: Localizada adjacente à zona de arcades, oferecerá opções de alimentação e bebidas para os participantes.​

Edifício Anexo:

  • Primeiro Andar: Todas as palestras serão realizadas numa sala deste piso.

Mais informações na página oficial da Retro Parla: https://www.retroparla.com/

Lançamentos da Matranet


Depois de uma pausa, a Matranet, felizmente, voltou a presentear-nos com os seus lançamentos, sempre com um preço muito em conta.

Já os recebemos há algum tempo, mas ainda não tínhamos tido oportunidade de avaliar convenientemente as quatro cassetes impecáveis que recebemos pelo correio. E impecáveis, não só porque qualquer dos jogos é bastante divertido, mas porque a qualidade do material é muito boa. A própria tampa, com um brilho "glossy", destaca-se das tampas mais usuais nos lançamentos para o ZX Spectrum.

Os inlays também são bastante informativos, com uma imagem moderna e agradável, sendo que num dos casos nos faz lembrar o símbolo de uma mítica editora, remetendo-nos para os anos 80 e 90. É fácil de descobrir a qual dos jogos nos referimos, não é?

Os jogos são todos recentes e valem bem a pena ter em formato físico.

Assim, se querem ajudar os novos programadores e estas editoras que continuam a apostar no ZX Spectrum (em Portugal temos o caso notável da Teknamic Software), podem adquirir as suas edições físicas. Nos próximos tempos iremos mostrar mais algumas das cassetes que temos vindo a receber em casa.

Criar o Manager de Futebol 2025 para ZX Spectrum (parte 1)

Depois de termos feito o anúncio de Manager de Futebol 2025, assim como a repectiva review (ver aqui), vamos agora, e durante alguns Sábados, disponibilizar uma espécie de diário de criação do jogo, escrito pelo próprio Mário Armão Ferreira. Temos assim hoje a primeira parte. E aproveitem para ver a sua excelente página, a PCManias (ver aqui).

Criar o Manager de Futebol 2025 para ZX Spectrum (parte 1)

O bichinho pelo Spectrum sempre me acompanhou. Se houve máquina que sempre me cativou, foi o velhinho Spectrum. Era fascinado com ele e a magia de ver novos jogos e maravilhosas ilustrações e jogos na revista Crash que comprava mensalmente, foi algo que me marcou de forma indelével até aos dias de hoje.

Apesar de na altura a evolução para os computadores de 8 bits e o PC terem apagado temporariamente o saudosismo do Spectrum, a realidade é que a marca deixada estava lá, e com o passar dos anos, revelava-se algo que cada vez mais mexia comigo.

A vontade de ter novamente um Spectrum era muita, e nesse sentido acompanhava regularmente as iniciativas de relançamento do Speccy, mas que nunca foram verdadeiramente capazes de suprimir completamente o saudosismo da máquina original.

O anúncio do “The Spectrum” foi para mim uma bomba. Era a máquina que eu ansiava há mais de 30 anos, e quando pude finalmente confirmar que aquilo que foi entregue realmente era um verdadeiro Spectrum, atualizado aos dias de hoje, mas sem perder a sua identidade original, fiquei fascinado.

O voltar a jogar os jogos da minha infância usando aquelas teclas de borracha foi uma sensação de nostalgia fantástica. Voltei a ser criança na minha mente.

Mas voltar a reviver o Spectrum não passava apenas por jogar jogos, mas por voltar a programar a máquina. E nesse sentido, resolvi fazer um jogo para ela!

O quê? Algo novo? Dada a onda de revivalismo lembrei-me do Treinador de Futebol lançado sob o nome Softimar em 1989. E pensei… Porque não? Vou fazer um REMAKE, e melhorar o original, mantendo o espírito do “The Spectrum” de atualizar, sem perder a identidade.

E assim, deitei mãos à obra.

Apesar de o conceito original passar por programar em modo Spectrum 48K, rapidamente desisti da ideia. Andar atrás de comandos com combinações de teclas CAPS SHIFT e SYMBOL SHIFT era algo já demasiadamente arcaico, pelo que sem pensar nas consequências, mudei para 128K Basic.

A diferença é que o 128K faz o input dos comandos da mesma forma que as máquinas atuais. Eles são escritos letra a letra, e depois reconhecidos pela máquina. E assim comecei a programar… No “The Spectrum”, em modo 128K.

A ideia com o Manager de Futebol era, como já foi dito, acima de tudo, não criar algo novo, mas manter o espírito do jogo original de 89, apenas melhorando-o em todos os aspectos.

Na fase inicial o que eu tinha em mente melhorar e muito, eram os menus. Tinha de acabar com o input escrito, e fazer tudo por reconhecimento de teclas. 

Uma das situações que o jogo original de 89 previa, mas que não vemos ativa, é o podermos usar várias equipas. Essa situação encontra-se inativa pelo simples facto que foi esquecido que o Spectrum, sem lhe baralhar o relógio do sistema, na primeira tirada de números aleatórios apresenta sempre 1 como resultado. Assim, devido à falta de um simples comando RANDOMIZE, o jogo foi lançado prendendo os jogadores apenas a uma equipa. 

Essa teria de ser também uma situação endereçada aqui nesta nova versão do jogo. Teríamos de escolher uma equipa, escolhida de forma consciente, e não retirada à sorte.

Mas nesta fase inicial, tirando isto pouco sabia sobre a orientação a dar ao jogo, e comecei por trabalhar em dois ecrãs de carga, que depois nem sequer cheguei a usar. Nesta fase o jogo ainda se chamava Treinador de Futebol 2025.


No entanto estas imagens fizeram-me perceber que o nome Treinador de Futebol não se enquadrava bem com o jogo original. E assim surge a mudança para Manager de Futebol 2025.

Era altura de começar a programar.

Apesar de o Basic do Spectrum se revelar já um pouco arcaico, a evolução do jogo correu muito bem e com muito saudosismo à mistura. Comecei por criar uma estrutura básica para todas as componentes do mesmo, colocando-o, apesar de uma forma muito rudimentar, com a estrutura de menus funcional. Era altura de melhorar os componentes.

A primeira coisa que quis fazer foi resolver a questão dos jogos em casa e jogos fora, com alternância jogada a jogada, uma situação que o jogo de 89 não prevê. E queria um sorteio real que variasse com a equipa escolhida e não algo fixo. 

Foi ao programar esta parte, logo inicial, que senti a necessidade de largar o “The Spectrum” como base de programação. Executar este código para debug era algo lento, e eu precisava de o correr dezenas de vezes. Nesse sentido, instalei um emulador no meu PC, e passei o desenvolvimento para lá. Podia assim alterar a velocidade de execução, e correr o código de forma quase imediata, e acima de tudo, usar a minha ferramenta preferida de programação… o Bloco de Notas.

Assim, criava o código no Bloco de notas, e usando o software ZMAKEBAS, convertia para TAP, e carregava o TAP instantaneamente no emulador, executando o código a uma velocidade que o Spectrum não conseguia oferecer.

E assim a primeira grande novidade estava criada. Um sorteio que envolve um total de 306 jogos, calculado no inicio do jogo.

Como curiosidade sobre esta situação, quando meti o código a ser executado à velocidade real, os menus eram lentos e com uma resposta horrível ao pressionar das teclas. Tive de rever o código todo e otimizar essa situação tomando em conta a real velocidade da máquina, e melhorando de forma tremenda a resposta.

Ora como referi inicialmente, eu comecei a programar em modo 128KB apenas pela simplicidade, e sem ter noção das consequências do que estava a fazer. A determinada altura, estaria já o jogo perto de 80% completo face ao conceito original, deparo-me com um erro que me assusta:

OUT OF MEMORY

Ui…E agora…O jogo não está completo!

Foi aqui, e apenas aqui, que resolvi analisar a memória do Spectrum, e o que descobri foi ainda mais assustador. Não só estava sem memória, como, devido a todas as novidades introduzidas, estava a usar 64KB de RAM, o que teria forçosamente de excluir o Spectrum 48 KB das máquinas suportadas.
Esta situação deixou-me deveras preocupado sobre como avançar, e deixou-me igualmente perceber uma outra realidade. O Treinador de Futebol de 1989 terá ficado bem mais próximo dos limites do 48K do que alguma vez pensámos.

Resolver esta situação foi algo deveras stressante. Comecei uma optimização do código tremenda, basicamente a poupar todos os bytes que conseguisse, o que incluiu não só a criação de mais sub-rotinas para evitar código repetido, mas igualmente o reduzir comandos Print e a dimensão das Strings. Passei igualmente os DATA BIN que usava para definir gráficos, para meros DATA. 

Apesar de poupanças que permitiram acabar novas secções do jogo que estavam pendentes, a realidade é que a RAM não chegava. Era pura e simplesmente impossível, mesmo com 64 KB de RAM, criar o jogo que eu estava a desenvolver. A caça ao Byte era necessidade, mas infelizmente… o Byte não chegava.

Nesta altura, não só secções inteiras, como o mercado de Transferências estavam por fazer, como ainda queria colocar música no jogo, e criar uma sequência final para a conquista do campeonato. Era impossível arranjar tanta RAM apenas com otimizações.

Foi aqui que me ocorreu… É um Spectrum 128KB… E eu estou a usar 64KB. Isso quer dizer que ainda tenho mais 64 KB algures para usar. E com esses 64 KB não só conseguiria acabar o jogo… como poderia melhorar o existente. A questão é que ia-me meter em caminhos desconhecidos e que nunca tinha explorado no Spectrum. Como acedo ao resto da RAM?

A aqui começa a parte que mais recordo de todo este desenvolvimento.

Continua na parte 2...

sexta-feira, 7 de março de 2025

Contador de Frequência (MIA)


Contador de Frequência faz o que o nome indica. É quase redundante para se usar em emuladores, mas na máquina real poderá ser útil.

Poderão aqui descarregar este utilitário.