quarta-feira, outubro 12, 2022

 

Teste de RAM Apple II - Bancos de 0 a 3 (primeiros 16kb)

Em 2013, restaurei um Unitron com a ajuda do querido Lisías, que, na ocasião, mandou um programinha muito simples para testar o primeiro banco de ram. 

De tempos em tempos, bato a cabeça procurando o código - que acabei gravando em um disquete - e hoje, tomei vergonha e fui buscar o tal programa.

Do prompt do basic, acessar o monitor:


] CALL -151


A partir daí, é inserir o seguinte:


*300:A2 00 8E 00 02 EC 00 02

D0 22 E8 D0 F5 EE 03 03

EE 06 03 D0 ED CE 04 03

CE 07 03 10 E3 A2 00 A0

10 8E 30 C0 E8 D0 FD 88

D0 FA F0 F3 A2 00 8E 30

C0 CA D0 FD F0 F8 00 00 


E para rodar, 


*300G


O programa faz parecer que está tudo travado, mas ele vai até o final e bipa. Se tiver algo de errado vai mostrar ERR na tela. 


Importante: esse programa acaba se destruindo depois de rodar, pois testa, inclusive, a ram aonde foram digitados os códigos. Para rodar ele novamente, a máquina precisa ser resetada e redigitado.

Qualquer dúvida, é só deixar comentário!


Abraço,


BBK.

Marcadores: ,


domingo, abril 11, 2021

 

Videocompo CPC 14 - Colocando Marrom e Cinza Escuro no monitor CGA Color (Brown and Dark Gray Hack)

(da série retrotrecos)

A Videocompo foi uma marca da "Compo do Brasil" que lançou diversos monitores no Brasil, sendo alguns com projetos diferentes dos elaborados pela IBM. Nesse contexto, ela tentou seguir próximo da especificação técnica da própria IBM, mas, assim com vários outros monitores que sairam por aí em diversos países, alguns pontos de compatibilidade não foram cumpridos, entre eles, a cor Marrom e Cinza Escuro nos monitores coloridos CGA.

Pois bem: no momento, sou o feliz proprietário de dois desses monitores, um CPC-14 Alta Resolução e um MPC-12 Monocromático.

     Videocompo CPC - CatálogoVideocompo MPC - Catálogo

Esquerda: Videocompo CPC-14.            Direita: Videocompo MPC-12.

Não existe muita coisa a respeito deles por aí, inclusive, os esquemáticos parecem que foram perdidos para sempre até que alguém levante a mão e diga que os têm. Durante a pandemia do Covid-19, escutei diversas histórias de pessoas que aproveitaram o fato de estarem em casa desocupados para fazerem a limpa de suas garagens e não duvido que muita coisa tenha se perdido nesses momentos, infelizmente. As imagens acima, assim como qualquer novidade encontrada sobre eles estarão no excelente Datassette


Monitor como chegou na minha mão.

O CPC-14 AR que tenho foi transvestido de Monydata - um hábito comum a época aonde os integradores de micros colocavam suas marcas nos monitores para vender em conjunto, pratica que perdurou por muito tempo - para não dizer que segue existindo, porém com um pouco mais de discrição. 


Acabei por comprando-o com defeito e o Bruno Capozzoli fez um excelente reparo nele, documentado no seguinte video:




Por desenho, este monitor, como muitos outros feitos a época, não seguem as específicações técnicas da IBM. A IBM, quando lançou o seu monitor CGA color (5153), criou dois circuitos diferentes para processar o sinal Marrom e Cinza Escuro dentro do próprio monitor (!). O marrom segue uma codificação de sinal do CGA (RGBI) como se fosse um amarelo escuro (1100), e o cinza escuro nada mais é que o preto com o sinal de intensidade aceso (0001) nos sinais emitidos pela placa de CGA. 

Esquerda: Amarelo escuro. Direita: Marrom (50% de verde)


Retorno do conserto do Bruno Capozzoli. Repare na "terra" amarela do SimCity.

Nunca fui muito fã de abrir monitores - sempre pairou a questão de ter alta-voltagem - o que não deixa de ser uma verdade - e sempre fui meio estabanado com conseguir abrir as coisas pela primeira vez. Pois bem: tomei coragem e resolvi abrir o monitor para entender por que cazzo não tinha as cores.

Videocompo CPC-14 AR

