Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[ARL] Das ROM - auch Kickstart genannt...
#1
Information 
Belegung im RAM:

   
-----

Die Grafik zeigt den ROM-Bereich, wie er nach dem Booten aussieht. Die 256 KByte ROM bei SFC0000 enthalten das Kickstart des Amiga. Der Bereich von SF80000 bis SFBFFFF ist mit dem Bereich von SFC0000 bis SFFFFFF identisch. In ihm spiegelt sich noch einmal das Kickstart-ROM. Allerdings kann sich diese Konfiguration ändern.

Der 68000 holt nach einem Reset die Adresse des ersten Befehls aus der Speicherstelle 4, dem sogenannen Reset-Vektor. Wäre die Speicherkonfiguration unveränderlich, würde der 68000 den Reset-Vektor aus dem Chip-RAM holen, das ja an der Adresse 4 liegt. Da dessen Inhalt nach dem Einschalten unbestimmt ist, würde der Prozessor an eine willkürliche Adresse springen. Die Folge davon wäre, dass das System schon nach dem Einschalten abstürzen würde. Die Lösung sieht folgendermaßen aus: Der Chip, der für die Speicherkonfiguration zuständig ist, hat einen Eingang, der mit der untersten Portleitung von CIA-A (PAO) verbunden ist. Diese sogenannte "OVL" Leitung (Memory Overlay) liegt im normalen Betrieb auf 0, und die Speicherkonfiguration entspricht der Abbildung.

Nach einem Reset springt die Portleitung automatisch auf 1. Dadurch wird der ROM Bereich von SF80000 bis SFFFFFF in den Adresßbereich von 0 bis S7FFFF eingeblendet. D.h. die Adresse 4 (der Reset-Vektor) entspricht dann der Adresse SF80004. Dadurch findet der 68000 eine gültige Reset-Adresse, die ihn ins Kickstart springen läßt. Im Laufe der Reset-Routine legt dieses dann die OVL-Leitung auf 0 und schaltet damit auf die normale Speicheranordnung zurück. Man muß sehr vorsichtig sein, wenn man mit dieser Leitung experimentieren will. Läuft das Programm, das die OVL-Leitung auf 1 setzen soll, im Chip-RAM, kann das katastrophale Auswirkungen haben, denn das Programm schaltet sich quasi selber aus dem Speicher heraus, und der Prozessor landet irgendwo innerhalb des Kickstarts, das ja nach dem Umschalten den Platz des Chip-RAM einnimmt.
-----

Genaueres wie das Nutzen von "Kickstart Eprom's", Programmieren und zusammenstellen von Kickstart's findet Ihr in der "Wissensdatenbank".

if ($ahnung == false or $problem == true)
{ read the fucking FAQ; use SEARCH; load brain; }
else
{ use brain; make post; }

Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste