Sourcecode Fortschritt


  • Mod

    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                                                                   
    
    $>
    

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


Anmelden zum Antworten