Artigos 100% compatíveis com os retro computadores TK 90X e TK 95 da Microdigital e com a linha ZX Spectrum da Sinclair.

www.retroprogramacao.blogspot.com

www.retroprogramacao.blogspot.com

22/08/2017

ZX Spectrum Next disponível para compras!

O mais novo projeto de recriação do ZX Spectrum, denominado ZX Spectrum Next, agora está disponível para venda em uma loja própria na internet.
O Next é um projeto desenvolvido por brasileiros, com apoio de alguns renomados britânicos e totalmente manufacturado na Inglaterra.
No link abaixo você poderá conhecer os poderosos recursos que foram inseridos nesta versão ultra modernizada, sem perder o charme e as características de nossos micros retrôs.



06/02/2017

A história do Basic Sinclair.

O Zx Spectrum, assim como seu clone aqui no Brasil, o TK90X, foi um micro que se tornou mais conhecido entre as massas pelos seus jogos. Mas havia uma grande oferta de programas aplicativos para ele, tais como editores de textos, bando de dados, planilhas, editores gráficos, editores musicais, etc. Boa parte deles trabalhando em conjunto com interfaces que forneciam uma nova funcionalidade para o micro. Entretanto, nada se comparava à facilidade de uma linguagem de programação à disposição do usuário (uma realidade bem distante dos micros de hoje).

A facilidade com que o Spectrum podia se programado, criou uma revolução chamada "programação de quarto", onde alguns jovens puderam vender suas criações para empresas como a Ocean ao preço de um carro esportivo da época. Já outros, não tão bem sucedidos, aventuravam-se em linhas de códigos por puro prazer de programar e ver o funcionamento delas no pequeno e notável micro.

Diz a lenda, que Sinclair foi inspirado em criar o ZX80 depois de ver o prazer que seu filho teve em programar num TRS-80. Numa entrevista para um recente documentário da BBC, observou: "Percebemos que haveria um perfil de jogos para o micro, mas o primeiro apelo foi para que as pessoas colocassem as mãos em um para fazerem alguma programação eles próprios. E elas adoraram fazer! Quero dizer, as crianças principalmente. É um pouco triste ver que hoje isso não está mais disponível para elas."

Foram os dois primeiros anos do Spectrum conhecidos como a "era Basic". Muitos dos primeiros títulos da própria Sinclair foram escritos em Basic. Embora o foco principal do Spectrum foi mudado rapidamente para a utilização em jogos, a programação como parte essencial da experiência do usuário não foi perdida e, com o apoio de inúmeras revistas e de professores da época, o Basic  manteve sua esfera cativante.

Na verdade, o Basic contido no Spectrum já era a terceira versão do Basic Sinclair, seguindo as versões criadas para o ZX80 e ZX81. Todos os três foram desenvolvidos por uma empresa chamada Nine Tiles Software - e não a Sinclair, como muitos imaginavam. John Grant escreveu o Integer BASIC do ZX80 em magros 4K de memória, e o matemático Steven Vickers, de Cambridge, escreveu os BASIC para o ZX81 e depois para o Spectrum (em 8K e 16K respectivamente).

Mas o que fez o BASIC Sinclair tão especial? Tecnicamente falando, não era o melhor em oferta, pois sua capacidade de loop estava restrita a FOR ... NEXT e GOTO, e seu manejo de sub-rotinas foi ainda mais básico. Onde brilhou, no entanto, foi no seu tratamento de erros do usuário: Feedback imediato através de rotinas de sintaxe incorporadas, que não só rejeitava declarações incorretamente formatadas, mas também destacava onde os erros estavam no seu código. Isto fez do BASIC Spectrum uma linguagem muito fácil de aprender através de tentativa e erro. As cores e o som foram acessados ​​através de um pequeno número de comandos conceitualmente muito simples, tais como INK, PAPER, BRIGHT, etc (compare isto, por exemplo, ao complicado sistema de PEEKs, POKEs e CHR$ do Commodore 64). Gráficos e música eram extremamente acessíveis. Tudo isso bem descrito num manual de programação bem compreensível, elaborado por Vickers e Robin Bradbeer, cujo resultado final foi um sistema muito elaborado e orientado para persuadir o iniciante.


