Como o monopólio começou, ou um pouco de confusão com o IBM PC 5150



Para inglês, pressione One

Todo amante de ferro velho tem um fetiche. Muitas vezes, no leste (e parte do oeste também) da Europa, este é o ZX Spectrum, um computador maravilhoso que, no entanto, não deixou um legado significativo. Outra coisa é o IBM PC 5150. Este computador também é amado por muitos trabalhadores indesejados e muitos o reverenciaram por sua influência no setor. Por como ele expulsou todos os concorrentes do mercado. Mas a história deste maravilhoso computador é conhecida por todos os alunos, mas acontece que poucas pessoas sabem o que havia dentro dele.

(há muitas fotos sob o corte e até um vídeo!)

Portanto, é chocante para muitos o fato de não haver 640KiB de RAM no IBM PC 5150. Os 640 KiB da época eram realmente uma quantidade enorme de RAM e um máximo de 64 KiB podia ser colocado na placa-mãe da primeira revisão do computador. Sim, apenas 64 KiB, como o Commodore 64 doméstico, por exemplo, ou um pouco mais que a versão mais popular do Spectrum mencionado anteriormente. Obviamente, havia placas de expansão de memória, mas elas apareceram mais tarde, e a segunda revisão da placa-mãe já continha 64 KiB de RAM na versão básica (uma versão muito buggy, que, acredito, não estava à venda, mas mais sobre isso mais tarde), e o máximo pode colocar até 256 KiB! Mas, ao comprar a primeira versão básica, você recebeu apenas 16 KiB. Imagine um PC IBM com 16 KiB de RAM ... O DOS não pode ser executado nele.

... Sim, ele não era necessário, para esta versão: nem sequer tinha uma unidade. E o fabricante não ofereceu um disco rígido para o IBM PC 5150, mesmo como uma opção. Como esse computador pode ser usado? O fato é que, na IBM PC ROM, o intérprete BASIC foi "costurado", carregado na ausência de outra opção de inicialização. Ou seja, tudo funcionou exatamente da mesma maneira que nos computadores de 8 bits da época: você recebeu um computador que, depois de ligado, carregava um intérprete de idioma BASIC da ROM e tinha de 16 a 64 KiB de RAM. Como carregar programas sem o DOS? Usando um gravador. Sim, o IBM PC 5150 tinha uma porta para conectar um gravador e um BASIC na ROM foi capaz de gravar e carregar programas de / para fitas. Tudo é como no seu Spectrum! E o próprio computador, em geral, era de 8 bits. Não, o processador era completamente de 16 bits, mesmo com um barramento de endereço de 20 bits, e foi trazido à tona (a propósito, é por isso que o 1º megabyte de memória era tão importante para o barramento ISA o tempo todo, apenas 20 eram alocados a ele parte do endereço e ela não "viu" nada fora do 1º megabyte). No entanto, o barramento de dados do processador foi cortado para 8 bits, precisamente para usar o periférico de 8 bits. E, embora 20 bits do endereço permitam endereçar até 1 MiB de RAM, todas as trocas de informações no IBM PC 5150 foram realizadas em um barramento com uma largura de 8 bits. Assim como no Spectrum. É ainda mais simples, porque muitos computadores da época já usavam chips personalizados, como ULA no ZX-Spectrum ou micro da BBC, e a Commodore adquiriu a MOS Technology para suas necessidades, que produziam alguns chips exclusivamente para a Commodore, de modo que os clones desses computadores eram pesados. não é fácil. A IBM, no entanto, montou seu 5150 exclusivamente a partir de componentes amplamente disponíveis; portanto, teoricamente, qualquer um poderia montar seu clone 5150 de joelhos, exceto, é claro, o firmware do BIOS, cujo código, embora estivesse aberto nas páginas do manual do 5150, estava protegido por direitos autorais. .

