segunda-feira, 30 de abril de 2012

Temporização de vídeo do TK90X (parte 1)

Programas como Rotatrix, que dependem fortemente de sincronização com o vídeo, são extremamente sensíveis às diferenças de temporizações entre o TK90X e os diferentes modelos de ZX Spectrum. Enquanto o computador britânico tem as suas temporizações documentadas (vide comp.sys.sinclair FAQ ou o livro The ZX Spectrum ULA: how to design a microcomputer de C. Smith), a documentação do clone brasileiro parece ter se perdido irremediavelmente. Sendo assim, é necessário haver uma investigação sobre o comportamento do nosso ULA.

ULA "MC16845" do TK90X. Fonte: Cantinho do TK90X.

domingo, 29 de abril de 2012

Teste do Rotatrix

O companheiro da lista TK90X Einar Saukas, por sinal um membro bastante ativo, pediu que alguém testasse seu programa Rotatrix. No emulador Fuse o resultado é o seguinte:


Teclado temporário para ZX Spectrum

No instructables vi uma substituição de teclado danificado de um ZX Spectrum por teclas de PC:


Claro, é uma forma válida para fazer com que um equipamento antigo volte a funcionar. Só que o aspecto visual ficou meio grotesco, deu até vontade de rir. Pena que o sujeito não conhecia o TKlado.

sábado, 28 de abril de 2012

Fuse e z80asm

Com a emulação ficou fácil programar para o TK90X. Nada melhor do que usar as ferramentas de computador PC moderno, com a vantagem de ter um teclado muito melhor do que do tipo "chiclete", e a possibilidade de salvar o trabalho no disco rígido. Eu uso Linux, portanto estarei apresentado as ferramentas para este sistema operacional. 

Para criar um programa em assembly Z80,  basta digitar as instruções num editor de texto qualquer e gravar no disco rígido. Abaixo, como exemplo, há um pequeno programa assembly que será salvo e depois montado: 


sexta-feira, 27 de abril de 2012

Demo Critical Error (Hooy-Program)

Desde quando adquiri uma  interface Explorer para o meu TK90X, sempre busquei programas que fizessem uso das capacidades sonoras do circuito integrado PSG. Além dos jogos, acabei descobrindo alguns demos como Toxic Elephant (Total Eclipse) ou Crazy Samples II (The Lords). A partir daí comecei a gostar tanto de scene demos que acabei me viciando, chegando a ter caixas e caixas de disquetes deles para o Amiga (esta era uma máquina para demos por excelência).

Depois de um longo hiato, retornei ao TK90X e fiquei feliz em saber que ainda hoje se produz software para a linha. Hooy-Program é um desses poucos grupos que produzem demos para ZX Spectrum, inclusive para o modelo de 48KB. 

No ano passado (2011) eles produziram um excelente demo que inclusive roda no TK90X, o Critical Error


quinta-feira, 26 de abril de 2012

1983 já se foi...

Novamente um título dúbio, mas na verdade estou me referindo ao livro do amigo Garretimus com o título "1983: o Ano dos Videogames no Brasil". Adquiri os dois livros de Garretimus há quase um mês, mas finalmente consegui ler o primeiro deles. Reproduzo abaixo a capa dos livros, o 1983 é o da esquerda:


terça-feira, 24 de abril de 2012

Flying Shark: carregamento de fita Bleeploader

Como já afirmei anteriormente, prefiro carregar os programas e arquivos no TK90X a partir de disquetes. Existem algumas diferentes maneiras de se transferir programas de fitas ou imagem de fitas (TAP ou TZX) para o disquete.

As mais fáceis são na forma de snapshot, isto é, uma imagem de toda a RAM e dos registradores do Z80 no momento em que se "congela" o TK90X. Isto pode ser feito com o botão mágico da interface padrão Beta 48. Melhor ainda é criar um snapshot com a Multiface 1, pois os programas são comprimidos e ocupam menos espaço. O problema desta abordagem é que se perde totalmente o esquema de carregamento da fita que, em alguns casos, são bastante interessantes no áudio ou no visual. Nada mais chato do que a monótona tela azul (calma, é bem anterior a Janelas...) com a mensagem "M1 LOADING".


