Sourcecode Fortschritt
-
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
- CodestylekorrekturenAufgrund 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
-
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
-
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
-
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
- CodestilEdit: 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
-
version 0.0.2.8 - Rev: 841
- GUI Fenster: Pixel noch etwas zurechtgerückt
-
version 0.0.2.8 - Rev: 842
- gui_window.c/h
reDrawWindow()- füllen von window_t.data
-
version 0.0.2.8 - Rev: 843
- gui_window.c/h
window_t.data wird jetzt mit Daten gefüllt...
-
klasse!
-
version 0.0.2.8 - Rev: 844
- gui_window.c/h
korrekturen- gui_button.c/h
CreateButton();
DrawButton(...);- mouse.c
Maus, alte Position löschen
-
Version 0.0.2.9:
- Verbesserungen an der "GUI"
- Neue Version von mingw32-make.exe (3.82)
-
Version 0.0.2.10:
- Fenster nun wieder angezeigt
-
Version 0.0.2.11:
- Code wird nun ohne -fleading-underscore übersetzt
- Bugfix im makefile: cstdlib wird auch aufgeräumt bei clean und rebuild
- process.asm gelöscht, da längst obsolet
- Bugfix in util.c/h: abs muss signed integer nehmen.
-
version 0.0.2.12 - Rev: 848
- gui.c/h
GUI wird jetzt hier aufgebaut (ESC zum Beenden)
close button funktioniert (Test)
StartGUI();
EndGUI();- mouse.c
aufgeräumt- gui_window.c/h
aufgeräumt- vbe.c
erweitert, auswahl zwischen Grafischen Tests und der GUI.Es wird langsam Zeit für einen DoubleBuffer...