Questo articolo l’ho scritto per riportare una mia esperienza sulla programmazione dei chip Kickstart su Commodore Amiga 1200.
Ho pensato di pubblicare questo articolo perché non ci sono informazioni chiare per chi vuole programmarsi in casa questi chip che rappresentano una forma di ‘bios’ per i vecchi Commodore.
Spero di pubblicare poche informazioni, ma chiare e precise.
Le informazioni riportate sono dedicate all’Amiga 1200, ma sono utili anche se intendete programmare chip Kickstart per altri modelli di Amiga.
Indice
- Perchè sostituire i chip Kickstart?
- Perchè su A1200 i chip ROM Kickstart sono doppi?
- Disponibilità di chip Kickstart su Internet
- Alla ricerca di questi benedetti Kickstart aggiornati per A1200
- Tipologia di chip per scrivere un Kickstart per A1200
- Tipo chip UV EPROM AM27C400
- Tipo chip Flash EPROM MX29F1615
- Requisiti per programmare sia il chip AM27C400 che MX29F1615
- Un PC con Windows 7/10/11:
- Un file di Kickstart completo per A1200:
- Programmatore SPI XGecu T56 con software XGPRO:
- Adattatore EPROM 27C322 | 27C160 | 27C800 | 27C400 per TL866 Plus MiniPro (utile solo per programmare chip AM27C400):
- Software WinHex (per la fase di split e concatenazione Kickstart):
- Software ‘EPROM tool V09’ (per la fase di Byte Swap del file Kickstart):
- Preparazione file kickstart per chip AMD24C400
- Fase 1: Split del file kickstart rom (base) in due parti.
- Fase 2: Riempimento dello spazio vuoto inutilizzato di memoria, per entrambe le eprom.
- Fase 3: Byte Swap
- Fase 4: Programmazione dei chip AMD24C400
- Settaggi del software:
- Cancellazione EPROM e test del chip:
- Preparazione file kickstart per chip flash modello MX29F1615 (2 MB)
- Fase 1: Split del file kickstart rom (base) in due parti.
- Fase 2: Riempimento dello spazio vuoto inutilizzato di memoria, per entrambe le eprom.
- Fase 3: Byte Swap
- Fase 4: Programmazione
- Conclusioni
Perchè sostituire i chip Kickstart?
I Kickstart per i Commodore Amiga risiedono in ROM e sono qualcosa di simile al bios dei comuni PC, con la differenza che il Kickstart rappresenta anche il nucleo del sistema operativo AmigaOS.
Malgrado i Commodore Amiga siano computer prodotti fino a inizio degli anni ’90 e la Commodore sia fallita da tempo, queste piattaforme sono aggiornate costantemente con l’uscita di nuove schede accelleratrici, nuovo software e ovviamente anche il Kickstart ed il sistema operativo ricevono aggiornamenti, con rilasci periodici da parte dell’attuale detentrice dei diritti di copyright e cioè Hyperion Entertainment.
In particolare le versioni di Kickstart / Amiga OS 3.x aggiungono tantissime funzionalità all’Amiga 1200, a patto di montare una CF Card da almeno 4GB che fa da Hard Disk.
Se disponete già di un Amiga 1200 con HDD meccanico dell’epoca come quello in foto.. da ben 127.94 MB.. beh potete sostituirlo con una CF Card, sicuramente più capace e veloce.
Su Amiga 1200 il Kickstart risiede su due chip e non può essere aggiornato via software: in caso di sostituzione (guasto dei chip) oppure in caso di aggiornamento, vanno sostituiti entrambi i chip con altri contenente software aggiornato.
Perchè su A1200 i chip ROM Kickstart sono doppi?
Su Amiga 3000, 4000 e 1200 i Kickstart ROM sono da 32bit e sono disponibili su due chip: i dati del Kickstart sono splittati in due, byte dispari e quelli pari sono quindi memorizzate in chip separati.
La CPU poi riuscirà, tramite un segnale di byte-selection, a sapere quale dei due byte deve essere recuperato durante un accesso alla memoria: byte pari, dispari o entrambi i byte.
Al momento in cui scrivo per Amiga 1200 siamo arrivati a versioni di Kickstart e AmigaOS pari a 3.2.2, con patch hotfix 3.2.2.1.
Vuoi riparare il tuo Commodore? Clicca qui per chiedere un preventivo
Disponibilità di chip Kickstart su Internet
Se abbiamo deciso di sostituire il Kickstart sul nostro Amiga 1200, sul Web esistono diverse possibilità per ottenere questi chip: possiamo rivolgersi a qualche rivenditore ufficiale come ho fatto io, comprando licenza, coppia di CHIP e CD con software dal sito Individual oppure amigastore.eu.
In tutti i casi, se si vuole crearsi una coppia di chip Kickstart aggiornati è necessario avere acquistato la licenza originale da Hyperion.
Il CD ed i chip comprati sono in versione 3.2: all’interno del package c’è ovviamente il seriale da registrare sul sito Hyperion per ottenere gratuitamente futuri aggiornamenti; sul CD inoltre ci sono le immagini dei floppy, indispensabili per installare il sistema operativo dopo aver installato i 2 chip del Kickstart.
Alla ricerca di questi benedetti Kickstart aggiornati per A1200
A questo punto ho installato tutto ma poi ho deciso di aggiornare il kickstart, andando oltre la versione 3.2.
Ho cercato quindi metodi per creare Kickstart in casa con versione aggiornata 3.2.2.
Troverete facilmente venditori che offrono copie di questi chip, venduti però con l’avviso che l’acquirente deve disporre già di una licenza CVBA per rimanere nella legalità, essendo questi firmware protetti da copyright.
Decido quindi di creare in casa questi chip, avendo effettuato già in passato questo tipo di produzione per Amiga 500 e 600: tuttavia gli Amiga 500/600 dispongono di un solo chip Kickstart, più facile da produrre e scrivere.
Disponendo di diversi Amiga 1200 inoltre voglio fare questo tentativo di produzione in proprio.
Tipologia di chip per scrivere un Kickstart per A1200
Oltre ai chip originali Kickstart Commodore (in versione 3.0 / 39.106) su ROM di solito marcate MX, esistono principalmente altre 2 tipologie di chip, che possono essere usati per programmare Kickstart su Commodore Amiga 1200.
Li ho testati entrambi: AM27C400 e MX29F1615. Nella prossima foto, mostro entrambi i chip a confronto.
Tipo chip UV EPROM AM27C400
Trovate documento datasheet del chip in .pdf qui: AM27C400
Questo è un chip ROM Compatibile CMOS EPROM, cancellabile con raggi UV. Non è più in produzione a quanto sembra e, quelli che si trovano in giro, sono usati e/o rigenerati.
Il chip è in formato DIP-40 cioè dispone di 40 pin proprio come i chip originali Commodore.
Per l’utilizzo, prima di programmarli, questi chip vanno prima cancellati con un apposito cancellatore di EPROM a lampada UV, come questo che abbiamo noi in laboratorio:
Importante: per la programmazione di ogni singolo chip, occorrono file splittati da 256KB l’uno.
Tipo chip Flash EPROM MX29F1615
Trovate documento datasheet del chip in .pdf qui: MX29F1615
Questo chip è un DIP-42 da 16-mega bit ed in origine è prodotto dalla Macronix MC-IX.
Si trovano nuovi in commercio e non costano molto, pochi euro.
Anche un clone va bene e infatti abbiamo provato una sottomarca chiamata Think.
Rispetto ai chip originali Commodore hanno 2 pin in più, ma entrano perfettamente nei socket U6A/U6B che sono proprio a 42 pin.
I flash ROM possono essere cancellati e riscritti più volte senza nessun problema.
Importante: per la programmazione di ogni singolo chip, occorrono file splittati da 2048KB l’uno.
Requisiti per programmare sia il chip AM27C400 che MX29F1615
Per programmare questo tipo di chip ho usato la seguente configurazione:
-
Un PC con Windows 7/10/11:
Per utilizzare alcuni software ho usato un PC Windows. Sicuramente è possibile fare tutto con un altro sistema operativo.. ma nel mio esempio utilizzo Win.
-
Un file di Kickstart completo per A1200:
I Kickstart per Amiga 1200 in origine sono formati da un’unico file da 512 KB.
Dobbiamo quindi procurarci un file ‘base‘, ad esempio “A1200.47.111.rom” se ci occorre in versione 3.2.2.
Attenzione: i file che si trovano online sono solitamente prodotti per gli emulatori quindi non sono pronti all’uso per essere utilizzati su un Amiga reale.
Vanno ‘trattati’, e la modifica comprende lo ‘split’ per dividere i file in due ed una procedura chiamata ‘Byte Swap’.
Una volta splittati i file, dopo averli programmati sui chip, essi vengono etichettati nel seguente modo:
Prima parte di file Kickstart splittato HI –> chip montato su socket U6A
Seconda parte di file Kickstart splittato LO –> chip montato su socket U6B
Senza entrare nei dettagli, il ByteSwap normalmente significa invertire l’ordine dei 2 byte all’interno di ciascuna coppia allineata di dati.
Il Byte Swap va fatto su entrambi i file, subito prima della scrittura.
Vi consiglio di non provare a scrivere file già splittati, ritrovati in rete: probabilmente non funzioneranno.
-
Programmatore SPI XGecu T56 con software XGPRO:
Per scrivere i chip ho usato uno dei tanti programmatori cinesi che disponiamo in laboratorio: XGecu.
E’ un ottimo programmatore, un pò costoso rispetto ai soliti cinesi, ma viene supportato costantemente dal produttore che rilascia aggiornamenti con moltra frequenza sia del firmware che del software.
L’ XGecu è un programmatore piuttosto completo ed il software si aggiorna di continuo, quindi conviene utilizzare una versione recente del programma XGPRO.
In alternativa, si può utilizzare il modello più economico prodotto sempre dalla stessa azienda e cioè il TL866 Plus, funzionante con lo stesso software: purtroppo questo programmatore è utilizzabile solo per i chip AM27C400 e non funziona per i Flash MX.
-
Adattatore EPROM 27C322 | 27C160 | 27C800 | 27C400 per TL866 Plus MiniPro (utile solo per programmare chip AM27C400):
Questo adattatore è venduto come interfaccia già assemblata, oppure, in kit da saldare e montare.
Lo si trova facilmente su eBay: l’adattatore è necessario solo se intendiamo usare l’EPROM AM27C400, non funziona con il chip MX29F1615, se provate ad usarlo con questa flash ROM, il programmatore non riuscirà a rilevare il chip.
Probabilmente in futuro il produttore rilascerà qualche aggiornamento ma, nel momento in cui scrivo, non è possibile utilizzarlo con questo chip MX.
Ecco come si presenta l’adattatore, e come si aggancia sopra il programmatore:
Infine, un chip AM27C400 installato sul dispositivo, pronto da programmare.
-
Software WinHex (per la fase di split e concatenazione Kickstart):
Per lavorare il file, in alcune fasi come split e concatenazione, uso questo software: WinHex.
Gira sotto Windows, ma volendo si possono utilizzare anche altri programmi o script gratuiti che girano sotto altri sistemi operativi, come Linux o Mac.
In questo articolo, avendo già acquistato la licenza per WinHex in passato, utilizzerò questo programma.
-
Software ‘EPROM tool V09’ (per la fase di Byte Swap del file Kickstart):
Questo software l’ho trovato per caso, girovagando su alcuni forum.
Non so chi l’abbia sviluppato o pubblicarlo, per ringraziarlo: non è un software indispensabile, con WinHex potete fare più o meno le stesse cose… ma per facilitarmi, l’ho trovato utilissimo e quindi lo consiglio.
Vi tornerà utile per effettuare l’operazione che si chiama ‘Byte Swap.
Potete scaricarlo qui: EPROMToolV09.zip
In realtà, questo software può effettuare anche altre operazioni, come split e concatenazione: ma non l’ho utilizzato per queste fasi, solo per il Byte Swap.
Preparazione file kickstart per chip AMD24C400
Fase 1: Split del file kickstart rom (base) in due parti.
- In WinHex selezionare: Tools -> FileTools -> Dissect -> Wordwise (16-bit)
- Selezionare il file kickstart rom base (esempio: A1200.47.111.rom)
- Scrivere il file destinazione #1. Esempio: U6A_tmp.rom
- Scrivere il file destinazione #2. Esempio: U6B_tmp.rom
Risultato: otterremo 2 file più piccoli (di 256 KB l’uno).
Fase 2: Riempimento dello spazio vuoto inutilizzato di memoria, per entrambe le eprom.
Ogni eprom AMD24C400 è da 512 KB e quindi bisogna aumentare il file splittato da 256 KB fino a riempire tutto lo spazio, altrimenti l’Amiga non si avvierà.
In sintesi, semplificando, i chip devono essere PIENI.
Per riempire il chip AMD si prende il file da 256 KB e lo si concatena a se stesso fino ad arrivare a 512 KB.
In pratica ad esempio:
U6A.rom (file da scrivere, di lunghezza 512 KB) = U6A_tmp.rom (256 KB) + U6A_tmp.rom (256 KB)
Per effettuare questa concatenazione:
- in WinHex selezionare : Tools -> FileTools -> Concatenate
- Inserire come “destination file” il nome del file definitivo che andremo a scrivere: (esempio: U6A.rom)
- Effettuare “Append file” di U6A_tmp.rom al file definitivo U6A.rom (prima concatenazione);
- Ripetere questo “Append” del file U6A_tmp.rom al file definitivo –> U6A.rom.
- Selezionare “Done” e apparirà un messaggio simile al seguente:
524288 bytes from 2 files were concatenated to “U6A.rom”
- Ripetere la fase 2 usando U6B_tmp.rom per creare il file finale U6B.rom .
Note: I file prodotti saranno di dimensione 512 KB l’uno.
Fase 3: Byte Swap
A questo punto dobbiamo effettuare un ultimo passo: i file U6A.rom e U6B.rom, prima della scrittura definitiva su chip, devono essere passati da un processo chiamato BYTE SWAP.
Possiamo installare e usare il programma EEPROM TOOL 0.9.
- Eseguire il programma e selezionare “Byteswap File”.
- Selezionare prima U6A.rom e poi U6B.rom.
I due file risultanti, sempre da 512 KB l’uno, possono quindi essere scritti finalmente con il programmatore, ognuno su un chip separato.
Fase 4: Programmazione dei chip AMD24C400
Per la programmazione dei chip EPROM AMD24C400 usiamo il programmatore XGecu e l’apposito adattatore creato per TL866 Plus MiniPro.
Il software XGecu va aggiornato all’ultima versione disponibile e configurato in maniera appropriata: usiamo il suo cavo USB originale, adeguato alla corretta alimentazione del dispositivo. In caso contrario, il software XGPRO mostrerà un avviso che il cavo non è supportato perché non sufficiente a portare la giusta corrente al dispositivo.
Settaggi del software:
Il software ed il programmatore non rilevano in automatico questo chip AMD: per programmarlo bisogna selezionare un modello di chip differente, il chip AM27C4096.
Per cui bisogna selezionare manualmente questo modello di chip.
Inoltre va tolta la spunta a “Check ID” e settato 8 Bits come tipologia di chip.
Cancellazione EPROM e test del chip:
Le EPROM devono essere cancellate mediante un cancellatore UV (anche un modello economico va bene): non è possibile scrivere su una EPROM se essa non è stata precedentemente svuotata. Non è possibile usare luci UV a casaccio, serve proprio una lampada fatta apposta che utilizza luce di una certa frequenza e potenza. Quindi dovrete usare un dispositivo fatto apposta.
Ecco il modello che usiamo noi:
Prossimo passo è quello di effettuare un check per controllare se effettivamente l’EPROM è vuota o, meglio, se è stata cancellata correttamente.
Per effettuare questo chec,m si può usare sempre il programma Xgpro a corredo del programmatore, selezionando Device –> Blank Check:
Se la EPROM risulta vuota, il software lo segnala altrimenti evidenzia un errore: in questo caso la EPROM va prima cancellata con luce UV.
Raramente la scrittura può andare in errore se la EPROM è difettosa oppure se non è stata cancellata correttamente.
Difettosità possono capitare perché questi chip sono fuori produzione da anni e la maggior parte di essi in commercio sono usati.
Ultima accortenza: dopo la scrittura dei due chip, va mascherata la zona superficiale della EPROM dove c’è il vetrino: basta un pò di nastro o un’etichetta. Questo per evitare che la luce solare possa cancellare accidentalmente il contenuto dell’EPROM.
Preparazione file kickstart per chip flash modello MX29F1615 (2 MB)
Per creare due chip MX29F1615 funzionanti, la procedura è la stessa identica di quella per le EPROM AMD.
L’unica differenza qui è che i file da scrivere devono essere da 2MB (2048 KB) l’uno e quindi la concatenazione dei file va fatta per 8 volte (8 x 256 kb) fino ad ottenere questa dimensione.
Per il resto, non occorre nulla di differente da quanto visto prima: le fasi sono tutte identiche alla programmazione del chip AMD già illustrata sopra, tranne la fase finale di scrittura del chip.
Fase 1: Split del file kickstart rom (base) in due parti.
Seguire stesso processo del chip AMD
Fase 2: Riempimento dello spazio vuoto inutilizzato di memoria, per entrambe le eprom.
Seguire stesso processo del chip AMD, ma fare 4 concatenazioni su ogni file.
Note: I file finali U6A.rom e U6B.rom devono essere di dimensione 2MB ciascuno (2048 KB).
Fase 3: Byte Swap
Seguire stesso processo del chip AMD.
Fase 4: Programmazione
Per la programmazione dei chip EEPROM si usa programmatore XGecu ma non occorre nessun adattatore.
I chip FLASH come questi MX sono normalmente cancellati dal software durante la procedura di programmazione: non occorre niente altro.
La facilità di programmazione nonché la disponibilità sul mercato di chip nuovi a buon prezzo, mi fa prediligere questo tipo di chip rispetto agli AM.
Il settaggio del software per questo chip è semplice: anche in questo caso va selezionato manualmente il chip MX29F1615, dopodiché è sufficiente procedere alla programmazione completa con Device –> Program.
Ecco una schermata del software durante l’uso:
Conclusioni
Programmare il Kickstart Amiga non è semplicissimo ma neanche impossibile.
Su ebay trovate tanti venditori che li propongono ma se avete un minimo di attrezzatura e volete sperimentare le varie versioni di Kickstart ufficiali o modificati, meglio avere la possibilità di crearne in casa.
E poi dover acquistare chip ogni volta che esce un aggiornamento….
Ovviamente occorre comunque avere una licenza valida per crearsi in casa i chip Kickstart.
Se volete potete contattatemi per un preventivo, posso produrne io su richiesta per qualsiasi Amiga.
Posso anche creare i kickstart per effettuare test, i famosi DiagROM.
Per Info & Preventivi sul mondo Commodore.. contattatemi! Carlo 393.593.35.22 | assistenza@informaticanapoli.com