Sourcecode Fortschritt
-
Rev. 125:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=125- RTL8139.c: handler ausgelagert
- Adressen von IO komplett auf MMIO umgestelltRev. 126:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=126
install_RTL8139(uint32_t number) auch noch ausgelagertReal Hardware läuft
Status bei den Simulationen:
Bochs 2.4.2: läuft
Qemu 0.11.50: läuft
MS VPC 6.0.192.0: läuft.
Sun VB 3.1.2 und 3.1.4: läuft.
-
Rev. 127:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=127- Zwischenschritt in RTL8139.c
- neu: ipTcpStack.h/c
-
Rev. 128:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=128userlib.c: gets(char*) funktionsfähig gemacht, aber irgendwie merkwürdig.
char* gets(char* s) { int i=0,flag=0; char c; //settaskflag(0); do { c = getch(); if(c=='\b') // Backspace { if(i>0) { putch(c); s[i-1]='\0'; --i; } else { beep(50,20); if(flag==false) { putch('\n'); flag=true; } } } else { s[i] = c; putch(c); flag=false; i++; } } while(c!=10); // Linefeed s[i]='\0'; //settaskflag(1); return s; }
Vielleicht liegt es auch daran, das settaskflag ausgeschaltet wurde, bitte testen. Obiges gets ist nur work-around, aber auch gut zum Testen.
Die ausführliche Version ist hier: http://www.c-plusplus.net/forum/viewtopic-var-t-is-260731-and-start-is-50.htmlIch habe es am realen PC getestet: Da kommt man nicht mehr in die obere Zeile.
Bei qemu geht das ab und zu, also "unsauber".Das hat mit der Task-/Video-Steuerung zu tun.
ich hoffe, dass dieses gets zunächst die Wünsche von MrX und Cuervo befriedigen.
-
Rev. 129:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=129TCP/IP-Stack leicht verändert/korrigiert
-
Rev. 130:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=130TCP/IP-Stack leicht verändert
Screenshot: http://www.henkessoft.de/OS_Dev/Bilder/rev130.PNG
-
Rev. 131:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=131Korrektur bei TCP/IP (zusätzlich im Screenshot oben: Erkennung von ARP)
-
Rev. 132:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=132pci.c: USB EHCI: Einstieg in Daten-Ermittlung (z.B. OpRegs Adresse, siehe: http://www.c-plusplus.net/forum/viewtopic-var-t-is-253016-and-start-is-39.html)
-
Rev. 133:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=133- paging.c: bool paging_do_idmapping( uint32_t phys_addr ) versuchsweise ab 0xC0000000 (Grund: manche MMIO beginnen ab 0xD....... oder 0xE.......)
- ckernel.c:int main() { init(); pODA->Memory_Size = paging_install(); printformat( "\n\nMemory size: %d KB\n", pODA->Memory_Size/1024 ); heap_install(); pciScan(); // scan of pci bus; results go to: pciDev_t pciDev_Array[50]; (cf. pci.h) tasking_install(); sti();
pciScan direkt hinter heap_install(). In pciScan() werden MMIO (USB EHCI, Netzwerkarte ID-gemappt.
Mal sehen, ob es klappt oder #PF hagelt?
-
Rev. 134:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=134Für unsere verehrten User:
void clear_screen() <--- TODO: nur oberen Bildschirmbereich löschen.
void gotoxy(unsigned char x, unsigned char y)
-
Rev. 135:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=135userlib.h/c: clear_screen() umgestellt auf Löschen der ersten 46 Zeilen (User-Bereich).
-
Rev. 136:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=136- kleine Verbesserungen nach cppcheck
- c99 im makefile bei user ergänztRev. 137:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=137ext in paging.c wieder eingefügt, ansonsten Error-Meldung.
-
Rev. 138:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=138neu: ehci.c (als Keimzelle für den USB 2.0 Host Controller) vergessen worden!
userlib.h/.c: clearScreen(backcolor)
flpydsk.c: Zählervariable versuchsweise im Schleifenkopf definiert (c99 style)
-
Rev. 139:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=139- ehci.c war vergessen worden, jetzt dabei
- fat12.c auf c99 umgestellt
-
Rev. 140:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=140pci.c und initrd.c auf c99 umgestellt (Zähler im Schleifenkopf)
-
Rev. 141
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=141rtl8139.c, util.c und userlib.c auf c99 umgestellt
-
Rev. 142:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=142Fehler in clear_userscreen (video.c) korrigiert
-
Rev. 144:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=144ehci.h/c: initEHCIHostController() TEST-Version (erste Gehversuche )
pci.c, Zeilen 187/188:
analyzeEHCI(bar); initEHCIHostController();
siehe EHCI Spec Rev. 1.0, Kap. 4 "Operational Model"
Ideal: Sun VB oder reale Hardware mit EHCI USB und Netzwerkkarte 8139
(Anm:: rev. 141-143 war fehlerhaft bezüglich rtl8139.c)
-
Rev. 145:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=145- Korrektur in RTL8139.c (reset abwarten)
- TTT 0.4 von MrX eingespielt (Sehr schön gemacht! Macht aber Probleme, wenn auf echter Hardware eine RTL8139 vorhanden ist und diese Interrupts und Prints sendet)
-
Erhard Henkes schrieb:
Rev. 145:
http://prettyos.svn.sourceforge.net/viewvc/prettyos?view=rev&revision=145Jede Quellcodedatei die ich bisher von euch gesehen habe (diese z.B.) sieht so furchtbar unvollständig aus. ihr arbeitet wohl an 100 Baustellen gleichzeitig.
-
Es gibt derzeit auch viele Baustellen... Vlt. hast Du konkrete Vorschläge, wo man was verbessern könnte?