Commodore Amiga
1985
Il computer che leggeva il sistema da un floppy
L'Amiga 1000 non aveva il sistema in ROM: lo caricava da un floppy in una memoria che poi bloccava, la WOM, perché nel 1985 il software non era ancora pronto.
Quando l'Amiga 1000 arrivò nei negozi, nel 1985, AmigaOS aveva ancora molti errori. Invece di scriverlo subito in ROM, la Commodore fece un'altra cosa: mise nella macchina una scheda figlia con 256 KB di RAM, la writable control store, e cominciò a caricare il nucleo del sistema, il Kickstart, da un floppy [1].
All'accensione, una piccola ROM di avvio, di soli 8 KB, mostra sullo schermo la richiesta del floppy del Kickstart. Copia 256 KB dal floppy nei chip di RAM della scheda figlia, protegge quella memoria dalla scrittura e salta lì [2]. In pratica sono due piccole ROM, una per gli 8 bit bassi e l'altra per gli 8 bit alti del bus dati, e il Kickstart sta nello stesso spazio di indirizzi dove gli altri Amiga hanno la ROM, da $F80000 a $FFFFFF [4].
Si scrive una volta e poi si legge soltanto: gli europei la chiamarono WOM, un gioco di parole con ROM.
In Europa questa memoria diventò nota come WOM, Write Once Memory, un gioco di parole con ROM: si scrive una volta e poi si legge soltanto [1]. Siccome resta bloccata, un reset non obbliga a ricaricare il Kickstart; solo spegnere la macchina lo cancella [1]. Ecco perché l'A1000 chiede due floppy all'accensione: prima quello del Kickstart, poi quello del Workbench.
Il vantaggio era poter aggiornare il sistema con un floppy nuovo. L'A1000 fece così girare il Kickstart 1.0 e 1.1, del 1985 e 1986, e poi l'1.2 e l'1.3 [3]. Ci furono persino programmi che sfruttarono l'architettura: sull'A1000, Dragon's Lair aveva una versione del codice che usava quei 256 KB per i dati [3]. Negli Amiga successivi, come l'A500 e l'A2000, il Kickstart passò in ROM e l'avvio diventò più rapido [3].
L'idea non morì con l'A1000. Anche i primi Amiga 3000 caricavano il Kickstart dal disco e permettevano di scegliere la versione del sistema all'avvio, senza strumenti aggiuntivi [3]. E molti proprietari di A1000 fecero il percorso inverso, con schede che mettono il Kickstart in ROM. La Kickstart Eliminator, ricreata oggi in open source, usa quattro EPROM 27C512 e una GAL programmata, e restituisce anche i 256 KB della WOM come memoria libera per i programmi o per un disco in RAM [2].
Sul banco di lavoro, queste schede hanno i loro capricci. Un proprietario che ha montato uno di questi adattatori su un A1000 ha descritto piste di indirizzo instradate male sulla scheda e una linea /BYTE che ha dovuto collegare a 5 V con un filo perché l'adattatore funzionasse in modalità 16 bit [4].
Fonti
- [1]Amiga 1000 · Wikipédia (en)
- [2]Amiga 1000 Kickstart Eliminator · GitHub (schlae)
- [3]Kickstart (Amiga) · Wikipédia (en)
- [4]Installing a kickstart ROM adapter in my Amiga 1000 · Adrian Chadd's Ramblings, 2022