Infelizmente, o CPC-14 ou não possui esses circuitos do 5153 ou, se possuir, existe algum outro defeito não descoberto, e o código do marrom apresenta o amarelo escuro, e o cinza escuro, preto. Há um soquete sem CI meio misterioso que não encontrei nenhuma resposta para quê ele serve na placa que faz a conversão de digital para analógico. E estou aceitando dicas se souberem o propósito dele!






Placa conversora Digital Analógica do CPC-14 AR.

A placa é bem direto ao ponto: recebe todos os sinais RGBI do conector VGA e traduz em analógico para o RGB para a placa do canhão, com alguma amplificação. Os fios na cinta colorida que saem dessa placa vão até uma chave atrás do monitor que converte ele para escala de verde. Não há descrição desse circuito no circuito impresso. 

Por fim, acabei desenvolvendo esse circuitinho em paralelo ao circuito conversor de analógico para digital do próprio monitor.

Esquemático raiz.

Plaquinha de Circuito Também Raiz!


Circuitinho pronto!

Pontos que foram endereçados aqui: captura-se os sinais digitais do RGBI a partir dos dois CIs pré-existentes na conversora (74LS11), que já trás um sinal mais uniforme de entrada e injeta sinal analógico de volta no circuito que vai para o tubo. 

Circuito instalado na vertical.

Infelizmente, não fiz fotos dos pontos que utilizei na placa conversora original. Não foram difícieis de levantar o esquema - basta seguir as trilhas dos sinais que vem do próprio cabo.

Marrom: assim como o 5153, quando o sinal detectado for o 1100, deve-se reduzir o sinal do verde em 50%, via aterramento. E é isso que acontece nesse circuito, tendo o sinal de gatilho para o NPN sendo calculado no PIN 8 do 74HTC08.

Cinza Escuro: No circuito da IBM, a brincadeira é mais sofisticada, pois a lógica empregada lá difere muito da existente nesse monitor na conversora de sinal. Adotei algo próximo da solução para o marrom, sendo que re-injeto o sinal de alta nas linhas de RGB e faço um aterramento para as quatro linhas de volta, com 4 NPNs.

1o Ensaio do resultado, ainda na protoboard - só o marrom visível

Resultado final - Marrom (Brown) e cinza escuro (Dark Gray)


No final, repare nos resultados que foram obtidos - repare na cor marrom e cinza escuro:


Prince of Persia - Antes

Prince of Persia - Depois



Street Rod - Antes repare a porta da garagem, teto, parede e pneus.


Street Rod - Depois


Funcionou? Sim! Sigo tendo vergonha da solução do Cinza Escuro - não tem eficiência nenhuma além de jogar um monte de energia no lixo. Um dia desses, redesenho essa placa para que ela injete diretamente a energia no circuito analógico. 

Outra otimização que pode ser feito é não ter que refazer todo o circuito digital para calcular o acionamento dos NPNs: Bastaria encontrar os pontos nos 74LS11 e puxar os sinais diretamente dali. Tenho uma expectativa que, talvez, o CI faltante pudesse concluir o circuito de Marrom/Cinza Escuro.

Já tive que abrir uma segunda vez para recalibrar os potenciometros. Há vazamento do marrom em cima do amarelo, principalmente quando são pixels muito próximos - por mais rápido que sejam os TTLs e os NPNs que usei, não sei se eles estão dando conta do recado, além da parte analógica estar longe de ser o meu forte.

Enfim, na lógica do "feito é melhor que perfeito" concluí até aqui essa modificação. Quem sabe faço um circuitinho melhor que esse para uma segunda vez?

Colored rocks,

Marcadores:


sábado, maio 23, 2020

 

Microtec XT 2002 Master - Descobrindo os jumpers

Disclaimer: Isto aqui está sendo escrito/atualizado conforme há descobertas (e torcendo para que os links não quebrem sem eu perceber).

