Sourcecode Fortschritt
-
Rev. 289:
ehci.c: etwas vereinfachte Vorgehensweise bis zum USB-Transfer (wieder erlaubt)
Hier übrigens ein Bildschirmausdruck auf Diskette als TIME0.TXT:
PrettyOS [Version 0.0.0.289] Shell Memory size: 512 MiB / 536 MB (536870912 Bytes) #0 0:0.0 dev:0746h vend:1039h IRQ:0 #1 0:1.0 dev:0002h vend:1039h IRQ:0 #2 0:2.0 dev:0008h vend:1039h IRQ:0 #3 0:2.5 dev:5513h vend:1039h IRQ:0 #4 0:2.7 dev:7012h vend:1039h IRQ:10 #5 0:3.0 dev:7001h vend:1039h IRQ:5 USB OHCI CFFFD000h MMIO sz:4096 #6 0:3.1 dev:7001h vend:1039h IRQ:11 USB OHCI CFFFE000h MMIO sz:4096 #7 0:3.2 dev:7002h vend:1039h IRQ:5 USB EHCI CFFFF000h MMIO sz:4096 >>> >>> function: analyzeEHCI HCIVERSION: 0100h HCSPARAMS: 00102306h Ports: 6 HCCPARAMS: 00007070h OpRegs Address: CFFFF020h #8 0:4.0 dev:0900h vend:1039h IRQ:11 #9 0:12.0 dev:4300h vend:1186h IRQ:11 #10 1:0.0 dev:4150h vend:1002h IRQ:11 #11 1:0.1 dev:4170h vend:1002h IRQ:-- 1.44 MB FDD device 0 <RAM Disk at C0005000h DIR> dev 35 info 12115 shell $>
-
Rev. 290:
file.c: bei Löschkennung 0xE5 (momentan nur mit anderen OS oder Hex-Editor eintragbar) wird ein root dir entry jetzt auch überschrieben.
screenshot hexeditor in root dir (224 Einträge ab 0x2600): http://www.henkessoft.de/OS_Dev/Bilder/rev290_rootdir.PNG
Man sieht sehr gut die Löschkennung 0xE5 alter File-Einträge, die jetzt überschrieben werden.Hier ein Ausschnitt aus TIME80.TXT:
$> test file written to FDD: 4100 bytes, 9 sectors needed. free root dir entry nr. 2 >>> >>> function: initEHCIHostController >>> >>> function: startHostController reset HC >>> >>> function: DeactivateLegacySupport DeactivateLegacySupport: eecp = 0070h eecp = 0070h, eecp_id = 0001h BIOS did not own the EHCI. No action needed. HCHalted bit set to 0 (OK), ports can be enabled now. >>> >>> function: enablePorts >>> >>> function: resetPort 1 >>> >>> function: resetPort 2 >>> >>> function: resetPort 3 >>> >>> function: resetPort 4 >>> >>> function: resetPort 5 >>> >>> function: resetPort 6 Sunday, March 28, 2010, 12:07:21 80 s runtime. CPU: 1099 MHz
-
Revision 291:
- Scroll-Begrenzung durch User eingefügt (Syscall)
- Shell macht davon Gebrauch (Ehenkes Infoleiste gerettet)
- Begrenzung von Status und Titelleiste nun mit grauer Trennlinie
- sprintf (von Iteem), wird auch nun benutzt statt manuellem Zusammenbau im kernel.
- Kleinigkeiten
-
Rev. 292:
Style-Anpassungen^^ (schonwieder) in ckernel.c, ehci.c, file.c, syscall.c, video.c usw.
-
Revision 293:
- Umfangreiche Änderungen an der shell
-- Infobereich restauriert
-- Feste Eingabezeile
-- Neues Design
- Syscall zum Begrenzen des Scroll-Bereichs mangels Nutzen & Konformität mit gutem Design wieder entfernt; Größe nun durch Kernel festgelegt
-
Revision 294:
- Nun gehen auch mehrere Userprogs gleichzeitig
- KQs der Konsolen getrennt.Problem: gelegentlich #PFs in Userprogrammen
-
Revision 295:
- PF-Ursache behoben (Shell auf anderen Stackpointer als Userprogs)
- Umsortierung in task.c
- HELLO.ELF in Version 0.52; Üblen "Hack" beseitigt
-
Rev. 296:
file.c: Zwischenschritt
-
Revision 297:
- C++-Userprogramm kompiliert wieder, c++-Sourcefile für Userlib beigelegt (für C++-spezifische Features)
- Kleinere Umbauten und FormatierungskorrekturenPS: Ich bin dann bis Sonntag im Urlaub und von der Außenwelt abgeschnitten...
-
Revision 298:
* Bootscreen
-
Revision 299:
* Bootscreen: W spitzer
* ckernel.c: auskommentieren des Screenshot-Codes
-
Revision 300:
- BS wird nun vor der restlichen Ausgabe angezeigt, damit man diese vollständig sieht.
- BS in Funktion ausgelagert
-
Rev. 301:
paging.c: 0x400000 bis 0x600000 wird nicht mehr für User frei gegeben
ehci.c: beschleunigte Ausgabe
os.h/start.asm: USER-Stack 0x1420000
-
Revision 302:
* Leichte optische Anpassungen bei einem Systemfehler, dient der besseren Übersicht
Leider verweigert mein SVN-Client grundsätzlich das Hochladen des Diskettenimages. Ich bitte diesbezüglich um Verständnis.
-
Version 0.0.0.302 läuft auf VMWare, VBox, VPC, Qemu, Bochs
Bitte beachten, dass alte elf-Dateien, die mit esp 0x500000 oder 0x600000 in start.asm compiliert wurden, jetzt nicht mehr laufen.
-
Rev. 303:
task.c: nun den user-esp richtig übergeben in create_task
if (privilege == 3) { // general information: Intel 3A Chapter 5.12 *(--kernel_stack) = new_task->ss = 0x23; // ss *(--kernel_stack) = USER_STACK; // esp code_segment = 0x1B; // 0x18|0x3=0x1B }
start.asm: kein setzen des esp mehr notwendig, damit mehr Freiheit im OS
_start: ; mov esp, 0x1420000 ; stackpointer <--- nicht mehr notwendig call _main call _exit
-
Revision 304:
* Neue Startmelodie
// Melody // C Es F G F Es // C E F G F E C // http://www.flutepage.de/deutsch/goodies/frequenz.shtml (German) // http://www.flutepage.de/englisch/goodies/frequenz.shtml (English) beep(523,200); // C beep(622,200); // Es beep(689,200); // F beep(784,200); // G beep(689,200); // F beep(622,200); // Es beep(523,200); // C beep(659,200); // E beep(689,200); // F beep(784,200); // G beep(689,200); // F beep(659,200); // E beep(523,1000); // C
* Makefile verändert: Es werden jetzt FloppyImage.bin und FloppyImage.img erstellt => Kompatibilität verbessert und KERNEL.BIN wird beim clean gelöscht, weil der ab und zu noch das alte verwendet hat^^
* const char* version = "0.0.0.303"; wurde zu const char* version = "0.0.0.304";Leider läuft diese Version (bzw. die vorherigen) auf keinem meiner PCs.. einmal PF nach starten der Shell, einman GPF nach laden des Kernels (direkt GPF als erste Ausgabe)...
-
Rev. 305:
- Korrekturen in console.c (Hinweis +gjm+) integriert
- flush.asm (Kommentar verbessert)Ein PC stürzt noch bei der Eingabe einer gültigen Zahl in TTT ab. Das könnte aber auch am User-Programm liegen.
-
Rev. 306:
initEHCIflag auf false initialisiert (Dank an Cuervo für den Hinweis!)
-
Rev. 307:
TTT: atoi aus userlib verwendet, geringe Veränderungen bei Eingabe (auf einem PC stürzt das Programm allerdings immer noch nach Eingabe einer gültigen Ziffer ab, auf einem anderen läuft es).