Sourcecode Fortschritt
-
Version 0.0.2.25:
- DMA-Code aus Diskettentreiber gelöst. Sollte nun für alle Channels des Slave-Controllers funktionieren. Transfers "beliebiger" Länge
- CDI-DMA implementiert
- Bugfix: Floppy-Motorsteuerung funktioniert wieder
- Kleinigkeiten
-
Version 0.0.2.26:
- Scheduler unterstützt nun wait mit timeout
- Floppytreiber nutzt nun waitForIRQ - Spart CPU-Zeit
- cdi-Audio-Header hinzugefügt
- cdi_wait_irq implementiert
- Kleinigkeiten
-
Version 0.0.2.27:
- Bugfix: Keine Deadlocks mehr durch zu geringe timeouts
- CDI-Header geupdated
- CDI-Implementierung geringfügig erweitert
- Scheduler gibt bei wait-Funktionen zurück, ob ein timeout eingetreten ist
- waitForIRQ berücksichtigt nun IRQs der Vergangenheit (Zurücksetzen des Zählers mit irq_resetCounter)
- Floppytreiber nun vollständig auf waitForIRQ umgebaut
- Scheduler besser dokumentiert
-
Version 0.0.2.28:
- Semaphores jetzt funktionsfähig (und abgespeckt. Ob wir sie jemals brauchen, weiß ich nicht, da wir nun auch Mutexes haben)
- Mutexes eingeführt
- Verwendung von Mutexen in Floppytreiber, Heap und Video/Consolen
- Floppytreiber liest nun FDC-Version aus. (Sollte 90h sein)
- Scheduler/Tasking: Hierachische Änderung. Task-Switch-Interrupt ruft nun zuerst Scheduler auf
-
Wo ist eigentlich fformat abgeblieben?
-
heißt nun format
-
Version 0.0.2.29:
- Executable-Manager hinzugefügt (Dadurch könnten wir mehrere Executable-Formate unterstützen.)
- Bugfix³: Richtiges PD in elf.c eingestellt nach erstellen des userPD -> weniger #PF-Gefahr, keine waitForKeyStroke mehr nötig, Namensanzeige in Konsolentitel funktioniert wieder
- keyboard.c: Mit mutex_t statt cli/sti geschützt
- Ausgaben der Shell gestrafft.
-
Version 0.0.2.30:
- Kernel baut jetzt wieder bei DIAGNOSIS-Flags (außer USB_DIAGNOSIS)
- Userprogramme jetzt inkrementell erstellt
- Eigenes makefile für Shell
- other_userprogs werden jetzt auch automatisch kompiliert, müssen nicht mehr als Binaries vorliegen
-
Version 0.0.2.30 - Rev. 869:
- Usertools (prettylib) und stdlibc nun als static library übersetzt und in Userprogramme eingebunden
- shell/makefile mitgeliefert (fehlte in voriger Revision)
-
Version 0.0.2.31:
- Syscall sleepMilliseconds entfernt
- Syscall wait hinzugefügt
- sleep und waitForTask im Userspace über den wait-Syscall implementiert
- textColor-Syscall repariert
- Userspace-Makefiles hängen nun auch von den statischen Bibliotheken ab -> Inkrementeller Build funktioniert besser
- Test-Userprogramm ergänzt
-
Version 0.0.2.32:
- APM: Implementation verbessert (Debug-Ausgaben), funktioniert aber weiterhin nicht
- makefile: Ausgabe gekürzt, Objektdateien nun rekursiv gelöscht
- Kleinigkeiten
-
0.0.2.32 macht Probleme bei vbe in qemu
Hinweis von MrX im IRC chat:
version 0.0.2.20 - Rev: 858 hat den Schaden angerichtet.
-
Und Revision 872 behebt ihn
Version 0.0.2.33:
- VBE:
--- Neue DoubleBuffer-Implementation (-> Es wird zumindest wieder ein Bild angezeigt, auf echter Hardware allerdings viel zu langsam)
--- setDisplayStart funktionsfähig
- GUI:
--- Verschieben und X-Buttons nun für alle 4 Fenster
--- Aufräumen beim Beenden
- Maus: Anzeige nun Double-Buffer-Kompatibel, aber nur noch in GUI
-
Wichtig:
- Aktuelles nasm verwenden, am besten: 2.10rc4
- "Rebuild" anstelle "Build" ausführen
-
Version 0.0.2.34:
- Treiber für AMD PCNet III hinzugefügt.
-
Version 0.0.2.35:
- Netzwerkschnittstelle implementiert, PCnet- und 8139-Treiber angepasst
- Treiberansatz für RTL8168 (vermutlich auch für RTL8169 verwendbar)
-
version = "0.0.2.36 - Rev: 875"
ethernet.c umgebaut auf Erkennung des Ethernet Type (bei Ethernet 2):
0x0800 IP
0x0806 ARPLeider klappt das momentan nicht mit ping oder hrping, landet beides als ARP in PrettyOS, komischerweise wird dies auch in Wireshark so angezeigt.
Bitte um Ratschläge, woran das liegen kann.
-
Version 0.0.2.37:
- IP wird nun zur Laufzeit abgefragt
-
version = "0.0.2.38 - Rev: 877"
Eingabe der IP mit gets in der letzten Version führte in qemu-EHCI und auf PC zu
#PF (page not present) at 08200837h - EIP: 0010EADBh
in der Zeile "Attached Disks" bei RAMDisk.
Daher wieder statische Zuordnung der IP in network.c. Eingabecode auskommentiert.
gets steht in util.c. Die Eingabe funktioniert auch. Fehlerursache unklar.
-
version = "0.0.2.39 - Rev: 878"
Transmit klappt noch nicht bei rtl8139, Zwischenstand zur besseren Kontrolle des OWN Bits.