Atualização 10/03/2021: Graças ao Alexandre Tabajara (https://tabajara-labs.blogspot.com/) apareceu um manual de manutenção desse micro. Na verdade, de uma grande parte da linha da Microtec, e que pode ser encontrada aqui: https://datassette.org/tech/ibm-pc-tech/microtec-mtp1-modulo-de-treinamento-programado

Muito obrigado Taba! 

Comecem por esse manual: Abaixo estavam as minhas pesquisas antes de chegar o pacote completo, e ficam aqui para posteridade.


Ainda sobre o XTesão, me parece que não há um único manual no planeta sobre ele - aliás, nem sobre qualquer produto da Microtec. Impressionante! Por favor, caso tenha o manual, deixe um comentário ou envie já para o Datassette. Caso não conheçam, o Datassette é, na minha opinião, a melhor fonte de documentação/software de micros antigos/clássicos brasileiros.

Microtec XT 2002 Master
Microtec XT 2002 Master

Minhas configurações: Instalado um NEC V20 (D70108C-8) e um 8087 (Intel D8087-2). Os testes estão sendo com a XTIDE de controladora IDE (fabricado pelo Tabajara), uma controladora de disquete cheio das coisas mas muito configurável (MT-881), uma placa CGA A-101 (Jumpers e Manual) com a porta LPT desativada e um No-Slot Clock na BIOS (Dallas versão E).

De qualquer modo, estou tentando descobrir o que faz os jumpers que há nele.

Ele vem com os 3 bancos de RAM ativos, passando do tradicional limite de 640kb, chegando a incríveis 736kb (753.664 bytes) de RAM ainda como memória convencional (!), avançando em endereços tipicamente de placas de video. O motivo, que foi parcialmente solucionado com o jumper S9 abaixo, é que estou com uma Genoa Spectra EGA aqui há um tempão que não consegui colocar para funcionar.

O micro chegou em minhas mãos da seguinte forma em relação aos jumpers dele:

S1: NÃO ENCONTRADO (seria o banco do SW1?)
S2: ABERTO
S3: FECHADO B
S4: FECHADO B
S5: FECHADO B
S6: SEM PINOS
S7: FECHADO
S8: FECHADO MEIO COM A
S9: FECHADOS A E B
S10: FECHADO MEIO COM B
S11: FECHADO MEIO COM A
S12: NÃO ENCONTRADO (embaixo dos HDs ou placa de turbo?)
S13: NÃO ENCONTRADO (embaixo dos HDs ou placa de turbo?)
S14: FECHADO MEIO COM A (PLACA DE TURBO)
S15: ABERTO (PLACA DE TURBO)
S16: NÃO ENCONTRADO (embaixo dos HDs ou placa de turbo?)
S17: ABERTO

Para fazer os testes abaixo, alterei alguns dos jumpers e comecei a fazer uma leitura no CHECKIT 2.1. Também usei como referência o próprio MEM.TXT e os jogos Street Rod 2 e SimCity.

O banco de switchs (SW1) parece funcionar quase igual ao do XT IBM, mas tem algumas particularidades dignas de nota. Ainda estou tentando entender como ela funciona.

Os melhores achados foram:

SW1.1: Desligado ativa o teste de RAM no BOOT. Ligado, não faz o teste e vai direto para o logo. Mesmo desativado, detecta erro de paridade.

SW1.2: Co-processador Matemático (8087): OFF Instalado; ON, Ausente (comportamento invertido do que seria esperado!). Ainda que o CheckIt identifique o co-processador na sua verificação, essa chave ativa o flag de uso. O Manifest (MFT.EXE) contido dentro do QRAM quem demonstrou esse detalhe.

SW1.3 e SW1.4: Bancos de memória RAM

    3=ON , 4=ON:     Habilita somente o banco 0;
    3=OFF, 4=ON:     Habilita os bancos 0/1
    3=ON , 4=OFF:    Habilita os bancos 0/1/2 - Habilitação padrão para os máximo 736 kb
    3=OFF, 4=OFF:    Habilita os bancos 0/1/2/3 - lembrando que nessa máquina, por conta do modelo de ram, o banco 3 não está populado (pelo menos na minha não está). Ou seja, a princípio, não usar.

SW1.5 e SW1.6: Tipos de Video

    5=OFF, 6=OFF: MDA (monocromático) - Não testado! Não tenho placa de video assim.
    5=OFF, 6=ON : CGA, modo com 40 colunas e 25 linhas
    5=ON , 6=OFF: CGA, modo com 80 column e 25 linhas
    5=ON , 6=ON : Placas com ROM (expansão de BIOS) (ex.  EGA / VGA)

    Identifiquei um erro número 4 ao colocar uma placa EGA com o setup de CGA.
    SW 1.6: ainda um mistério. Não sei se está funcionando como do PCXT. Apesar de usa-lo e acabar com o erro 4, ele acaba colocando a ram em 512kb de volta. O erro 4 só aparece com o SW1.1 está ativado.

SW1.7 e SW1.8: Quantidade de Drivers de Disquete.

    7=ON , 8=ON:     1 drive
    7=OFF, 8=ON:     2 drives
    7=ON , 8=OFF:    3 drives
    7=OFF, 8=OFF:    4 drives


S2: Conector para o botão de reset.

S3: Sem jumper, a ROM da BIOS inicia em F000 (64kb) - (Talvez dê para colocar a ROM do XT 5160?). Na posição B em F200h (56kb). Na posição A vai pra F400h (48kb).

S4 e S5:

S4: Parece combinar com S5 para criar os endereços da ROM "XT2002".
S4 e S5 em A: EE00h.
S4 em B e S5 em A: EA00h e EE00h
S4 fora e S5 em A: EA00h e EE00h
S4 em A e S5 em B: (não apareceu)
S4 em B e S5 em B: (não apareceu)
S4 fora e S5 em B: Pareceu ir para F200h, e emendou com a BIOS, deixando o bloco todo com 56kb. Checkit não identificou o "XT2002-MASTER" (Inicio da ROM) e sim a data da BIOS (final da ROM) S3 está na posição A.
S4 em A e S5 fora: E600h e EE00h
S4 em B e S5 fora: EA00h e EE00h
S4 fora e S5 fora: E200h, E600h, EA00h, EE00h e a mesma situação do F200h. Curiosamente, o S7 não atuou no F200h.

S6: TBD: Sem os pinos - testarei no dia em que encare colocar o conector.

S7: Com ele removido, ele enxerga no endereço EE00h a F000h uma rom não reconhecida que diz "XT2002-MASTER V1.1" nos primeiros bytes. Talvez seja a entrada do Basic?

S3, S4, S5 e S7 removidos: Checkit identifica a rom do sistema como tendo 128kb, de E000h a 0000h.

S3, S4, S5 removidos e S7 inserido: Checkit identifica a rom do sistema como tendo 64kb, de F000h a 0000h.

S3 removido, S5 em B ou S4 em A ou S4 em B e S7 inserido: Checkit identifica a rom do sistema como tendo 48kb, de F400h a 0000h.

S3, S4 removidos, S5 em A e S7 inserido: Checkit identifica a rom do sistema como tendo 64kb, de F000h a 0000h.

Alguma combinação aqui deverá possibilitar usar ROMs dos micros IBM. A descobrir...

S8: na posição MEIO-A a COM 1 vai para IRQ 4. Na posição MEIO-B, IRQ 3. Sem o Jumper, a porta COM1 não recebe uma designação de IRQ (teste do CHECKIT). Caso use uma placa externa e queira desabilitar, esse jumper vai precisar ser melhor analisado (Vide S10). Aparentemente, ainda que desabilitado, vai conflitar as portas COM.

S9: Sem o B trava em 640kb. 128kb move para D000h até F000h. Ainda sem ideia sobre o que faz o A.

S10: na posição MEIO-B  ativar as portas LPT1 (378h) e COM1 (3F8h). Posição em A, desativar. Aparentemente, serve para liberar os IRQs, mas não os endereço de memória.(Vide S8 para desabilitar).

S11: Na posição MEIO-B e sem o Jumper o micro nem bootou. Curiosamente, também não emitiu nenhum tipo de beep de POST (ie de buscar BIOS e não encontrar). Seria um dispositivo do tipo chave?

S12: TBD

S13: TBD

S14: TBD

S15: TBD

S16: TBD

S17: TBD Fechado, faz o beep grave (similar ao sem ROM) e não boota. Talvez o conector para um led?

Supersoft ROM POST Diagnostics Version 1.2

Rodei o teste de eprom para a Supersoft ROM POST diagnostics, ainda inconclusivo. É curioso: esse XT tem a estrutura de ROMs do 5150, e o Supersoft fez uma leitura "estanque", sempre trazendo os mesmos resultados, mesmo que eu mexa no switch. Indica que somente um banco de Ram está setado e ativo, e com 256kb. A pergunta é: e aonde está o resto todo? (Será que entendi mesmo esse resultado?)

Resultados do Supersoft ROM Post no Microtec XT 2002 Master


BIOS IBM 5150 e 5160

Também fiz um teste trocando a BIOS, além do resultado do ROM POST. A BIOS do IBM XT 5160 ainda não consegui fazer ele reagir (e, honestamente, acho que não vai funcionar). Porém, com a do 5150, o PC tradicional, ele reagiu. Ainda estou mexendo com a RAM, e deu um erro de paridade "Parity Check 1". E, pra variar, não consegui sair desse erro.


Troca de RAM

Também tentei substituir a RAM por CIs 4164, também sem sucesso. Via de regra, apresentou erro de paridade, provavelmente porque 1) a BIOS da Microtec parece ser um Frankenstein entre o 5150 e o 5160 e 2) deve ter um conjunto de jumpers que precisam de ajuste para o legado do 5150 funcionar.


