Sourcecode Fortschritt



  • Was sich während des Ausfalls des Forums getan hat (Wir sind nicht ausgefallen 😉 ):

    Revision 283:
    - jetzt geht es endlich, lag an Nullen im Namen (8+3)

    Revision 284:

    - kprintf nimmt nun (wie printf) zusätzlich ... an.
    - Versionsstring in Variable ausgelagert
    - clear_userscreen heißt nun clear_console
    - keyboard unterstützt nun Alt und Ctrl
    - Weitere Vorbereitungen für "Multikonsolen"

    Revision 285:

    Revision 286:

    - Multikonsolen! Umfangreiche Änderungen an video.c.
    - putch (und kputch dadurch auch) überarbeitet
    - Kleinere Korrekturen

    mfg
    Mr X

    rev. 287:
    styles


  • Mod

    Rev. 288:

    ckernel.c: setupFPU implementiert


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


Anmelden zum Antworten