| Amico 2000 |
|
|
|
| Scritto da Luigi Serrantoni | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Venerdì 04 Aprile 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RICOSTRUZIONE AMICO 2000Durante una discussione con amici sul newsgroup it-alt.comp.folklore è nata l’idea di ricostruire una vecchia macchina italiana. Molti hanno già ricostruito computer storici ma nessuno ha mai ricostruito macchine italiane. La scelta è caduta sull’Amico 2000 perché è una macchina che molti desiderano ma nessuno possiede, ci è sembrato giusto scegliere una macchina ormai scomparsa che rischia di essere dimenticata.
Inoltre era a disposizione una documentazione sufficiente per affrontare l’impresa. IL CIRCUITO STAMPATOLa difficoltà principale nella ricostruzione è ovviamente la realizzazione del circuito stampato. In questo caso fortunatamente lo schema elettrico e un layout di montaggio erano stati pubblicati sulla rivista Sperimentare ma non sono mai stati pubblicati disegni del solo circuito stampato.
La filosofia che sto seguendo è quella di realizzare una copia esatta dello stampato originale, in modo da poter ricostruire una copia fedele. Aggiornamento: I circuiti stampati sono arrivati, eccone una foto! Maggio 2008, Aggiornamento! Il primo Amico 2000 è montato e funzionante, a breve il racconto....per il momento ecco la foto Confronto tra un Amico 2000 originale e la replica realizzata. La foto dell'originale è stata gentilmente inviata da Francesco Messano. PROBLEMI REPERIBILITA’ DEI COMPONENTIUn grosso problema che si pone nella ricostruzione di macchine d’epoca è la reperibilità dei componenti elettronici. A seguito riporto le informazioni che ho raccolto sui componenti non facilmente reperibili. E’ inclusa una raccolta dei datasheet che sono riuscito a recuperare. Ho preparato una lista componenti con indicazione delle quantità necessarie per la versione base e quella con le espansioni previste. CPUIl 6502 era un processore relativamente diffuso ma oggi è difficilmente reperibile. E’ possibile recuperarlo da vecchie schede ma non distruggete però un vecchio computer per la cpu! Era molto diffuso in schede per videogiochi da bar. Non lo ho trovato disponibile su RS o Farnell, Distrelec offre un prodotto della Western Design Center che potrebbe essere compatibile, è il W65C02S6PG-14 ed ha codice 642017 (12,8 €). RAMLe ram utilizzate sono delle TMS4045, oppure delle 2114. Sono prodotti relativamente comuni ma comunque di difficile reperibilità come componenti nuovi. Il codice Farnell 4790522 (10,91 €) credo sia compatibile. ROMLa ROM utilizzata è una Fairchild 93448, una rom programmabile da 512 byte con uscita tri-state. Ha un tempo di accesso agli indirizzi di 35 ns e un tempo di accesso al Chip Select di 15 ns. Oggi non è più disponibile commercialmente e anche trovandola c’è il problema di reperire un programmatore adatto a scriverla. Altre PROM da 1024 byte compatibili dovrebbero essere le MMI 6381 e 63S881, TI 28S86, Motorola/Harris 7681, AMD 27S181, National 87S181, Intel 3628A, NEC uPB428, Fujitsu MB7162, Fairchild 93451. Una possibile soluzione è l’utilizzo di una EPROM 2716 o 2732 che hanno una piedinatura molto simile ma presentano segnali di abilitazione diversi e su diversi pin. 93448 2716 2732 Aggiornamento Maggio 2008: Ho provato a montare una 2716 al posto della ROM e funziona! Ho preferito questa soluzione con 2 zoccoli per evitare di tagliare pin alla eprom, e poterla quindi sempre riprogrammare. Fate attenzione una volta montato il tutto che i pin tagliati non facciano contatto con lo zoccolo sottostante (verificate con un tester ed eventualmente inserite un isolante). Inoltre inserire poco la eprom nello zoccolo per evitare che il pin 21 vada a fare contatto, dopo aver attraversato lo zoccolo su cui è montato, sul pin 21 delo zoccolo stottostante (a me è successo e per questo non funzionava). Io ho provato solo con la 2716 ma dovrebbe funzionare anche per la 2732. Poichè lasciare i pin degli indirizzi non utilizzati flottanti non è la cosa migliore ho realizzato anche una versione con questi pin collegati a massa. In questo caso l'ho realizzato per la 2732, ma dovrebbe funzionare anche con la 2716.
PROM DI DECODIFICAPer eseguire la decodifica degli indirizzi erano utilizzate 2 PROM della National tipo 74S287, delle 1024 bit 3-state (256 x 4 bit) con tempo di accesso di 30 ns. Oggi sono praticamente introvabili. Essendo componenti programmabili una sola volta non è possibile recuperarle da vecchie schede in quanto non potremmo riprogrammarle con il codice necessario.
Prom compatibili dell’epoca dovrebbero essere Signetics 82S129, Amd 27S21, Fairchild 93427, MMI 6301-1 e 63S141, TI 24S10 e 74S287, Intel 3621, NEC uPB423, Fujitsu MB7052, Harris 7611-5, Raytheon 29661, Intersil 5623A. Prima di acquistare le PROM verificate di essere in grado di programmarle, integrati “compatibili”, anche con la stessa sigla ma di costruttori diversi, potrebbero avere algoritmi di programmazione differenti e risultare quindi inutilizzabili. Io per esempio ho acquistato delle 74S287 della TESLA, ma purtroppo non sono riuscito a programmarle come National 74s287, suppongo per il diverso algoritmo utilizzato, e non sono riuscito a trovare nessun programmatore che supporti i dispositivi di questo raro costruttore (sembra che solo i programmatori ELNEC le supportino). E’ possibile utilizzare anche delle PROM da 512x4, come le MMI 63S241 che ho utilizzato sulla prima scheda ricostruita. Il pin 14, che nelle 256x4 è uno dei due pin di abilitazione negato, nelle 512x4 diventa l’indirizzo A8. Nel circuito stampato dell’amico 2000 i pin 13-14 di abilitazione sono entrambi collegati a massa (le PROM sono sempre abilitate), il codice delle prom va quindi inserito nella parte bassa (prime 256 locazioni). Le possibili alternative alle PROM sono altre memorie moderne (come le EEPROM) o le logiche programmabili, come le PAL/GAL. Non mi risulta che esistano però ne memorie ne logiche programmabili con una piedinatura in qualche modo compatibile, quindi un circuitino piggyback si rende necessario. Su ebay il venditore canadese “*rfguys*” vende un kit che consente di rimpiazzare le PROM 82S129/82S131 che memorizzano i canali su vecchie radio Motorola. E’ composto da una EEPROM smd montata su un adattatore DIL ed il relativo programmatore. Un dispositivo simile, basato su una EEPROM 28C16 è descritto alla pagina http://www.brinkleyelectronics.com/adp/adp_fr.htm. Resta da verificare se i tempi di accesso di tale soluzione sarebbero sufficienti (normalmente le EEPROM hanno tempi di accersso più lungi delle PROM, per esempio la 28C16 ha tempi di 100-200 ns). I/OL’integrato che fornisce le 3 porte di I/O da 8 bit è un 8255, relativamente comune. Si può facilmente recuperare da molte schede surplus. Il codice RS 426-985 (5,57 €) dovrebbe essere compatibile. DISPLAYI display originali sono dei TIL312, dei display con carattere da 0,3” ad anodo comune, la piedinatura è quella degli integrati DIL da 14 pin. Potevano essere montati anche dei MAN72.
Il punto decimale non è pilotato sull’Amico 2000, quindi si possono utilizzare indifferentemente display che hanno il punto a destra o a sinistra. Il MAN72A è disponibile su RS con codice 587-894A (19,9 € x 25 pz). QUARZOSulla scheda era utilizzato un quarzo da 1 MHz in case HC33/U (stagnato), HC47/U o HC51/U (saldato a resistenza), oggi difficilmente reperibile.
Il case HC6 ha le stesse dimensioni ma i reofori sono di diametro 1,27 invece di 0,76. Sullo stampato ho previsto fori di 0,8 mm quindi gli HC6 non sono utilizzabili. Oggi non sono più disponibili quarzi di quella dimensione, sono invece comuni i quarzi tipo HC49U con case molto più piccolo, che possono comunque essere utilizzati. Comunque anche in questo case è difficoltoso trovare la taglia di frequenza di 1 MHz, molto bassa ed oggi non più utilizzata. Su Distrelec è disponibile il codice 644356 (1 MHz in HC49U, 4,95 €). Non è disponibile su Farnell ed RS. Comunque dovrebbe essere facile trovarlo in vecchie schede surplus. TASTICredo che i tasti originali siano dei C&K. Non sono più a catalogo C&K, ma credo vengano ancora prodotti da ITT/CANON. RS Italia ha disponibile la sola versione con tasto grigio, codice 102-169 (€ 15,25 x 5 pezzi!). Su altri siti RS sono disponibili anche altri colori. RS riporta i codici C&K Y65A00303FPLFS + Y651050300P. Li ho trovati anche dal rivenditore online americano http://www.digikey.com/. I tasti (e i cappucci colorati separati) sono disponibili con questi codici:
Fatti i conti verrebbero circa 1,6 € a tasto, esclusa la spedizione. Massimo “max.speed” ha trovato altri possibili fornitori. L’italiano http://www.cedelettronica.com/ vende i tasti con cod. INGMDP (1,76€ senza il cappuccio, vendono il tasto completo di cappuccio blu a 2,75€ + iva). Lo statunitense http://www.readycomponents.com/ ha i tasti cod. MDPSLFS (2,83$), i cappucci blu cod. BTN MDP 60 e rossi cod. BTN MDP 40 (0,33$). I tasti sono disponibili anche da Grazia Componenti di Bologna, che però non vende online (vedi http://www.graziacomponenti.it/catalogo/244.pdf). La piedinatura del tasto, come potete vedere dal disegno sopra, è un po’ particolate, quindi trovare un prodotto alternativo di altre marche mi sembra difficoltoso. DRIVER DISPLAYL’ULN2003 è un componente ancora oggi molto utilizzato e realizzato da diversi costruttori. Disponibile da RS con codice 436-8451 (0,38€). DISSIPATOREQuello utilizzato nel progetto originale sembra essere alto 30 mm e largo 25,4. Dalle misure mi sembra utilizzabile il codice RS 234-2306 (2,05 €) di 30x30 mm. INTERRUTTORE A SLITTASul mio stampato ho mantenuto le forature originali misurandole dal disegno del layout. Per il diametro dei fori ho dovuto approssimare dalla dimensione delle piazzole. E’ presente una doppia foratura, la prima per un interruttore passo 2.54 mm con fori da 1 mm, la seconda con interasse 4,13 mm (con il pin centrale disassato di 2.54 mm), con foratura da 1,4 mm. La foratura grande era presumibilmente per il particolare interruttore che era montato in origine, che non sono riuscito ad identificare.
Altro prodotto adatto è il codice 202560 Distrelec (1,55 €), disponibile anche da RS con codice 181-0038 (4,95€ per 5 pezzi).
Altro prodotto RS utilizzabile è il codice 115-6283 (6,95 € per 5 pezzi).
CONNETTORE 40 POLIPer il collegamento della scheda madre esterna (che ospita le schede di espansione Eurocard) è presente sullo stampato la foratura per un connettore. Dalle mie ricerche suppongo si tratti di un connettore per flat cable della 3M, codice 3418-0005PR. Il connettore è disponibile su RS con codice 514-6101 (3,17 €) e su Farnell con codice 9184040 (3,41 €). Ovviamente per la versione base della scheda non serve. DATASHEETCPU 6502 PROBLEMI DI REPERIBILITA’ DEI CONTENUTI DELLE PROMSulla macchina sono presenti 4 PROM, 2 di decodifica e 2 contenenti software di sistema. Solo 2 PROM sono necessarie per la versione base della scheda. ROM DI MONITOR (IC9)Fortunatamente il contenuto della rom di monitor è stata pubblicata sul libro “Costruiamo un vero microelaboratore elettronico” (e ritengo anche sulla rivista). Tramite l’annuncio posto su questo sito sono venuto in contatto con Davide, appassionato anch’esso dell’Amico 2000, anche se non ne ha mai posseduto uno. Davide ha fornito il contenuto della ROM di monitor che aveva pazientemente “ricopiato” dalla rivista. Potete prelevare il file per programmare la PROM IC9: amico2000_replica_PROM_IC9.bin. ROM SOFTWARE REGISTRATORE (IC10)Una seconda ROM conteneva il software di gestione del registratore a cassette. Non mi risulta che il loro contenuto sia mai stato pubblicato e non conoscendo nessun proprietario di una macchina originale non saprei come reperirlo. Questa ROM non è comunque indispensabile per il funzionamento della macchina. ROM DI DECODIFICA (IC6-IC7)Queste PROM non contengono software ma venivano utilizzate per generare dei segnali di selezione dei dispositivi dipendentemente dal loro indirizzo. Non mi risulta che il loro contenuto sia mai stato pubblicato. Avendo a disposizione una macchina sarebbe possibile leggerle, in mancanza di questo l’unica possibilità è quella di ricostruirne il contenuto partendo dalle informazioni a disposizione. Ogni PROM generava 4 segnali di selezione, denominati CS1…CS8. Tutti questi segnali generavano con l’integrato opzionale IC8 (un NAND a 8 ingressi 74LS30) il segnale MEMSEL (che era portato unicamente sul bus esterno). Da segnalare che realizzando il circuito stampato ho scoperto che sullo schema c’è un errore: le ram opzionali (IC13-IC14) non vengono selezionate (attraverso IC4 e IC5) dal segnale CS5 (pin 9 di IC7) ma dal segnale CS3 (pin 11 di IC6). La prima PROM di decodifica IC6 (quella standard) pilota con i suoi 4 bit di uscita questi dispositivi:
La seconda PROM di decodifica IC7 (quella opzionale) pilota coni suoi 4 bit di uscita questi dispositivi:
Gli ingressi di entrambe le PROM erano pilotate dai segnali degli indirizzi A8…A15 (gli 8 bit più significativi). Dalla poca documentazione disponibile sono risalito agli indirizzamenti dei dispositivi principali: La RAM standard di 1 kB è locata da 0000 a 03FF Con questi dati è possibile quindi definire il programma della PROM standard IC6, sufficiente per il funzionamento della versione base e dell’espansione di memoria (senza ROM per il registratore ed interfacce esterne). I codici a 4 bit che la PROM IC6 deve generare per i diversi indirizzi sono i seguenti:
Ho ricostruito quindi il file per programmare la PROM IC6: amico2000_replica_PROM_IC6.bin. In modo analogo si può generare il codice della PROM IC7.
Ho ricostruito quindi il file per programmare la PROM IC7: amico2000_replica_PROM_IC7.bin. DOCUMENTAZIONELibri Articoli sulla rivista Sperimentare RINGRAZIAMENTIUn sentito ringraziamento a tutti quelli che stanno contribuendo al progetto, in particolar modo a:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ultimo aggiornamento Lunedì 08 Marzo 2010 |


























