Sourcecode Fortschritt


  • Mod

    0.0.1.231 - Rev: 815

    Formale Änderungen in serial.h/c
    Beep ausgeschaltet


  • Mod

    0.0.1.231 - Rev: 816

    Meldungen im BL2 ergänzt

    msgGTD            db 0x0D, 0x0A, "GTD installed ...", 0
    msgUnrealMode     db 0x0D, 0x0A, "Unreal Mode entered ...", 0
    msgLoadKernel     db 0x0D, 0x0A, "Now loading Kernel ...", 0
    msgFloppyMotorOff db 0x0D, 0x0A, "Floppy Disk Motor switched off ...", 0
    msgSwitchToPM     db 0x0D, 0x0A, "Now switching to Protected Mode (PM) ...", 0
    msgFailure        db 0x0D, 0x0A, "Missing KERNEL.BIN (Fatal Error)", 0
    


  • Version 0.0.1.232:

    - serial_log eingebaut: Sendet Text über die serielle Schnittstelle (Deaktivierbar in os.h)
    - memmove in userlib
    - Kleinigkeiten


  • Mod

    0.0.1.233 - Rev: 818

    vm86 monitor wird mit serial_log überwacht

    in os.h #define _SERIAL_LOG_ aktivieren

    Anmerkung: läuft sehr langsam in VBox, also bitte Geduld. Output wird z.B. in VBox in eine text-datei gelenkt.

    Hier ein Beispiel eines Durchlaufs in VBox:
    http://henkessoft.de/OS_Dev/Bilder/serielle1.txt

    interrupt ...
    (sensitiver code)
    iret
    hlt

    interrupt ...
    (sensitiver code)
    iret
    hlt

    interrupt ...
    (sensitiver code)
    iret
    hlt

    usw.


  • Mod

    0.0.1.234 - Rev: 819

    - os.h formal umgebaut
    - serielle Schnittstelle beschleunigt (Divisor 1 anstelle 3)
    - vm86 monitor - Ausgaben nach COM1 (und Text-Datei) aktiviert

    Deutlich schneller als bei VBox geht es übrigens mit qemu:

    qemu.exe -fda FloppyImage.img -soundhw pcspk -localtime -serial file:serielle1.txt -usb -usbdevice disk:format=raw:dummy.bin

    Das ist dann COM1. Für COM2 usw. einfach zusätzliche -serial ... einsetzen.



  • Version 0.0.1.235:

    - makefile verbessert
    -- Bootloader wird bei Veränderung automatisch neu kompiliert
    -- Alle map-Dateien nach /documentation gelegt
    - pci.c: Ausgabe von Vendor&DeviceID verbessert.
    - VBE:
    -- Palette nutzt nun 8-bit pro Farbe, falls von der Grafikkarte unterstützt (Qemu unterstützt es nicht)
    -- Bugfixes: Textmodi werden nun korrekt erkannt; Modi, die nicht von der aktuellen Hardwarekonfiguration unterstützt werden,werden ausgeblendet
    - Optimierungen und Aufräumarbeiten


  • Mod

    pci.c: Ausgabe von Vendor&DeviceID verbessert.

    Was wurde dort genau verbessert?



  • Bislang war es so, das DeviceID und VendorID bekannt sein mussten, damit das Gerät mit Namen genannt wurde. Jetzt wird, wenn nur der Vendor bekannt ist, dieser ausgegeben und dazu dann die DeviceID.



  • Version 0.0.1.236:

    - Bugfix: (Hoffentlich) kein unkontrollierter Farbwechsel mehr
    - Bugfix: Bei #PF und co werden wieder die richtigen Fehlermeldungen angezeigt
    - Kleinigkeiten


  • Mod

    0.0.1.236 - Rev: 822

    BL2 optimiert



  • Revision 823 (behebt hoffentlich den BL2-Bug, auch wenn MrX mir da keine großen Hoffnungen macht ;)):

    BL stage2: ebx statt bx sichern

    Wenn das BIOS ebx im Ganzen verändert, kann es passieren, dass die Kopierschleife den eigenen Code überschreibt. Wenn man ebx statt nur bx speichert, wird dies verhindert.



  • Version 0.0.1.237:

    - Optimierungen BL1 (u.a. jetzt mit -Ox assembliert)
    - Optimierungen BL2
    - irq.c: Code verbessert/vereinfacht
    - vbe.c: Bugfix: Grafikmodi jetzt auf mehr Grafikkarten korrekt angezeigt


  • Mod

    Bei VMWare nun endlich OK! 🙂 👍



  • Version 0.0.1.238:

    - Multiboot-kompatibler Kernel. (Weiterhin BIN, noch nicht ELF)
    - ELFs mit strip verkleinert
    - Unser BL2 liefert dem Kernel eine Multiboot-Struktur, bei der aber nur der Member für die mmap gesetzt ist.
    - GRUB-Rohling beigelegt (bootet automatisch KERNEL.BIN)



  • Version 0.0.1.238: Rev. 826

    - Bootloader übergibt jetzt die Memory Map im Multiboot Format
    - Bootloader übergibt jetzt Lower/upper Memory
    - Bootloader übergibt jetzt den Bootloader Namen PrettyBL



  • - Upper Mem wird jetzt richtig in der multiboot strukture gespeichert



  • Version 0.0.1.239:

    - Bugfix: strip funktioniert nun auf verschiedenen Umgebungen (im makefile nun als Variable)
    - BL2:
    -- Bugfix: mmap_length nun korrekt berechnet
    -- Bugfix: Konvertierungsfunktion für mmap korrigiert
    - paging.c: verwendet nun mmap_length um das Ende der mmap festzustellen (multiboot-Kompatibilität)
    - vbe.c:
    -- Bugfix: vbe_drawRect nun korrekt
    -- Bugfix: VBE-Signatur ("VESA") nun korrekt angezeigt (nicht nullterminiert)
    - Aufgeräumt&Kleinigkeiten

    EDIT: Achtung! Revisions-Nummer falsch (828 wäre korrekt)



  • Version 0.0.1.240:

    - fformat-Bug behoben
    - VBE-Bootscreen etwas erweitert^^ (Kreisförmiger Farbverlauf (mit vbe_drawCircle erreicht) wird zeitverzögert gemalt)
    - Tab/Leerzeichenkorrekturen und andere Formatierungssachen sowie Codevereinfachungen

    (Revisionsnummer nun wieder korrekt)


  • Mod

    Version 0.0.1.241 - Rev: 830

    Zwei zusätzliche Zeilenumbrüche am Ende von video-screenshot ergänzt.
    Sieht nun übersichtlicher aus. 😉



  • Version 0.0.2.0, Rev. 831:
    - Memoryleak bei FPUptr beseitigt
    - Userprogramme jetzt mit strip bearbeitet (kleiner)
    - Ausgabe beim boot gestrafft. (u.a. Ramdiskinhalt nicht mehr angezeigt)
    - Nicht (mehr) benötigte Funktionen fetchESP und ähnliche gelöscht
    - Codestylekorrekturen

    Aufgrund der zahlreichen seit dem Versionssprung auf 0.0.1.0 erreichten Verbesserungen am Kernel haben wir beschlossen, die Versionsnummer auf 0.0.2.0 zu erhöhen.
    Seit 0.0.2.0 wurde u.a. folgendes implementiert:

    • VM86
    • VBE "Techdemo" Startbildschirm + Mauszeiger
    • Netzwerk (RTL8139): Ping beantworten
    • Bootloader läd nun "beliebig" große Kernel dank Unreal Mode
    • (Teilweise) Multiboot/GRUB-Kompatibilität
    • Beschleunigtes Laden von Dateien durch Caching und trackweises Lesen von Floppy
    • Scheduler-Ausbau, "richtiges" Schlafen
    • Tastaturtreiber erweitert
    • Video/Konsolen: Falschfarben-Problematik untersucht & behoben
    • API (syscalls) erweitern, u.a File-API
    • Syscall-API erweitert und konsolidiert
    • Verbesserte Dokumentation und Logging

Anmelden zum Antworten