A exibição ainda era mais divertida. No início, o IBM PC 5150 era oferecido apenas com um adaptador de vídeo MDA monocromático, incapaz de exibir gráficos. Apenas texto monocromático, apenas hardcore. Mas o texto foi exibido com alta qualidade. Esse adaptador exigia um monitor especial e era perfeito para usuários corporativos (com uma unidade e expansão de memória para carregar o DOS). Mas um pouco mais tarde, um adaptador colorido CGA apareceu nas opções, que tinham uma saída composta para conectar a uma TV, além de uma saída RGBi digital para um monitor. Esse cartão exibia um texto muito pior, pois possuía uma resolução muito mais baixa e era pouco adequado para os negócios, mesmo com um monitor apropriado. Mas para uso doméstico, era muito melhor: o monitor não era necessário, era possível conectar-se a qualquer TV e quatro cores no gráfico (havia duas paletas diferentes, uma mais do que a outra) na TV que se transformava magicamente em um número maior se o desenvolvedor soubesse usá-lo corretamente. saída composta. E muitos foram capazes. Em geral, a CGA não era uma placa tão monótona, como muitas pessoas se lembram de jogar em um monitor VGA no modo de emulação CGA. A TV estava melhor.

Eu já tinha um IBM PC 5150 há algum tempo, mas minhas mãos não o alcançaram por um motivo simples: era de alguma forma problemático. Quando o recebi, ele não liga. Encontrei rapidamente um capacitor em curto e o mordi (ele estava na linha de -12V e não precisava mesmo), mas havia definitivamente algo seriamente errado na memória deste computador.

Aqui devemos fazer uma pequena digressão. O fato é que não havia configuração do BIOS no IBM 5150. Ao carregar o BIOS, ele leu a posição de 2 conjuntos de microinterruptores na placa, SW1 e SW2, e a partir deles determinou a configuração do hardware: a presença e o número de unidades, o tipo de adaptador de vídeo, a presença de um coprocessador matemático e a configuração da memória. A configuração da memória foi definida da seguinte forma: 2 comutadores no 1º bloco informaram ao BIOS quais dos 4 bancos de memória diretamente na placa estavam cheios e os 5 primeiros comutadores do bloco 2 informaram ao BIOS a quantidade total de memória no sistema, ou seja, a quantidade de memória na placa-mãe e nas placas de expansão.


Os blocos azuis claros SW1 e SW2 são visíveis no quadro

Cada banco consistia em 9 chips (8 bits + bit de paridade) e armazenava 16 KiB na primeira revisão da placa e 64 KiB nas seguintes. É aqui que o primeiro problema começa. Devido a um erro no BIOS, se a placa estiver configurada para usar nem todos os bancos de memória, ou seja, de 1 a 3, o BIOS considerará que todos os bancos têm 16 KiB, mesmo em revisões posteriores, onde o tamanho do banco é de 64 KiB. Portanto, se você tiver 3 bancos de 64 KiB em sua placa, o computador “verá” apenas 48 KiB de memória, em vez de 192. Há outro bug no BIOS que mostra erros de memória inexistentes em placas de revisão tardia, se nem todos os bancos estiverem instalados. São esses dois erros que me fazem pensar que os computadores com suporte a 256 KiB a bordo sempre foram vendidos totalmente equipados com memória a bordo, porque, caso contrário, o usuário teria encontrado erros ao ligar e a incapacidade de usar toda a memória instalada (e era muito caro).

Portanto, eu tinha um IBM PC 5150 com uma placa de revisão tardia e um cartão de memória adicional de 256 KiB. No entanto, quando foi ligado, gerou um erro de memória 0800 201 e parou o POST com a inscrição PARITY CHECK 1.


Uma rápida pesquisa no Google mostrou que esses erros geralmente são causados ​​por interruptores instalados incorretamente na placa. Comecei os experimentos. Para começar, removi o cartão de memória adicional e reorganizei os comutadores de acordo. Isso não ajudou. "Sim", pensei: "A coisa está na memória". E eu decidi remover toda a memória que pode ser removida. Apenas o 0º banco permanece, ele é soldado no quadro e não pode ser substituído. E o erro se foi! O computador inicializou no BASIC e relatou um pouco menos de 12 KiB de memória.


Meu primeiro pensamento foi: “Espere, mas eu tenho 64 KiB !!! BASIC está comendo tanto? Não pode ser! Obviamente, o leitor atento adivinhou que esse (e) efeito é uma consequência do bug número 1 do BIOS. Mas naquele momento eu ainda não sabia disso.

