Card    

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
Os chips de memória PROM que precisam ser analisados são os identificados como P5 e P6.

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:

 

e04f9d8f38fc0d560f3308e91097a0fd9c416e98 6309 pinout

 


Aqui está a pinagem do 2716:

 

 

f48acf07b3ed5021167cf9095fca9a01b3eeb27e 2716 pinout

 


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.
 
O 2716 também é um dispositivo EPROM, e os pinos marcados NOTE 1 e NOTE 2 correspondem a Output enable high e VPP. Output enable foi conectado a E2 no 6309 - o segundo pino "enable". VPP foi amarrado ao terra.
 
Pinagem completa:

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:

 fdc694a94438434ba48fcc55d11fccfa98936cb5 dupont to tl866

 

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

Para citar este artigo em ABNT:
SILVA FILHO, J. "Dump de PROMs antigos da placa Interface Disk II - Apple II". Old Bits, a mágica dos 8 bits. São Paulo. 2024. Disponível em: https://oldbits.com.br/projetos/34-proms-da-controladora-de-drive-do-tk-2000-apple-ii. Acesso em: 05 de Dez. de 2024.
Para citar este artigo em APA:
SILVA FILHO, J. (2024, Out 05). Dump de PROMs antigos da placa Interface Disk II - Apple II. Old Bits, a mágica dos 8 bits. Recuperado em dezembro 05, 2024, em https://oldbits.com.br/projetos/34-proms-da-controladora-de-drive-do-tk-2000-apple-ii.
Para citar este artigo em ISO:
SILVA FILHO, J., 2024. Dump de PROMs antigos da placa Interface Disk II - Apple II [online]. [visto em 05 de dezembro de 2024]. Disponível em https://oldbits.com.br/projetos/34-proms-da-controladora-de-drive-do-tk-2000-apple-ii.
Para citar este artigo em MLA:
SILVA FILHO, J. "Dump de PROMs antigos da placa Interface Disk II - Apple II". Old Bits, a mágica dos 8 bits. Web. 05 Dez, 2024.
<https://oldbits.com.br/projetos/34-proms-da-controladora-de-drive-do-tk-2000-apple-ii>.
Para criar o arquivo BibTeX:
@article{34
    author = {SILVA FILHO, J.},
    title = {Dump de PROMs antigos da placa Interface Disk II - Apple II},
    year = {2024},
    journal = {Old Bits, a mágica dos 8 bits},
    url = {https://oldbits.com.br/projetos/34-proms-da-controladora-de-drive-do-tk-2000-apple-ii}
}