Até hoje, a programação permanece para muitos como um aspecto definidor do que foi ter um ZX Spectrum, principalmente porque o BASIC Sinclair foi muito bem sucedido nesta persuasão. Afinal, era isso o que BASIC deveria ser. Certamente, isso foi uma parte importante do legado do Spectrum.




Você não tem que ser um programador de computador para olhar para o BASIC Sinclair e apreciar as coisas que ele ainda pode te ensinar. Começar a lidar com o BASIC, significa ter sua cabeça focada em torno de quebrar os problemas em pequenas e muitas partes, aboradando estes um por um. A aplicação dessa habilidade são infinitas e nos ajudam em muitas outras áreas da vida.
 

O BASIC Sinclair não era a única versão do BASIC para o Spectrum. Apresentava-se ao iniciante como uma porta aberta para o mundo da programação e serviu como a ponte ideal não só para outras línguas, mas também para versões mais sofisticadas deste mesmo BASIC. 
Das muitas versões criadas, talvez o exemplo mais conhecido disso é o Beta BASIC do Dr. Andrew Wright, lançado originalmente em 1983. O Beta BASIC passou por uma série de revisões e a versão 3 apareceu em resposta ao concorrente chamado Mega BASIC (publicado pelo Your Spectrum / Your Sinclair). Logo surgiu a versão 4, que foi a versão final, lançada em 1987, adicionando recursos para o Spectrum 128. Foi o mais amado pelas revistas. O Beta BASIC foi uma extensão, e não uma substituição, do BASIC Sinclair original, tornando-o compatível com todos os programas BASIC escritos anteriormente para a máquina. No total, acrescentou algo como 100 novos comandos à linguagem, incluindo novas estruturas e comandos em loop, manipulação de procedimentos avançados, apresentação de listagem recuada e muito mais.
A versão 128 adicionou mais incríveis recursos, como o um som de interrupção com o seu novo BEEP! Comando que permitiu que a música fosse tocada enquanto outras coisas aconteciam no programa - algo que não era possível no simples BASIC Sinclair, onde a ação parava quando uma música era tocada.


Avançando para o dia de hoje, onde motivados pela nostalgia, versões avançadas do BASIC do Spectrum, como Beta BASIC, são lembrados com carinho apenas por um pequeno número de entusiastas (como eu), pois a maioria tem sua atenção voltada, em grande parte, para o original. Acredito também que isso se dê pela dificuldade em se obter literatura especializada destas versões.


Embora nos últimos anos a comunidade Spectrum tenha visto um aumento dramático no número e variedade de projetos relacionados ao Zx Spectrum, o interesse não foi desviado da programação em BASIC Sinclair como um prazer... Por exemplo, existem ainda competições anuais de jogos compilados em BASIC que estão em funcionamento desde 1996, e atraindo um grande número de participantes. É chamado de "Competição de Jogos de Crap" e muitas programas são realmente muito bons. Eu suspeito que a atração para a maioria, é simplesmente uma desculpa para escrever algo no BASIC novamente. 

É claro que, no século XXI, não somos tão tolerantes com o processo de programação BASIC como costumávamos ser. Atualmente, os programas são desenvolvidos em emuladores, onde salvar o seu trabalho é a tarefa de um único clique. Mas isso ficou ainda mais fácil com o desenvolvimento do BASIN (BASIC Interpreter), uma ferramenta dedicada de criação em BASIC Sinclair para Windows, criada por Paul Dunn e que permite que você insira, edite e teste o seu programa a partir do conforto de um extremamente avançado conjunto de ferramentas. O resultado final ainda é um programa em BASIC Sinclair que você pode carregar em um Zx Spectrum real. Um processo muito mais fácil.

