Sourcecode Fortschritt
-
version 0.0.1.220 - Rev: 802
vbe.c/h
- vbe_drawBitmap(...), mit 64k Farbtiefe experimentiertvidswtch.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ügtvidswtch.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.
-
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