Sourcecode Fortschritt
-
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.
-
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.cbeep (nicht sound) ausgeschaltet
-
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
-
Strg+s geht nicht mehr
TIPP:
Wer dies verwenden möchte, nach Angaben von MrX in flpydsk.c folgende Änderungen temporär vornehmen:- Zeile 616 auskommentieren
- Zeile 624 auskommentieren, Zeile 625 aktivieren
- 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
-
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
-
0.0.1.231 - Rev: 815
Formale Änderungen in serial.h/c
Beep ausgeschaltet
-
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
-
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.txtinterrupt ...
(sensitiver code)
iret
hltinterrupt ...
(sensitiver code)
iret
hltinterrupt ...
(sensitiver code)
iret
hltusw.
-
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) aktiviertDeutlich 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
-
pci.c: Ausgabe von Vendor&DeviceID verbessert.
Was wurde dort genau verbessert?
-
Bislang war es so, das DeviceID und VendorID bekannt sein mussten, damit das Gerät mit Namen genannt wurde. Jetzt wird, wenn nur der Vendor bekannt ist, dieser ausgegeben und dazu dann die DeviceID.
-
Version 0.0.1.236:
- Bugfix: (Hoffentlich) kein unkontrollierter Farbwechsel mehr
- Bugfix: Bei #PF und co werden wieder die richtigen Fehlermeldungen angezeigt
- Kleinigkeiten