Snake Game and Dose program for PC/Geos

  • Hello, I have noticed a game called Snake in the beta build of PC/Geos 6. I would like to install the

    Program into my breadbox ensemble that I use regularly. I did not see any .geo files for install. Does someone have a copy of the program files to install it into ensemble? I also have used the program called Dose on my HP Omnigo and Tandy zommer. I do not have these install files as well but I noticed that the source code is available to compile on our repository. May someone please compile the dose program so I can use that program on breadbox ensemble? I would also like to use the snake game if anyone has a copy. Or a copy of Dose. Below attached our screenshots of the dose program files that I would like the completed files to be compiled so I can use them in breadbox ensemble.

  • Hello bretttiktin,

    In Case of Snake, you can do this:
    Take a Look at the right Side of the bluewaysw-Github-Repository.
    There ist an Link "Releases".
    Click on It.
    Choose CI-Latest and click on the Link "Assets"
    Click on The Downloadlink called pcgeos-ensemble_nc.zip. Or click on psgeos-ensemble-german.zip if you like to try the german-version. :)
    Save the File and unzip it.
    You get an Directory called "ensemble" change Directory to /ensemble/world/games.
    Copy the needed Files into your Breadbox-Ensemble.

    In Case of Dose. I think aou have to wait for an better Developer than me. I tried to Compile this and i failed. I got a bunch of Error-Messages. No Geode. :(

    Und wie immer noch mal in Deutsch etwas abgekürzt:

    Für Snake, das aktuelle Release herunterladen, entpacken und die benötigten Dateien in das vorhandene Geos kopieren.

    Für den Insulin-Dosenrechner. wirst Du auf einen besseren Programmierer als mich warten müssen. Ich habe versucht das zu compilieren und bin gescheitert. Bekomme einen Großen bunten Strauss Fehlermeldung, aber keine Geode.

    Grüße Klaus / Locke

  • Dose does not compile with the new SDK because of pointer type mismatch errors. Perhaps this can be fixed by a simple typecasting, but I'm nor sure.

    Auf Deutsch: Es gib ein Pointer-type Fehlermeldungen, die sich wahrscheinlich per simples typecasting fixen lassen - aber dazu muss man schauen, was der Code macht.

    @bretttiktin (sorry for this question) do you know how to compile a program? Then you may create the geo file yourself.

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Dose does not compile with the new SDK because of pointer type mismatch errors. Perhaps this can be fixed by a simple typecasting, but I'm nor sure.

    Auf Deutsch: Es gib ein Pointer-type Fehlermeldungen, die sich wahrscheinlich per simples typecasting fixen lassen - aber dazu muss man schauen, was der Code macht.

    @bretttiktin (sorry for this question) do you know how to compile a program? Then you may create the geo file yourself.

    Rainer

    X:/pcgeos/Appl/Breadbox/Dose/favs.goc(204): Error! E1176: Parameter 4, pointer type mismatch
    X:/pcgeos/Appl/Breadbox/Dose/favs.goc(204): Note! I2003: source conversion type is 'DataStruct *__far *'
    X:/pcgeos/Appl/Breadbox/Dose/favs.goc(204): Note! I2004: target conversion type is 'void **'
    X:/pcgeos/Appl/Breadbox/Dose/favs.goc(230): Error! E1176: Parameter 3, pointer type mismatch
    X:/pcgeos/Appl/Breadbox/Dose/favs.goc(230): Note! I2003: source conversion type is 'void __based(void) *__far *'
    X:/pcgeos/Appl/Breadbox/Dose/favs.goc(230): Note! I2004: target conversion type is 'unsigned short __far *'

    Hier die Fehlermeldungen von Dose unter FreeSDK !

    von Nico

  • Ja, der Watcom Compiler ist sehr streng was die Typisierung von Funktionsparametern betrifft. Die beiden Codestellen können aber durch einen geeigneten Typecast 'gerettet' werden.

    Jirka

    Da sind sehr viele drin 13 nur in 2 Code Dateien und da sind noch weitere Dateien !

    Leider finde ich keine gute Hilfe für das Typcasing bräuchte schon Beispiele und Erklärung.

    Habe hier was gefunden , aber verstehe nicht alles !

    Open Watcom 2.0 C Language Reference (open-watcom.github.io)

    errors.txt

    Gruss von Nico

  • hab mal kurz draufgeschaut. Da liegt eine Menge anderer Arbeit an, insbesondere stimmt die Groß/Kleinschreibung der Dateinamen nicht.
    @Nico: Das darf man NICHT mit dem Windows-Explorer ändern, sondern unbedingt mit GIT!

    So wie es ist compiliert Dose unter \installed gar nicht, z.B. weil er dose.gp nicht findet (heißt ja DOSE.GP) und mehr....
    Rufe ich den pmake &Co direkt im Code-Ordner, meckert er mit obigen Fehlermeldungen.
    Seltsam.

    Wie auch immer, das ist kein "mal so in in ner halben Stunde nebenbei" Projekt mehr.

    Rainer

    Nachtrag: Bevor du ein solches Problem per explizitem Typecasting fixt (also: Du doofer compiler, ich weiß genau was ich will, auch wenn du das anders siehst ...) musst du schauen, ob der Code inhaltlich in Ordnung ist. Dann schaust du, welchen Typ der entsprechende Parameter laut Routinendefinition hat - bei den HugeArray Routinen ist es oft 'void **' - und teilst dann dem Compiler mit, dass er den Ausdruck '&irgendwas' als void** zu interpretieren hat: (void**)&irgendwas. Wie gesagt, wenn &irgendwas dann keine Adresse eines Pointers auf eine Struktur ist, mecker der Compiler zwar nicht mehr, aber es geht dann eben schief.

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • In der Tat. das Proggie braucht noch ein große Tüte Zuwendung.:)
    So müsste ihm irgendwer beibringen , dass es neben den englischen Masseinheiten noch das metrische System gibt.
    Ein Part des Programms berechnet den BMI (BodyMassIndex). aber eben nur, wenn man Seine Daten in lbs und Inches angibt. Das Ergebnis stimmt dann durchaus wieder, zumindest mit den Werten, die z.B. meine Waage errechnet,. Nur so habe ich das mit anderen Hilfsmitteln entschieden schneller errechnet.

    Grüße Klaus / Locke

  • Hi Nico,

    das Thema TypeCasting ist wirklich nicht mal so eben auf die Schnelle erklärt, weil man dazu leider ziemlich genau wissen muss, wie C Daten interpretiert.

    Ich hab mal ChatGPT gefragt, hier sind die Antworten. Vielleicht kannst Du ja ChatGPT auch ein paar Beispiele aus dem GEOS Code zeigen und fragen, was der Code macht, um der Sache auf die Spur zu kommen...

    ChatGPT
    A conversational AI system that listens, learns, and challenges
    chatgpt.com
  • nschu : sieht gut aus. Wichtig ist, dass man so etwas nur macht, wenn man weiß, was man da tut.

    Ich finde es ziemlich schade, dass watcom nicht wie andere Compiler void* als zuweisungskompatibel zu allen Pointertypen interpretiert.

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • X:/pcgeos/Appl/Breadbox/Dose/process.goc(815): Error! E1081: Expression must be scalar type
    X:/pcgeos/Appl/Breadbox/Dose/process.goc(815): Error! E1010: Type mismatch
    X:/pcgeos/Appl/Breadbox/Dose/process.goc(815): Note! N2003: source conversion type is 'int'
    X:/pcgeos/Appl/Breadbox/Dose/process.goc(815): Note! N2004: target conversion type is 'struct {...}'

    TimerGetDateAndTime(&date);
    FloatGetDateNumber(date.TDAT_year, (byte)date.TDAT_month, (byte)date.TDAT_day);
    FloatPopNumber(&today);
    startDay = today - days[span - 1]; Zeile 815
    Was muss hier gemacht werden ?

    von Nico

  • nschu : sieht gut aus. Wichtig ist, dass man so etwas nur macht, wenn man weiß, was man da tut.

    Ich finde es ziemlich schade, dass watcom nicht wie andere Compiler void* als zuweisungskompatibel zu allen Pointertypen interpretiert.

    Rainer

    Könnte das denn nicht in eine Include Datei hinzugefügt (definiert) werden !

    von Nico