Autor Thema: Komisches Problem mit Bootloadern  (Gelesen 7180 mal)

mwoidt

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« am: 30. May 2004, 14:10 »
Ich benutze jetzt den Bootloader den TeeJay ins Resource Center gestellt hat. Als ich dann das Problem gelöst hatte, dass der vier Bytes zu groß ist hat er dann auch funktioniert. Als kernel benutze ich jetzt wieder einen einfachen realmode kernel, der nur ausgibt, dass er geladen wurde und dann neustartet sobald man eine Taste drückt. Den Kenle hab ich auch mit einem eigenen Bootloader getestet und der funktioniert. Wenn ich jetzt aber TeeJays Bootloader mit FAT12 unterstützung benutze, dann findet er die Kernel.bin auch und lädt sie auch. Sie wird auch gestartet und auf meinem Rechner funktioniert auch alles. Wen ich jetzt die Diskette in meinen anderen (deutlich älteren) P2 rechner tue, dann funktioniert auch ales, nur es wird kein text mehr ausgegeben. dumme sache. Ich bin mir aber sicher, dass der code trotzdem abläuft, da er neustartet, sobald ich eine Taste drücke (Es ist auf beiden Mainboards ein AWARD BIOS). Das selbe passiert unter VM-Ware. Das selbe gilt auch für die Meldung des Bootloaders, dass kernel.bin nicht gefunden wurde wenn sie nich da is.

lobmann

  • Beiträge: 243
    • Profil anzeigen
    • http://www.fallek.de.vu
Gespeichert
« Antwort #1 am: 30. May 2004, 14:16 »
Glaub ich zwar eher nicht aber vielleicht gibt es den BIOS Int den du zum text ausgeben benutzt auf dem anderen rechner nich ??
Man kann doch nem alten Mann nicht in den Bart spucken und sagen es hat geschneit

mwoidt

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 30. May 2004, 14:33 »
Nö den gibs. Vorher hatte ich nen Bootloader, der einfach den zweiten sektor der diskette ins ram lädt und ausführt. Da gings ja noch

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 30. May 2004, 16:50 »
Ich glaube zwar nicht das dass damit zusammenhängt aber TeeJay's Bootloader schaltet doch automatisch in den PMode oder? Und du hast oben geschrieben das du einen RealMode Kernel benutzt.

The-Programmerfish

  • Beiträge: 434
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 30. May 2004, 16:54 »
Der Bootloader schaltet nicht in den PMode, sonst bräuchte man ja erst einen Diskettenlaufwerk-Treiber um überhaupt den Kernel zu laden. Erst die zwei asm-Dateien die mit dem C-Kernel zusammengelinkt werden schalten in den PMode.
<- Verhasst, Verdammt, Vergöttert

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 30. May 2004, 22:10 »
ja...ist mir dann auch aufgefallen aber da war ich schon off...

mwoidt

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 30. May 2004, 23:58 »
So ich hab mal wieder weiter gebastelt und bis jetzt rausgefunden, dass das Problem irgendwie von irgendwas bei der Parameter übergabe zusammenhängt. So langsam nervt mich das Problem schon. Passiert vor allem bei älteren Boards

mwoidt

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 31. May 2004, 14:52 »
Ich hab das Problem jetzt endlich gelöst. Das Problem war, dass org 0x7C00.
Jetzt wo ich es durch org 0 ersetzt hab und dann manuelle mit
mov ax ,0x7c00
mov ds,ax
mov es,ax
gemacht habe funktioniert der code wieder

 

Einloggen