Il caricamento del kickstart all'avvio del sistema

Classic, anche retrogaming

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda clros » gio feb 28, 2008 6:08 pm

Raffaele ha scritto:
C'era un bellissimoa rticolo che mostrava come tutto questo avveniva e quali erano i Chip che su Amiga in realtà facevano il boot, ed era spiegato sulle pagine della rivista TRANSACTOR USA, portata in Italia integralmente tradotta da Jackson, o sulle pagine di Amiga Magazine Italia (Smpre di jackson)...


Per caso la si trova da qualche parte su internet?
Only AMIGA makes it possible !!
La colpa è sempre del Kernel!!
...un bit è formato da 8 byte...

Claudio "CP" La Rosa
Avatar utente
clros

Supremo
 
Messaggi: 3473
Iscritto il: ven mag 07, 2004 2:41 pm
Località: SYS 64738

Messaggioda Raffaele » gio feb 28, 2008 6:20 pm

Qui in questa discussione su EAB.ABIME, è spiegato come fare il DUMP del contenuto della ROM di BOOTSTRAP dell'A1000...

Interessante...

http://eab.abime.net/showthread.php?t=13774

Se cercate in rete poi troverete anche cose interessanti su questa ROM, anche se vi avverto che copiare il contenuto di una ROM che è sotto copyright, finché è un fatto privato, non è sanzionabile...

Ma se ne mettete in giro il contenuto su internet, invece la cosa non è più legale...

A buon intenditor, poche parole... :uffa: :skull:
Que viva Amiga! :ammicca:
Avatar utente
Raffaele

Supremo
 
Messaggi: 3501
Iscritto il: dom mag 22, 2005 1:01 pm
Località: Qualche volta qui, qualche volta su altri siti

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda Raffaele » gio feb 28, 2008 6:23 pm

clros ha scritto:
Raffaele ha scritto:
Per caso la si trova da qualche parte su internet?


Transactor non so...

Amiga Magazine è ormai quasi tutta in rete in formato PDF...

http://www.amigamagazine.info/index.html


[EDIT]

Ci sono dei documenti interessanti su Internet per chi vuole far girare LINUX sui vecchi Amiga...

E' spiegata come viene effettuato il Bootstrap di Amiga

(Questo del Link spiega cosa succede Partendo da SCSI???)...

http://gega.homelinux.net/AmigaDevDocs/dev_11.html#11-5

http://prowl.org/doc/linux-2.0.40/amiga ... source.php
Ultima modifica di Raffaele il gio feb 28, 2008 6:38 pm, modificato 1 volta in totale.
Que viva Amiga! :ammicca:
Avatar utente
Raffaele

Supremo
 
Messaggi: 3501
Iscritto il: dom mag 22, 2005 1:01 pm
Località: Qualche volta qui, qualche volta su altri siti

Messaggioda clros » gio feb 28, 2008 6:38 pm

Raffaele ha scritto:
Se cercate in rete poi troverete anche cose interessanti su questa ROM, anche se vi avverto che copiare il contenuto di una ROM che è sotto copyright, finché è un fatto privato, non è sanzionabile...


Sotto copyright...di chi??
Only AMIGA makes it possible !!
La colpa è sempre del Kernel!!
...un bit è formato da 8 byte...

Claudio "CP" La Rosa
Avatar utente
clros

Supremo
 
Messaggi: 3473
Iscritto il: ven mag 07, 2004 2:41 pm
Località: SYS 64738

Messaggioda Raffaele » gio feb 28, 2008 6:41 pm

clros ha scritto:
Raffaele ha scritto:
Se cercate in rete poi troverete anche cose interessanti su questa ROM, anche se vi avverto che copiare il contenuto di una ROM che è sotto copyright, finché è un fatto privato, non è sanzionabile...


Sotto copyright...di chi??


Il pacchetto Hardware fa parte delle Intellectual Properties...

