Cosa sono le EPROM ?

Le Eprom (Erasable Programmable Read Only Memory) sono memorie programmabili elettricamente molto usate per mantenere dati anche senza alimentazione. Nei computer 8bit queste memorie sono usate per il set di caratteri, Kernel, Basic, programmi  ecc..

Si possono trovare con o senza finestra OTP (one time programmable) e la differenza oltre che il costo è il fatto di poterle cancellare e riscrivere. Quelle dotate di finestra si possono cancellare utilizzando una luce UV, mentre le altre una volta scritte non si possono più cancellare.
L’evoluzione di queste memorie porta alla nascita di un nuovo tipo di ROM, le Eeprom (Electrically Erasable and Programmable Read Only Memory) che a differenza delle precedenti non hanno più la finestra per la cancellazione perché queste possono essere cancellate tramite un segnale elettrico. Questa tipologia ora viene usata anche nei micro controllori per poter scrivere e cancellare facilmente il programma.
Il funzionamento delle Eprom nei nostri amati computer 8bit (parliamo di Eprom parallele) è abbastanza semplice, abbiamo un bus dati di uscita (chiamato D0..7 o O0..7) e un bus di indirizzi con un numero di pin variabile a seconda della capacità della memoria, più altri pin per l’alimentazione, programmazione, abilitazione ecc. Quindi selezionando l’indirizzo di memoria da leggere e abilitando la lettura della Eprom, avremo il valore richiesto sul bus di uscita.

Queste che abbiamo citato sono Eprom parallele, il che vuol dire che per ogni locazione selezionata ci sono più uscite abilitate contemporaneamente. Ora in commercio si trovano anche le Eeprom seriali che hanno un funzionamento simile ma per richiedere e leggere il dato si utilizza un protocollo seriale. Il vantaggio di queste ultime è che sono molto più compatte non avendo più tutti i pin di ingresso/uscita come nelle rom parallele, lo svantaggio è che per selezionare l’indirizzo da leggere o scrivere occorre una serie di dati trasmessi per via seriale come una comunicazione i2c,spi, ecc..

 

Pinout per tutti!

Iniziamo con la serie 23xxx
obsolete ma spesso presente nei 8bit

16kb = 2 Chilobyte

32kb = 4 Chilobyte

64kb = 8 Chilobyte

128kb = 16 Chilobyte

256kb = 32 Chilobyte

Di seguito le più recenti ROM 27xxx

16kb = 2 Chilobyte

32kb = 4 Chilobyte

64kb = 8 Chilobyte

128kb = 16 Chilobyte

256kb = 32 Chilobyte

512kb = 64 Chilobyte

Questi sono solo alcuni pinout delle Eprom ma per i computer 8bit vanno più che bene per poter sostituire una ROM danneggiata o per creare un adattatore

Per esempio le ROM usate nel C64 sono le 2364 e 2332 non più in produzione. Per il C64C viene usata una 23128 per il Basic e Kernal ma queste hanno un pinout differente dalle recenti memorie e per sostituirle è necessario rimappare i pin per renderle compatibili oppure trovare delle memorie con piedinature compatibili (ma non sempre possibile).

Adattarori ROM

27256 to 2364

Per poter inserire una 27256 su una scheda predisposta per una 2364

2764/128 to 2364

Per poter inserire una 2764 o128 su una scheda predisposta per una 2364

Utilizzando memorie più grandi è possibile utilizzare i nuovi pin di indirizzamento per poter selezionare il programma da leggere nella ROM, questo è utile se si vogliono avere diverse versioni in una unica memoria e poterle selezionarle tramite uno switch. Se si usano memorie più grandi per mettere solo la versione originale del codice, è sempre consigliato riscriverlo fino a riempire tutta la memoria, in modo che se i nuovi pin di indirizzo non hanno un segnale fisso o non se ne è sicuri almeno il programma sarà sempre quello anche se l’indirizzo va su un banco di locazione diverso.

Ora con tutti questi pinout sarete in grado da soli di realizzare adattatori per le più svariate tipologie.