Eu trago mais 4 jogos na coleção de jogos multiloads do TK90X adaptados para disquete Beta 48 por José Roberto: Darius, P47 Thunderbolt, Robocop e Teenage Mutante Hero Turtles The Coin-op.
terça-feira, 31 de julho de 2012
segunda-feira, 30 de julho de 2012
Highway Encounter e Speedlock 1
Desta vez eu estou apresentando o esquema de proteção Speedlock 1, na adaptação do jogo Highway Encounter. A série Speedlock é bastante famosa e empregada em numerosos jogos.
Marcadores:
Assembly Z80,
Beta 48,
Filmation,
Fita cassete,
Jogo,
Software,
TK90X
domingo, 29 de julho de 2012
Quazatron e a proteção do carregador BASIC
Na postagem anterior mostrei uma técnica de proteção de programa BASIC, que consiste em camuflar os valores reais de constantes numéricas. O jogo Quazatron é um que faz uso desta artimanha. Ao carregar o programa e interrompendo sua execução, obtém-se a listagem:
Obviamente os valores numéricos são falsos, pois estão todos zerados.
Marcadores:
Assembly Z80,
BASIC,
Beeper,
Beta 48,
Filmation,
Fita cassete,
Jogo,
Programação,
Software,
TK90X
sábado, 28 de julho de 2012
Proteção de programas em fitas: constantes numéricas
Eu já tive oportunidade, na série sobre adaptação de jogos para disquetes Beta 48, mencionar sobre proteção de programas BASIC contra listagem. Na ocasião, recomendei o uso do utilitário STK para poder carregar e listar tais programas. O que eu não tinha dito é que existe uma forma de proteção que não pode ser contornada pelo STK.
Fonte: Wikipédia |
Para ter uma ideia de como isto funciona, digite no TK90X ou emulador a seguinte linha BASIC e rode com RUN:
10 PRINT 0
Como esperado, observa-se que aparece impressa na tela o número 0. Agora digite a seguinte linha:
POKE PEEK 23635+256*PEEK 23636+10,1
e faça um LIST. Aparentemente o programa BASIC não mudou nada. Rode o programa, e... surpresa! Não aparecerá na tela o número 0, mas um outro valor! Como isso seria possível?
Marcadores:
Assembly Z80,
BASIC,
Beta 48,
Fita cassete,
Programação,
Software,
TK90X
sexta-feira, 27 de julho de 2012
Ad Astra para Beta 48
Além do Zzoom, abordado em postagem recente, outro shoot 'n' up que joguei bastante em meu TK90X no passado e que gosto bastante é Ad Astra.
Marcadores:
Beta 48,
Jogo,
Jogo shoot'n'up,
Software,
TK90X
quinta-feira, 26 de julho de 2012
Jogos 3D Isométricos vol. 1
Eu iniciei uma nova compilação de jogos para TK90X em disco Beta 48, que têm em comum os gráficos serem tridimensionais com perspectiva isométrica, conhecida também como "jogos Filmation" devido ao Knight Lore da Ultimate.
Neste volume de estréia, há os seguintes jogos: Ant Attack, Batman, Enigma Force, Fairlight, Glider Rider, The Great Escape, Greyfell, Gyroscope, Head Over Heels, Movie, Pyracurse, Rogue Trooper, Sweevo's World e Wolfan.
quarta-feira, 25 de julho de 2012
Zzoom
Na revista Jogos 80 fiz um review sobre o jogo Zzoom e, para isso, transferi este jogo para disquete Beta 48.
terça-feira, 24 de julho de 2012
Sobre 1984...
Eu já li o livro 1984: A Febre dos Videogames Continua do amigo Marcus Garrett (Garrettimus), mas não cheguei a fazer um comentário sobre esta obra como já havia prometido. Depois do excelente artigo do César Cardoso na revista Jogos 80 nº 9, creio que não há necessidade de uma nova resenha, pois fui mais que contemplado em todas as observações feitas. Só posso dizer isso: os livros 1983 e 1984 são indispensáveis para os amantes dos videojogos clássicos.
Revista Jogos 80
Saiu hoje a 9ª edição da revista eletrônica Jogos 80, de julho de 2012, com destaque aos 30 anos do ZX Spectrum.
domingo, 22 de julho de 2012
Pyracurse
Mais um jogo para TK90X foi adaptado para a Beta 48, desta vez é Pyracurse. Eu achei algo interessante na listagem do carregador BASIC deste programa.
Marcadores:
Assembly Z80,
BASIC,
Beta 48,
Fita cassete,
Jogo,
Jogo arcade-adventure,
Programação,
Software,
TK90X
sexta-feira, 20 de julho de 2012
JRR004: jogos multiloads para Beta 48
Eu estou lançando o 4º volume desta coleção de jogos multiloads do TK90X adaptados pelo José Roberto Rodrigues para funcionarem em disco Beta 48. Desta vez temos Golden Axe, Hammerfist, New Zealand Story e Renegade III. O primeiro tem também música e sons para a interface Explorer.
quinta-feira, 19 de julho de 2012
TZX Show
Na série sobre adaptação de programas de fita para disco Beta 48, foram discutida as vantagens de usar o emulador no PC. Dentre os formatos empregados para representar o conteúdo de fita cassete no PC, TZX é o preferido por ser o mais completo e versátil. Embora seja possível inserir arquivo TZX no emulador e operar como no TK90X real, a possibilidade de trabalhar nativamente no PC aumenta a produtividade. Como não existem muitos utilitários para o Linux, sistema operacional que tenho adotado, resolvi escrever o TZX Show que roda com interpretador Ruby. Esta linguagem foi empregada no TXDOS também.
Atualização: o World of Spectrum acabou de aceitar este programa em seu repositório.
Fonte: Wikipédia |
Marcadores:
Fita cassete,
Linux,
PC,
Programação,
Ruby,
TK90X
quarta-feira, 18 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 8)
Hoje eu fiz a adaptação de Rogue Trooper para o Beta 48 e, como venho elaborando uma série mostrando como se faz isto, aproveito para apresentar mais uma técnica. Deste vez abordarei como usar visualizador de memória do emulador Fuse. Apesar de mostrar o procedimento neste emulador, outros dotados de um debugger poderão ser usados.
Marcadores:
Assembly Z80,
Beta 48,
Emulador,
Filmation,
Fita cassete,
Jogo,
Programação,
Software,
TK90X
terça-feira, 17 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 7)
Continuando a adaptação do Sanxion 128k, um decodificador foi quebrado e a listagem da rotina de carregamento da fita tornou-se disponível. Fazendo um disassembly desta rotina que começa em 64896, há várias operações envolvendo principalmente a tela. O que realmente interessa é o carregamento da fita, que se inicia no seguinte trecho:
64952 LD IX,16384
64956 LD DE,6912
64959 CALL 65325
64963 LD IX,23808
64966 LD DE,40960
64969 CALL 65325
64972 LD HL,64986
64975 LD DE,23776
64978 LD BC,32
64981 LDIR
64983 JP 23776
Marcadores:
Assembly Z80,
Beta 48,
Emulador,
Fita cassete,
Linux,
PC,
Programação,
TK90X
segunda-feira, 16 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 6)
Até a parte anterior apresentamos procedimentos como se fosse efetuados em um TK90X real, os quais valem também para qualquer emulador. Na sequência, estaremos cada vez mais explorando os programas que têm algum esquema de proteção de gravação em fita, que exige cada vez mais análise de disassembly e eventualmente criar algumas rotinas em assembly. Torna-se então necessário interromper código de máquina durante sua execução, para analisar o disassembly ou fazer outras operações.
Nas épocas "heroicas" em que não existiam PC com emulador, eram usados monitores de código de máquina e disassemblers e a imbatível Multiface 1 com o programa Genie. Para aumentar o "heroísmo", impressora não era coisa de pobre, portanto éramos obrigados a copiar as listagens à mão numa folha de papel (eu tinha muitas listagens que, infelizmente, foram descartadas antes de me mudar para Curitiba).
Hoje a realidade é diferente, podemos usar todo o poder de processamento e armazenagem de PC moderno. O que substitui - com vantagens - a Multiface 1 é o monitor e debugger dos emuladores. Eu estarei mostrando os exemplos no Fuse, pois é o que utilizo mais, porém existem vários outros, como o excelente SpecEmu disponível na webpage do José Roberto que emula também a interface CBI-95 e a Multiface 1. Apesar de ter tido alguns problemas em versões mais antigas, a versão 1.5.0 do Wine consegue rodar o SpecEmu no Linux.
Marcadores:
Assembly Z80,
Beta 48,
Emulador,
Fita cassete,
Linux,
Memórias,
PC,
Programação,
TK90X
domingo, 15 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 5)
Dando sequência a esta série, eu estarei mostrando como adaptar jogos de fitas protegidas para disquetes Beta 48. Um conhecimento de código de máquina e assembly Z80 será requisito obrigatório no acompanhamento desta parte. Os comandos BASIC para carregar programas e dados da fita cassete podem ser facilmente pirateados, por isso os desenvolvedores de jogos foram criando diferentes esquemas de proteção.
Para cada dado salvo através do SAVE do BASIC, existem dois blocos de dados armazenados na fita, separados por um pequeno intervalo de tempo. O primeiro bloco, chamado de cabeçalho (header), contém dados como tipo (BASIC, DATA ou CODE), comprimento e outros dados dependendo do que está gravado. O bloco seguinte contém os dados propriamente ditos que serão lidos e armazenados na RAM (bloco de dados). Tanto um bloco de cabeçalho como de dados são compostos por um byte leader, seguido dos bytes a serem carregados e, por fim, um byte de paridade. Por exemplo, um bloco de 6912 bytes estará armazenado na fita como uma sequência de 6914 bytes. O byte leader, que é o primeiro, não é carregado na RAM mas simplesmente conferido por especificar o tipo de bloco (0 para cabeçalho e 255 para dados). O 2º ao 6913º bytes são lidos e carregados de fato na memória. Por fim o último byte, de paridade, não é gravado na RAM, mas serve simplesmente para detectar algum eventual erro que possa ter ocorrido. Maiores detalhes podem ser vistos neste artigo do TK-WIKI.
Como o BASIC só admite gravações em fita conforme descrito acima, basta alterar qualquer um desses detalhes na gravação que tornará o bloco irreconhecível a não ser por linguagem de máquina. O Cybernoid II será usado como exemplo para ilustrar esta técnica.
Marcadores:
Assembly Z80,
Beta 48,
Fita cassete,
Programação,
TK90X
sábado, 14 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 4)
Na parte 3, o jogo Motos teria sido adaptado para funcionar em disquete Beta 48. Só que ficou faltando um detalhe: como ter acesso à listagem do programa carregador em BASIC? A resposta mais simplista seria pressionar BREAK antes que ocorra o carregamento do bloco seguinte. Assim, o programa seria interrompido e o seu conteúdo seria disponível para listagem e edição.
sexta-feira, 13 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 3)
Na parte 2 eu prometi comentar os esquemas de proteção de jogos gravados em fitas cassetes mas, como interlúdio, abordarei um assunto igualmente importante: o consumo de memória.
quinta-feira, 12 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 2)
Na parte 1 dei o ponta-pé inicial falando sobre a correspondência de comandos entre o BASIC do TK90X e o DOS Beta (ou TRDOS). Entretanto estamos longe de termos adaptado algum jogo, pois os arquivos devem ainda ser salvos no disco. As operações de discos são feitas na interface de linha de comando (prompt) da interface Beta 48:
quarta-feira, 11 de julho de 2012
Adaptação de jogos de fita para Beta 48 (parte 1)
Penso em começar uma série sobre adaptação de jogos para o Beta 48, após pedidos. A maior dificuldade está em começar, pois o início sempre traz muitas dúvidas e expectativas. Acredito que o melhor ponto de partida é discutir um pouco sobre o carregamento de fita cassete.
segunda-feira, 9 de julho de 2012
JRR 003: jogos multiloads para Beta 48
Está disponível agora o 3º volume da coleção de jogos multiloads para TK90X adaptados para disquetes padrão Beta 48 pelo José Roberto Rodrigues. Os jogos que estão presentes são: Altered Beast, Lemmings e Target: Renegade.
domingo, 8 de julho de 2012
Final do Silkworm
A maior parte dos jogos de ação do TK90X, particularmente os shoot 'n' ups, são muito difíceis de serem concluídos. Isso faz com que sejam usadas medidas como POKEs de vidas, munições, energia, imunidade, etc, sejam empregadas para facilitar um pouco a vida do jogador. Porém no caso do Silkworm, nem é necessário usar POKE para terminá-lo.
Marcadores:
Hobeta,
Jogo,
Jogo shoot'n'up,
PSG AY-3-8912,
Software,
TK90X,
Vídeo online
sábado, 7 de julho de 2012
Mistério do Chase HQ para Beta 48
Eduardo Luccas tinha chamado atenção para o Chase HQ adaptado para Beta 48 pelo Otto Frederico. Ao contrário da maioria dos jogos multiloads adaptados, não havia distinção entre os tipos de interface (CAS ou CBI), pois funcionava perfeitamente em ambos. Outro efeito mencionado era que aparentemente o carregamento era mais rápido, com o cabeçote do drive executando menos movimentos.
sexta-feira, 6 de julho de 2012
Novo fórum: Sinclair Brasil
Daniel Lúcio fez convite para um novo fórum destinados aos fãs da linha Sinclair. Segue a mensagem do próprio.
Oi pessoal, tudo bem?
Gostaria de convidar-lhes a participar do fórum Sinclair Brasil.
Um fórum voltado a todos o micros da família Sinclair e similares ao redor do mundo.
O objetivo não é substituir as listas ou grupos e sim, somar-se a elas, sendo mais uma opção de comunicação e troca de conhecimentos e amizade.
Entendam o fórum como unificador daqueles que tem um gosto em comum (TKs, CPs, QL, ZX80/81, Spectrum e tantos outros), uma ferramenta moderna e descomplicada!
Antes de tudo, espero que seja uma experiência agradável e divertida,com vários recursos adicionais que não são possíveis em listas e grupos. As vantagens são inúmeras, mas nada melhor que o teste na prática, portanto, ficaria honrado se vocês se inscrevessem no endereço abaixo.
http://www.underwurlde.com/forum/
Essa é uma notícia em primeira mão, logo não estranhem, não tem quase ninguém, ou seja, é um fórum novinho, prontinho para ser estreado :P
Muito obrigado a todos e bom divertimento.
Daniel
PS- Se puderem repassar nas listas eu agradeceria.
Paperboy para Beta 48
Marcus Garrett postou na lista de discussão TK90X uma curiosa imagem de um veículo elétrico Sinclair C5 no jogo Paperboy para BBC Micro. Ele perguntou se nas versões para outros computadores ocorria o mesmo. Era uma desculpa perfeita para que eu convertesse o jogo para Beta 48 no meu TK90X.
quinta-feira, 5 de julho de 2012
AY Games Volume 04
Depois de ir adaptando jogos do TK90X com músicas de PSG AY-3-8912 (Explorer) para rodar em disco Beta 48, consegui reunir o suficiente para compor mais um volume da coleção AY Games.
quarta-feira, 4 de julho de 2012
TXDOS no WOS
Marcadores:
Beta 48,
Linux,
PC,
Programação,
Ruby,
Software,
World of Spectrum
Bobsleigh
Desta vez adaptei o jogo Bobsleigh, com som para interface Explorer, para interface de drive Beta 48.
Marcadores:
Beta 48,
Jogo,
PSG AY-3-8912,
Software,
TK90X
segunda-feira, 2 de julho de 2012
Utilitário txdos.rb
O sistema operacional abençoado pelo Guilherme Henrique Portas Terceiro está bem servido de utilitários para interface de drive de disco Beta, como se pode verificar no World of Spectrum. A situação é bem diferente para o sistema operacional criado por um certo finlandês conhecido como Linus Benedict Torvalds. Embora existam soluções como o Wine ou DOSEMU para rodar programas não nativos no Linux, tem seus inconvenientes. Eu fui portanto obrigado a escrever um programa que me auxiliasse nas adaptações que tenho feito para Beta 48.
Comecei experimentando com a linguagem Python, mas logo acabei desanimando. Depois de procurar um pouco, encontrei Ruby que acabou sendo a linguagem com que me acostumei mais facilmente. A propósito, por coincidência a pedra do mês de julho é o rubi.
Fonte: Wikipédia |
domingo, 1 de julho de 2012
JRR002: jogos multiloads para Beta 48
Na sequência da coleção de jogos multiloads para TK90X adaptados por José Roberto Rodrigues para disco Beta 48, eu apresento o 2º volume com os seguintes jogos: Gemini Wing, Mercs e Super Wonder Boy.
Assinar:
Postagens (Atom)