Sourcecode Fortschritt
-
Rev. 553: FAT32 bug gefunden, Schreiben funktioniert nun auch bei "vollen" Verzeichnissen
-
Mehr oder weniger spontan haben wir uns grade entschieden (Naja, geplant war es ja schon etwas länger), die Versionsnummer von PrettyOS auf 0.0.1.0 zu erhöhen, weil folgendes vorhanden ist:
- Grundstrukturen des Kernels funktionieren (Das führe ich jetzt nicht einzelnd auf )
- Unterstützung für Floppy und USB. (Schreibend und lesend)
- Unterstützung für FAT12, 16 und 32. (Schreibend und lesend)
Die letzte Stelle (a.b.c.d) wird mit jeder Revision inkrementiert, aber bei Veränderungen der höheren Versionszahlen zurückgesetzt, also fangen wir dort jetzt wieder von 0 an.
Version 0.0.1.0 (Rev. 554):
- Strg+u schreibt jetzt auf USB-Stick (den ersten im disk-Array)
- Strg+s schreibt aufs erste Floppy-Laufwerk
-
Rev. 555: 0.0.1.1
Korrekturen in usb2_msd.c (Transfer Check)
Test auf meinem Developer-PC:
Beim port-check des EHCI wird inzwischen alles ausgefiltert, was nicht als USB Mass Strorage Device in unserem Sinne taugt (web cam, hub, card reader).
Der card reader wurde als 3:\ (hinter Floppy und RAMDisk) eingetragen. Ein neu angesteckter Stick als 4:\
Ich war nun gespannt auf strg+u, aber alles hat bestens geklappt. Da der card reader (wegen fehlender card) kein FAT aufzuweisen hatte, wurde brav der stick mit FAT32 auf 4:\ gewählt.Zum Glück hat MrX auf mich gehört und den FAT-Test implementiert.
video.c, zeile 253:
if(disks[i] && disks[i]->type == ScreenDest && (disks[i]->partition[0]->type == FAT12 || disks[i]->partition[0]->type == FAT16 || disks[i]->partition[0]->type == FAT32))
-
Rev. 556:
* Aktualisiertes Makefile löscht bei 'make clean' wirklich alle temporären Dateien
-
Rev. 557: 0.0.1.2
- Kernel von 0x40000 nach 0x100000 verschoben (BL2, kernel.ld)
- Umbenennungen und Optimierungen in fat.h/c
-
Rev. 558: 0.0.1.3
keyboard.c und userlib.c: bool keyPressed(VK key); [VK = Virtual Key analog winuser.h]
Rev. 559: 0.0.1.3
Korrektur: man muss shiftascii[...] nehmen wegen der Großbuchstaben.
Dann gibt das aber Probleme mit den Zahlen.
-
Rev. 560:
* Xcode Projektfile hinzugefügt (BUILD funktioniert darin nicht, ist aber deutlich praktischer beim Bearbeiten des Sourcecodes als jede Datei einzeln zu öffnen)
-
Rev. 561:
* Xcode Projektfile wieder entfernt, da svn wieder mal Probleme damit hatte
d.h. Rev. 561 entspricht Rev. 559
-
Rev. 562: 0.0.1.4
Korrektur bezüglich keyPressed(...)
ckernel.c in "idle loop":
/// TEST if (keyPressed('A') && keyPressed(VK_LSHIFT)) {printf("\nshiftleft+A"); } if (keyPressed('D') && keyPressed(VK_RSHIFT)) {printf("\nshiftright+D");} if (keyPressed('1')) {printf("\n1");} /// TEST
-
Rev. 563: Korrektur in syscall.c (&keyPressed vergessen, stand noch auf &nop)
nun auch ESC getestet:
if (keyPressed('1') && keyPressed(VK_ESCAPE)) {printf("\nESC+1");}
-
Version 0.0.1.5 (Rev. 564):
- Basisstrukturen für FS-Manager angelegt (weder endgültig noch in Benutzung)
- Namenskonflikten im FAT-Treiber vorgebeugt
- SectorRead, sectorWrite, singleSectorRead und singleSectorWrite jetzt in devicemanager.c
- in fat12.h aufgeräumt
- Bugfix: Keine zufälligen Zeichen mehr an Dateinamen angehängt (0-Terminierungsproblem)
- Bugfix: free akzeptiert nun 0-Pointer
- Diverse (Kleinigkeiten)Soweit ich das sehe, funktioniert alles noch.
-
Version 0.0.1.6:
- FAT_partition_t auf fsmanager umgestellt (Nutzt partition_t)
- Automatische Endungsergänzung funktioniert wieder (jetzt aber in Shell)
- Kleinigkeiten
-
rev. 566:
userlib.h/c hat nun srand und rand:
hello.elf:PrettyOS [Version 0.0.1.6] Console 0: HELLO ELF -------------------------------------------------------------------------------- ================================================================================ C - Testprogramm! -------------------------------------------------------------------------------- ! Hello World ! 94 26602 30017 18297 20363 13015 28509 15290 29003 24399 3339 28849 17055 19424 4588 15756 6098 11834 1351 21383 18431 155 14763 14082 4564 25482 30678 20183 15765 18376 20694 32234 8292 29828 23406 31490 25791 15822 24763 23255 15434 32590 15383 108 24271 12086 29246 26526 31363 7541 17328 32253 31115 13102 15958 32220 16574 18024 4711 32676 19373 22023 11917 13678 18912 16891 26436 1232 8547 21431 11651 29430 31362 10980 6303 5877 14544 25175 18284 1629 1390 321 23717 28685 20105 3238 6798 22860 24613 19729 25047 12565 31257 7301 6084 11697 1883 20662 14219 10380 ____ <>_<> _______ ___ [] | .---|'"`|---. (_______) |_|_|_|_|_|_|| [] -o-'`o"O-OO-OO-O"o' `-oo---oo-'`-oo-----oo-'`-o-- -------------------------------------------------------------------------------- Wednesday, June 30, 2010, 23:32:12 34 s runtime. CPU: 3816 MHz /
-
Version 0.0.1.8:
- Farbwechsel-Fehler vielleicht behoben (Beim Interrupt geschah es vermutlich)
- fopen in Betrieb genommen (leichter Fehler noch: Append geht noch nicht, wird morgen korrigiert)
- Synchronisation userlib-Header
- malloc-Alignment in einigen Fällen von PAGESIZE auf 0 geändert
- ...
-
Version 0.0.1.9:
- fseek und fclose in Betrieb genommen
- 'a'-Bug behoben
- FAT_file_t fast komplett aufgeräumt
- Kleinigkeiten
-
Rev. 569 (0.0.1.9)
Neu: arrow.c und ARROW.ELF (User-Programm erstellt von ehenkes, um die Möglichkeiten von keyPressed unf srand/rand zu demonstrieren und anderen Lust zu machen ebenfalls tolle Spielideen umzusetzen)
-
Version 0.0.1.10:
- makefile fügt ARROW.ELF automatisch dem Image hinzu
- HELLO.ELF wiederhergestellt
- ehenkes Arrow-Spiel verbessert
-- ESC beendet Programm
-- getch statt sleep am Ende
-- Bugfixes&Optimierungen
-
Rev. 571 (0.0.1.10):
arrow.c/elf verbessert zum Abschluss (Abfrage von Taste Q für quit)
-
Rev. 572 (0.0.1.11):
neu in fat.h/c:
FS_ERROR FAT_remove (const char* fileName, FAT_partition_t* part)@MrX: bitte einbinden, falls nicht schon erfolgt
-
Rev. 573 (0.0.1.12):
- FAT_remove korrigiert
- FS_ERROR FAT_rewind(FAT_file_t* fileptr)Anmerkungen:
-
FAT_remove: strcpy(fileptr->name, fileName); // must be 8+3 formatted first (muss das im FS manager passieren?) // strcpy muss evtl. noch angepasst werden auf strncpy mit 11 zeichen
-
FAT_rewind: // fileptr->seek = 0; // has to happen in FS manager
-
FAT_rename: noch nicht implementiert, muss erst noch diskutiert werden, ob dabei ein copy und delete erfolgen darf
@MrX: das endgültige Einbinden / Testen sollten wir zusammen durchführen
-