Genoa Spectra 4800 EGA

Essa é a EGA que estou tentando instalar. Ainda não consegui concluir quantos kb ela tem - acho que são 256 kb, (oito chips MB81464, equivalentes aos 4464), mas não consegui fazer ainda o checkit ler toda essa quantidade.

Talvez por conflito de endereços com outras coisas na placa, mas o melhor que consegui foi ele ver o endereço de 128kb, mas com resultados em tela BEM estranhos. Pelo o que entendi lendo o verbete do Wikipedia, é mais comum o formato de 64kb como sendo a melhor configuração para ela por conta do seu uso mercadológico. Talvez essa contagem seja somente para o endereçamento mesmo, com o uso de bankswitch interno para chegar no total dos 256kb.

A bem da verdade, estou usando só um monitor CGA mesmo, e preciso fazer um cabo para VGA e torcer para que algum monitor aqui em casa leia os 21 Hz que o EGA gera.

A versão da BIOS instalada aqui é a 1.20.

RCA: Although it’s not documented, a four-pin connector on the Genoa board gives you access to the feature-connector signals that correspond to the RCA jacks. 

Genoa includes three programs to use with the Spectra EGA. One tells you if the board can be installed, based on the date of your system ROM. The other programs allow you to change video modes and switch settings through software. You may have to change the video mode of your EGA to prevent memory conflicts with another board. For instance, if you also have a Hercules Graphics Card installed, you must switch your EGA to one of the graphics modes that use segment AOOOh before you switch your Hercules card to the two-page mode. Unfortunately, the manual doesn’t explain this and instead tells you to switch to appropriate graphics modes before running graphics programs. In my experience, this is never necessary and even confuses many programs.(Extraído da PC-Mag-1986-08-01)