Eu não posso terminar sem mencionar Sinclair Extended BASIC (SE BASIC). Um projeto do BASIC Sinclair desenvolvido pelo guru Andrew Owen. Este trabalho traz-nos de volta à evolução do BASIC Sinclair e apresenta-se como o próximo passo nesse processo. Andrew pesquisou BASIC do Spectrum extremamente bem, corrigindo cada bug e até mesmo encontrando espaço para inserir alguns comandos extras. Esta não é uma extensão do BASIC Sinclair no sentido de que o Beta BASIC foi, mas uma substituição real de 16K que poderá ser gravada em um chip EPROM e substituída pela ROM original de um Zx Spectrum real.


Em breve postarei alguns links interessantes.  :)



(texto adaptado com complementos do artigo de C.C. Woodcook)

02/02/2017

Banco de Dados ZX Basic.

O ano começa com várias novidades... E uma delas é o repositório de arquivos criado por David Saphier, chamado ZX Basic Database V1.
Trata-se de um espaço para o armazenamento de programas e experimentos criados para o ZX Spectrum, utilizando o Basic Sinclair ou programas como o AGD.
O site já possui o emulador QAOP embutido, o que facilita bastante a execução dos arquivos.
Vale conferir as novidades da retro programação!



31/12/2016

Inventário de hardware retrô da linha Sinclair...



Esperei até o último dia útil do ano para postar o meu inventário de hardware retrô (que varia para mais ou para menos, conforme as atualizações).
A promoção da lista tem o objetivo de possibilitar futuras aquisições ou trocas de equipamentos.
Se você possuir algum micro ou interface que não conste desta listagem e queira doar, vender ou trocar, por favor, entre em contato.
Como é de se esperar, apenas equipamentos compatíveis com a linha Sinclair ZX Spectrum.  :)

Computadores: 
01 ZX Spectrum 48k (teclas de borracha) UK
01 ZX Spectrum Plus  UK
01 ZX Spectrum 128k +2 Cinza (com gravador K7 embutido) UK
02 ZX Spectrum 128k +2B Preto (idem)  UK

Impressoras:
02 ZX Printer (papel metalizado - 32 colunas - gráfica) (Sinclair - Inglaterra)
01 Timex Sinclair 2040 (papel térmico - 32 colunas - gráfica) (EUA)
01 TK Printer Diebold (matricial de fita - 32 colunas - gráfica - paralela) (Brasil)

Gravadores K7:
01 Timex Sinclair 2020 (EUA)

Interfaces:
01 ZX Interface 2 (Sinclair - Inglaterra)
01 Interface Paralela e RS232 Indescomp (Espanha)
02 Interfaces Beta Disk 128 New (Russia)
01 Interfaces Beta Disk 48 IDS 2001ne - Com saída Paralela (Brasil)
01 Interface 1Bis (África do Sul)
01 Interface Light Pen (Microdigital - Brasil)
01 Videoface (Romantic Robot - Inglaterra)
01 Multiface 128 (Romantic Robot - Inglaterra)
01 Multiface One + Som AY Explorer IV (Brasil)
01 Multiface 3 (Romantic Robot - Inglaterra)
01 Interface de som AY-Magic Zaxon (Inglaterrra)
01 Interface de som Simple AY (Brasil)
01 Interface de som AY TK Explorer IV
01 Interface divIDE 57c (Brasil)
01 Iinterface mini divIDE 2K11
01 Interface Mini divMMC
01 Interface de Mouse Genius (padrão Kempston) Datel Electronics (Inglaterra)
01 Interface Diagnostics Board (Brasil)
01 Interface expansora com buffers TKXpander Blue (Brasil)
01 Interface dupla de Joystick Kempston Joy II (Portugal)
01 Interface Simple Kempston
01 Interface MIDI XRI Micon (Inglaterra)
02 ZX Interface 1 + 02 Microdrives (Sinclair - Inglaterra)
01 Interface Currah Microspeech
01 Interface TK-Chuck
01 ZXC4 Rom Programável
01 Interface Zx Fixer
01 Interface ZX Protoboard
01 Voice Micro Command Interface
01 Interface COMCON Programmable Joystick
01 Interface de controle Interespec 1
01 Interface RAM Music Machine
01 Modem externo para ZX Spectrum Prism VTX 5000

