Ano 1 · Ano 2 · Ano 3 · Ano 4 · Ano 5 · Ano 6 · Ano 7 · Ano 8 · Ano 9
Tópicos › Segundo ano › Alley Cat em hardware mínimo e o clone PC-Retro
Felipe "Juca" Sanches propôs descobrir o subconjunto mínimo de hardware de PC que o Alley Cat usa. Com o booterify, gerou uma ROM relocada do jogo e depurou a BIOS no MAME. Em paralelo, comprou e montou o kit PC-Retro, clone do IBM PC 5150, que ligou e exibiu diagnósticos com uma placa CGA recebida de FTMaciel. O grupo também comentou uma placa-mãe XT nova, um emulador de 8086 e HDs da época do XT.
Segundo ano: novembro de 2018 a outubro de 2019
Felipe gerou uma imagem inicializável e depois uma ROM relocada do Alley Cat. No MAME, o jogo ficou com tela preta, preso em chamadas à interrupção 1Ah, e a investigação apontou variáveis não inicializadas da BIOS Data Area. Mais tarde ele tentou dar boot no jogo por disquete no clone montado e voltou a falar da ideia de rodá-lo direto de uma EPROM.
Felipe propôs descobrir o subconjunto mínimo de hardware de PC que um jogo antigo usa e montar uma PCB com o jogo em EPROM, tomando Alley Cat como exemplo. Com o booterify ele gerou uma imagem de disquete inicializável e rodou o jogo no driver at386 do MAME. Ismael Luceno sugeriu mapear as interrupções usadas e indicou trabalhos de tradução binária via LLVM (um artigo e o mcsema). Felipe citou seu analisador de binários para o i8048 e para a máquina virtual do Another World.
Felipe adaptou o booterify para gerar uma ROM relocada, instalada no segmento 0xE000 e copiada para a RAM por um loader inserido por patch na BIOS. O jogo ficou com tela preta, preso em chamadas à interrupção 1Ah. A investigação apontou variáveis não inicializadas da BIOS Data Area, entre elas o contador de tempo em 0x46C–0x46F, e a necessidade de programar o RTC. Ismael Luceno indicou a Ralf Brown's Interrupt List.
Com a fonte AT testada, o clone ligou e mostrou diagnósticos na tela pela placa CGA, apontando erros em bits da RAM. Com Gustavo Romero, Felipe completou os 256 KB de RAM, ligou um teclado XT e estudou o código da BIOS. Ele tentou dar boot no Alley Cat por um disquete de 3½" de 1,44 MB. Erin sugeriu verificar se o cabo do drive estava invertido. FTMaciel explicou que a BIOS não aceita esse formato sem uma BIOS de controladora como a de Sergey Kiselev. Foram indicadas BIOS alternativas, e Felipe falou da ideia de rodar o Alley Cat direto de uma EPROM, sem sistema operacional.
O percurso foi do anúncio da compra à chegada do kit, com o escaneamento da PCB, a soldagem e a compra de uma fonte AT, já que a fonte de arcade não fornecia -5 V e -12 V. Na primeira vez em que ligou, o clone mostrou diagnósticos na tela pela placa CGA. Na tentativa de boot por disquete de 1,44 MB, FTMaciel explicou que a BIOS não aceita esse formato sem uma BIOS de controladora.
Felipe contou ter comprado o kit PC-Retro, um clone de IBM PC, entregue na casa de um amigo nos EUA. Ele pediu ao RicBit que tentasse trazê-lo e, se não desse, pretendia buscá-lo em março, quando iria aos EUA para a conferência anual da Free Software Foundation.
Chegou o kit do clone do IBM PC 5150. Felipe fez um scan da PCB e compartilhou também o scan da face superior que veio no CD. Discutiram-se o teclado (PS/2 com adaptador), as camadas da placa e o desenho do esquemático no KiCad para estudar cada componente antes de soldar. FTMaciel, que já consertou uma placa 5150, se ofereceu para procurar uma placa CGA com um colega, e L. ofereceu seu XT com monitor CGA.
Felipe relatou a ida ao Calango Hacker Clube, onde FTMaciel lhe deu uma placa CGA de 8 bits, e o andamento da soldagem de soquetes e componentes da placa-mãe. A fonte de arcade disponível não servia por não fornecer -5 V e -12 V, e Erin observou que fontes ATX deixaram de ter -5 V. Felipe comprou uma fonte AT no Mercado Livre, e Emerson Moura recomendou fazer recap mesmo em fontes que funcionam. Leonardo Roman sugeriu obter -5 V com um regulador 7905 a partir da linha de -12 V.
Com a fonte AT testada, o clone ligou e mostrou diagnósticos na tela pela placa CGA, apontando erros em bits da RAM. Com Gustavo Romero, Felipe completou os 256 KB de RAM, ligou um teclado XT e estudou o código da BIOS. Ele tentou dar boot no Alley Cat por um disquete de 3½" de 1,44 MB. Erin sugeriu verificar se o cabo do drive estava invertido. FTMaciel explicou que a BIOS não aceita esse formato sem uma BIOS de controladora como a de Sergey Kiselev. Foram indicadas BIOS alternativas, e Felipe falou da ideia de rodar o Alley Cat direto de uma EPROM, sem sistema operacional.
Discutiram-se o estacionamento de cabeças em HDs MFM/RLL, a placa-mãe NuXT v2.0 em formato micro-ATX e um emulador de PC feito do zero por L. com o objetivo de dar boot no MS-DOS 2.0.
O grupo discutiu o comando park dos tempos do XT e o estacionamento automático das cabeças em HDs posteriores, por mola ou usando o motor do eixo como gerador. Emerson associou o park aos HDs MFM/RLL. L. lembrou que seu XT tinha um Seagate ST238R (RLL), e Affonso disse que o museu tem exatamente esse modelo, que ele está tentando ler.
L. compartilhou a NuXT v2.0, placa-mãe Turbo XT nova em formato micro-ATX, com vários recursos onboard. FTMaciel observou que os arquivos de design foram liberados e cotou cerca de 50 dólares por 5 placas.
L. contou que retomou um emulador de PC feito do zero, para XT ou anteriores, com o objetivo de dar boot no MS-DOS 2.0. A partir de um artigo sobre trabalhar com um IBM 5150, Erin e L. discutiram o uso de computadores antigos para tarefas atuais e a dificuldade de integrá-los a serviços modernos.