A manutenção e recuperação de placas de interface antigas, como a placa de drive de disquetes do Apple II, envolve uma série de procedimentos técnicos para assegurar a integridade e o correto funcionamento dos componentes. Um dos aspectos cruciais nesse processo é a verificação das memórias PROM, que desempenham um papel fundamental nas operações de leitura e gravação dos discos.
Neste artigo, que se baseia no original de Damian McMillan, detalharemos o procedimento de dump de PROMs antigas, como os modelos P5 e P6, utilizando técnicas e ferramentas atuais.
McMillan, com ampla experiência em desenvolvimento de roteiros tecnológicos alinhados às necessidades de negócios, oferece consultoria independente e orienta desde a operação até o nível executivo. Ele também atua na gestão de dependências de sistemas legados e na migração para novas plataformas, coordenando projetos complexos de desenvolvimento de software e impulsionando mudanças organizacionais.
Neste contexto, este artigo visa preservar o conteúdo dessas memórias e possibilitar sua análise e eventual restauração, garantindo a continuidade de seu uso em sistemas legados.
Componentes da Placa de Interface Disk II
A placa Disk II é composta por diversos circuitos integrados (CIs), entre eles:
- SN74LS14N - Hex/6 Way Inverter
- SN74LS132N - Quad/4 Way NAND
- PROM P6 - In my case a Harris Semiconductor part
- SN74LS05N - Hex/6 Way Line Driver
- SN74LS323N - Shift/Storage Register
- 9334 - 8-Bit Addressable Latch
- PROM P5 - In my case a Harris Semiconductor part
- NE556N - Dual 555 Timer
Identificação dos Chips PROM
Os CIs P5 e P6 são identificados como 341-0127-A (P5) e 341-0128-A (P6). Em versões posteriores da placa, eles são rotulados como P5A e P6A, que são compatíveis com discos de 16 setores. PROMs anteriores suportavam apenas discos de 13 setores.
A Apple utilizou diferentes tipos de chips para essas ROMs, como os TBP28L22N (256x8) e 6309 (256x8). Mais informações sobre essas ROMs podem ser encontradas em fontes específicas de documentação técnica da Apple neste link.
Gravadores e Incompatibilidade
Atualmente, o gravador de EEPROM mais acessível é o TL866II. Contudo, ele não suporta diretamente os antigos chips 6309/28L22, exigindo uma solução alternativa.
Adaptador de Pinagem para Leitura das PROMs
Foi encontrada uma solução que requer uma pequena placa adaptadora e a escolha de um CI compatível com o software Xgpro do gravador TL866II. Um exemplo utilizado foi o AM2716B, elaborando-se o adaptador de forma semelhante a este exemplo da DextersLab 2013.
Pinagem do Chip 6309
A pinagem do 6309 é diferente da do 2716, então é necessário realizar um mapeamento dos pinos. De acordo com o datasheet, obtém-se a pinagem do 6309:
|
Aqui está a pinagem do 2716:
|
Além das linhas de endereço e dados estarem em diferentes locais físicos nos chips, o 2716 tem algumas linhas de endereço adicionais para permitir que dados adicionais sejam armazenados na ROM. O 2716 é um dispositivo de 16kb, comparado aos 2kb do 6309. Note que são quilobits, não quilobytes. Essas linhas de endereço adicionais A8, A9 e A10 precisam ser amarradas ao terra para que fiquem inativas quando a leitura ocorrer.
6309 Pin 1 > A0 > 2716 Pin 8 > A0
6309 Pin 2 > A1 > 2716 Pin 7 > A1
6309 Pin 3 > A2 > 2716 Pin 6 > A2
6309 Pin 4 > A3 > 2716 Pin 5 > A3
6309 Pin 5 > A4 > 2716 Pin 4 > A4
6309 Pin 6 > O1 > 2716 Pin 9 > Q0
6309 Pin 7 > O2 > 2716 Pin 10 > Q1
6309 Pin 8 > O3 > 2716 Pin 11 > Q2
6309 Pin 9 > O4 > 2716 Pin 13 > Q3
6309 Pin 10 > GND > 2716 Pin 12 > GND
6309 Pin 11 > O5 > 2716 Pin 14 > Q4
6309 Pin 12 > O6 > 2716 Pin 15 > Q5
6309 Pin 13 > O7 > 2716 Pin 16 > Q6
6309 Pin 14 > O8 > 2716 Pin 17 > Q7
6309 Pin 15 > E1 > 2716 Pin 18 > CE
6309 Pin 16 > E2 > 2716 Pin 20 > OE
6309 Pin 17 > A5 > 2716 Pin 3 > A5
6309 Pin 18 > A6 > 2716 Pin 2 > A6
6309 Pin 19 > A7 > 2716 Pin 1 > A7
6309 Pin 20 > VCC > 2716 Pin 24 > VCC
Pinos adicionais no 2716 que não estão no 6309:
2716 Pin 19 > A10 > VCC
2716 Pin 21 > VPP > GND
2716 Pin 22 > A9 > GND
2716 Pin 23 > A8 > GND
Infelizmente, não é padrão um soquete DIL de 20 pinos para o gravador TL866II. No entanto, pode-se utilizar cabos DuPont e uma placa padrão para mapear os pinouts do 6309 para o TL866II:
Então é possível selecionar o AM2716B no Xgpro e concluir uma "leitura" da ROM. Esta leitura resultou em um arquivo BIN que continha essencialmente 8 leituras do 6309, já que essencialmente ele está lendo A8/A9/A10 e os 256 bytes inferiores repetidamente. Usa-se HxD para excluir os bytes após F0, o que gera um arquivo BIN de 256 bytes.
P5A Firmware ROM 341-0127-A - 341-0127-A P5A.bin
Comparando-se o 341-0127-A obtido e um dump da Internet de 341-0128-A, pode-se observar que eles são idênticos.
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 52 40 50 00 52 03 16 CC 1A 0A 44 CC F0 80 05 CC R@P.R..Ì..DÌð€.Ì
00000010 29 FF 49 EE D0 08 2A B0 FB 98 9D A6 03 38 78 80 )ÿIîÐ.*°û˜.¦.8x€
00000020 45 B0 B9 50 03 15 20 DD 1C 30 80 FB 4A 15 CC DD E°¹P.. Ý.0€ûJ.ÌÝ
00000030 1C 30 80 FB 45 CC 18 B0 7C 48 35 CD B0 DE 55 20 .0€ûEÌ.°|H5Í°ÞU
00000040 98 49 03 0A 05 4B 5A DD 11 30 59 A6 40 58 FC 18 ˜I...KZÝ.0Y¦@Xü.
00000050 80 7B 15 46 15 CD 15 21 59 08 15 47 88 08 DD 1C €{.F.Í.!Y..Gˆ.Ý.
00000060 FB A9 B6 02 54 CC 91 46 38 B0 7F DC 1C 30 80 FB û©¶.TÌ‘F8°.Ü.0€û
00000070 A9 B6 02 B0 17 50 00 52 A6 3A C0 FB D1 46 AE 00 ©¶.°.P.R¦:ÀûÑF®.
00000080 75 40 A8 FF DA DD 00 01 0A 0A 0A 0A 15 4B 5A DD u@¨ÿÚÝ.......KZÝ
00000090 1E 30 DD 1C 30 DD 1A 30 DD 19 30 50 A0 DD 10 30 .0Ý.0Ý.0Ý.0P Ý.0
000000A0 35 21 B0 D8 D0 D7 50 A6 14 CC DC 1C 30 80 FB A9 5!°ØÐ×P¦.ÌÜ.0€û©
000000B0 B6 02 54 CC 18 99 00 03 B0 7E 14 CC DC 1C 30 80 ¶.TÌ.™..°~.ÌÜ.0€
000000C0 30 80 FB 29 B5 B0 F7 DD 1C 30 80 FB 39 5A B0 F3 0€û)µ°÷Ý.0€û9Z°ó
000000D0 7A DD 1C 30 80 FB 39 96 F0 09 48 90 BF 29 5D F0 zÝ.0€û9–ð.H.¿)]ð
000000E0 03 4A AE 00 03 4A 91 46 38 B0 7E 76 47 76 CD 55 .J®..J‘F8°~vGvÍU
000000F0 CD 3D 00 08 56 4B 90 BB 2C 01 08 00 00 00 00 00 Í=..VK.»,.......
P6A State Machine ROM 341-0128-A - 341-0128-A P6A.bin
Ao comparar-se o 341-0128-A obtido do gravador e um dump encontrado na internet do 342-0028-A, observa-se que também são idênticos.
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 18 D8 18 08 0A 0A 0A 0A 18 39 18 39 18 3B 18 3B .Ø.......9.9.;.;
00000010 18 38 18 28 0A 0A 0A 0A 18 39 18 39 18 3B 18 3B .8.(.....9.9.;.;
00000020 2D D8 38 48 0A 0A 0A 0A 28 48 28 48 28 48 28 48 -Ø8H....(H(H(H(H
00000030 2D 48 38 48 0A 0A 0A 0A 28 48 28 48 28 48 28 48 -H8H....(H(H(H(H
00000040 D8 D8 D8 D8 0A 0A 0A 0A 58 78 58 78 58 78 58 78 ØØØØ....XxXxXxXx
00000050 58 78 58 78 0A 0A 0A 0A 58 78 58 78 58 78 58 78 XxXx....XxXxXxXx
00000060 D8 D8 D8 D8 0A 0A 0A 0A 68 08 68 88 68 08 68 88 ØØØØ....h.hˆh.hˆ
00000070 68 88 68 88 0A 0A 0A 0A 68 08 68 88 68 08 68 88 hˆhˆ....h.hˆh.hˆ
00000080 D8 CD D8 D8 0A 0A 0A 0A 98 B9 98 B9 98 BB 98 BB ØÍØØ....˜¹˜¹˜»˜»
00000090 98 BD 98 B8 0A 0A 0A 0A 98 B9 98 B9 98 BB 98 BB ˜½˜¸....˜¹˜¹˜»˜»
000000A0 D8 D9 D8 D8 0A 0A 0A 0A A8 C8 A8 C8 A8 C8 A8 C8 ØÙØØ....¨È¨È¨È¨È
000000B0 29 59 A8 C8 0A 0A 0A 0A A8 C8 A8 C8 A8 C8 A8 C8 )Y¨È....¨È¨È¨È¨È
000000C0 D9 FD D8 F8 0A 0A 0A 0A D8 F8 D8 F8 D8 F8 D8 F8 ÙýØø....ØøØøØøØø
000000D0 D9 FD A0 F8 0A 0A 0A 0A D8 F8 D8 F8 D8 F8 D8 F8 Ùý ø....ØøØøØøØø
000000E0 D8 DD E8 E0 0A 0A 0A 0A E8 88 E8 08 E8 88 E8 08 ØÝèà....èˆè.èˆè.
000000F0 08 4D E8 E0 0A 0A 0A 0A E8 88 E8 08 E8 88 E8 08 .Mèà....èˆè.èˆè.
Diagnóstico e Conclusão
Caso os dumps obtidos tanto da ROM 341-0127-A quanto da ROM 341-0128-A (P6A) sejam idênticos aos de referências disponíveis na internet, significa PROMs estão com seu funcionamento preservado. Desta forma, pode-se proeceder ao diagnóstico dos demais componentes da placa de drive, como os ICs da série 74, que são suportados para testes pelo próprio gravador TL866II, que fornecerá um diagnóstico mais detalhado.
Referências:
-
Apple Logic Board Schematics
-
Datasheets de CIs PROM 6309 e AM2716B
-
Documentação do Gravador TL866II e Software Xgpro
- Artigo elaborado com base no original de Damian McMillan.
Comments fornecido por CComment