Autore Topic: Programmare Una Eeprom Per Creare Un Kernal  (Letto 4110 volte)

giupatt

  • Neo-iscritto
  • *
  • Post: 6
  • Gioco Preferito: The Last Ninja
Programmare Una Eeprom Per Creare Un Kernal
« il: 17 Novembre 2008, 10:50:16 »
 Salve a tutto lo staff !!!
Ragazzi solo voi mi potete aiutare a risolvere uno sfizio che mi ha sempre stuzzicato. A prescindere che non capisco nulla a livello di programmazione ma volevo sapere, visto che ho scaricato da voi la lista dei kernal riconosciuti, se c'e' un modo per poter programmare una eeprom nuova o gia' impegnata (cancellandola prima) con un kernal da voi fornito e inserirlo poi nel c64 con i dovuti fili di connessione per poterla switchare. Quindi partiamo dal fatto che ho i vostri kernal (KERNAL.ROM C1541.ROM) ammesso che dovrei spararci su uno speeddos 40 tracce su una eeprom gia' creata con uno speeddos normale e di conseguenza anche al 1541, di che cosa ho bisogno ???

HO QUALCHE POSSIBILITA' DI CAMBIARE KERNAL A MIO PIACIMENTO QUALSIASI VOLTA CHE IO VOGLIA SENZA COMBINARE DANNI AL MIO C64 E AL 1541 ???
QUALE MATERIALE DEVO ACQUISTARE COMPRESE LE EEPROM (ammesso che le trovo) ???

Grazie mille e continuate cosi !!!

tsm_carmine

  • Redazione
  • Utente
  • ****
  • Post: 519
  • Gioco Preferito: Krakout
Programmare Una Eeprom Per Creare Un Kernal
« Risposta #1 il: 17 Novembre 2008, 19:11:29 »
 Ciao!

Quando si parla di argomenti così "tecnici" non si può mai sapere fin dove arrivano le conoscenze di chi ha fatto la domanda, quindi non te la prendere se ti dico qualcosa che già sai!

Innanzi tutto sei sicuro che il chip che possiedi con lo SpeedDOS sia una EEPROM e non una semplice EPROM? Se è dotato di una finestrella trasparente (togli l'eventuale adesivo che la copre per saperlo) allora è una EPROM, altrimenti è effettivamente una EEPROM.

Una volta capito il tipo di integrato che hai, devi reperire (o costruire, se ne sei capace) un programmatore che lo supporti.

Ecco ciò che cambia tra le due tecnologie:
- Le vecchie EPROM richiedono un cancellatore a ultravioletti, mentre le EEPROM si auto cancellano all'atto della scrittura.
- Il programmatore di EPROM deve essere dotato della circuiteria necessaria a generare una tensione di programmazione che varia da 12V a oltre 20V secondo il tipo di integrato.
- L'algoritmo di programmazione è diverso.

Ti linko 2 progetti che ho trovato in rete; il primo per le EPROM, accompagnato da un software per MS-DOS, il secondo per le EEPROM, corredato da un programma per Linux (da compilare).

http://www.larwe.com/zws/products/epromr2/epromr_stage1.html

http://www.miranda.org/~jkominek/hardware/eeprom/

Ciò detto, giungiamo al discorso dello "switchare" a piacimento i Kernal. Ammettiamo di usare una EPROM grossa esattamente 2 volte il Kernal del C64 modello vecchio (nel nuovo il Kernal è memorizzato assieme al Basic in un'unica ROM). In parole povere parliamo di una 27C128. Questa avrà ovviamente una linea di indirizzamento in più rispetto alla ROM originale. Quando questa linea in più è a livello alto (cioè collegata ai 5V) il computer "vede" una metà del contenuto della EPROM. Quando è collegata a massa, il computer "vede" l'altra metà.
Quindi quello che bisogna fare è creare un file da 16 Kb "accodando" i 2 Kernal e poi inserirlo nella EPROM tramite il programmatore.

A questo punto, con alla mano gli schemi del C64, in particolare seguendo il pinout della ROM originale, devi creare un adattatore che ti serva a mettere tutte le linee di indirizzamento e le linee dati al loro posto, il pin Vpp della EPROM a Vcc, /CE fisso a massa e /OE collegato a quello che era il Chip Select della ROM originale. Per lo switch, o usi una resistenza di Pull-Up:
Codice: [Seleziona]
          Vcc
            |
            /
     |      \ Pull-Up
     |      /
  A13|------|
     |      |
     |       / Switch
            |
          -----
           ---

Oppure usi un deviatore a tre contatti e colleghi la linea di indirizzamento al contatto centrale e agli altri due Massa e Vcc.

Per il C64c il discorso è simile e dovresti cavartela anche senza un adattatore ma piegando uno o due pin verso l'esterno e saldandoci dei fili. Ovviamente in questo caso devi unire 4 file: basic + kernal + basic + "kernal alternativo", questo perché nel C64c viene usata una sola ROM per il basic e il kernal.
Quanto detto credo si possa adattare facilmente ai kernal dei vari disk drive della Commodore.

Naturalmente si tratta di operazioni da fare con le dovute cognizioni del caso e assumendosene tutti i rischi!! Non mi assumo responsabilità se qualcuno mette in pratica quanto ho scritto e gli si sfascia il 64 / il PC / la casa!

--
TSM
Riusciremo a costruire un mondo dove più nessuno osi pronunciare le parole... "lettore floppy"?