E come ben sai le ROM sono ROM, e non Sistema Operativo.

Chi detiene i diritti delle ROM non è in discussione ed è attualmente Amiga Inc.

E Lo sa bene anche Cloanto che per l'uso del Kickstart PAGA...
Que viva Amiga! :ammicca:
Avatar utente
Raffaele

Supremo
 
Messaggi: 3501
Iscritto il: dom mag 22, 2005 1:01 pm
Località: Qualche volta qui, qualche volta su altri siti

Messaggioda Raffaele » gio feb 28, 2008 7:53 pm

Ho trovato in rete anche il Power ON Self Test (POST) di Amiga:

Amiga 'Boot' Sequence

After getting a number of inquiries from fellow Amiga users about what's
wrong with their Amigas when their Caplock key starts flashing, or, why
the screen flashed odd colors, I decided to create this file.

The Amiga goes through a rather elaborate startup sequence which is a
series of diagnostic tests the Amiga goes through during each 'cold' or
'warm' boot. The following is a list of what happens during each and
every 'boot':

1. Clear all old data in RAM
2. Disable DMA and interrupts
3. Clear the screen
4. Check hardware (is the 680x0 working?)
5. Change screen color indicating pass/fail
6. Perform checksum test of all ROMs
7. Change screen color indicating pass/fail
8. Begin system startup
9. Check RAM at $C0000..move SYSBASE there
10. Test CHIP RAM
11. Change screen color indicating pass/fail
12. Check if software is coming in OK
13. Change screen color indicating pass/fail
14. Set up CHIP RAM to receive data
15. Link libraries
16. Check for any additional RAM and link it
17. Turn on DMA and interrupts
18. Start default task
19. Check processor and MMU type
20. Check for an Exception (processor error)
21. If found, do a reset
22. If not, normal 'boot'

As these tests are running, the Capslock key will normally 'flash' once,
and the screen will cycle colors. The chart below used in conjunction
with the above steps indicates both a 'normal' and an 'abnormal' boot.

NORMAL Fault Condition

Sreen color:
Dark Grey Red (indicates error in ROM)
Light Grey Green (error in CHIP RAM)
White Blue (error in a Custom Chip)
Yellow (680x0 found an error)

Capslock Key:
Stays on for several secs One blink (ROM checksum failed)
Two blinks (RAM test failed)
Three blinks (Whatchdog timer)
Four blinks (A short exists between
2 lines or one of the
special keys)


Please note that the capslock 'blinks' are short in duration (about one
second) and that your screen colors may falsely indicate a problem when
you do a 'warm' boot depending on what state the Amiga was in before the
warm boot. Its best to watch for these diagostic errors upon initial
startup. If your Amiga exhibits any of these errors frequently, you should
take it to an Authorised Service Center for service. The most common
error you will encounter is that you'll see a bright green screen at the
initial boot..this usually indicates that an addon RAM board is not
seated in its socket properly. Try reseating it before you take it all to
your dealer. You may save yourself some money;)



Ma qual'è il chip che fa il POST non si capisce...

Ci dovrebbe essere una EEPROM anche sugli altri Amiga...
Que viva Amiga! :ammicca:
Avatar utente
Raffaele

Supremo
 
Messaggi: 3501
Iscritto il: dom mag 22, 2005 1:01 pm
Località: Qualche volta qui, qualche volta su altri siti

Messaggioda FeliceMente » ven mar 07, 2008 3:18 pm

Turrican3 ha scritto:http://www.ntrautanen.fi/computers/hardware/misc/amiga_memory.htm

La ROM era mappata regolarmente nello spazio indirizzi del 68000 (quasi certamente potevi solo leggere a quelle locazioni), ma ricordo bene che all'epoca si raccomandava SEMPRE di non fare salti "diretti" al Kickstart perchè (ovviamente) in future release non vi era possibilità di garantire che quella determinata routine si sarebbe trovata sempre allo stesso posto.