Em geral, depois de um longo alarido, deparei-me com um site completamente maravilhoso , que desde então tem sido a Bíblia para PC da IBM para mim, e depois ajudei mais de uma vez. Foi lá que descobri que minha placa vê apenas 16KiB se apenas um banco de memória estiver instalado, e esse erro 0800 201 significa que o chip responsável pelo bit de paridade no banco 0 está com defeito e o erro desapareceu quando outros bancos foram removidos precisamente porque o BIOS Vi apenas os primeiros 16 KiB nesse caso, e o erro foi maior. Infelizmente, o banco 0 é soldado ao quadro. Para meu pesar, depois de retirar esse chip e instalar um bloco em seu lugar, a placa parou de ligar completamente. À primeira vista, não vi nenhum dano causado pela solda, mas como soldei o microcircuito com um secador de cabelo, tentando aquecer toda a placa, e não apenas o local de solda, suspeitei que outro microcircuito de memória estivesse com defeito e agora o local onde os primeiros 16 KiB foram localizados, porque, no caso de erros nos primeiros 16 KiB, o computador não mostra sinais de vida . E a ROM pode ficar ruim. Ou algo mais. Em geral, era necessário entender, mas não havia tempo. E adiei este computador até tempos melhores.

Há muito tempo, deparei-me com as extensões de The Ben Heck Show no livro ZX Spectrum ULA: Como projetar um microcomputador . Como há muito tempo eu queria coletar um clone Spectrum para mim, e aqui eles prometeram 100% de compatibilidade com o ULA original em pó solto amplamente disponível, tornou-se muito interessante para mim. No final, comprei um livro e, depois de lê-lo, decidi comprar um quadro, divorciado pelo autor. Eu sei que isso não é um esporte, mas eu queria ter um Spectrum funcionando primeiro, para que depois eu pudesse personalizá-lo, e comprar uma placa de fábrica moderna pronta acelera muito o processo e custa muito. No entanto, gostei tanto do processo de montagem do quadro que comecei a procurar outra coisa para montar.

E eu a encontrei .



Sim, esta é, na medida do possível, uma cópia exata da placa 5150 original, mas somente esta é uma placa nova e moderna. Qualidade muito muito alta. Das diferenças em relação ao original, vi apenas outro caso do gerador de atraso (pelo que entendi, ele foi usado para sinais de regeneração de DRAM):


à esquerda, no estojo grande, está o gerador de atraso original; à direita, no DIP-8, está um moderno

