Sourcecode Fortschritt



  • version 0.0.1.220 - Rev: 802

    vbe.c/h
    - vbe_drawBitmap(...), mit 64k Farbtiefe experimentiert

    vidswtch.asm
    - neue Bildschirmauflösung mit 64k Farbtiefe hinzugefügt.



  • version 0.0.1.221 - Rev: 803

    vbe.c/h
    - Mode mit 32 Bit Farbtiefe hinzugefügt

    vidswtch.asm
    - Neue Bildschirmauflösung mit 32 Bit Farbtiefe hinzugefügt



  • (nach 804 von tev)

    Revision 805

    mov ss,ax und xor sp,sp sollte man nicht einfach vertauschen, da so ein Interrupt losgehen kann, der einen eventuell nicht nutzbaren Stack benutzt (Bootloader-Stage1).



  • Entschuldigung, dass ich das nicht vorher gemacht habe, da ich das mit dem Forum nicht wusste.

    Ok ich hatte mit Revision 804 Geschwindigkeitsoptimierungen im Bootloader gemacht.


  • Mod

    0.0.1.222 - Rev: 806

    paging.h/c: formale Änderungen (camelCase)
    task.c: paging_destroyUserPageDirectory(task->page_directory) verwendet zur Memory-Freigabe als Gegenstück zu paging_createUserPageDirectory() in elf.c

    beep (nicht sound) ausgeschaltet


  • Mod

    0.0.1.223 - Rev: 807

    Formale Änderungen (camelCase entsprechend Style Guide)



  • Version 0.0.1.224:

    - Keine Floppy-IRQ-Timeouts mehr beim boot -> bootet schneller
    - Trackweises Lesen von Floppy
    -- BUG: Strg+s geht nicht mehr.
    - Aufgeräumt



  • Version 0.0.1.225:

    - VBE-Modeliste "entdrosselt": Alle Modi werden angezeigt, keine Begrenzung auf 16 mehr
    - flpydsk.c: calibrate und seek verbessert
    - Floppy-Motor-Bug behoben, der Motor wird wieder abgeschaltet (Bug durch Caching entstanden)
    - Testliste erweitert


  • Mod

    Strg+s geht nicht mehr

    TIPP:
    Wer dies verwenden möchte, nach Angaben von MrX in flpydsk.c folgende Änderungen temporär vornehmen:

    1. Zeile 616 auskommentieren
    2. Zeile 624 auskommentieren, Zeile 625 aktivieren
    3. Zeile 654 auskommentieren, Zeile 655 aktivieren
    // if(CurrentDrive->lastTrack != sector/18)
    //...
    // retVal = flpydsk_read(CurrentDrive->lastTrack*18); 
    retVal = flpydsk_read(sector); 
    //...
    // memcpy(destBuffer, CurrentDrive->trackBuffer + 512*(sector%18), 512); 
    memcpy(destBuffer, CurrentDrive->trackBuffer, 512);
    

    Dann wird der Lesevorgang von Floppy allerdings nicht beschleunigt.

    Der aktuelle Code zerstört mittels strg+s FAT2 und die ersten drei Sektoren im Data-Bereich, und er vermehrfacht die Einträge in der Root Dir. 🙄



  • Version 0.0.1.226:

    - Bugfix: Floppy-Schreiben geht wieder (siehe auch Fehler-Thread)
    - Bugfix: Falscher Schrägstrich (\) in Pfadangabe ersetzt


  • Mod

    0.0.1.227 - Rev: 811

    _DEVMGR_DIAGNOSIS_ und _READCACHE_DIAGNOSIS_ getrennt
    Fehler behoben
    beep aus!



  • Version 0.0.1.228:

    - Verbesserungen in VBE:
    -- Anzeige in 32-bit-Modus nun funktionsfähig, kein Pixelsalat mehr, korrekte Farben. In 16/15-bit sind die Farben noch falsch.
    -- "Transparentes" Bitmap nun auch transparent
    -- Code vereinfacht&verbessert
    - Weitere kleine Verbesserungen
    - Weitere Testergebnisse



  • Version 0.0.1.229:

    - Verbesserungen bei VBE-Modeerkennung:
    -- Farbtiefe jetzt in Bits angegeben
    -- Die Eigenschaften der Modi werden jetzt von der Grafikkarte abgefragt
    -- Assembler-Code verallgemeinert - Funktioniert mit allen Modi
    - vidswtch.asm wird wieder -Ox assembliert
    - Kleinigkeiten



  • Version 0.0.1.230:

    - Jeder beliebige Modus nutzbar (Durch Eingabe der dezimalen Nummer und ENTER)
    - Korrekte Darstellung in 8, 15, 16, 24 und 32-bit Modi. 8-bit wird erreicht, indem der 8-bit-Farbwert im alpha-Feld von BGRA_t steht
    - gets in util.c


  • Mod

    0.0.1.231 - Rev: 815

    Formale Änderungen in serial.h/c
    Beep ausgeschaltet


  • Mod

    0.0.1.231 - Rev: 816

    Meldungen im BL2 ergänzt

    msgGTD            db 0x0D, 0x0A, "GTD installed ...", 0
    msgUnrealMode     db 0x0D, 0x0A, "Unreal Mode entered ...", 0
    msgLoadKernel     db 0x0D, 0x0A, "Now loading Kernel ...", 0
    msgFloppyMotorOff db 0x0D, 0x0A, "Floppy Disk Motor switched off ...", 0
    msgSwitchToPM     db 0x0D, 0x0A, "Now switching to Protected Mode (PM) ...", 0
    msgFailure        db 0x0D, 0x0A, "Missing KERNEL.BIN (Fatal Error)", 0
    


  • Version 0.0.1.232:

    - serial_log eingebaut: Sendet Text über die serielle Schnittstelle (Deaktivierbar in os.h)
    - memmove in userlib
    - Kleinigkeiten


  • Mod

    0.0.1.233 - Rev: 818

    vm86 monitor wird mit serial_log überwacht

    in os.h #define _SERIAL_LOG_ aktivieren

    Anmerkung: läuft sehr langsam in VBox, also bitte Geduld. Output wird z.B. in VBox in eine text-datei gelenkt.

    Hier ein Beispiel eines Durchlaufs in VBox:
    http://henkessoft.de/OS_Dev/Bilder/serielle1.txt

    interrupt ...
    (sensitiver code)
    iret
    hlt

    interrupt ...
    (sensitiver code)
    iret
    hlt

    interrupt ...
    (sensitiver code)
    iret
    hlt

    usw.


  • Mod

    0.0.1.234 - Rev: 819

    - os.h formal umgebaut
    - serielle Schnittstelle beschleunigt (Divisor 1 anstelle 3)
    - vm86 monitor - Ausgaben nach COM1 (und Text-Datei) aktiviert

    Deutlich schneller als bei VBox geht es übrigens mit qemu:

    qemu.exe -fda FloppyImage.img -soundhw pcspk -localtime -serial file:serielle1.txt -usb -usbdevice disk:format=raw:dummy.bin

    Das ist dann COM1. Für COM2 usw. einfach zusätzliche -serial ... einsetzen.



  • Version 0.0.1.235:

    - makefile verbessert
    -- Bootloader wird bei Veränderung automatisch neu kompiliert
    -- Alle map-Dateien nach /documentation gelegt
    - pci.c: Ausgabe von Vendor&DeviceID verbessert.
    - VBE:
    -- Palette nutzt nun 8-bit pro Farbe, falls von der Grafikkarte unterstützt (Qemu unterstützt es nicht)
    -- Bugfixes: Textmodi werden nun korrekt erkannt; Modi, die nicht von der aktuellen Hardwarekonfiguration unterstützt werden,werden ausgeblendet
    - Optimierungen und Aufräumarbeiten


Anmelden zum Antworten