Monitores e televisores (que funcionam nestes micros):
01 Monitor LCD LG M1721A (17" - Aceita frequência RGB de Spectrum e TK)
01 Monitor LCD LG M1921A (19" - idem acima )
01 TV CRT antiga Semp colorida portátil de 10". (somente para entrada de sinal  RF)
01 TV LCD Lenoxx de 13" (entradas RF, AV, VGA e HDMI).
01 TV CRT Philips colorida de 14" estéreo (entradas RF e AV)

Outros acessórios:
01 Pistola Magnum Sinclair (padrão conector serial zx inglês)
01 Joy Pad convencional (fabricação própria)
01 Joystick Competition Pro
01 Controle Nunchuck
02 Placas extensoras de 3 pontos Motherboard Blue (Brasil)
01 Placa extensora de 2 pontos (fabricação própria)
01 Cabo extensor flexível de 1 ponto (fabricação própria)
08 unidades de discos de 3 1/2"

Em aquisição (aguardando a chegada):


Última atualização: 22/08/17
OBS: Devido a uma mudança de cidade, recentemente vendi quase todo o meu acervo, ficando apenas com 2 unidades de ZX Spectrum +2B, dois monitores e algumas poucas interfaces básicas, os quais manterei para fins de experimentos com programação de 8 bits. Portanto, esta lista não será mais atualizada.

01/09/2016

Como produzir telas artísticas em micros da linha Zx Spectrum - Parte I


Existem alguns entusiastas do Zx Spectrum que despertaram para um segmento pouco conhecido: A criação das chamadas "Pixel Art", ou seja, desenhos artísticos criados justamente com as limitações impostas pelos nossos micrinhos de 8 bits.
Parece algo meio insano, mas os resultados são bem interessantes e muito criativos.
A grande maioria se utiliza de emuladores para efetuar tais criações, mas se você desejar se divertir e ter esta experiência em teu TK90X, TK95 ou Zx Spectrum, basta adquirir uma interface de mouse kempston (rara no mercado) e um bom programa gráfico como o Art Studio ou o Artist II (ambos rodam em 48k). O sistema TBBlue, que substitui o hardware original, vem com opção de mouse embutido, e é uma excelente opção para esta finalidade.

É sabido que o Zx Spectrum possui um "calcanhar de Aquiles" no seu projeto original que é um sistema de colisão de cores, originado pela própria economia de hardware. Este sistema limita as criações gráficas e dificultam bastante o bom resultado da apresentação de imagens.
Este problema só é visível em imagens de alta resolução. Já nos desenhos de baixa resolução (aqueles bem "quadradinhos"), isso não ocorre. Obviamente, em produções monocromáticas não haverá esta limitação.
Existe também o recurso de captura de imagens, com interfaces como a Videoface (que captura somente em preto e branco), e que posteriormente poderá ser editada ou até mesmo colorizada.

Vejam alguns exemplos:

Aqui observamos um desenho em baixa resolução feito no Art Studio.

Este outro já utiliza técnicas mais apuradas, inclusive aproveitando-se das colisões de cores para gerar efeitos na imagem.


Neste desenho temos uma técnica mista entre cores e imagens em preto e branco.

Aqui temos um exemplo de imagem capturada com a interface Videoface e editadas no Art Studio.

Se você se interessou pelas Pixel Art´s e gostaria de se aventurar nestas criações, possivelmente deve estar se perguntando como poderia fazer algo bem elaborado, como na figura que vimos acima em alta resolução. Obviamente que em tudo existe uma técnica e, felizmente, achamos um vídeo que demonstra um pouco de como este processo e efetuado.
Observe com atenção e faça suas experiências!


Quer conhecer mais trabalhos artísticos do Zx Spectrum? Então visite este site:
http://zxart.ee/eng/mainpage/


15/07/2016

E a produção de jogos para o Zx Spectrum continua a todo vapor...

Um fato interessante no mundo do Zx Spectrum, é que muitos programadores ainda produzem jogos de altíssima qualidade para este pequeno e nostálgico micro. Este é o caso do espanhol Salvador Cantero, que acaba de laçar o jogo "Car Wars" (2016).
Assim como Cantero, existem muitos programadores que estão disponibilizando gratuitamente suas produções para o Spectrum, num misto de nostalgia e simples prazer de programar em 8 bits.
Confira o aqui o lançamento:



Veja aqui o vídeo do jogo:



08/06/2016

Você gosta de labirintos?

Um colega do grupo Spectrum 4Ever, ao ler um interessante livro sobre programação de labirintos  em Basic no famoso micro C64 ( veja o livro AQUI ), indagou a possibilidade do mesmo efeito ser obtido no Zx Spectrum (e consequentemente, em nossos TKs).
Prontamente foi atendido pelo colega Adan Ainsworth, que criou este interessante código:



Cujo resultado do labirinto é este:


Outra opção mais simplificada foi este código:


Cujo resultado gera um labirinto bem mais aberto... Não sei se poderíamos chamar de labirinto, mas acho que o código pode ser aperfeiçoado.


Para concluir, fiquei imaginando estes labirintos sendo impressos de forma aleatória em nossas impressorinhas ZX Printer ou ZX Alphacon/Timex... Gerando pequenos impressos que, com certeza, irão divertir a "garotada" que gosta de entreter-se preenchendo os caminhos de um labirinto.
E aí? Vamos digitar (ou aprimorar) este código?  :)

03/05/2016

Criando jogos para o TK 90X, TK95 e Zx Spectrum. (1ª Parte)

Motivado pelos recentes anúncios de lançamento do Zx Spectrum Next (www.specnext.com), um projeto que, devido ao alto grau de sofisticação, provavelmente despertará o interesse de uma nova geração de entusiastas da retro-computação, resolvi estudar de forma detalhada o que temos hoje disponível para a criação de jogos nesta plataforma.

O Zx Spectrum sempre liderou soberanamente neste assunto e nenhum outro computador de 8 bits se igualou a ele em termos de disponibilidade de jogos. O mais incrível é que até hoje muitos entusiastas continuam criando novos jogos e dando uma sobrevida ao nosso "pequeno notável".
Passadas as comemorações de 34 anos do Zx Spectrum original e com o lançamento de novidades como o ZX Vega, o ZX Vega+ e agora o ZX Spectrum Next (sendo este um micro completo), as atenções recaem naturalmente para o seus divertidos softwares.

Então a minha missão será identificar (e experimentar) as ferramentas disponíveis para a construção de games (que exigem um conhecimento mais apurado de programação) e, na medida do possível, disponibilizar os links necessários (caso algum esteja falhando, por favor, comuniquem para que eu possa restaurá-los ou redirecioná-los para outro funcional).

AGD - Arcade Game Designer


Programa freeware, lançado em 2008, por Jonathan Cauldwell.


Recentemente este sistema foi mencionado em nossa lista de discussão do Clube do TK90X (vide nossa listagem de links deste blog) e, segundo os demais colegas, seria a maneira mais fácil de criação de jogos para o Spectrum, seja no próprio computador ou em emuladores.
Neste primeiro momento vamos fornecer os links para download do aplicativo e tutoriais, pois seria redundância e trabalho desnecessário repetir as mesmas instruções aqui. Certamente, pelo fato da maioria das instruções estarem em inglês, faremos o nosso pequeno roteiro em bom português.  :)