e fiação de capacitores de cerâmica: na placa original, como no clone, todas as plataformas de capacitores são de 3 pinos. O fato é que os eletrólitos polares na placa original (assim como no clone) são de três pinos. A média mais, e ambos nas bordas - a mesma conclusão do menos. Ou seja, embora o capacitor seja polar, ele pode ser instalado na placa de ambos os lados. Assim, para eletrólitos na placa original (e no clone), o contato médio é sempre positivo, e ambas as extremidades são negativas. Para a cerâmica, não é assim. Como a cerâmica não é polar, eles não precisam dessa proteção contra um colecionador de tolos, e os capacitores têm os dois contatos habituais. Ainda existem 3 buracos no tabuleiro, mas agora a média é negativa, como um de seus vizinhos, e o outro é positivo. No clone, a configuração dos furos para a cerâmica é igual à dos eletrólitos: mais no meio. Portanto, os contatos dos capacitores de cerâmica no clone estão muito próximos um do outro, o que interfere levemente na montagem. É aqui que as diferenças que vejo terminam. O mais interessante é que o kit inclui todos os chips necessários para a montagem, incluindo o chip com o firmware do BIOS compatível com o IBM PC. Agora, alguns deles são bastante difíceis de encontrar e você ainda precisa piscar um chip BIOS limpo, porque a pinagem JEDEC não foi usada no IBM 5150. Você pode fazer um adaptador , mas isso não é esteticamente agradável. Nem todos os microcircuitos do kit são novos, alguns têm traços de solda quase imperceptíveis, mas todos os casos estão em excelentes condições e, em geral, tudo parece um produto de alta qualidade. Contras - o preço. Pelo preço de um conjunto, você pode comprar 2-3 placas usadas originais no ibee. Mas isso não me impediu: eu tinha a placa usada original, não me ajudou muito. Sim, e a alegria de montar o Spectrum ainda não passou, e lá fiz tudo o que comprei separadamente da placa (bem, eu já tinha 80%, pois era 74HC diferente e tenho clones de processador Z80 suficientes no armazenamento). Em geral, após algumas noites mortas, a placa era indistinguível da original (sim, embora o BIOS tivesse um clone de código aberto com a placa, mas eu instalei os chips originais da IBM:



Soldar uma placa de alta qualidade é um prazer, embora eu queira restaurar a original ao longo do tempo, mas essa será a primeira vez (todo mundo sabe que não há nada mais permanente do que soluções temporárias, certo?). Portanto, depois de montar a placa e instalá-la no gabinete, precisaremos de:

1. controlador de disquete:



O IBM 5150 original pode apenas ler e gravar em disquetes de densidade dupla. 360KB de dados se encaixam em um disquete de 5,25 polegadas, 720KB no de 3,5 polegadas. Meu computador possui uma unidade de 5,25 polegadas. Para gravar disquetes, conectei-o a um computador mais moderno (486) e escrevi um disquete de sistema com o PC-DOS 3.30, vários arquivadores (calculados para adicionar HDD mais tarde ou sua emulação flash), um driver para uma placa de rede e vários jogos.

2. mais memória:


Avalie o tamanho desta placa de circuito integrado ultra-alta em comparação com o teclado.

Essa placa é inserida no slot de barramento ISA, que na época não era um barramento obsoleto de freio, mas sim uma extensão do barramento local do processador 8088, pois esse processador, embora fosse de 16 bits, tinha um barramento de dados de 8 bits truncado, além disso multiplexado com o barramento de endereços. O endereço e os dados chegaram ao barramento ISA separadamente, após o desmultiplexador. E o barramento funcionou com uma frequência de processador de 4,17 MHz.
Além disso, esta placa possui um relógio em tempo real (sim, não havia na placa-mãe), no entanto, eles precisam de um driver que extraia o tempo da placa e a instale no DOS no momento da inicialização, e há uma serial e uma paralela. porta Instalei a memória aqui com falha - 384 KiB, para obter o máximo possível de 640 KiB. Obviamente, isso é um exagero para o 5150, mas o bolso de suprimentos não puxa.

3. Adaptador de vídeo:

Primeiro, testei um computador com um adaptador VGA de trabalho conhecido, projetado para um barramento de 16 bits, mas trabalhando em um barramento de 8 bits. Mas qual é o VGA para o IBM 5150? VGA é de cerca de 386, bem, talvez o final de 286. Também precisa de CGA ou Hercules (não considero MDA, porque quero gráficos). Por exemplo, isto:



Todas as capturas de tela e vídeos até agora - com um adaptador VGA. Mas com a CGA:



Então, tudo está conectado, tudo funciona, o disquete do sistema é criado, há um monitor com uma entrada composta, posso iniciar os testes? Na verdade não. Precisa de outro teclado. O IBM PC 5150 e PC / XT 5160 usavam o mesmo conector DIN5 que o IBM PC AT 5170, cujos teclados são totalmente compatíveis com o padrão PS / 2 (desde que o conector seja substituído), que está amplamente disponível hoje, mas outros sinais são utilizados nos 5150 e 5160. Ou seja, se você conectar o teclado AT ou PS / 2 ao 5150, ele não funcionará. Você pode comprar teclados para 5150 e 5160 no Ibei, mas eles pedem que eles gostem do 5150 inteiro sem teclado. E não importa o quanto eu goste do Modelo F, não estou pronto para pagar tanto pelo teclado.

Felizmente, há uma saída :


Um pequeno PIC, 3 resistores, um diodo e um capacitor, para ter coragem - tudo o que você precisa para transformar seu PS / 2 em XT. Ah, e o programador, sim. Curiosamente, a CPU de 8 bits neste microcontrolador pode operar a uma frequência de 20 MHz. Então o “adaptador” será mais poderoso que o processador mais central 8088 instalado no 5150.

O primeiro computador compatível com PC da IBM que apareceu na minha vida foi algum tipo de clone baseado em um processador 286 da minha mãe no trabalho. Lá eu fiquei preso em Golden Axe, Death Track e Prince. No entanto, também houve experiência no clone 8088: muito mais tarde, um amigo apareceu no Search , pelo qual também passamos muito tempo jogando vários jogos (estudamos programação, se é que isso poderia ser chamado de artesanato no BASIC, estamos no Spectrum) e, no meu a memória preservou as lembranças de como jogamos sobre o mesmo conjunto de jogos em sua Pesquisa, ou seja, em um clone de PC e, bastante freando. E foi divertido!

No entanto, como no caso da Duma em 386, minha memória me falhou. Ou melhor, antes dos requisitos para a velocidade dos jogos, eu tinha muito mais baixo. O IBM PC original era um computador muito agradável. Este é o tempo que leva para carregar o jogo Lemmings (o sinal composto para o conversor VGA não pode extrair cores do sinal CGA, portanto a imagem é em preto e branco):


Em geral, foi exatamente assim que o uso do computador foi: inicializado a partir de um disquete do sistema, inserido um funcional (no entanto, uma segunda unidade era frequentemente comprada para o trabalho, para não "distorcer" os disquetes o tempo todo) e carregava o programa. Os discos rígidos apareceram mais tarde e não era tão fácil suprir a equipe do IBM 5150: a fonte de alimentação não foi projetada para isso.

Eu realmente quero brincar com a rede 5150. Naturalmente, isso não funcionará nesta configuração; um disquete de 360 ​​KB não pode caber no driver de rede e na pilha TCP / IP. Portanto, você tem que quebrar a tradição. Continuamos a concluir o computador:

4. Na verdade, a placa de rede:

imagem

A placa para o barramento de 16 bits, no entanto, funciona perfeitamente no barramento de 8 bits. Possui um conector para par trançado de 10 Mbps e corre o risco de ser o dispositivo mais rápido do sistema.

5. O quinto e último slot de expansão será ocupado pelo controlador de disco rígido (Sim, existem apenas 5 slots no 5150. Já havia 8 no 5160 (IBM PC / XT), embora houvesse uma nuance .):



Este é o XT-IDE de código aberto, pois os discos MFM em ordem de funcionamento já são uma raridade hoje. Infelizmente, este controlador funcionou muito mal no processador AMD 8088 nativo e eu não entendi isso imediatamente, mas somente depois que restaurei a placa-mãe original (consulte P.S.).Durante a operação, o computador é constantemente bloqueado, causando um erro de paridade de memória. A substituição do processador pela NEC V20 resolveu completamente o problema,



mas só consegui entender isso depois de algumas semanas de experimentos. Eu estraguei o formato Winchester de 2,5 polegadas, para não cultivar nenhum adaptador coletivamente:



em geral, é bom que os engenheiros que projetaram o gabinete do 5150 tenham a oportunidade de instalar unidades de 2,5 polegadas!

Mas, em geral, o baú com contos de fadas parece muito antiquado!



então, inicializando a partir do disco rígido:


Para iniciar a rede, decidi escrever um pequeno arquivo bat que carrega o driver de pacote da placa de rede e o dhcp.exe do pacote mTCP. Eu não coloquei tudo isso no autoexec.bat, pois ele ocupa muita memória e nem sempre é necessário. E, se necessário, execute o arquivo em lotes por um curto período de tempo:


você precisa verificar se a internet funciona:



bem, meu ftp, para o qual tudo estava preparado:



vamos ver o que está lá: por



fim, outro exemplo de quão lento o IBM PC 5150 era:


Note que definitivamente existem mais de 4 cores.

PS No final, restaurei a placa original. Naturalmente, tendo certeza da habilidade solitária louca skillz, eu não poderia assumir seriamente que danifiquei o tabuleiro evaporando o chip de paridade. Eu suspeitava que algum outro chip tivesse dado errado. Tendo bebido todo o banco zero, verifiquei cuidadosamente cada chip: estavam todos em ordem. Várias vezes tocou todas as faixas, elas também estavam em ordem. Foi por acaso que descobri que havia danificado a metalização das vias responsáveis ​​pela gravação do sinal do bit de paridade do banco 0. Aconteceu que, ao tocar nos contatos, verifiquei a conexão do sinal de gravação com o microcircuito vizinho pertencente ao 1º banco. E houve contato com ela. Portanto, eu não notei o dano. E não houve contato com o resto do banco 0, pois uma faixa na camada superior o levava. Em geral, eu tive que soldar a fiação,não para soldar o bloco, mas depois disso o quadro voltou à vida.

Source: https://habr.com/ru/post/pt436288/


All Articles