sábado, 30 de junho de 2012

Stormlord 128 para Beta 48 versão 2

Já fazem dois anos desde que eu adaptei o Stormlord 128 (com som para Explorer) para interface de disco Beta 48, mas quando vasculhei o World of Spectrum, notei que havia uma tela de carregamento que não tinha visto antes. O que eu tinha colocado na adaptação anterior (versão 1) tinha a seguinte tela, com a fadinha curvilínea:


terça-feira, 26 de junho de 2012

JRR 001: disco TRD para Beta 48

Para distribuir em computadores PC arquivos de disco Beta 48 o formato mais comum é o Hobeta. Eu particularmente tenho adotado este formato para distribuir as adaptações que tenho feito. Entretanto para usar efetivamente os arquivos de programas ou dados, faz-se necessário transferi-los para um disco real ou virtual. Neste último, é mais comum utilizar-se o formato TRD que é a imagem binária de um disco Beta. Assim, eu tenho gerado arquivos TRD com um ou mais programas que podem ser transferidos para um disquete para rodar no TK90X real, ou ainda no emulador.

Desta vez coloquei num TRD os seguintes jogos que foram adaptados pelo José Roberto Rodrigues: Black Tiger, Ghouls 'n' Ghosts e Myth: History in the Making.


segunda-feira, 25 de junho de 2012

Purple Saturn Day para Beta 48

Depois do Typhoon 128 que resultou como subproduto a rotina de leitura de setores de disco, imaginei que adaptar o Purple Saturn Day para o Beta 48 iria ser uma tarefa fácil. Porém a coisa se complicou um pouco e tive que quebrar a cabeça por algum tempo.


domingo, 24 de junho de 2012

Hot Shot para Beta 48

Mais um jogo para TK90X com som para Explorer adaptado para interface de drive Beta 48, desta vez é o Hot Shot. Possui uma bela melodia na tela de abertura.


sexta-feira, 22 de junho de 2012

quinta-feira, 21 de junho de 2012

É possível adaptar jogos do Spectrum 128 para TK90X com Beta 48?

Depois de ter conseguido adaptar o Typhoon 128 para o Beta 48, apareceram sugestões de adaptar outros jogos do ZX Spectrum 128 para funcionarem no TK90X com interface de drive. Acabei adaptando o Typhoon 128 meio que por acaso, mas quem sabe se não existem versões 128 de outros jogos em que caberiam o mesmo procedimento? Nesta postagem levantarei algumas considerações a respeito das dificuldades e viabilidade de tais adaptações.


quarta-feira, 20 de junho de 2012

Rotina ReadSectors para Beta 48

Durante a adaptação do Typhoon 128 para o Beta 48, eu criei uma rotina de carregamento de setores do disquete para a memória. Diferente da rotina da ROM do Beta 48 que denomino R_B_SECTS (12010 para CAS e 11990 para CBI), não faz uso de nenhum dos 112 bytes das variáveis de sistema do TRDOS, nem da área de buffer de impressora. Fazendo um assembly do jeito que está na listagem, a rotina ocupa 67 bytes, mas obviamente irá demandar mais memória para carregar alguma coisa efetiva dentro de um programa.

terça-feira, 19 de junho de 2012

Versão 2 do Typhoon 128

(Esta é a 100ª postagem do blog!)

Em postagem anterior eu disse ter conseguido adaptar Typhoon 128 para interface de drive Beta 48. Funcionou bem, segundo contaram-me alguns amigos fãs do TK90X (muito obrigado pela colaboração!). Entre eles, foi o Eduardo Luccas que percebeu uma certa demora antes de começar a carregar as fases. Esta pausa inexplicável estava incomodando-me também, por isso resolvi investigar um pouco mais. 


Nova atualização nos arquivos Header

Uma postagem rápida, só para notificar que atualizei os arquivos header que estou elaborando para ajudar na programação assembly Z80. Mudei os nomes dos arquivos e acrescentei algumas coisas, além de algumas correções. 

Para baixá-los, acesse este link.

domingo, 17 de junho de 2012

Typhoon 128 para Beta 48

Eu consegui adaptar a versão 128k do jogo Typhoon para a interface de drive Beta 48. Este jogo para TK90X tem música e efeitos sonoros para o Explorer. Existe uma versão para 48k também, o qual é multiload mas não tem som para o PSG, somente para a interface de 1 bit (beeper).


sexta-feira, 15 de junho de 2012

Interface de demo do TK90X

Visitando o site do Eduardo Luccas, encontrei um item interessante para download que seria a imagem (dump) da EPROM da interface de demonstração do TK90X. Pela descrição dada, seria uma interface conectada a TK90X em exposição em loja, que ficaria executando continuamente um programa.

Eu tive um problema em carregar o referido arquivo, pois o ZIP estava corrompido, mas o Eduardo gentilmente me enviou por e-mail um que estava funcionando. Meus sinceros agradecimentos a ele.


quinta-feira, 14 de junho de 2012

Headers para programação (atualização)

Postei anteriormente sobre meus arquivos com constantes (cabeçalhos ou headers) para programação assembly Z80 no TK90X.

Fiz atualização nos seguintes arquivos:
  • Headers_Beta48_CAS.asm
  • Headers_Beta48_CBI.asm
que são relacionados às interfaces de drive padrão Beta 48. Como o disassembly da ROM destas interface é um trabalho em andamento, espera-se que hajam mais alterações futuras nestes arquivos headers.

Para ter acesso a estes e dos demais arquivos no Google Drive, por favor clique neste link.

segunda-feira, 11 de junho de 2012

