Sourcecode Fortschritt



  • 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

  • Mod

    Test mit qemu ohne Netzwerk:

    PrettyOS [Version 0.0.2.0 - Rev: 831]                                           
    --------------------------------------------------------------------------------
            FPU: yes (Test: OK)                                                     
    
    COM1 (IO-port: 03F8h) initialized                                               
    
    #0 0:0.0 IRQ:0  Intel PCI & Memory                                              
    #1 0:1.0 IRQ:0  Intel PIIX3 PCI-to-ISA Bridge (Triton II)                       
    #2 0:1.1 IRQ:0  Intel PIIX3 IDE Interface (Triton II)                           
    #3 0:1.2 IRQ:11 Intel USB EHCI Controller USB EHCI F0000000h MMIO sz:4096       
    #4 0:1.3 IRQ:9  Intel PIIX4/4E/4M Power Management Controller                   
    #5 0:2.0 IRQ:0  Cirrus 64-bit VisualMedia Accelerator                           
    #6 0:3.0 IRQ:11 Intel Gigabit Ethernet Controller                               
    
    1.44 MB FDD first device found                                                  
    Disk is formated with FAT12.                                                    
    
    Available ports:                                                                
    
    Type    Number  Name            Inserted disk                                   
    ----------------------------------------------------------------------          
    FDD     A       Floppy Dev 1    PRETTYOS                                        
    RAM     B       RAM             RAMdisk                                         
    ----------------------------------------------------------------------          
    
    Attached disks:                                                                 
    
    Type    Number  Name            Part.   Serial                                  
    ----------------------------------------------------------------------          
    Floppy  1       PRETTYOS        0       PRETTYOS                                
    RAMdisk 2       RAMdisk         0       786438                                  
    ----------------------------------------------------------------------          
    
    --------------------------------------------------------------------------------
                                    PrettyOS Booted                                 
    --------------------------------------------------------------------------------
    


  • Version 0.0.2.1:

    - Header und Implementierungsdateien der C-Standardlib hinzugefügt (userspace)
    - Projektdatei umsortiert
    - context_t entfernt
    - Diverse Kleinigkeiten



  • Version 0.0.2.2:

    - Bugfix: Kein Absturz bei Shell-Eingaben mehr


  • Mod

    Version 0.0.2.3 - Rev. 834

    - APIC-Bit in cpuid überprüft und apic_install als Rumpf eingebaut (qemu auf intel-dualcore-host emuliert es)
    - Beep ausgeschaltet



  • Version 0.0.2.4:

    - Codebasis für Power-Management angelegt
    -- APM (funktioniert noch nicht, daher in power_management.c Zeile 88 auskommentiert)
    -- Shutdown-Workaround für fehlendes PM
    - timer.c/sys_speaker.c: 1193182 statt 1193180
    - Task wird nun nach invalid Opcode beendet
    - Ergebnisse eines kleinen "Code Reviews" von ehenkes und mir (kernel.asm und ckernel.c)
    - Kleinigkeiten



  • Version 0.0.2.5:

    - Invalid-Opcode Problem unter Qemu mit einem HACK gefixt
    - Fat12_BPB.inc im BL2 entfernt
    - Kleinigkeiten


  • Mod

    version = "0.0.2.6 - Rev: 837"
    Kleine Änderungen in dhcp.h



  • version 0.0.2.6 - Rev: 838

    vbe.c
    - Einfache und langsame vbe_clearScreen() Funktion hinzugefügt.

    gui_window.c/.h
    - Versuch: Fenster im VBE Modus zu implementieren, bis jetzt noch nicht funktionierend...



  • Version 0.0.2.7 - Rev. 839:

    - Erkennung von xHCI-Controllern ergänzt (ungetestet)
    - Arrays für Ports, Disks und Partitionen in ehci.c verkleinert (ungenutztes Element entfernt)
    - strncmp ergänzt (CStdlib)
    - Projektmappe aktualisiert
    - Codestil

    Edit: Ich hab übrigens vergessen, im sourcecode die Revision zu erhöhen, nur die Version hab ich erhöht.



  • Version 0.0.2.8:

    - Bugfix für GUI: Fenster nun korrekt gezeichnet
    - Bugfix in vbe_drawRect: x und y waren vertauscht


Anmelden zum Antworten