Questo è uno dei motivi per cui si avevano piccole o grosse -a seconda dei casi- incompatibilità ad ogni major release (1.3 --> 2.0 fu drammatica)

Non saprei se il sistema facesse caching in RAM delle librerie/moduli presenti nel kickstart, ma ho (vaghi) ricordi di Sysinfo che mi suggeriscono che la risposta potrebbe essere affermativa.

PS: se ho detto corbellerie enormi correggetemi! :ride:


Aspetta... dici che la ROM era mappata nello spazio di memoria regolare perché lo sai con certezza o ti basi su quella mappa di memoria?

La mamma di memoria, di per se, non dice niente sul fatto che la ROM venga mappata direttamente in memoria agli indirizzi mostrati nella mappa, oppure se il suo contenuto sia copiato in memoria RAM a quegli indirizzi, e venga poi usata da lì.

Un altro dubbio che ho è sul fatto che, già da Amiga 1000 e Amiga 500, l'area di memoria del kickstart non potesse essere scritta. Intendo, è chiaro che non è una cosa saggia farlo, ma non credo che fosse impossibile impedirlo, visto che il 68000 non aveva una MMU.
Marco Iannaccone
http://www.felicemente.altervista.org/

Quando una cosa complessa appare semplice,
intuitiva e naturale, e sembra l'unico modo in cui dovrebbe essere,
allora è stata progettata bene.
Avatar utente
FeliceMente

Veterano
 
Messaggi: 309
Iscritto il: lun ott 31, 2005 5:19 pm
Località: Avellino

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda FeliceMente » ven mar 07, 2008 3:25 pm

Raffaele ha scritto:Sì, si... ti sei spiegato!

In effetti il Kickstart fa parecchie cose, mantiene intuition, le librerie grafiche, il Kernel dell'OS e Autoconfig pure, se ben ricordo, ma a seconda degli Amiga, questo componente fondamentale dell'AmigaOS viene trattato in modo diverso...

L'approccio al kikcstart è diverso sulle macchine A1000, A500/2000 e A3000...

L'A1000 aveva una piccola EEPROM che faceva il primo boot del sistema, controllava che la macchina fosse a posto, e poi chiedeva il KIkcstart SU DISCO... (Manina che mostrava il disco con la scritta Kickstart)...

Una volta riconosciuto il disco Kickstart lo caricava nell'apposita area di memoria a lui dedicata, e poi avveniva il vero e proprio boot di Amiga, dove appariva la richiesta di introdurre il disco Workbench (Manina che mostrava il disco con la scritta Workbench)...

Solo a questo punto si poteva inserire un diso Amiga bootabile di qualsiasi tipo, DOS (Workbench) o NDOS (Amiga bootabile tipo giochi)...


Ok, tutto chiaro sul boot e sul kickstart di Amiga 1000 (che quindi viene efftivamente copiato in RAM, anche considerato che non si potrebbe fare altrimenti).

Ma riguardo quello di Amiga 500/600? La ROM del kickstart viene mappata direttamente in memoria (continua a sembrarmi un po' strano), oppure viene copiato il suo contenuto in RAM, e quindi viene usato da qui?


C'era un bellissimo articolo che spiegava come tutto questo avveniva e quali erano i Chip che su Amiga in realtà facevano il boot, ed era spiegato sulle pagine della rivista TRANSACTOR USA, portata in Italia integralmente tradotta da Jackson...

Quando Transactor in USA venne chiusa, la rivista italiana corrispondente pure venne chiusa, e però venne MANTENUTO qualcosa di simile (ma solo in Italia) e per opera di Paolo Canali... Mi sembra...

Si tratta delle famose "Pagine di transactor" in bianco e nero poste al centro della rivista Amiga Magazine Italia)...


Considerando che Amiga Magazine Italia è disponibile online in PDF, ti ricordi il numero della rivista e/o il titolo dell'articolo?