segunda-feira, 23 de abril de 2012

Feliz aniversário, Speccy!

Exatamente há 30 anos atrás, no dia 23 de abril de 1982, a Sinclair Research Ltd. lançou no Reino Unido o lendário computador ZX Spectrum, conhecido carinhosamente pelos admiradores como Speccy.

ZX Spectrum (fonte: Wikipédia)

domingo, 22 de abril de 2012

Interface de drive para TK90X

Os usuários do TK90X tiveram como principal forma de armazenamento as fitas cassetes, com todas as suas limitações. A Microdigital não produziu as famosas Microdrives da Sinclair, o que praticamente impedia o acesso a esta mídia para o consumidor brasileiro. Felizmente, no final da década de 1980 para o início de 1990, os acionadores (drive) de disquetes começaram a se tornar acessíveis ao público doméstico. Na época, o formato mais acessível e comum era de discos de 5¼ polegadas, com capacidade de 360 KB na versão de face dupla.  Porém atualmente os hobbystas têm preferido usar discos de 3½ polegadas, mais robustos e confiáveis.

Visão interna de um acionador de disquetes de 5¼ polegadas (fonte Wikipédia)

sábado, 21 de abril de 2012

Incompatibilidades da porta 254

Apesar do TK90X ser um clone muito próximo do ZX Spectrum, capaz de rodar grande parte dos programas do original britânico, sofre algumas incompatibilidades em hardware e em software

Um dos problemas foi encontrado no OTLA, um projeto que permite carregamento de programas a velocidades muito altas em computadores clássicos. O carregamento rápido simplesmente não funciona no TK90X. Fabio Belavenuto resolveu investigar a fundo e chegou à conclusão que se devia à diferença de comportamento da porta 254.

quarta-feira, 18 de abril de 2012

Sound Demo 04 para Beta 48

Desta vez a adaptei para disco padrão Beta 48 para TK90X, o programa de autoria de Theo Devil, intitulado Sound Demo 04. Este beep demo faz parte de uma coleção feita para a revista Sinclair User, num total de 10 volumes, mas nem todos foram publicados devido ao cancelamento do periódico. 

Um problema adicional deste programa é ser disponível somente em formato Z80 que, ao contrário de TAP ou TZX, não é imagem de fita cassete. O arquivo Z80 é um snapshot, isto é, uma representação instantânea de toda a RAM do TK90X, mais dos registradores do microprocessador. Faz-se necessário portanto uma certa investigação para poder transferir o conteúdo para o disco. 

Logo depois de carregar o arquivo SDEMO04.Z80, aparece a tela abaixo e ouve-se um BEEP longo.


Na sequência, abre-se a tela do demo. 


terça-feira, 17 de abril de 2012

Problema de joystick no Fuse

Conforme mencionei antes, o emulador Fuse tem um pequeno problema com joystick. Eu tenho um joypad USB ligado ao meu PC que funciona normalmente. Entretanto não é reconhecido pela versão GTK do Fuse:


domingo, 15 de abril de 2012

Transfered from Amiga (Mr. Incognito, 1994)

Adaptei mais um programa do TK90X para a interface de drive Beta 48, desta vez é a demo intitulada Transfered from Amiga de 1994, cujo autor é o Mr. Incognito

sábado, 14 de abril de 2012

Apresentando o Fuse

O emulador de ZX Spectrum que mais uso no meu PC é o Fuse para Linux que está presente na Debian, mas certamente pode ser obtido em outras distribuições. Também existem ports deste emulador para Windows, Mac, Amiga e outras plataformas, incluindo videogames. Como eu só usei a versão para Linux, meu relato se centrará nela.

Aliás, existem duas versões para o Linux. Uma usa a interface SDL, com o aspecto:


O visual é interessante por usar a fonte do ZX Spectrum que dá maior sensação de fidelidade de estar usando um computador original. Para se ter acesso ao menu de opções, deve-se apertar a tecla F1. Entretanto a interface SDL não apresenta todas as funcionalidades do Fuse; por exemplo, o debugger é bem limitado. 

