Sourcecode Fortschritt


  • Mod

    Rev. 281:

    Zeilenumbruch (CR LF) eingebaut (stimmt aber noch nicht), nur noch alle 40 sec ein "screenshot". Reale Diskette: TXT wird nicht angezeigt; File kann nicht geöffnet werden. Offenbar noch fehlerhafter Aufbau.


  • Mod

    Rev. 282:

    Zeilenumbruch nun korrekt, Bild alle 2 Sekunden für tests mit Qemu. Öffnen der FloppyImage.bin z.B. mit MS WordPad. Nun muss man bei realer Floppy Disk nach FAT und Root Dir schauen, damit man dort auch öffnen und anzeigen kann.



  • 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
    

    👍


Anmelden zum Antworten