Sourcecode Fortschritt
-
Revision 318:
* Maus-Support (sogar mit Scrollwheel, falls von der Maus unterstützt)! IRQs werden angezeigt, mit Status!
-
Rev. 319:
- mouse.c: mouse print auf eine Zeile
- scheduler.c (Beginn der Auslagerung des Dispatchers/Schedulers, separat von task.c)scheduler.h/c wurde versehentlich nicht committed.
-
Rev. 320:
- Stylekorrekturen
- makefile und build.bat auf FloppyImage.img umgestellt
- scheduler.c/.h jetzt dabei
-
Rev. 321:
Code review:
BL1, BL2, ckernel: gdt_install(); idt_install(); // cf. interrupts.asm timer_install(1000); // Sets system frequency to ... Hz keyboard_install(); //... syscall_install(); fpu_install();
next step: paging, heap, tasking, pci-scan, mouse, ehci, ...
Thx to MrX, Cuervo, Tobiking, Iteem
-
Revision 322:
* Mausverbesserungen: Stabilisation, experimenteller Support für 5 Tasten (muss aktiviert werden, ist im Moment instabil und deswegen deaktiviert) und mouse_uninstall(), das sogar die Maus zurücksetzt.
EDIT:
* Des weiteren wurden einige Funktionen ausgelagert, z.B. die Funktion zum Setzen der Sample-Rate!
-
Revision 323:
- makefile-Bug bezüglich Shell behoben
- rebuild.bat hinzugefügt: führt target clean vorm Build aus
-
Revision 324:
* Kleinere Optimierungen
EDIT: Fehler, nicht-Windows nimmt jetzt i586-elf- gcc und binutils.. sry..
-
Rev. 325:
task.c überarbeitet (Code Review)
-
Rev. 326:
weitere Funktionen nach scheduler.c ausgelagert
-
Rev. 327:
Multithreading - erster Versuch.
Klappt noch ncht komplett, aber Bootscreen erscheint schon als Thread. Nach Laden von TTT hängt jedoch noch was.
-
Rev. 328:
Jetzt geht es mit dem ersten Multithreading.
-
Revision 329:
- build.sh auf FloppyImage.img umgestellt (In Ermangelung von Linux kann ich dennoch nicht beurteilen, ob diese Datei funktioniert)
- HELLO.ELF jetzt in version 0.5.7 (Zählweise geändert, Float-Test weg, Wartet am Ende auf Tastendruck)
- Shell: testch nicht mehr genutzt
- Float-Test im ckernel.c weg, #NM-Ausgabe in Diagnosis-Modus verlegt
- "Aufräumarbeiten"
-
Rev. 330:
Zwischenschritt: read/write-Sperre by Floppy Disk Transfer (noch nicht sicher)
in oda, os.h:bool flpy_ReadWriteFlag[4]; // 0: ready 1: busy (blocked)
-
Revision 331:
- DIAGNOSIS-Modus repariert
- Vergabe von Konsolen nicht mehr vom Namen der Konsole abhängig, sondern vom Aufruf von create_ctask oder create_task (analog auch bei threads) -> Nun wird der String in elf_exec geprüft. (Schiebt das Problem eine Ebene höher)
- HELLO.ELF grundlegend überarbeitet: Bemängelte Probleme behoben
- makefile: Unterscheidung zwischen WINDOWS, MACOSX und anderen. (Cuervo: Bitte testen)
- Altlasten aus der Shell entfernt
- Aufräumarbeiten (Formatierungen)
-
Revision 332:
* Verbesserung des Makefiles (MrX hat einen Fehler gemacht, gcc wurde 2x gesetzt und somit das Auswahlverfahren umgangen)
Ansonsten war das Makefile wirklich gut^^
-
Rev. 333:
kleine Änderungen
-
Rev. 334:
task.c: address of exit at top of stack in create_thread (avoids exit in body of functions)
-
Revision 335:
- "typedef-structs" in os.h eingesetzt
- start.asm von Altlasten befreit
- Screenshot nun auf Knopfdruck (Ctrl+s)
- Pointer-Typ-Änderungen (BT 2982518)
-
Revision 336:
- ehci.c: Port-Info (Infobereich) korrigiert
- keyboard.c: Ausgabe von 's' unterdrückt bei Strg+s (screenshot)
- file.c: Textausgabe (Info) beim Abspeichern verbessertSimulation mit Qemu:
<Floppy Disc Directory> PRETTYOS 0 byte (vol) 1st sector: 31 BOOT2.BIN 957 byte (arc) 1st sector: 33 KERNEL.BIN 79864 byte (arc) 1st sector: 35 HELLO.ELF 7791 byte (arc) 1st sector: 191 TIME4.TXT 4100 byte (arc) 1st sector: 207
TIME4.TXT:
PrettyOS [Version 0.0.0.336] Shell -------------------------------------------------------------------------------- Mouse sent unknown package! Memory size: 128 MiB / 134 MB (134217728 Bytes) #0 0:0.0 dev:1237h vend:8086h IRQ:0 #1 0:1.0 dev:7000h vend:8086h IRQ:0 #2 0:1.1 dev:7010h vend:8086h IRQ:0 #3 0:1.2 dev:24CDh vend:8086h IRQ:11 USB EHCI F0000000h MMIO sz:4096 >>> >>> function: analyzeEHCI HCIVERSION: 0100h HCSPARAMS: 00000004h Ports: 4 HCCPARAMS: 00000080h No ext. capabil. OpRegs Address: F0000020h #4 0:1.3 dev:7113h vend:8086h IRQ:9 #5 0:2.0 dev:00B8h vend:1013h IRQ:0 #6 0:31.0 dev:8139h vend:10ECh IRQ:11 BaseAddressRTL8139_MMIO mapped to virtual address FFF00000h 1.44 MB FDD device 0 <RAM Disk at C0007000h DIR> dev 35 info 12918 shell >>> >>> function: initEHCIHostController >>> >>> function: startHostController reset HC >>> >>> function: DeactivateLegacySupport DeactivateLegacySupport: eecp = 0000h No valid eecp found. HCHalted bit set to 0 (OK), ports can be enabled now. >>> >>> function: enablePorts >>> >>> function: resetPort 1 $> -------------------------------------------------------------------------------- _______ _______ <>_<> (_______) |_|_|_|_|_|_|| [] [] | .---|'"`|---. `-oo---oo-'`-oo-----oo-'`-o---o-'`o"O-OO-OO-O"o' -------------------------------------------------------------------------------- Friday, April 09, 2010, ........ 3 s runtime. CPU: 7289 MHz /
TODO:
@Cuervo: Dieses "Mouse sent unknown package!" könnte man vielleicht noch untersuchen oder unterdrücken. Sieht unschön aus.
-
Es ist mir nicht gelungen, das screenshot in keyboard.c auf thread umzusetzen, weder mit noch ohne Konsole. Das Problem liegt vermutlich im Speicherbereich (#PF, manchmal auch #GPF oder Reboot je nach Versuchen).
Denkbare Möglichkeiten:
task.c: Konsole aufräumen (übrigens auch, wenn gar keine da ist, z.B. bei create_thread(...) ?? )
file.c: Speicher-Handling beim File schreiben
console.c: screenshot hat einen Parameter