Sourcecode Fortschritt


  • Mod

    Rev. 272:

    kleinere Veränderungen


  • Mod

    Rev. 273:

    Vorschlag von +gjm+ im Fehler-Thread umgesetzt (keine Kernel-Ausgaben nach dem User-Programmstart im gescrollten Ausgabebereich ):
    // printf("\n\n"); // <- ... sollte auf ausgaben ab hier verzichtet werden



  • Revision 274:

    - makefile komplett neu (Dank auch an mastamind und Tobiking für die Hilfe)
    - clean.bat statt clear.bat


  • Mod

    Superjob! 👍

    kleiner Fehler:

    nasm kernel/data.asm -O32 -f elf -Ikernel/ -o object_files/kernel/data.o
    kernel/data.asm:5: error: `incbin': unable to open file `initrd.dat'
    mingw32-make: *** [kernel/data.o] Error 1
    

    Kopiert man initrd.dat aus einer alten Vorlage nach ...\kernel\ dann klappts, es fehlt also dort.



  • Revision 275:

    Styleguide-Anpassungen (Tabs ersetzen, "if ("s usw.)


  • Mod

    Rev. 276: kleine Veränderungen, pci_write_byte getestet in ehci.c (auskommentiert)

    void pci_config_write_byte( uint8_t bus, uint8_t device, uint8_t func, uint8_t reg, uint8_t val )
    {
        outportl(PCI_CONFIGURATION_ADDRESS,
            0x80000000
            | (bus     << 16)
            | (device  << 11)
            | (func    <<  8)
            | (reg & 0xFC) );
    
        outportb(PCI_CONFIGURATION_DATA + (reg & 0x03), val);
    } /// correctness of function pci_config_write_byte checked with bar0 from EHCI - ehenkes, 2010-03-24
    


  • Revision 277:

    - Style-Korrekturen
    - Überflüssige Binaries entfernt. Darunter auch nasm! (Muss nun extra installiert werden, PATH setzen nicht vergessen)
    - makefile-Fehler bezüglich initrd.dat behoben, target für user_test_c ergänzt (derzeit deaktiviert)


  • Mod

    Rev. 278:

    file.c: flpydsk_write(const char* name, const char* ext, void* memory, uint32_t size) <--- begonnen

    flag in ehci.c, mit dem man den USB-Testtransfer einschalten kann, standard: aus


  • Mod

    Rev. 279:

    file.c: flpydsk_write(const char* name, const char* ext, void* memory, uint32_t size) weiter ausgebaut.
    TODO:

    1. FAT1 u. FAT2 aus FAT-Indices berechnen und in track0[...] übertragen.
    2. File aus Memory in 512 Byte Paketen in die durch die FAT1 beschriebenen Sektoren schreiben.

  • Mod

    Rev. 280:

    file.c: flpydsk_write(const char* name, const char* ext, void* memory, uint32_t size) funktioniert
    Test mit Bildschirmausdruck (jede Sekunde)

    Das überfordert reale Systeme. 😉 (Endung txt kommt nicht an)
    Daher bitte noch mit Sim testen, z.B. mit Hex-Editor ab ca. 0x15000 auf Floppy Disk nachschauen.

    Am besten mit Wordpad o.ä. anschauen und Umbruch auf Fenster oder Lineal einstellen.


  • 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


Anmelden zum Antworten