| Zeile 6: | Zeile 6: | ||
* [[Eigener Bootloader]] | * [[Eigener Bootloader]] | ||
* [[Ausgabe 1#Unser Bootloader | Ausgabe 1 (4.3 Unser Bootloader)]] | * [[Ausgabe 1#Unser Bootloader | Ausgabe 1 (4.3 Unser Bootloader)]] | ||
| + | |||
| + | == die Anfängliche Umgebung == | ||
| + | Das folgende gilt nur eingeschränkt für Bootfähige CD-ROMs, sondern nur für Datenträger, auf die über int13h zugegriffen werden kann. (USB-Sticks können Emuliert werden) | ||
| + | |||
| + | === Zum Formatierungszeitpunkt === | ||
| + | <b>Ist folgendes bekannt</b> | ||
| + | |||
| + | (der Bootsektor wird in der Regel von einem Formatierungsprogramm angelegt) | ||
| + | * Arte des Mediums, (Diskette, Fesplatten'''partition''',USB-Stick) | ||
| + | * falls Fesplatte, beginn der Partition (wird in der Regel auch vom MBR übergeben (ES:DI), jedoch sicher ist sicher) | ||
| + | * ob CHS- oder LBA- Zugriff nötig sein wird (nur ein Treiber - spart Platz) | ||
| + | * Dateisystem | ||
| + | * Name und Zieladresse der zu Ladenden Datei | ||
| + | * Der Speicher zwischen 500h und 7c00h wird vorhanden und frei sein. | ||
| + | * Laufwerkszugriff über int13h ist warscheinlich möglich | ||
| + | * Konsolenausgabe über int10h funktion 0Eh ist warscheinlich möglich | ||
| + | |||
| + | <b>folgendes jedoch NICHT, oder nicht verlässlich</b> | ||
| + | * welches Physische Laufwerk | ||
| + | * exakte Position der zu ladenden Datei | ||
| + | * welcher Prozessor (also keine exotischen Befehle verwenden) | ||
| + | * ob der Arbeitsspeicher zwischen 7e00h und A0000h vollständig vorhanden, und frei sein wird. (könnte theoritisch nur 32k haben (PC),irgendwo MUSS die EBDA sein, Prä-Boottreiben könnten vorhanden sein) | ||
| + | * Art des Festplattenkontorollers (z.b. ATA oder SATA die sich leicht unterscheiden) | ||
| + | * Details des Prozessorcaches (bei selbstmanipulierendem Code zu beachten) | ||
| + | * Ob die zu ladende Datei vorhanden sein wird (könnte geslöscht sein) | ||
| + | |||
| + | === Zum Bootzeitpunkt === | ||
| + | <b>Beim Laden ist bekannt </b> | ||
| + | * Physisches Laufwerk (steht in DL) | ||
| + | <b> nach durchsuchen des Dateisystems wird bekannt</b> | ||
| + | * ob die zu ladende Datei vorhanden ist (ansonsten Fehlermeldung) | ||
| + | * wo sie beginnt | ||
| + | |||
| + | <b> im Bootsektor immer noch nicht bekannt ist folgendes </b> | ||
| + | * was für ein Prozessor vorhanden ist (das erfordert aufwändige tests der Flags) | ||
| + | * ob die Grafikarte überhaupt VGA-kompatibel ist (z.b. bei Laptops nicht sicher)-> also Fehlermeldungen nur über int 10h, aber nicht den Grafikmodus wechseln und nicht direkt in den Bildschirmspeicher schreiben, bis der Bootloader das geprüft hat) | ||
| + | |||
| + | |||
[[Category:Glossar]] | [[Category:Glossar]] | ||