Tu comunque hai una copia di questo articolo, in inglese o italiano?


Era il ROM Kernel Manual ma il reference manual riguardante i "DEVICES"

1a, 2a o 3a edizione...

http://www.angelfire.com/ca2/dev68k/amigabooks.html

Ovviamente la 3a edizione è la più completa e moderna cui fare riferimento...

[EDIT END]


Ah, grazie per la segnalazione, anche se... non ho idea di come procurarmelo.

Se tu ce l'hai, non potresti dare un'occhiata (vale anche per l'articolo che citavi, ovviamente) alla parte dove viene spiegata la cosa, dicendomi semplicemente se il contenuto della ROM è copiato in RAM prima dell'uso o meno? :-P

Grazie
Marco Iannaccone
http://www.felicemente.altervista.org/

Quando una cosa complessa appare semplice,
intuitiva e naturale, e sembra l'unico modo in cui dovrebbe essere,
allora è stata progettata bene.
Avatar utente
FeliceMente

Veterano
 
Messaggi: 309
Iscritto il: lun ott 31, 2005 5:19 pm
Località: Avellino

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda FeliceMente » ven mar 07, 2008 3:36 pm

Raffaele ha scritto:Ci sono dei documenti interessanti su Internet per chi vuole far girare LINUX sui vecchi Amiga...

E' spiegata come viene effettuato il Bootstrap di Amiga

(Questo del Link spiega cosa succede Partendo da SCSI???)...

http://gega.homelinux.net/AmigaDevDocs/dev_11.html#11-5

http://prowl.org/doc/linux-2.0.40/amiga ... source.php


Eh, sarò stato poco attento, ma il primo link è sull'inizializzazione delle periferische SCSI, e il secondo non mi sembra sveli qualcosa su come viene gestita all'avvio la ROM del kickstart.
Marco Iannaccone
http://www.felicemente.altervista.org/

Quando una cosa complessa appare semplice,
intuitiva e naturale, e sembra l'unico modo in cui dovrebbe essere,
allora è stata progettata bene.
Avatar utente
FeliceMente

Veterano
 
Messaggi: 309
Iscritto il: lun ott 31, 2005 5:19 pm
Località: Avellino

Messaggioda FeliceMente » ven mar 07, 2008 3:38 pm

Raffaele ha scritto:
Ma qual'è il chip che fa il POST non si capisce...

Ci dovrebbe essere una EEPROM anche sugli altri Amiga...


Molto interessante, ma appunto, come dici, non si capisce quale chip si occupa delle primissime operazioni all'accensione, prima che il controllo sia passato al kickstart, e comunque non si capisce se il kickstart viene letto direttamente dalla ROM o meno.

Sto pensando di mandare una mail al creatore del Minimig... :-P
Marco Iannaccone
http://www.felicemente.altervista.org/

Quando una cosa complessa appare semplice,
intuitiva e naturale, e sembra l'unico modo in cui dovrebbe essere,
allora è stata progettata bene.
Avatar utente
FeliceMente

Veterano
 
Messaggi: 309
Iscritto il: lun ott 31, 2005 5:19 pm
Località: Avellino

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda Raffaele » ven mar 07, 2008 9:01 pm

FeliceMente ha scritto:Ok, tutto chiaro sul boot e sul kickstart di Amiga 1000 (che quindi viene efftivamente copiato in RAM, anche considerato che non si potrebbe fare altrimenti).

Ma riguardo quello di Amiga 500/600? La ROM del kickstart viene mappata direttamente in memoria (continua a sembrarmi un po' strano), oppure viene copiato il suo contenuto in RAM, e quindi viene usato da qui?


Da che mondo è mondo una ROM ci fai passare la corrente dentro, ed il suo contenuto è immediatamente leggibile dal SO andando a vedere quello che ci sta nelle locazioni della ROM...

Almeno così mi pare che avvenga....

Considerando che Amiga Magazine Italia è disponibile online in PDF, ti ricordi il numero della rivista e/o il titolo dell'articolo?

Tu comunque hai una copia di questo articolo, in inglese o italiano?


Sono sicurissimo di averlo da qualche parte...

Ma a questo punto, perché non mandate una mail a Paolo Canali con tutte le domande che vi assillano?


Era il ROM Kernel Manual ma il reference manual riguardante i "DEVICES"

1a, 2a o 3a edizione...

http://www.angelfire.com/ca2/dev68k/amigabooks.html

Ovviamente la 3a edizione è la più completa e moderna cui fare riferimento...

[/quote]

Ah, grazie per la segnalazione, anche se... non ho idea di come procurarmelo.

Se tu ce l'hai, non potresti dare un'occhiata (vale anche per l'articolo che citavi, ovviamente) alla parte dove viene spiegata la cosa, [/quote]

Non non ho i RKM...

Ho altri libri...

I RKM si trovano di seconda mano su AMAZON...
Que viva Amiga! :ammicca:
Avatar utente
Raffaele

Supremo
 
Messaggi: 3501
Iscritto il: dom mag 22, 2005 1:01 pm
Località: Qualche volta qui, qualche volta su altri siti

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda FeliceMente » ven mar 07, 2008 10:39 pm

Raffaele ha scritto:
FeliceMente ha scritto:Ok, tutto chiaro sul boot e sul kickstart di Amiga 1000 (che quindi viene efftivamente copiato in RAM, anche considerato che non si potrebbe fare altrimenti).

Ma riguardo quello di Amiga 500/600? La ROM del kickstart viene mappata direttamente in memoria (continua a sembrarmi un po' strano), oppure viene copiato il suo contenuto in RAM, e quindi viene usato da qui?


Da che mondo è mondo una ROM ci fai passare la corrente dentro, ed il suo contenuto è immediatamente leggibile dal SO andando a vedere quello che ci sta nelle locazioni della ROM...

Almeno così mi pare che avvenga....


Certo, senza dubbio, e non ho certo mai detto il contrario.

Il mio dubbio non veniva dal fatto che secondo me la cosa non è possibile (è chiaro che non è così), ma che mi sembrerebbe un po' strano il fatto di mappare direttamente la ROM in memoria così com'è considerando che questo sarebbe un comportamento diverso di Amiga 500 e 600 rispetto ad Amiga 1000, e che i 68000 non avevano una MMU e quindi sostanzialmente non penso che si potesse impedire a un programma di tentare di accedere a quell'area.
Marco Iannaccone
http://www.felicemente.altervista.org/

Quando una cosa complessa appare semplice,
intuitiva e naturale, e sembra l'unico modo in cui dovrebbe essere,
allora è stata progettata bene.
Avatar utente
FeliceMente

Veterano
 
Messaggi: 309
Iscritto il: lun ott 31, 2005 5:19 pm
Località: Avellino

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda Raffaele » sab mar 08, 2008 9:14 pm

FeliceMente ha scritto:Certo, senza dubbio, e non ho certo mai detto il contrario.

Il mio dubbio non veniva dal fatto che secondo me la cosa non è possibile (è chiaro che non è così), ma che mi sembrerebbe un po' strano il fatto di mappare direttamente la ROM in memoria così com'è considerando che questo sarebbe un comportamento diverso di Amiga 500 e 600 rispetto ad Amiga 1000, e che i 68000 non avevano una MMU e quindi sostanzialmente non penso che si potesse impedire a un programma di tentare di accedere a quell'area.


Ecco la mappa della RAM di Amiga, e il kickstart vi è incluso:

http://www.ntrautanen.fi/computers/hard ... memory.htm

http://www.amigahistory.co.uk/1kmemmap.html
Que viva Amiga! :ammicca:
Avatar utente
Raffaele

Supremo
 
Messaggi: 3501
Iscritto il: dom mag 22, 2005 1:01 pm
Località: Qualche volta qui, qualche volta su altri siti

Re: Il caricamento del kickstart all'avvio del sistema

Messaggioda FeliceMente » dom mar 09, 2008 2:49 pm

Raffaele ha scritto:
FeliceMente ha scritto:Certo, senza dubbio, e non ho certo mai detto il contrario.

Il mio dubbio non veniva dal fatto che secondo me la cosa non è possibile (è chiaro che non è così), ma che mi sembrerebbe un po' strano il fatto di mappare direttamente la ROM in memoria così com'è considerando che questo sarebbe un comportamento diverso di Amiga 500 e 600 rispetto ad Amiga 1000, e che i 68000 non avevano una MMU e quindi sostanzialmente non penso che si potesse impedire a un programma di tentare di accedere a quell'area.


Ecco la mappa della RAM di Amiga, e il kickstart vi è incluso:

http://www.ntrautanen.fi/computers/hard ... memory.htm

http://www.amigahistory.co.uk/1kmemmap.html


Era già stata segnalata, e come ho già detto, di per se non dice niente sul fatto che venga mappata direttamente la ROM (questo NON avviene nel caso di Amiga 1000, a cui si riferisce il secondo schema, ma questo l'avevamo già detto), oppure che il suo contenuto sia prima copiato in RAM, la mappa della memoria sarebbe presumibilmente la stessa.

Per questo continuo a chiedere quello che ho chiesto prima: sai per certo che, su Amiga 500, la ROM viene mappata direttamente in RAM, o ti basi solo sul fatto che nell'immagine che hai segnalato c'è scritto "System ROM"?
Marco Iannaccone
http://www.felicemente.altervista.org/

Quando una cosa complessa appare semplice,
intuitiva e naturale, e sembra l'unico modo in cui dovrebbe essere,
allora è stata progettata bene.
Avatar utente
FeliceMente

Veterano
 
Messaggi: 309
Iscritto il: lun ott 31, 2005 5:19 pm
Località: Avellino

Messaggioda FeliceMente » ven apr 04, 2008 9:09 pm

Un aggiornamento.
Qualche giorno fa mi ha risposto Dennis van Weeren (il creatore del MiniMig), fugando ogni mio dubbio:

A proposito del fatto che il chi col kickstart fosse copiato in RAM (come in Amiga 1000) oppure mappato direttamente:


The kickstart is not copied to RAM.
The kickstart rom is physically located at $f80000 to $FFFFFF. This is actually a 512K area and the 256K kicktsart actually appears twice in this area.
However, at boot-time, the kickstart is temporarily also mapped at $000000 to $7FFFFF (instead of the chipram, it is not copied there only mapped). This is to let the 68000 read the reset vector and start executing code from the kickstart chip. The mapping is controlled by the _OVL signal and can be switched off by the 68000 once the system is running.

Quindi... al contrario di quello che sospettavo, non c'è una copia in RAM (per i modelli diversi da Amiga 1000), ma una mappatura diretta.

Riguardo la possibilità che ci fosse un chip che all'avio si occupasse di fare la corretta mappatura/copia:

after a reset the kickstart is also located at $000000 to $7FFFFF. The 68000 really does all the work.

Tutto viene fatto direttamente dal processore, senza chi esterni che gestiscono la mappatura, sin dall'avvio.
Marco Iannaccone
http://www.felicemente.altervista.org/

Quando una cosa complessa appare semplice,
intuitiva e naturale, e sembra l'unico modo in cui dovrebbe essere,
allora è stata progettata bene.
Avatar utente
FeliceMente

Veterano
 
Messaggi: 309
Iscritto il: lun ott 31, 2005 5:19 pm
Località: Avellino

Precedente

Torna a Amiga OS Classic (1.x-3.x)

Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti

cron