Sharp MZ-800 – Parte 1: O resgate do soldado Ryan
Existem alguns microcomputadores
que surgiram na década de 80 que me fazem levantar a
seguinte questão: -“Porque não deu
certo?”. É fato que o Sharp MZ-800 é um
deles, então decidi escrever este artigo não
apenas para narrar minhas experiências com a plataforma, mas
também para mostrar a história curiosa deste
micro, e acima de tudo, confirmar que na
retrocomputação uma máquina
só morre quando não existir mais
usuários que se interessem por ela, o que definitivamente
não é o caso deste pequeno notável.
Prólogo
Contei
um pouco sobre a história da plataforma Sharp MZ em um artigo
anterior, então agora pretendo complementar esta
linha do tempo somente com fatos posteriores. Para ser
possível escrever este texto, acessei inúmeros
sites, traduzi informações e ainda contei com a
ajuda direta ou indireta de pessoas que praticamente eternizaram seu
nome na história desta plataforma. Fica aqui antes de mais
nada o agradecimento a todos, e mesmo que alguns eu sequer tenha
estabelecido um contato direto, foi graças a comunidade
MZ-800 que explorei boa parte do potencial desta fabulosa
máquina.
Este
é o primeiro artigo que fui obrigado a dividir em duas
partes, pois acabei deixando acumular uma quantidade tão
grande de informações, que ao colocar as cartas
sobre a mesa percebi que seria uma pena deixar passar qualquer ponto,
situação ou curiosidade sobre esta
injustiçada plataforma.
Especificações gerais
Segue
abaixo algumas especificações técnicas
e detalhes extras:
- CPU: Z-80A rodando a 3.5 Mhz
- RAM: Padrão 64Kb até 1Mb (CI 4164). Soluções modernas apresentam até 16Mb de RAM.
- ROM: 16Kb (27C128)
- VRAM: até 32Kb (CI 4116)
- GDG: Circuito integrado customizado da Sharp, é responsável pelo processamento de vídeo, scroll via hardware, endereçamento de memória, controles de entrada e saída, saída RGBI e codificação PAL / NSTC.
- Detalhes
do hardware de vídeo:
- Modos bitmapped sem color clash
- Scroll via hardware em todas as posições, com até 3 divisões de tela
- Modo texto em 40×25 ou 80×25
- Modos gráficos com 16Kb de VRAM: 320×200 – 4 cores / 640×200 – 2 cores
- Modos gráficos com 32Kb de VRAM: 320×200 – 16 cores / 640×200 – 4 cores
- 512 caracteres redefiníveis (Compatível com PCG do Sharp MZ-700)
- Modelos com saída PAL ou NTSC
- Som: SN76489AN – 3 canais de som (o mesmo utilizado no SEGA Master System)
- Entrada
e saída:
- 2 portas de joystick padrão Atari com 1 botão, ou 2 botões padrão MSX
- Dois slots de expansão de 50 vias
- Entrada e saída para cassete externo
- Saída RGBI
- Saída RF e vídeo composto
- Saída compatível com o padrão Centronics
- Modelos:
- MZ-811: Sem tape, sem disquete, sem impressora. Modelo de entrada.
- MZ-821: Com tape embutido
- MZ-831: Com tape embutido e interface com plotter externo
- Compatibilidade: Discos CP/M de vários formatos (140Kb até 1.44Mb, dependendo da interface), leitura de disquetes em FAT12 (DOS), execução de softwares do Sharp MZ-80 a MZ-700 etc
- Periféricos: Interfaces para disquete, RS 232, QuickDisc, Plotter etc
- Projetos modernos: Interface USB, rede RJ45, cartão SD, Scandoubler VGA etc
Ao
ligar o micro você é
“presenteado” com o padrão de
“ROM limpa” da Sharp, isto é, nada de
Basic residente, você é obrigado a carregar a
linguagem ou sistema operacional que deseja utilizar. Ao menos
não faltam opções, que vão
desde várias versões do Basic e CP/M, bem como
linguagens desde o C, Pascal até Assembly e Fortran.
Uma
coisa que me incomodou um pouco foi a presença de uma borda
excessivamente acentuada, pra falar a verdade, foi a maior borda que vi
em todos os micros antigos que tive até hoje.
Começando com o pé esquerdo
Sendo
tecnicamente o sucessor do Sharp
MZ-700, o MZ-800 foi lançado no Reino Unido em
janeiro de 1985, e recebeu no mês seguinte sua primeira
avaliação na revista PCW
Magazine. Nesta época o IBM-PC já
estava praticamente firmado no mercado, e o que chamou a
atenção nesta avaliação foi
que logo de início foi afirmado que o MZ-800 “não
é apenas compatível com o IBM PC a
nível de dados, bem como é a primeira
máquina a oferecer uma interface amigável de um
CP/M para uso pessoal“. Houveram também
algumas críticas, como certos pontos sobre o design do
micro, a falta da tecla CAPS LOCK, a proximidade do botão de
reset com o controle de volume e também o fato de que era “preciso
um certo esforço para atingir o interior da
máquina“.
O
fato é que esta avaliação foi
controversa, abordando de forma superficial os softwares, que mereciam
mais destaque, e apontou o MZ-800 como uma máquina para
negócios, mencionando poucos pontos a respeito dos
periféricos e uso como desktop pessoal.
Outro
ponto que balançou nesta primeira
avaliação foi a a
presentação de uma tabela oficial de
preços da própria Sharp, com valores que na
época já não eram considerados
convidativos:
MZ-800 with 64kB RAM | £249 |
Dual 5.25″ FDs with I/F and cable | £598 |
Quickdisk Drive with I/F | £198 |
MZ-1D04 Mono Monitor | £129 |
MZ-1D05 Colour Monitor ( 8 colours ) | £285 |
MZ-1D19 Colour Monitor ( 16 colours ) | £359 |
Disk Basic | £ 89 |
PCP/M | £120 |
Como
um parâmetro de comparação, nesta mesma
revista haviam várias máquinas da plataforma MSX
vindas do Japão, com marcas consagradas como Sony, Sanyo,
Toshiba etc, por uma margem de preço
entre £280 a £300.
Provavelmente
esta primeira avaliação pesou no sucesso da
plataforma, e para agravar a situação, a
política da Sharp do Reino Unido se concentrava somente nas
áreas comerciais, significando que o MZ-800 não
foi vendido como um microcomputador pessoal naquelas terras.
A
entrada do MZ-800 no Reino Unido foi fatalmente circundada por muitos
pontos controversos, para se ter uma ideia, o Sharp
Users Club afirmava que as
especificações do MZ-800 eram tão boas
que nem o hardware ou software precisavam de qualquer ajuste adicional,
porém, quando o usuário entrava para o clube o
pessoal já “oferecia” o upgrade de VRAM,
interfaces de disco e drive. Por mais que pareça
amigável, este esquema parece um pouco
questionável.
O
MZ-800 também foi vendido em menor escala na
França e Alemanha, mas atingiu um sucesso melhor que no
Reino Unido. Alguns documentos considerados importantes e com alto grau
de conteúdo técnico foram escritos em
alemão, entre eles se destaca o “De
SHARP MZ-800 ten voeten uit” (O Sharp MZ-800 em
poucas palavras), sendo praticamente uma pequena bíblia
sobre o hardware e software da máquina, mas que infelizmente
foi traduzido apenas parcialmente para o inglês.
Pisando em terras desconhecidas, mas amigáveis
Por
volta de 1986, o Sharp MZ-800 começou a ser importado
legalmente para a Tchecoslováquia, durante um forte
período totalitário na era comunista. Os modelos
MZ-811 / 821 eram os mais comuns, sendo o primeiro mais
econômico e mais vendido, porém deixou alguns
tchecos desesperados com as mensagens de “Tape
Loading Error” devido a sensibilidade das portas
de entrada e saída para tapes externos, rejeitando aparelhos
e fitas de marca inferior. Após começaram a
aparecer os plotters de 4 cores, sendo o único
periférico encontrado legalmente no país.
Mesmo
o Sharp MZ-800 sendo uma máquina relativamente
avançada comparada a outras alternativas no mercado tcheco
daquela época, a plataforma ainda sofria com a falta de
softwares de qualidade, documentações e
acessórios.
Em
pouco tempo os programadores mais experientes descobriram o fato de que
não era tão difícil portar os jogos do
ZX Spectrum, então a era da portagem de softwares deu
início. Depois de 1990, várias empresas de
distribuição de software nasceram, entre elas amZx
software, RTMV
soft e BBS
Corporation. Elas ofereciam bons softwares por um
preço um pouco alto, mas ao menos isso alavancou a
plataforma Sharp MZ-800.
Alguns
dos softwares mais conhecidos programados pelos tchecos foram o editor
de textos FET, os copiadores Turbo Copy e Intercopy, editores
gráficos Artex e MZ-Paint, além da portagem de
vários jogos do ZX Spectrum 48/128, como Robocop,
Ghostbusters II, Stormlord II, Smash TV e muitos outros.
Devido
a forte base de usuários instalada, foi
inacreditável o quanto o MZ-800 conseguiu prevalecer no
país mesmo após a dominação
do mercado de 16 bits através do Amiga e Atari ST. Muitas
empresas continuaram persistindo na portagem de softwares, produzindo
jogos cada vez melhores e mantendo o público cativo,
enquanto outros micros de 8 bits começaram a desaparecer
rapidamente na região.
Também
haviam revistas especializadas para o Sharp MZ-800 que se mantiveram
ativas por vários anos, e que mesmo após sua
extinção, os responsáveis
começaram a hospedar sites pela internet e mantiveram as
atividades através do uso de emuladores e novas ferramentas.
Como fui parar no meio disso?
Não
escondo que gosto de tudo quanto é microcomputador antigo,
mas de uns meses pra cá me vi mais interessado em
máquinas que ainda não tive contato, e os micros
da Sharp começaram a me despertar interesse.
Este
Sharp MZ-800 foi adquirido no eBay da França, junto com o MZ-700,
através das mãos de Karl
Heinz, conhecido membro da comunidade por manter o
site www.sharpmz.org,
mas que em 2013 se desfez de TODA a sua coleção
de micros da Sharp. Não sei exatamente o motivo, e
também achei indelicado perguntar o porquê. E vai
um aviso, segundo a comunidade tcheca, se você tem ou
pretende ter algum micro desta linha, pegue este site e o copie
integralmente, pois não dá pra saber por quanto
tempo ele se manterá hospedado.
Quando
mexi um pouco no micro gostei muito da aparência (apesar de
achar o MZ-700 mais bonito), mas na verdade não fiquei
tão entusiasmado com a biblioteca de jogos, e
também me assustou a ideia de ter poucas
documentações legíveis sobre ele (use
o Google Translator do tcheco para português e
entenderá).
O
carregamento dos jogos via Turbo Loading através das
ferramentas MZFTools e MZ2WAV se
demonstraram um pouco chatos de chegar numa velocidade adequada. Alguns
jogos carregavam em 30 segundos, enquanto outros levavam minutos, mesmo
usando uma velocidade cinco vezes maior que a original.
No
décimo primeiro encontro de Applemaníacos em SP,
acabei trocando o MZ-800 com o Alexandre “Pacman”
Pereira por um MSX 2 A1f com cartucho IDE:
O
problema é que somente depois que havia trocado o micro li
muito mais a respeito e percebi que não explorei nem 10% do
potencial da máquina, e com isso começou a me
bater um certo arrependimento. Eis que um dia numa conversa com o
Pacman pelo Facebook começamos a falar das
máquinas e ele me propôs destrocarmos pois
também gostaria de ter o MSX de volta, não pensei
duas vezes e aceitei, já que percebi que o arrependimento
era mútuo.
Um bom filho à casa torna
Na
“segunda rodada” com o Sharp MZ-800, eu
já estava com várias ideias na cabeça.
A primeira destas ideias foi testar TODAS as
configurações de Turbo Loading, o que incluiu
ajustes de software, hardware, volume, cabos etc.
Em
um dia inteiro e exaustivo, explorando melhor o MZFTools, mexendo no
dip switch de polaridade do tape (atrás do micro) e sendo
mais persistente, foi possível diminuir o tempo de
carregamento de alguns jogos para cerca de 8 segundos (é,
você leu direito). Jogos considerados enormes, que levariam
20 minutos na velocidade original para carregar, e nas primeiras
tentativas levaram 3 minutos com Turbo Loading padrão, agora
são executados em menos de 25 segundos. O timing
é tão exigente que quando tentei trocar a ROM do
micro por uma versão custom, o Turbo Loading deixou de
funcionar. Não é preciso nem dizer que preferi
ficar com a ROM original.
Mas
havia ainda um problema impossível de ser resolvido: os
jogos multi loading.
Para
tornar possível o carregamento em uma velocidade
tão alta, existe um loader inicial bem pequeno que
é enviado para o micro em velocidade padrão, e
apenas depois de sua execução é que o
carregamento em velocidade mais alta é possível.
Portanto, a técnica de Turbo Loading só
é possível não apenas por causa da
compactação, tipo de onda, pureza de
áudio e softwares no PC, esta técnica para
extrair seu potencial máximo exige também a
execução de um carregador do outro lado que
aceite e sincronize corretamente os dados na máquina alvo.
Então
se este carregamento rápido depende de outro software ativo,
como ficarão os jogos multi loading que carregam as fases
separadamente e tem seu próprio esquema de leitura? Simples,
no primeiro bloco dá para usar o Turbo, mas o resto
ficará no máximo no dobro da velocidade (2400
bps), o que ainda não é o desejável.
Em
títulos como Altered
Beast e Golden
Axe até
que foi tolerável a velocidade, pois o bloco de maior
carregamento é o primeiro, mas no caso do excelente Myth,
dá pra sentar e tomar um café…
Depois
de uma tarde inteira percebendo que saudosismo tem limites, vi que
estava na hora de dar um passo adiante se eu quisesse desfrutar de uma
experiência mais satisfatória com o querido
MZ-800. Achar ou clonar uma interface de disquetes no momento
está fora de questão, então decidi
partir para um procedimento um pouco mais radical (e
precário).
Mais uma vez, a interface IDE simples de 8 bits
Se
eu desejava a melhor velocidade de carregamento com o menor custo
possível, o jeito seria meter a mão na massa.
E
porque me referi a “mais uma vez”? É que
o projeto de interface IDE simples de 8 bits é baseado no
esquema criado por Pera
Putnik, que por sua vez também foi utilizado no
projeto do ZX
Spectrum +3e pelas mãos de Garry
Lancaster, e que por fim utilizei em meu
ZX Spectrum +2e, que já virou artigo aqui no site.
Observe
o esquema da interface para ZX Spectrum:
E
agora observe o esquema utilizado pelo MZ-IDE:
Ambos
utilizam os mesmos componentes, com exceção do
transistor que em um é NPN e em outro é PNP, mas
isso só muda o posicionamento dos terminais, pois no
circuito eles atuam da mesma forma.
Como
na primeira vez que fiz uma interface destas usei o esquema que
apelidei de “Spiderman”, desta vez acho que
dá pra chamar a placa de “Miojo IDE“:
Talvez
olhando pela frente seja possível identificar qual placa foi
“sacrificada pelo bem da ciência”:
Pois
é, para um bom entendedor, já deu para reconhecer
que isso ERA uma interface clone da DiskII, isto é, uma
placa de interface de disquetes para Apple II. Antes que
alguém grite “cortem a cabeça
dele”, me justifico dizendo que esta interface já
estava com problemas que não consegui resolver.
O
motivo do uso desta placa foi para aproveitar o conector de 50 vias:
Mas
não basta apenas copiar o esquema, é
necessário que um software seja capaz de trabalhar com a
interface e reconhecer o dispositivo conectado na porta IDE. O nome
deste software é NIPOS,
que na verdade é uma reimplementação
do CP/M 2.4 com modificações para acessar a
interface de 8 bits.
Infelizmente
o adaptador CF-IDE que eu tinha aqui não foi reconhecido com
nenhum cartão CF, então apelei para um HD antigo
de 40Gb, mesmo sabendo que só usaria apenas 64Mb dele, pois
o software limita o uso para apenas duas
partições de 32Mb cada, o que se tratando do
Sharp MZ-800, é uma fonte inesgotável de recursos.
Os
procedimentos parciais para a instalação do
software e configuração podem ser vistos neste
link. Eu me referi como “procedimentos
parciais” pois na última versão do
software o esquema é até mais fácil,
porém, o utilitário FDISK para MZ-800
simplesmente não rodava de forma alguma, nem no emulador.
Descobri então que o arquivo foi gravado para ser carregado
para dentro de um disco ou partição já
com o PCP/M instalado, mas se eu sequer tenho uma interface de
disquetes, como é que vou fazer? Como irei executar um
arquivo de extensão .COM sem usar o sistema operacional?
Foi
aí que procurando MUITO (e lá se foi mais um dia
de tentativas), achei um software chamado Intercopy,
que é capaz de carregar qualquer arquivo e
executá-lo no endereço de memória
desejado.
Descobri
então o tamanho do cabeçalho do formato MZF, o
removi para ter um arquivo FDISK.COM puro e
descobri em qual endereço de memória o NIPOS
chama os arquivos executáveis nativos, carreguei o arquivo
gerado do FDISK pelo Intercopy e
executei no endereço hexa 1200.
E
a mágica aconteceu!
Como
a detecção do disco não é
automática, inseri as informações de
cilindros, cabeças, setores e blablabla, de acordo com o
manual do HD, que neste caso era um Seagate Barracuda 40Gb.
Depois
de criar duas partições de 32Mb em formato CP/M,
reiniciei o micro e carreguei o arquivo de
instalação do NIPOS através do Turbo
Loading, e não levou nem 10 segundos. Imagine minha cara de
felicidade ao ver esta tela:
Tudo
até aqui parece fácil, mas ainda tive que
descobrir muitas coisas, como por exemplo, ao invés de usar
o conversor de fita para disco que vem instalado com o NIPOS, chamado CMT,
que foi desenvolvido em 1989, achei dentro de uma das imagens de disco
DSK um utilitário OCULTO chamado MZX,
que foi desenvolvido posteriormente (1991). Tecnicamente estes
programas fazem a mesma coisa e tem a mesma sintaxe, mas com uma
diferença gritante, o CMT carrega os arquivos a somente 1200
bps (quando carregava) e não aceitava nenhuma
aceleração, enquanto o MZX aguentou 4800 bps sem
erro algum. Sei que é pouco, mas ganhar 400% de performance
vale a pena, e também é bom se lembrar que uma
vez que o arquivo esteja no HD, não precisará
mais carregá-lo pelo cabo de áudio. Passei
praticamente uma madrugada transferindo arquivos, e valeu a pena.
Outro
detalhe importante foi que encontrei a última
versão do NIPOS. Por aí é
possível encontrar até a versão 0.15,
mas procurando nos fóruns tchecos achei um
anúncio e download do arquivo na versão 0.17, que
como benefício tornou a resposta de
digitação mais rápida e corrigiu
alguns pequenos bugs. Uma pena que interromperam o desenvolvimento,
pois já estavam finalizando um driver para acessar FAT16, o
que seria uma ótima pedida para transferir arquivos do PC.
Para
acomodar e proteger o disco rígido, peguei um case antigo
estilo gaveta, que era usado em baias de 5.25″ em PCs. A
aparência ficou legal porque combinou com a cor do micro e
dá para ver as luzes na frente do case ao ligar e acessar o
disco.
Ainda
não fiz uma solução para dar boot sem
precisar do PC, mas ao ligar o micro basta carregar um arquivo
chamado IDEBOOT, que graças ao Turbo Loading leva
apenas 3 segundos para ser executado e dar boot no HD. Uma pena que
não fizeram uma ROM customizada para o NIPOS, isso
já tornaria a coisa mais prática, praticamente
igual ao que acontece com o ZX Spectrum +3. Talvez eu desmonte um
aparelho minúsculo de MP3 que possa ser alimentado pelos 5V
do micro, aí bastaria um botão atrás
da máquina para reproduzir e injetar o áudio
direto no circuito de entrada do tape.
Missão dada é missão cumprida
Isso
mesmo, não parei por aí. Já que o
micro estava tão bonito e funcionando, resolvi abrir
completamente o teclado e ver como ele era para resolver o caso de
algumas teclas que às vezes precisavam ser pressionadas com
mais força, e acabei recebendo uma grata surpresa em ver uma
ótima placa e em perfeito estado:
Observei
bem de perto e percebi sujeiras mínimas em alguns contatos,
bastou aplicar alcool isopropílico e pronto, a resposta das
teclas ficaram como se o teclado fosse novo!
Talvez
você tenha percebido uma foto da tela de uma TV em preto e
branco. Pois é, no meio das minhas
“brincadeiras” acabei estragando minha
única TV que apresentava cores em PAL europeu (mas ainda
irei consertá-la), então tirei do fundo do
baú um monitor Sony Trinitron, que comprei em 2012
supostamente em bom estado, mas os correios infelizmente o derrubaram,
então a imagem dele ficava azulada e com
distorções. Na época tentei arrumar
mas desisti e encostei ele.
Desta
vez, com um sentimento mais desbravador, resolvi abrir o monitor
novamente com a decisão de fechá-lo somente se
conseguisse consertá-lo, ou ele iria para o lixo
só de raiva.
Analisei
insistentemente o manual de serviço e diagramas, e
finalmente foi possível chegar na fonte do
problema: um transistor bichado (buffer) no RED, outro
transistor aberto usado na amplificação do BLUE e
um resistor com “resistência infinita” no
GREEN. Para ser sincero, nem sei como sequer apresentava alguma imagem
antes desta manutenção.
Aproveitando
que deu para melhorar a imagem, aprimorei um recurso que senti falta no
MZ-800: saída de som.
Apesar
do amplificador interno ser ótimo, vários jogos
quando forçam o grave fazem com que o gabinete do micro
fique “zunindo”. A fim de não
furar a carcaça, aproveitei que na traseira do micro
há um conector de saída de som para tape externo,
então bastou soldar um fio do pino 7 do PSG até
um capacitor eletrolítico existente antes do final da etapa
da saída de áudio.
O
melhor é que com isso ainda tenho a saída do tape
funcionando normalmente e ganhei uma saída de
áudio, e o mais importante, o som externo reproduzido
é limpo e manteve mixado o PSG junto aos ticks do 8255, que
é utilizado para simular o som de 1 bit do ZX Spectrum.
Veja
o resultado final da aparência do micro funcionando, com
disco rígido e monitor decente:
Aproveitei
e estiquei a imagem no monitor ao máximo para diminuir as
bordas gritantes.
Fonte
: http://www.casadosnerds.com.br
Hello, very great job! I have an MZ-800 and I wish to add an HDD to it. I have a question: after the NIPOS is loaded, can load the standard game and program for the HDD? Can store on the HDD the mzf or desk file and open it? thanks from Italy. Emiliano
ResponderExcluir