Primeiras versões no WOS:
http://www.worldofspectrum.org/infoseekid.cgi?id=0020176

Versão mais atualizada:
http://www.spanglefish.com/egghead/index.asp?pageid=397755

Fórum de desenvolvimento do AGD:
http://arcadegamedesigner.proboards.com/

Tutoriais em vídeo:
http://randomkak.blogspot.com.br/p/agd-video-tutorials.html

Vários jogos criados com esta ferramenta:
https://sites.google.com/site/speccy21/home


Novidades da versão 4.6:

"Sprites agora podem ser coloridos individualmente usando o comando SPRITEINK. Se os sprites 16x16 não forem grandes o suficiente, há uma opção para usar 16x24 . Nota ainda há uma "one-size-fits-all" política, mas pelo menos agora você tem uma escolha. Ele vai realmente redimensionar suas sprites para você.
Agora existem 9 eventos sprite, e alguns outros novos eventos. Quer uma tela de menu intro/controle ? Há um evento para que (e um novo comando, CONTROLMENU, permitindo que o usuário pressione 1, 2 ou 3 para selecionar teclado, Kempston ou controles Sinclair , respectivamente). Há um novo evento para interceptar quando um sprite cai muito longe (ou seja, atinge o final de sua mesa de salto) e agora há 2 eventos no final do jogo - um para a vitória, um para o fracasso. Talvez o mais útil de todos é o fato de que o editor de eventos em si agora move o cursor diretamente para todas as linhas que não compreende, em vez de deixá-los para o usuário a encontrar, como sempre fazia antes.
Há um novo menu variado, com várias opções. Isso permite você se especializar no motor para um determinado tipo de jogo. Existem 3 alternativas: em primeiro lugar, há um motor de partículas com explosões, starfields, lasers e o efeito pó mágico ou rastro de vapor. Alternativamente, há um mecanismo de efeitos que permite que as mensagens de texto (seja no jogo ou em uma tela de texto do menu de controle /static) possam ter texto de altura dupla, marcar rotinas de exibição e um efeito de janela fade. Também há uma opção de aventura, tipo Dizzy/Magic Knight, que lembra-se de mudanças no jogo feitas nas telas com o novo comando PUTBLOCK e redesenha quando você sai e voltar a entrar em uma tela. A modificação de aventura também tem um novo tipo de bloco que você pode achar útil: blocos de água. Qualquer Sprite que tem o comando QUEDA em seu evento vai agora flutuar para o topo de um patch de água tanto para cima como para baixo.
A chamada para as rotinas de teclado/controle joystick foi movida, por isso é agora possível detectar movimentos dentro de um loop REPEAT, desde que você use ATRASO 1 dentro dele. Isso pode soar como uma pequena alteração, mas abre a possibilidade de codificar seus próprios minigames pequenos. Há um modelo de evento de bônus bastante simplista para que você possa ver como fazê-lo.
AGD 4 também permite que você carregue em uma tela de carregamento, e vai criar o carregador de base relevante para você, salvando-o automaticamente. Se você optar por criar um carregador automaticamente, AGD não voltará para BASIC, mas dará um loop de volta para o evento menu de tela intro /controle. Você não precisará escrever uma única linha de BASIC! No entanto, se você não pedir o AGD para criar o carregador BASIC, seu jogo voltará ao BASIC, no final, como sempre fez, assim você ainda pode escrever seu próprio código BASIC se você desejar.
Os mapas podem agora ser de até 11 salas de largura. Existem novas variáveis ​​- Q, R E o relógio só de leitura. Os blocos de escada são mais robustos e existem comandos redesenhar e silêncio. Você pode multiplicar e dividir também. Posições Sprite são mais eficientes do que em 3.5, bem como, e o editor posição do sprite agora destaca o sprite atualmente selecionado. Para os técnicos, há opções para desativar som AY ou a rotina que classifica os sprites que pode vir a calhar - não há necessidade mais de cortar o motor para estas coisas. Há também uma nova paleta da ULAplus padrão.
Para os usuários mais tecnicamente avançados, acrescentou-se instruções para a leitura do mouse Kempston e também chamar rotinas externas como músicas Beep de qualquer lugar dentro de um jogo. É um pouco complicado para iniciantes, mas certamente pode ser feito.
Agora a má notícia ... Você não poderá atualizar um jogo escrito com 3,5-4,0. Se você já está desenvolvendo um jogo com a versão 3.5 ou 4,0, terá que terminar nestas versões ou reiniciar tudo novamente. Em segundo lugar, apesar dos intensos testes, provavelmente haverá erros aqui e ali ..."
(texto extraído do autor e traduzido automaticamente).