O melhor é fazer uso da versão com interface GTK+,  que se adapta bem ao ambiente gráfico do desktop



Note que as opções do menu estão acessíveis na parte superior. Não é necessário apertar F1, as opções podem ser selecionadas por mouse.

sexta-feira, 13 de abril de 2012

Tela do desktop do meu PC

Sexta-feira 13, mas não sou supersticioso e posto esta figura que é do meu desktop do meu PC Uxie:


O meu ambiente gráfico é o XFCE, pois resolvi abandonar o Gnome que na versão 3 tornou-se meio instável e também bastante sem graça. O papel de parede é do anime Ika Musume (Garota Lula, mas nada a ver com o ex-presidente), com a personagem título. A distribuição GNU/Linux que eu uso é Debian na versão Wheezy (testing).

Na parte inferior esquerda há uma janela com o emulador Fuse que é um dos que uso mais para programar e hackear.  Eu deixei esta janela pequena para não ocultar o papel de parede, mas normalmente uso o filtro TVx2 que dobra o tamanho na altura e na largura. Não poderia de deixar colocar no emulador o jogo que mais gosto no TK90X.

quinta-feira, 12 de abril de 2012

Interfaceando TTL e CMOS

A saída de integrados TTL (série 74, 74S, 74LS) tem incompatibilidade com entradas de CMOS (série 4000, 74HC), pois a tensão do nível alto (1) é baixa (menos de 4 V, se não me engano). Uma possível solução é usar a versão 74HCT que interpreta corretamente a saída TTL, mas é mais difícil de obter do que 74HC. Portanto muitas vezes se faz necessário usar uma interface. 

Com um pouco de procura, achei a resposta neste link. Pode ser tão simples quanto usar um resistor pull-up.

A propósito, no caso contrário não tem problema, pois a saída do CMOS é quase que perto de 0V (nível baixo) ou +5V (nível alto) que são bem aceitos pelos TTLs.

domingo, 8 de abril de 2012

Clock da interface Explorer?

A minha interface Explorer tem bug e mesmo assim não dá para consertar, pois a placa está recoberta com Durepoxi®, por isso já afirmei que irei fazer uma nova para mim. Vai demorar, mas um dia...


Pois bem, fiquei com uma dúvida. Qual é a frequência do clock do AY-3-8912? Segundo este Wikia, no ZX Spectrum 128 o valor seria de 1,7734 MHz, mas na Melodik seria de 1,75 MHz. Entretanto se examinarmos o esquema elétrico disponível no ZX Magazín

Esquema da Melodik (fonte: ZX Magazín).

o clock teria 1,78977 MHz, isto é, a metade da frequência do cristal de quartzo.

E no caso da Explorer? Segundo o esquema, o gerador de clock é um circuito oscilador tipo RC baseado em duas portas TTL-LS. Não sei calcular a frequência deste oscilador, mas de qualquer forma a precisão não deve ser muito melhor que ±10% por causa da tolerância dos capacitores.

Será que algum dos leitores saberia dizer qual a frequência do clock do Explorer? Qualquer ajuda é bem vinda.

sexta-feira, 6 de abril de 2012

Mod de saída A/V no TK90X (parte 2)

Conforme prometido, estou postando agora o meu procedimento de modificação no áudio do TK90X, de modo a ser compatível com a entrada A/V dos televisores modernos.

Novamente ressalto que eu não dou garantias sobre os procedimentos descritos, antes de fazer qualquer coisa peço para ler os termos sob os quais publico informações no blog Cantinho do TK90X. 

Como foi visto anteriormente, para a saída de vídeo foi empregado o conector RCA já existente na saída RF para TV, mas ficou faltando o áudio. Eu busquei utilizar um conector já existente no TK90X para a saída de áudio, no caso o jaque J2 mono do conector EAR para gravador cassete. Para não perder esta conexão para o gravador, coloquei um jaque J2 estéreo no lugar do mono original da entrada MIC, ligado de forma a disponibilizar ambas as conexões.

