Unterschiede BBE 4 vs NDO2000/GPC?

  • Moin,

    Hier eine Frage an die mit gutem Ged├Ąchtnis oder einer gut sortierten Sammlung ­čśë Soweit ich mich erinnere war ja BBE damals in mancher Hinsicht ein R├╝ckschritt im Vergleich zu NDO2000. Das betrifft nat├╝rlich vor allem das CUI, welches in BBE nicht dabei war. Auch enthielt NDO2000 eine neuere Version des FileFinders.

    Aber davon abgesehen, an was f├╝r Sachen erinnert ihr euch dar├╝berhinaus noch? Was war in NDO2000 noch verbessert und fehlte sp├Ąter in BBE? Bin f├╝r jeden Hinweis dankbar.

    Bye,

    MeyerK

    Bye,
    MeyerK

  • Gosh, Konstantin, you ask about things 20 years ago! I remember that Gene wrote a new E-mail peogram, called E-mail, the NDO e-mail programs was ditched. Gene also made updates to NDO GUI, free to download and install. I also recall that Frank at Breadbox complained about changes made to the code during GlobalPC/NDO era which contained bugs which affected the Terminal program among other things. Something also happened to the parallel port handling. This lead for Breadbox to take a step back codewise, to older version pre the changes. Hopefully, others can fill in?

  • Hat eigentlich jemand einmal Gene Anderson bez├╝glich dem dem Quellcode von seinen Programmen kontaktiert?

    Irgendwie sollten wir von diesen ehemaligen Programmierern eine Liste f├╝hren mit dem Status, was mit ihren Programmen und Quellcode geschehen soll oder eben nicht...

  • MeyerK Der hat leider noch keine Implementierung bez├╝glich ResEdit. Ich habe die DE / EN per globaler Konstante implementiert, was nat├╝rlich nicht ganz SDK-like ist...

    Sollte mal den Quellcode auf mein pers├Ânliches Github legen. So k├Ânnten die ge├╝bten Programmierer mir sicher entsprechende Hints geben...

  • Ich habe bei den TrayApps (war es das?) die ganze Lokalisierungsgeschichte entfernt. Nach dem Einchecken des englischen Source-Codes war am n├Ąchsten Tag in der deutschen Version alles wie von Geisterhand ├╝bersetzt ;) Will sagen, die ├ťbersetzungscrew hat sich drum gek├╝mmert und ich habe echt keine Ahnung wie sie das macht, bin einfach nur dankbar. Will sagen, die Lokalisierung kann trotzdem gelingen, auch wenn Du sie einfach nur entfernst ;)

    Bye,
    MeyerK

  • Ich habe da Texte in Chunks definiert. Das muss ich erst einmal so umbauen, dass diese dann auch per ResEdit ├╝bersetzt werden kann.

    Grunds├Ątzlich muss ich mir hier erst einmal einen Plan erstellen, wie ich das auf Github am besten organisiert bekomme. H├Ątte gerne einen Projektordner mit Unterprojekten, um das organisatorisch vom anderen zu trennen. Wurde da schon etwas bez├╝glich 3rd-Party Apps im FreeGEOS entschieden? Dort wird man sich wohl sehr ├Ąhnliche Fragen machen m├╝ssen...

    Dann w├Ąre noch zu kl├Ąren, welche Dateien genau ins Github sollen, bzw. welche man explizit exkluden soll. Wenn hierzu jemand einen Vorschlag hat, w├Ąre das sicher sehr hilfreich. Und hoffentlich nicht nur f├╝r mich.

  • Also, seitens Github scheint es keine vern├╝nftige Methode zu geben, Projekte in einem (Verzeichnis-)Baum zu strukturieren. Man kann lokal auf seinem Rechner Submodule verwenden, um andere Repos in einem Unterverzeichnis einzubinden. Sehe da jetzt aber keinen direkten Weg / Nutzen au Github selbst.

    Klar, ich kann in meinem Github-Account ein neues Repo anlegen. F├╝r den (Geo)Ladder zum Beispiel "pcgeos-3rd-games-ladder"?.

    Habe da leider jeweils etwas Start-Motivations-Probleme, wenn es nicht von Anfang an klar ist :|

  • Wir hatten auf dem Treffen mal gesagt, dass Zusatzanwendungen in ein Verzeichnis namens "ThirdParty" oder so kommen sollen. Bisher haben sich aber noch nicht so viele gefunden ;) Gene's Anwendung(en) sind zum Beispiel unter "dil" (designs in light) zu finden.

    Also, ich (!) finde, GeoLadder ist GeoGeschichte und geh├Ârt ins Repo. Da w├╝rde ich jetzt an Deiner Stelle einfach das pcgeos repo auf GitHub clonen und dann in Deinem geclonten Repo einen neuen Zweig anlegen, zum Beispiel "GeoLadder". Dann f├╝gst Du in Deinem geclonten Repo einen Ordner namens ThirdParty/GeoLadder hinzu und packst da Deinen Source rein. Du k├Ânntest den Ladder auch unter Appl/Games packen und im Source deutlich kennzeichnen, dass das kein GeoWorks Code ist sondern alpenfrischer Bollhalder-Code aus der Schwitz. Dann kannst Du den Code bearbeiten und testen. Wenn du fertig bist, kann man besprechen ob der "GeoLadder" Teil von PC/GEOS Ensemble V6 1.0 sein soll (;-), ich meine: ja) und Du f├╝gst f├╝gst ihn dem FileTree und dem globalen Makefile hinzu. Anschlie├čend machst du einen Pull-Request auf den Hauptzweig (also bei blueway) und fertig.

    Bye,
    MeyerK

  • Hallo Konstantin

    Das h├Ârt sich nach einem guten Plan an :thumbup:Den werde ich aber im Moment noch etwas auf die (hoffentlich nicht allzu lange) Bank schieben. Habe gerade heute Morgen bei mir im Github ein Repo angelegt und den hoffentlich letzten Stand hochgeladen:

    GitHub - bolle732/pcgeos-3rdparty-games-ladder: This is a clone of the game Ladder originally written by Yahoo Software for various CP/M systems.
    This is a clone of the game Ladder originally written by Yahoo Software for various CP/M systems. - bolle732/pcgeos-3rdparty-games-ladder
    github.com

    Das wird mit dem aktuellen SDK problemlos ├╝bersetzt und es sind mir bis anhin keine Bugs aufgefallen.

    Dieses Repo kann sich jeder Interessierte in sein LOCAL_ROOT clonen. Bei mir sieht das folgendermassen aus:

    Code
    mkdir -p /home/bolle/pcgeos-local/Appl/GeoLadder
    cd /home/bolle/pcgeos-local/Appl/GeoLadder
    git clone https://github.com/bolle732/pcgeos-3rdparty-games-ladder.git .
    source ~/.pcgeosrc
    mkmf
    pmake depend
    pmake

    Der Befehl source ~/.pcgeosrc ist spezifisch bei mir, da ich alle Umgebungs-Variablen in eine dedizierte Datei ausgelagert habe. Einige Tools von Watcom gibt es auch unter Linux und das beisst sich bei anderen Projekten, welche die Linux-Variante brauchen...

    Meine ".gitignore" sieht folgendermassen aus:

    Code
    # PC/GEOS compile artifacts
    Makefile
    *.geo
    *.mk
    *.mk
    *.nc
    *.obj
    *.rsc
    *.sym

    Passt das so? Oder gibt es f├╝r einzelne Projekte noch weitere wichtige Dateien auszuschliessen?

    Ein paar generelle Fragen habe ich nat├╝rlich noch:

    • Wie handhabt Ihr die ".rev" Datei? Einfach auf immer und ewig hochz├Ąhlen lassen? Wie macht man das, wenn man auf verschiedenen Rechnern daran arbeitet oder wenn Andere mitwirken?
    • Die Readme-Datei habe ich als Markdown mit der Endung ".md". Die Lizenz-Datei von Github per Erstellen vom Repository ist ohne Endung und nur reiner Text. Die kann man auch ohne Problem mit der Markdown-Endung f├╝hren.
    • Was f├╝r andere Dateien soll man noch verwenden? INSTALL, THANKS, TODO, VERSION etc.
    • K├Ânnte man all die Fragen mit entsprechenden Antworten / Konventionen / Vorlagen hier in einem Wiki f├╝hren oder soll das auch auf Githab?

    Grunds├Ątzlich m├Âchte ich noch etwas sattelfester im Umgang mit Github werden. Freue mich von daher auf jeden Input ;)

    Gruss
    Andreas

    PS:
    Und danke f├╝r die Motivations-Blumen 8)

  • Plan ist es, den Quellcode ├╝bersetzbar zu machen. Dann kann man ihn in das offizielle Repo ├╝berf├╝hren.

    Und Ideen f├╝r Erweiterungen sind auch noch da. Die kann ich dann in Branches meines Repo vorerst testen, ohne Branches im offiziellen Repo fahren zu m├╝ssen.

  • Ich habe da Texte in Chunks definiert. Das muss ich erst einmal so umbauen, dass diese dann auch per ResEdit ├╝bersetzt werden kann.

    Texte in Chunks sollten sofort mit Resedit ├╝bersetzbar sein. Auch visMoniker, GTXI_text etx. Probleme machen wahrscheinlich Sonderzeichen unter 0x20, wenn sie im Text sind. Plain Text im Code ist nicht lokalisierbar.

    *.mk

    Die darfst du auf keinen Fall git-ignoren. Schau mal in die gitignore vom Repo.

    Was f├╝r andere Dateien soll man noch verwenden? INSTALL, THANKS, TODO, VERSION etc.

    Da w├╝rde ich sagen: Was du f├╝r richtig / n├Âtig h├Ąltst.

    Wie handhabt Ihr die ".rev" Datei? Einfach auf immer und ewig hochz├Ąhlen lassen? Wie macht man das, wenn man auf verschiedenen Rechnern daran arbeitet oder wenn Andere mitwirken?

    die rev wird nur hochgez├Ąhlt, wenn du im local-root arbeitest. Da hast du ja immer alle Dateien synchron, wenn du auf anderen Rechnern arbeitest und andere Leute haben keinen Zugriff. Im root_dir (pmake in pcgeos\installed\apll\myapp aufrufen) wird sie nicht angefasst. Das ist nicht sch├Ân, aber unvermeidbar.

    LG
    Rainer

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

  • Hallo Rainer

    Herzlichen Dank f├╝r Antworten.

    Quote

    Die darfst du auf keinen Fall git-ignoren. Schau mal in die gitignore vom Repo.

    Ja, die "local.mk" habe ich zum Beispiel auch im Repo drin. Auf die andere Seite wir die "dependecies.mk" doch bei jedem neu erzeugt. Sollte man in diesem Fall einfach nur die "dependencies.mk" in die ".gitignore" aufnehmen?

    Die ".gitignore" habe ich mir im Repo angesehen. Da ist halt auch von den Tools und allem sehr viel drin, was bei mir nicht ben├Âtigt wird...

    Andreas

  • Und bei den Chunks ist eben nicht einfach Text...

    @ifdef I8N_DE
    @chunk byte ScreenMenu[] = {
     // Title
     TSPOS(0, 11),
     TSD_T_CHAR + 2, 'L', // Text "LL"
     TSP_T_MOVE, 21,
     TSD_T_CHAR + 2, 'd', // Text "dd"
     TSP_T_MOVE + 7,
     TSD_T_CHAR + 2, 'd', // Text "dd"
     TSPOS(1, 11),
     TSD_T_CHAR + 2, 'L', // Text "LL"

    Den Text habe ich kodiert und das macht es f├╝r ResEdit unm├Âglich zu ├╝bersetzen...

    Eigentlich muss ich den ganzen Aufbau ├╝berdenken. Mein Ziel dazumal war es, so kompkten code wie m├Âglich zu generieren. Das ist dann beim Portieren ein Hinderniss.

  • Aus mir nicht bekannten Grund muss die dependencies.mk und die MakeFile im Ordner Installed/Appl/MyApp (wo man pmake ruft) vorinstalliert sein. Der Buildprozess von Falk erzeugt sie NCIHT neu. Dito f├╝r Installed/Libary/... usw.

    Rainer

    PS. Versuchmal chunk char statt chunk byte.-

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

  • Also, wenn ich in meinem "LOCAL_ROOT", das nicht innerhalb von "ROOT_DIR" liegt ein "pmake clean" mache und anschliessend die "dependencies.mk" l├Âsche, wird diese bei mir nach einem "mkmf", "pmake depend" und "pmake" neu erstellt.

    Char anstatt Byte kan ich veruchen, wird aber trotzdem f├╝r das ├╝bersetzen schwierig. Die Texte sind ja verst├╝ckelt und durch ├╝ber Steuerzeichen quasi zusammen gesetzt. Das ist f├╝r den ├ťberstzer wohl zu viel... Und in Objekten sind auch noch je nach Sprache L├Ąngenangaben mit "ifDefs" f├╝r diese Texte vorhanden...

    Ich muss mir einmal eine Beispiel-App mit ├ťberstzung basteln. Dann kann ich den Main-Branch in eine Next-Branch ├╝berf├╝hren und da versuchen das umzubauen. Eventuell ist es am Schluss fast einfacher, den Aufbau komplett neu zu machen und f├╝r weitere ├änderungen zu ├Âffnen.