10/04/2016

Programas de revistas preservados: Proyecto Basic.

Niel Parsons retoma as atividades de um projeto muito interessante que literalmente foi a inspiração de nosso blog.
O site Proyecto Basic (em espanhol), procura preservar uma grande quantidade de programas escritos em Basic Sinclair e que foram publicados em revistas especializadas das décadas de 80 e 90. Se você curte rodar programinhas diferentes em seu TK ou ZX, existe muita coisa interessante por lá. Vale a pana conferir.  :)



14/03/2016

Novo grupo de Facebook, específico para programadores de 8 bits!

Criamos um grupo para os usuários do Facebook que curtem programação de lógica Sinclair em nossos micros de 8 bits.
Neste grupo publicaremos pequenas linhas de código, dicas e macetes.
Vale a pena conferir!

https://www.facebook.com/groups/1179424918743730/



07/03/2016

Criando músicas para TK 90X, TK 95 e Zx Spectrum (2ª Parte).

Dando sequência a primeira parte de nosso artigo (veja AQUI), vou abordar um assunto pouco conhecido dos usuários de nossos queridos TKs: O potencial musical do Z80 em relação ao famoso chip AY.



É sabido pelos entusiastas que tanto o TK90X, como o TK95 e Zx Spectrum 48k não vem com chip dedicado de som, como os demais sucessores de 128k que incorporaram o som AY da Yamaha.
Nestes casos eles se limitam a operar o som BEEP (ou SOUND em nossos TKs), gerado pela CPU Z80 (com uma ajudinha da ULA).
Na ânsia de ter uma melhora de som, muitos adquiriram as famosas interfaces de som AY (como a Explorer citada no artigo anterior), porém muitos pensam que anexar um chip AY no Spectrum foi um retrocesso (palavra gozada, quando aplicada num blog de retro programação), e eu vou explicar a razão disso.