Sokoban (Compiler Software)

Houve uma época que jogos tipo Sokoban tornaram-se muito populares, mas parece que hoje andam meio esquecidos. Entre os vários jogos Sokoban para o TK90X, adaptei para a interface Beta 48 este aqui, que se destaca por seus gráficos e pela música para a interface Explorer.


domingo, 10 de junho de 2012

Headers para programação em Assembly Z80

Quando se elabora um programa em Assembly Z80, os códigos se tornam mais legíveis quando são utilizados rótulos para endereços e valores empregados pelas instruções. Alguns rótulos acabam aparecendo repetidamente e seria mais interessante criar um arquivo separado, para ser incluído (com a pseudo-instrução INCLUDE) durante a montagem (assembly).

Com isto em mente, criei alguns arquivos que chamei de header (cabeçalho) com constantes úteis para os programadores do TK90X

sábado, 9 de junho de 2012

Yerzmyey's Music Demo (Hooy-Program)

Hooy-Program é o grupo que tem o maior tempo contínuo de atividade na produção de demos para o ZX Spectrum. Dentre seus integrantes há o Yerzmyey que é um excelente músico para o PSG AY-3-8912. Recentemente fiz uma postagem apresentando a mais nova produção dele no You Tube.

Desta vez fiz a adaptação de um demo antigo, o Yerzmyey's Music Tape, para funcionar no TK90X com interface de drive Beta 48 e de som Explorer


sexta-feira, 8 de junho de 2012

Glider Rider para Beta 48

Desta vez eu adaptei Glider Rider da Quicksilva para ser carregado de disco padrão Beta 48. Este jogo para TK90X usa perspectiva 3D isométrico, porém não é propriamente um jogo tipo Filmation na minha opinião, por não ser um arcade adventure.


quinta-feira, 7 de junho de 2012

Música no ZX-81: Ursula

Yerzmyey conectou duas interfaces de som com PSG AY-3-8912/YM2149 e conseguiu compor uma música de 6 canais num singelo ZX-81. Veja no vídeo o resultado.


Eu gostei bastante e agora fico me perguntando se seria possível algo semelhante com os clones nacionais. Talvez não, por causa da incompatibilidade com o ZXpand.

The Great Escape para Beta 48

Que tal protagonizar uma estória ambientada num campo de prisioneiros da Segunda Guerra Mundial, no papel de um herói que a todo custo procura fugir do jugo dos guardas nazistas? Isto é possível no The Great Escape da Ocean, um jogo para TK90X que usa gráficos tipo Filmation.

quarta-feira, 6 de junho de 2012

Desativando a autoexecução de um programa BASIC

Esta postagem mostra uma aplicação prática de uso do debugger do emulador Fuse.

Para examinar o conteúdo de um programa BASIC faz-se necessário interromper sua execução, mas nem sempre isto é possível, especialmente quando ele foi salvo com autoexecução ativada (comando SAVE "nome" LINE linha_inicio).

Existem várias maneiras de se fazer isto, como usar o comando MERGE "" com a RAM limpa. Entretanto o MERGE não é infalível, pois o TK90X trava se houver um número de linha ilegal. Um jeito interessante é usar o comando Z (BLOAD) do utilitário STK (pode ser encontrado no World of Spectrum). Aliás o STK foi produzido por um brasileiro e é um excelente utilitário, merece uma postagem própria. Apesar de tudo isso, a proposta desta postagem é apenas mostrar como fazer algo equivalente com o debugger.

terça-feira, 5 de junho de 2012

segunda-feira, 4 de junho de 2012

Debugger do Fuse (Parte 3)

Nesta 3ª parte desta série de postagens sobre o debugger do emulador Fuse, falarei sobre uma importantíssima ferramenta chamada breakpoint. Normalmente, para entrar no debugger e pausar a emulação, o usuário deve intervir manualmente acionando o menu do Fuse. Porém existem ocasiões em que o automatismo seria bem vindo, ao estabelecer que se certas condições foram satisfeitas, a emulação seja parada e a janela do debugger seja aberta.

Janela do debugger
Nesta postagem mostrarei os comandos destinados a colocar e alterar os breakpoints.

domingo, 3 de junho de 2012

sexta-feira, 1 de junho de 2012

Debugger do Fuse (Parte 1)

Lá nos idos dos anos 1980-90 hackear um jogo do TK90X significava carregar (da fita cassete!) programas tipo monitor/debugger e ficar copiando listagens disassembly a mão, num caderno. Depois criar os hacks e digitar num assembler para salvar... novamente em fita cassete! 

A coisa ficava um pouquinho melhor com uma Multiface 1, pois era possível interromper qualquer jogo no meio da execução e examinar seu código de máquina. Com o programa Genie a coisa ficava mais fácil (menos difĩcil?) pois era possível ter uma listagem disassembly. Outras aquisições interessantes seriam uma interface de drive e uma impressora. Foi mais ou menos assim a minha trajetória de hacker do TK90X. Quando digo hack, não se trata de piratear, pois nunca comercializei jogos. Eu refiro-me a entender o funcionamento dos programas e modificá-los (exemplos: vidas infinitas, adaptação para rodar em disquete, ...). 

Agora temos computadores baratos, ordens de grandezas mais velozes, com mais memória e com periféricos que tornam tudo mais cômodo. Assim é muito mais fácil programas e hackear num emulador rodando num PC moderno. O que eu tenho usado hoje é um PC com Linux e o emulador de ZX Spectrum Fuse. Pretendo apresentar o debugger do Fuse que é uma excelente ferramenta, pois faz tudo que a M1 fazia e muito mais.