Sourcecode Fortschritt
-
0.0.1.51 - Rev: 617:
weitere Korrekturen in vm86.c (cs:eip und ip)
Löst aber immer noch nicht das Grafikdarstellungsproblem
-
0.0.1.52 - Rev: 618:
vm86.c: weitere versuche der verbesserung, hilft alles nichts
EDIT: ohne #define _VM_DIAGNOSIS_ reboot ganz vorne
-
0.0.1.53 - Rev: 619
roll-back bei vm86.c, irq.c, vm86.h auf vers. 607
-
0.0.1.54 - Rev: 620
vm86.c: HLT nach exit() wieder eingebaut
Jetzt funktioniert es endlich so wie gewollt
-
0.0.1.55 - Rev: 621
irq.c, vm86.c Restaurationsarbeiten laufen schrittweise an:
entscheidender Fehler: printf während vm86 (nun alles hinter Gitter)
-
0.0.1.56 - Rev: 622:
wegen #PF auf VMWare bei 1045h und bei real PC bei 9FC3Fh zunächst alles frei gegeben für user von 0 - FFFFFh
Tests: Qemu, Bochs, Vbox gehen wie gewünscht.
VMWare und real PC zeigen die Grafik nicht.
Vermutung: Hardware-Frequenzen müssen noch in der SW eingestellt werden
-
0.0.1.57 - Rev: 623:
vm86.c: weiter korrigiert
Real PC zum ersten Mal ok! Rückschalten auf Textmodus 80*50 bei real PC noch nicht sauber funktionsfähig. Die Zeichen fehlen.
Bochs: http://www.henkessoft.de/OS_Dev/Bilder/0_0_1_57_vm86_grafik.PNG (so sieht es inzwischen auch auf real PC aus)
-
Version 0.0.1.58:
- Dokumentationsdatei hinzugefügt
- Vorbereitung für Scheduler-Sleep
- Optimierung beim task-switch
- Kleine Korrekturen/Optimierungen
-
Version 0.0.1.58 - Rev: 625
Rücksprung auf text mode gelöst, zuerst muss ein Mode mit AH=00 gewählt werden
text_mode: mov ax, 0x0002 int 0x10 mov ax, 0x1112 xor bl, bl int 0x10
-
Version 0.0.1.58 - Rev: 626 (kernel stabil)
- Aktuelle Palette dargestellt anstelle grüne Linie
- BL2 (formal)
- vidswtch.asm (Marke gesetzt bei Schriftzug PrettyOS)
-
Version 0.0.1.59 - Rev: 628
- PageDirectory aus den vm86 Funktionen entfernt
- Linien in hellblau (9)
-
Version 0.0.1.61 - Rev: 630
- vidswtch.asm: Schriftzug PrettyOS entfernt
- vbe.h/c: drawCircle
- util.h/c: sqrtLeider noch Reboot
-
Version 0.0.1.62 - Rev: 631
FPU-Problem mit fabs und sqrt bezüglich vm86 zurückschalten in TextMode
daher line und drawCircle auskommentiert
-
Version 0.0.1.63
- Scheduler unterstützt jetzt das schlafen. Kein Busy-Sleep mehr
- timer: umgebaut auf scheduler-sleep, Funktionen umbenannt, aufgeräumt
- Bugfixes in synchronisation, list, ...; Umsortierung der Includes dort
- Funktionen von ckernel.c nach vbe.c ausgelagert
- Sound wieder aktiviert
- ...
-
Version 0.0.1.64 Rev: 633
getVBEInfo eingebaut in vidswtch.asm, Daten ab 0x1000 (ES:DI)
-
0.0.1.65 - Rev: 634
somone hat Info-Strukutren für Grafikeigenschaften eingefügt und übergibt diese bei 0x1000 aus dem vm86 task mit vidswtch.asm.
So ändern:
void vgaDebug() { printf("\nsizeof VgaInfoBlock_t: %X\n",sizeof (VgaInfoBlock_t)); printf("signature: %s\n", pVga->VESASignature); printf("version: %u\n", pVga->VESAVersion); printf("OEMString: %s\n", pVga->OEMStringPtr); printf("Capabilities: %X\n", pVga->Capabilities); printf("VideoModePtr: %X\n", pVga->VideoModePtr); printf("TotalMem: %u\n", pVga->TotalMemory); printf("reserved: %u\n", pVga->reserved[236]); }
http://www.karig.net/os/001a.html <--- interessanter Link
-
0.0.1.66 - Rev. 635
somone hat vbe.h/c weiter ausgebaut und die Daten mittels vm86 task gezogen
-
0.0.1.67 - Rev: 636
- bitmap via incbin includiert (font.bin, font.bmp)
- Bitmap Header auslesen, anzeigen test
- tool font2bin hinzugefügt (tools/src/font2bin.c, tools/font2bin.exe)
- data.asm erweitert
-
vbe.h, zeile 9:
#define VM86_SWITCH_TO_TEXT ((void*)0x137)
somone: Was genau macht diese Version? wozu dient font2bin.exe?
-
0.0.1.68 - Rev: 637:
- vbe.h, zeile 9 korrigiert
- ckernel.c: grünes Rechteck 2 Pixel angehoben
- Ausgabe von VgaInfoBlock optimiert
- Erste 16 Videomodes werden ausgegeben (Video Modes Ptr)
- kleine Fehlerkorrekturen (auch konseqent %i gegen %u getauscht)