O passo inicial é remover o J2 mono do MIC inteiramente. Deve-se dessoldar também o fio que liga um dos terminais do J2 mono do EAR à placa do TK90X, com isto uma ilha da placa de circuito impresso (PCI) ficará vazia, mas será usada mais adiante. O resultado é o mostrado na foto abaixo. 


quinta-feira, 5 de abril de 2012

Mod de saída A/V no TK90X (parte 1)

Anunciei em postagem anterior as vantagens de se modificar a saída de vídeo do TK90X e, como prometido, estou descrevendo a forma que eu fiz. A concepção desta mod é a descrita detalhadamente pelo Victor Trucco, o que muda na minha abordagem é a implementação física que, entre outras diferenças, dispensa o uso de uma placa de circuito impresso própria. Recomendo visitar o site do Victor para entender toda a parte eletrônica envolvida.

Novamente ressalto que eu não dou garantias sobre os procedimentos descritos, antes de fazer qualquer coisa, peço para ler os termos sob os quais publico informações no blog Cantinho do TK90X.

Abra com cuidado o TK90X, remova o teclado e pegue a placa para trabalhar. Sugiro, para quem nunca fez isso antes, ver o artigo "Dicas para abrir o TK sem traumas!" no site do Eduardo Luccas.

Localize a caixa metálica blindada, que contém a parte de geração de RF do computador. Remova a tampa que está soldada em dois pontos ao restante da caixa. Aqueça um dos pontos de solda com o ferro quente e faça pressão para cima, com uma chave de fenda. Repita o aquecimento no outro lado, alternadamente, até que a tampa se solte. A foto abaixo mostra a caixa de RF aberta, expondo o LM1889 e os componentes ao redor. Note que o resistor R60 (na parte superior) está ausente.


Quem quiser entender o que está sendo feito, deve baixar o esquema elétrico do TK90X do Jorge Braga no site Data Cassete.

terça-feira, 3 de abril de 2012

Linux em 8 bits

Tudo bem que o Linux pode rodar em configurações realmente mínimas, mas rodar em 8 bits já é demais. Ou não? 



O russo Dmitry Grinber conseguiu rodar Linux numa placa baseada no Atmega 1284 que faz a emulação de um processador ARM de 32 bits. Obviamente um processador de 8 bits emulando um de 32 bits consome muito tempo, portanto o ARM emulado roda como se tivesse um clock de inacreditáveis 6,5 kHz. Para carregar o shell (interpretador de comandos) bash leva 2 horas e para fazer boot completo do Ubuntu leva 4 horas. Veja no vídeo o boot do Linux neste equipamento. 




Seria exagero sonhar com Linux no ZX Spectrum?

segunda-feira, 2 de abril de 2012

Problema no 4 Shared

Fiquei sabendo que as pessoas têm encontrado dificuldades de baixar arquivos do 4 Shared, onde eu tenho armazenado os arquivos que tenho compartilhado. O site pede para que logue ou se registre para poder baixar qualquer arquivo. 

Sinal dos tempos, parece que o fantasma do Megaupload tem rondado os demais servidores de compartilhamento. 

Terei que pensar em alguma alternativa para aqueles que, com justa razão, não querem se registrar só para baixar meus arquivos. O que eu posso fazer, como solução temporária, é enviar os arquivos por e-mail para os interessados. 

domingo, 1 de abril de 2012

Minha Multiface 1

Novo mês, 1° de abril, mas esta postagem é de verdade. 

Os consertos do meu TK90X tiveram um efeito inesperado, mas pelo menos desta vez para melhor. A minha Multiface 1 (M1) não funcionava bem quando ligada junto com a Explorer. Após apertar o botão vermelho que dá acesso ao menu da M1, não havia como retornar ao programa interrompido sem travar ou dar reset. Suspeitei tratar-se de alguma incompatibilidade entre as interfaces. 


Porém, para a minha grata surpresa, agora a M1 funciona bem sem dar problemas. Quem sabe agora eu possa usar o disassembler Genie que fica residente na RAM desta interface. Talvez a IDS91 já estivesse com defeito antes e a M1 estava sinalizando isto