Sourcecode Fortschritt


  • 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

  • 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


Anmelden zum Antworten