User-Programme



  • Ein neues Programm von mir:

    Mr. X Calculator
    Der bereits versprochene Rechner...

    Features:
    unterstützt Addition, Subtraktion, Multiplikation und Division. Unterstützt derzeit keine Klammern und Fließkommazahlen. Läuft in einer Schleife, die mit "exit" beendet wird.

    Download: http://kloke-witten.dyndns.org/~philipp/downloads/PrettyOS/Calculator.zip

    mfg
    Mr. X

    LAST-EDIT: Auf Version 0.2 aktualisiert.


  • Mod

    Stand der User-Funktionen Rev. 134:

    isdigit(c)
    isalpha(c)
    isalnum(c)
    isupper(character)
    islower(character)

    syscalls
    void settextcolor(unsigned int foreground, unsigned int background);
    void putch(unsigned char val);
    void puts(char* pString);
    unsigned char getch();
    int floppy_dir();
    void printLine(char* message, unsigned int line, unsigned char attribute);
    unsigned int getCurrentSeconds();
    unsigned int getCurrentMilliseconds();
    int floppy_format(char* volumeLabel);
    int floppy_load(char* name, char* ext);
    void exit();
    void settaskflag(int i);
    void beep(unsigned int frequency, unsigned int duration);
    int getUserTaskNumber();
    void clearScreen(unsigned char backgroundColor) <--- Löschen der ersten 45 Zeilen (User-Bereich)
    void gotoxy(unsigned char x, unsigned char y)

    user functions
    char toLower(char c);
    char toUpper(char c);
    char* toupper( char* s );
    char* tolower( char* s );

    unsigned int strlen(const char* str);
    int strcmp( const char* s1, const char* s2 );
    char* strcpy(char* dest, const char* src);
    char* strncpy(char* dest, const char* src, unsigned int n);
    char* strcat(char* dest, const char* src);
    char* strchr(char* str, int character);

    char* gets(char* s);

    void reverse(char* s);
    void itoa(int n, char* s);
    int atoi(char* s);
    void float2string(float value, int decimal, char* valuestring);

    void showInfo(signed char val);
    void test();



  • Hier ein kleiner Rechner zum ausprobieren.
    Bitte beachte dies
    Fehlerhaftes malloc

    Rechner.zip

    ---



  • Schönes Programm 👍 , der Quellcode wär aber natürlich auch interessant.

    Danke auch für die Errinnerung an das malloc-Problem, hätten wir fast vergessen.

    (Und die Rechtschreibfehler in der Hilfeseite könntest Du vlt. noch beheben...)


  • Mod

    Cuervo hat folgendes festgestellt, als er versucht hat, ein Spiel zu programmieren: (aus IRC)
    "man bräuchte eine Funktion, die von allen Tasten den Status zurückgibt, ohne das Programm anzuhalten (1=gedrückt, 0=nicht gedrückt).

    If (KeyState(KEY_SPACE)==1) { whatever(); }
    


  • Ja, das lässt sich doch alles machen, oder?

    Sollten wir im Zuge der Überarbeitung des Keyboard-Treibers erledigen.

    @Cuervo: Vlt hast Du ja Lust, dich mal an den Keyboard-Treiber zu wagen?



  • Vllt erinnerst du dich, viele waren gegen eine solche Funktion. Nach meiner Erinnerung sogar du^^

    Cuervo


  • Mod

    Was spricht dagegen?



  • Ich war/bin gegen überflüssige Syscalls, bzw. mehr Syscalls als nötig.

    Bevor solche Syscalls gebaut werden, sollte der Keyboard-Treiber aber erstmal repariert werden. Siehe auch:


  • Mod

    keyPressed(...) ist inzwischen eingebaut. Übrigens auch eine srand/rand-Funktionalität zur Erzeugung von Zufallszahlen. Als Beispiel habe ich das Spiel ARROW ATTACK gebastelt, das diese beiden Elemente nutzt und damit demonstriert. 🙂


  • Mod

    Hier mal etwas Werbung für "arrow". Durch die Performance-Steigerung von PrettyOS (scheduler) nun eine echte Herausforderung:

    trials: 1/2000           "ARROW ATTACK" 0.12 E. Henkes  A=left, R=right, S=del  
    
           |                                                                        
           v                                                                        
    
                                                            |         |             
                                                       |    v         v             
                                      |                                          |  
                                      v                                          v  
    
                                                       |                            
                                                       v                            
    
                                                                                |   
                                                                                v   
    
                   |                                                                
                   v       |                                                        
                           v                                                        
                      |  |                                                          
                      v  v                                              |           
                                                                        v           
    
                                                                   |                
                                                                   v                
    
                       |                                                            
                       v                                                            
    
              |                                   |                                 
              v                                   v                                 
                                                                                  | 
         | ||  |   |  |    |                        |          | |    |  |        v 
         v vv  v   v  v    v                        v          v v    v  v          
                                                                                   
    
    --------------------------------------------------------------------------------
    Saturday, August 14, 2010, 13:39:53   861 s runtime. CPU: 1399 MHz             /
    

    Versucht euch so schnell wie möglich, aber auch mit möglichst wenig 's' (trials), nach rechts durchzuschlagen. 😃

    FSK: Noch keine Suchtgefahr. 👍


  • Mod

    Mit browser.elf, irc.elf, starwars.elf werden nun kleine Experimental-Programme angeboten, die man verwenden kann, um einen richtigen text-Browser, irc-Chat, telnet-Client etc. zu entwerfen.


  • Mod

    Cuervo bastelt gerade an einer Pretty Control (remote control für PrettyOS via Browser).

    im chat:
    Cuervo:
    - Userland-Funktionen für folgendes wären gut: CPU Frequenz abfragen, Arbeitsspeicher abfragen (belegt, gesamt), IP im Netzwerk abfragen, Videospeicher auslesen
    - CPU-Taks, RAM, IP und vllt Videospeicher auslesen wären toll

    MrX:
    - Ich habe mir darüber schonmal Gedanken gemacht und habe vor einem Jahr das hier entwickelt: http://www.c-plusplus.net/forum/269501. Ich habe immernoch vor, etwas derartiges zu implementieren. Das würde derartige Probleme "schlagartig" lösen.



  • FTP:
    Ich bin grad dabei FTP in nem Userprogramm zum laufen zu bringen.
    Nach dem Login auf "meinem" Server (im Passive Mode) hat ne Dateiübertragung über eine 2. Connection funktioniert 👍 👍 👍

    ich muss da aber noch ein bischen rumprobieren ^^



  • [veraltet]
    Bedienungsanleitung für ftp.elf:
    1. Verbinden sollte klar sein (Host, User, Pass).
    2. Mit F8 gibt man FTP-Befehle ein
    3. Beispiel anwenden.

    Beispiel:
    -Verbinden (auf ESTABLISHED warten)
    -F8 drücken
    -PASV eingeben (auf ESTABLISHED warten)
    -F8 drücken
    -NLST eingeben.
    -Verzeichnisliste(root) wird gesendet (auf schließen der 2. Verbindung warten)
    -Escape 😃
    [/veraltet]

    Hier ne Liste von FTP-Befehlen:
    http://www.w3.org/Protocols/rfc959/4_FileTransfer.html


Anmelden zum Antworten