Sourcecode Fortschritt
-
version = "0.0.2.303 - Rev: 1158"
bool flushEvents(EVENT_t filter) korrigiert.
-
version = "0.0.2.304 - Rev: 1159"
- void flip() und void autorefresh(bool on) in video.c. (syscall)
- Variable autoRefresh in video.c
-
version = "0.0.2.305 - Rev: 1160"
userlib.h/c: uint32_t getMyIP() (syscall nach network.h/c)
Verwendung in test.c:
IP_t ip; ip.iIP = getMyIP(); printf("My IP is %u.%u.%u.%u", ip.IP[0], ip.IP[1], ip.IP[2], ip.IP[3]);
-
Rev. 1161, v0.0.2.306:
* DoubleBuffering kann jetzt für jede Konsole einzeln eingestellt werden (gab vorher echte Probleme beim Umschalten in andere Konsolen, die kein DoubleBuffering konnten, wie z.B. die Kernelkonsole)
Das hätte man nicht global in video.c einbauen dürfen, sondern in console_t.
* Scrollen in Konsolen kann ausgeschaltet werden (auch im Userland) (yeah, erster eigener Syscall!)
* Kleinere FehlerbehebungenDoubleBuffering funktioniert immer noch nicht korrekt, clearScreen(0x00); löscht komischerweise nicht... -.-
"Beweisbild":
http://prettyos.fanofblitzbasic.de/ppong2dbuffng.pngErklärung:
Das Menü wird von unten in das Bild hereingeschoben und zieht anscheinend "Schlieren", allerdings nur über etwas mehr als die linke Hälfte des Bildes.
clearScreen(); ist anscheinend ganz oder nur teilweise nicht funktionsfähig.Leider brauche ich DoubleBuffering, sonst flackert das Bild die ganze Zeit.
-
Lösung im chat:
void flip() { autorefresh(true); __asm__ volatile("int $0x7F" : : "a"(67)); autorefresh(false); }
-
Rev. 1162:
* DoubleBuffering geht jetzt (zwar mit Hack, aber immerhin)
* tcp.c korrigiert (Korrektur von Dr. Erhard Henkes)
-
0.0.2.307 - Rev: 1163:
-ftp.c: Funktionen hinzugefügt
-
version = "0.0.2.308 - Rev: 1164"
defines in video.h für updateCursor hinzugefügt
-
version = "0.0.2.309 - Rev: 1165"
- Kleinigkeiten, defines
- const uint32_t RAMDISKSIZE = 0x100000;
-
0.0.2.309 - Rev: 1166
browser.c:
-Neue Funktionen
ftp.c:
-Dateien herunterladen/speichern
-unterschiedliche Ports möglich
-
version = "0.0.2.310 - Rev: 1167"
- tcp.c: EVENT_TCP_CLOSED wird nun ausgelöst, wenn die Verbindung ESTABLISHED verlässt, nicht erst, wenn sie gelöscht wird
- fat.c: FAT_showDirectoryEntry(dir); in fillFILEPTR wurde mit _FAT_DIAGNOSIS_ auskommentiert
-
version = "0.0.2.311 - Rev: 1168"
tcp.c: Unkritische Error-Ausgaben hinter _TCP_DEBUG_ verbannt
-
0.0.2.311 - Rev: 1169:
browser.c: tcp_close(connection) aus EVENT_TCP_RECEIVED verschoben.
-
version = "0.0.2.311 - Rev: 1170"
userlip.hpp: Ersatz für new/delete ist nicht notwendig (Dank an cooky451 für den Hinweis)
-
version = "0.0.2.312 - Rev: 1171"
Neue User-Fkt. in userlib.h/c (syscalls):
void dns_setServer(IP_t server);
void dns_getServer(IP_t* server);Startwert DNS-Server: 0.0.0.0.
Nach DHCP ACK wird auf gateway (DHCP server) gesetzt.
-
"0.0.2.313 - Rev: 1175"
- Neue Dateien in user_tools: dns.c dns.h dns_help.c dns_help.h
- Neue Datei in other_userprogs: showdns.cdns.h bietet Funktionen zum parsen/erstellen von DNS Anfragen.
Momentan können nur header, questions und answers geparst werden, für Näheres siehe dns.c.
dns_help.h bietet kleine Helferfunktionen, wie:
getAddrByName(); // gibt erste gefundene Adresse zurück
showDNSQuery();showdns.c: Ruft einfach showDNSQuery() auf; zum testen.
---
DNS Server auf statische IP 208.67.222.222 geändert, da es noch Probleme mit der automatischen Findung gibt. (@Erhard: 10.0.2.2 funktioniert leider nicht wie vermutet.)
-
DNS server (name server) in qemu ist 10.0.2.3
-
version = "0.0.2.314 - Rev: 1176"
- syscall.c etwas erweitert und userlib.c nach Nummern sortiert
-
version = "0.0.2.315 - Rev: 1177"
- events.c (style)
- network.h: working DNS server
-
version = "0.0.2.316 - Rev: 1178"
task.c, scheduler.c: Anzeige der tasks (strg+t) optimiert
Lustiger Nebeneffekt: dauerhaft strg+t gedrückt halten.