Sourcecode Fortschritt
-
Rev. 315:
- fsave anstelle fnsave (FPU context)
- FPU_flag entfernt (nicht benötigt)
-
Rev. 316:
gdt.c: "speaking values" as parameters of gdt_set_gate(...)
PrettyOS [Version 0.0.0.316] Console 0: HELLO .ELF -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Mr.X TicTacToe 3x3 v0.56 -------------------------------------------------------------------------------- ************* | 0 | 1 | 2 | ************* | 3 | 4 | 5 | ************* | 6 | 7 | 8 | ************* ************* | | | X | ************* | O | X | O | ************* | X | | | ************* Please type in a number betwen 0 and 8. FPU is used. pCurrentTask: C0000180h #NM: FPU is used. pCurrentTask: C0000180h Player X wins
-
Rev. 317:
Funktion "screenshot" aus ckernel.c ausgelagert nach console.c:
ckernel.c:
if (CurrentSeconds%120==3) { char timeStr[10]; sprintf(timeStr, "TIME%s", timeBuffer); screenshot(timeStr); }
console.c:
int32_t screenshot(char* name) { // buffer for video screen uint8_t videoscreen[4000+100]; // only signs, no attributes, 50 times CR LF (0xD 0xA) at line end int32_t NewLine = 0; for (uint16_t i=0; i<4000;i++) { uint16_t j=i+2*NewLine; videoscreen[j] = *(uint8_t*)(0xB8000 + 2*i); // only signs, no attributes if ((i%80) == 79) { // CR LF (0xD 0xA) videoscreen[j+1]= 0xD; videoscreen[j+2]= 0xA; NewLine++; } } return flpydsk_write(name, "TXT", (void*)videoscreen, 4100); }
PrettyOS [Version 0.0.0.317] Shell -------------------------------------------------------------------------------- ## ## Copyright (c) 2010 The PrettyOS Team This bootscreen has been created by Cuervo, member of the PrettyOS team 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:3.0 dev:100Eh vend:8086h IRQ:11 1.44 MB FDD device 0 <RAM Disk at C0005000h DIR> dev 35 info 13108 shell #NM: FPU is used. pCurrentTask: C0000070h #NM: FPU is used. pCurrentTask: C0000000h
-
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)