Sourcecode Fortschritt


  • Mod

    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


  • Mod

    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 Formatierungskorrekturen

    PS: 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


  • Mod

    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.


  • Mod

    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.


  • Mod

    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)...


  • Mod

    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.


  • Mod

    Rev. 306:

    initEHCIflag auf false initialisiert (Dank an Cuervo für den Hinweis!)


  • Mod

    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).


  • Mod

    Rev. 308:

    TTT 0.54 (hello.c): Globale Variablen beseitigt --> Kein Absturz mehr bei Eingabe valider Daten!

    Wieso können auf manchen PCs keine globalen Variablen verwendet werden im User-Programm? Wo liegt das genaue Problem?


Anmelden zum Antworten