O chip AY possui apenas 3 canais de som e síntese baseada em onda quadrada bastante simples, enquanto o som gerado pelo código nativo do Spectrum, no chip Z80, é expansível para até 8 canais (através de software de mixagem) e é capaz de gerar envelopes realmente interessantes.
A coisa funciona assim:

O chip Z80 produz todos os sons e envia em formato BEEPER para a saída de AUDIO-OUT do Spectrum, através do chip da ULA. Normalmente o Z80 possui apenas 1 canal de onda quadrada de som de 1 bit, mas no Zx Spectrum e TKs, ele também é a central de processamento (CPU) e, devido a sua atividade em 3,5Mhz (com a atuação do software de mixagem) ele passa a ter:
  • de 2 a 9 canais.
  • várias modulações e envelopes.
  • bateria e ruídos.
  • sintetizador de voz.
  • controle de volume (é impossível fazer vários volumes em um som de 1 bit, o que, na verdade, torna-se uma capacidade impressionante).
E muito mais... Com apenas 1 bit! Poderíamos dizer que tudo isso que foi mencionado acima seria teoricamente impossível de se fazer neste computador... Mas funciona! Entre os mais variados tipos de sintetização, provavelmente, um dos mais populares aqui é a "modulação por largura de pulso" (PWM).

Se você quiser aprofundar mais no assunto, recomendo esta página (em inglês, se desejar, utilize o tradutor automático do navegador):



Agora vamos deixar a teoria e escutar como funciona isso na prática! Divirta-se com esta seleção.

Z80 chip music from ZX SPECTRUM 48Kb

Jan Deak - Tetris 3 (Rest In Peace, 11.2014)
Akos Kozma - Promenade (the cover) (for Atari XL/XE fans ;) )