Sourcecode Fortschritt


  • Mod

    version = "0.0.2.289 - Rev: 1140"

    - EVENT_TCP_CLOSED hinzugefügt (bitte testen).
    - log des heaps auf COM4 umgeleitet (die Ausgaben auf COMx sollte man noch in os.h definierbar machen)

    qemu-batch:

    del serielleSchnittstelle1.txt
    del serielleSchnittstelle2.txt
    del serielleSchnittstelle3.txt
    del serielleSchnittstelle4.txt
    set QEMU_AUDIO_DRV=wav 
    qemu.exe  -boot a -fda FloppyImage.img -soundhw pcspk -net nic,model=rtl8139 -redir tcp:5023::23 -redir tcp:8080::80 -localtime -net user -net dump,file=netdump.pcap -serial file:serielleSchnittstelle1.txt -serial file:serielleSchnittstelle2.txt -serial file:serielleSchnittstelle3.txt -serial file:serielleSchnittstelle4.txt -usb
    

  • Mod

    version = "0.0.2.290 - Rev: 1141"

    - rtl8139.c: Änderung der Reihenfolge im handler analog programming guide
    - os.h: defines zur Wahl der vier COMx für serial_log
    - Kleinigkeiten


  • Mod

    version = "0.0.2.291 - Rev: 1142"

    Einbau einer Zeitabfrage zur Vermeidung/Verzögerung eines Absturzes (freeze des asteriks) bei dauernd gehaltener Tastenkombination in kernel idle loop, z.B. strg+c


  • Mod

    version = "0.0.2.292 - Rev: 1143"

    - Personenwaggon vergrößert
    - TODO: weitere Bewegungsabläufe / Infos in den unteren 3 Zeilen
    - userlib.c formale Kleinigkeiten


  • Mod

    version = "0.0.2.292 - Rev: 1144"

    - userlib.c:
    Der Zug in der "Scrolling Ticker Line" wurde um ein Schiff (Die Idee hierzu hatte Cuervo, ich musste nur die Schornsteine für die Fahrtrichtung nach rechts umformen ^^) ergänzt.
    - shell.c:
    Nach jeweils 20 sec wird in der shell das motiv getauscht: (getCurrentSeconds()/20) % 2 + 1 ergibt 1 oder 2


  • Mod

    version = "0.0.2.293 - Rev: 1145"

    Kleine Veränderungen in fs.h/c und ckernel.c


  • Mod

    version = "0.0.2.294 - Rev: 1146"

    Fehler in todoList.c korrigiert: task wird in todoList_execute nun ebenfalls frei gegeben.


  • Mod

    version = "0.0.2.295 - Rev: 1147"

    userlib.h:
    bool udp_send(void* data, uint32_t length, IP_t destIP, uint16_t srcPort, uint16_t destPort) hinzugefügt.


  • Mod

    version = "0.0.2.296 - Rev: 1148"

    udpsend.c und udprecv.c und default in udp.c zum testen von udp-tranfers

    EMPFANG geht nicht in user (Problem: event-system ?)


  • Mod

    version = "0.0.2.297 - Rev: 1149"

    TextGUI_ShowMSG, TextGUI_AskYN (syscalls)



  • Rev. 1152:

    * ftp.c von neuer_user hinzugefügt
    * Userprogramm-Maps werden erzeugt in documentation/
    * pong.c hinzugefügt (nutzlos für normale Benutzer)


  • Mod

    version = "0.0.2.298 - Rev: 1153"

    Problem gelöst. udpsend, udprecv im user-land funktioniert nun grundsätzlich. 🙂

    qemu-batch:

    del serielleSchnittstelle1.txt
    del serielleSchnittstelle2.txt
    del serielleSchnittstelle3.txt
    del serielleSchnittstelle4.txt
    set QEMU_AUDIO_DRV=wav
    qemu.exe -boot a -fda FloppyImage.img -soundhw pcspk -net nic,model=pcnet -redir tcp:5023::23 -redir tcp:8080::80 -redir udp:8084::8084 -redir udp:8085::8085 -localtime -net user -net dump,file=netdump.pcap -serial file:serielleSchnittstelle1.txt -serial file:serielleSchnittstelle2.txt -serial file:serielleSchnittstelle3.txt -serial file:serielleSchnittstelle4.txt -usb


  • Mod

    version = "0.0.2.299 - Rev: 1154"

    - udp.c: alle blocked tasks erhalten den Payload im UDP-Paket (ist in rev. 1157/1158 korrigiert)
    - udpsend/udprecv.c leicht überarbeitet
    - pit.h eingefügt (für timer.c und sys_speaker.c)
    - Sonstiges



  • Rev. 1155 (Version 0.0.2.300):

    * Codeaufräumarbeiten laut Styleguide

    Wenn nicht gewünscht bitte auf Rev. 1154, Version 0.0.2.299 reverten.


  • Mod

    version = "0.0.2.301 - Rev: 1156"

    pit.h, timer.c, sys_speaker.c: Konstanten für Counter 0,1,2 des PIT überarbeitet.


  • Mod

    version = "0.0.2.302 - Rev: 1157"

    bool flushEvents(EVENT_t filter); eingefügt in userlib.h/c (als syscall)
    (Fehlerhaft: versehentlich wird der task gelöscht anstelle das event 😃 )

    udp.c wird umgebaut auf "tasks" (Liste aller tasks, siehe task.c) anstelle blocked tasks (aus scheduler.c). Die beiden Ringe werden wieder static. 😉


  • Mod

    version = "0.0.2.303 - Rev: 1158"

    bool flushEvents(EVENT_t filter) korrigiert.


  • Mod

    version = "0.0.2.304 - Rev: 1159"

    - void flip() und void autorefresh(bool on) in video.c. (syscall)
    - Variable autoRefresh in video.c


  • Mod

    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 Fehlerbehebungen

    DoubleBuffering funktioniert immer noch nicht korrekt, clearScreen(0x00); löscht komischerweise nicht... -.-

    "Beweisbild":
    http://prettyos.fanofblitzbasic.de/ppong2dbuffng.png

    Erklä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.


Anmelden zum Antworten