Feature Connector da EGA da IBM. Seria igual da GENOA?


Resultado do RCA: A ser descoberto. Talvez no J1 ou J2?

Conversa rápida com ex-funcionários da Microtec (11/06/20)

Tive uma conversa rápida com dois ex-funcionários da Microtec a respeito desse micro e um pouco da jornada deles na empresa (L.M. e P.S.). Alguns pontos que falaram e que poderá ajudar quem mais estiver na jornada de recuperar essa máquina:

- A placa mãe teve algumas revisões, sendo que a versão que possuo, a 3C foi a melhor versão delas, tendo sido mais estável de todas. As anteriores possuíam diferentes problemas que geravam instabilidades.
- O aterramento físico e o lógico são separados, e por isso é fundamental, entre outras coisas, manter as buchas de fixação dos HDs (preciso olhar isso... será que é a causa dos badblocks de um dos discos que tenho aqui?).
- A fonte possui sistemas de proteção contra flutuações de energia. Possivelmente um estabilizador influencia nesse funcionamento, e deve ser evitado.
- Existiu um DOS da própria Microtec. Hoje em dia, é cabeça de bacalhau - ninguém nunca viu!
- Também existiu boletins técnicos informativos. O P.S. os tinha, porém poucos dias atrás acabou jogando fora - cicatrizes da quarentena do COVID-19...
- A Microtec também produziu um conjunto de utilitários, inclusive para gerenciamento de RAM, porém não se sabe ao certo se para esse modelo em específico ele atuava ou não, e se era necessário usar o DOS da própria Microtec para funcionar. Um disco foi encontrado e está no Datassette, a principio nomeado como sendo do MF-86 e MF-88.

XTFORMAT.EXE

Se alguém quiser trocar uma figurinha a respeito, deixe comentário com contato e/ou procure no facebook.

Abs,

Marcadores:


This page is powered by Blogger. Isn't yours?