Posts by Ingo

    Ich finde deinen Editor-Ansatz aber einfach genial und ich habe immer auf so einen Basic-Editor gewartet (vgl. mit dem TMP Assembler). Klasse.

    Genau das wollte ich auch schon schreiben. Eigentlich hab ich schon immer auf so eine Editorfunktionalität ohne Zeilennummern usw. gewartet.

    Auch von mir: Hut ab...

    Außerdem bin ich mal auf die REU-Version gespannt... ;)

    Die "Exported Bytes Free" beziehen sich auf die Möglichkeit das Programm zu exportieren. Das bedeutet du speicherst dein Programm inkl. Interpreter aber ohne Editor und Variablennamen als ausführbare Datei ab. So hat man mehr Platz frei.

    Hmm - das verstehe ich jetzt nicht. Bevor man das Programm exportieren kann, muss man es doch erst in die 18712 Bytes quetschen.

    Oder stehe ich auf dem Schlauch?

    REU Support ist ab der 0.9.15 eingebaut, hilft einem aber noch nicht bei dem freiem Speicher. Ich plane entweder eine spezielle REU Version, welche den EDITOR dann immer in den Speicher kopiert und bei der Ausführung wieder raus, so das man nicht exportieren muss um den vollen freien Speicher zu erhalten oder die Funktionalität wird generell enthalten sein, aber nur in Verbindung mit einer REU funktionieren. Kommt darauf an wieviel Pflege aufwand eine spezielle Version benötigen würde.

    Sowas Ähnliches wie bei dem Turbo Macro Pro + REU TMP? Das wäre genial!


    Es wird aber auch nicht mehr soviel dazukommen an Befehlen, denn mir fallen keine mehr ein. Wenn du Wünsche für Befehle hast kannst du diese gerne äussern.

    Also ich bin froh, wenn es nicht so überladen ist - sehen wahrscheinlich viele anders... ;)

    Funktioniert in 0.9.15 - danke!


    Den Editor finde ich klasse: Keine Zeilennummern, Scrolling hoch/runter, Syntax-Highlighting. Echt toll - macht Spaß!

    Nur der freie RAM ist schon ziemlich eng. Was bedeuten eigentlich die 27336 Exported Bytes free? Wie nutzt man die?

    Kann man evtl. die REU dahingehend nutzen?

    Gibt's vielleicht die Möglichkeit, das Basic modular zu benutzen, um mehr freien Speicher zu bekommen. Z.B. die Hires-Sachen abschalten, wenn man die nicht bräuchte?


    Ansonsten: Tolle Arbeit!

    Hallo,

    ich wollte hier mal nachhaken, weil ich das nicht verstanden habe. Ich hatte ja hier: 1541 Ultimate 2+ Update auf 3.10j und nichts funktioniert mehr geschrieben, dass ich versucht habe an meiner alten Ultimate 2+ die Firmware 3.10a auf 3.10j upzudaten.

    Dazu hatte ich nur die update.u2p ausgefühert. Ja und danach ging nichts mehr.

    Was hat es da mit "update_to_rv.u2u" auf sich? Wenn ich die an der U anwähle, kann ich die nur umbenennen oder löschen, aber nicht ausführen.

    Diddl

    Ich habe die COMAL-201-sc2.crt Version auch mal ausprobiert, aber der Fehler bleibt.

    Ich habe auch mal einen anderen Rechner mit 250469 - Platine genommen, aber das gleiche.

    Wie gesagt, starte ich das .crt - File mit der Ultimate. Ansonsten habe ich noch nie Probleme mit crt-Files gehabt.


    Vermutung:

    Es hängt wohl zusammen mit dem missglücktem Versuch das CHAR ROM auszulesen?

    An sowas in der Art hatte ich auch schon gedacht. Aber ja, warum läuft das dann in Vice? Seltsam.

    Hallo,

    ich habe mich ein bisschen mit Comal beschäftigt, letztens mit der Fuktion "plottext" und mir ist aufgefallen,

    daß das unter Vice funktioniert und am realen C64 nicht. Anbei mal zwei Screenshots mit dem "demoprogram"

    von der Comal80demo Demo Disc.

    Am echten C64 benutze ich eine 250425 Platine und das ComalSC2.crt mit der U2+.

    Ich habe auch mal ein kleines Programm geschrieben mit "plottext". Anscheinend funktioniert die nicht richtig.

    Tritt der Fehler bei euch auch auf?

    Wie ergibt sich aus den CSV-Daten, daß Hugo Huber der Vater von Albert Huber ist?

    Das ergibt sich aus dem Dateiformat. 1. Person, 2. Vater, 3. Mutter.

    Leider nein:

    Code
    1. Albert Huber,1910
    2. Charlotte Klein,1912
    3. Utz Lang,1917
    4. Berta Waldhorst,1920
    5. Hugo Huber,1889

    Hugo Huber ist 5., nicht 2. Da bestehen noch mehr Beziehungen zwischen den einzelnen Zeilen (Stammbaum), die aber nicht so offensichtlich sind.

    Woher weiß ich das? Ich hab' das "1 - 2 - 3" in Python gemacht, und festgestellt, daß das nicht ausreicht, um denselben Output zu bekommen.

    Eben mußte ich mir die Datei nochmal anschauen. Also die stimmt:

    Erst kommt der Sohn, Hansi Huber, dann die Eltern: Robert Huber und Ute Schmitt, dann die Großeltern: Albert Huber, Charlotte Klein, Utz Lang und Berta Waldhorst. Dann die Urgroßeltern: Hugo Huber, usw.


    Klar kann man noch die Geschwister, 1. und weitere Ehefrauen berücksichtigen etc.

    Aber mir ging es hier nur um 1.: Die Pointertechnik in einer Struktur. 2.: Daten aus einer Datei auslesen und 3.: Rekursives Durchsuchen einer Baumstruktur.


    Zum Thema Baumstruktur:

    So wie es in dem Bsp. mit einem Array pf mit fester Anzahl Elementen ist, ist ja eigentlich auch nicht so toll.

    Normalerweise würde man das doch folgendermaßen machen oder?:

    Datensatz einlesen, Speicher für das Strukt "Person" allozieren und in den Baum hängen.

    Mit den Zeigern auf die Baumelement ist ja dann auch das Einfügen, Löschen und Verschieben ganz einfach. Einfach nur die Zeiger umbiegen.

    (Hatte ich letztens mal in dem Buch "C von A bis Z" von Jürgen Wolf entdeckt und direkt bestellt. Das gibt's auch online.)

    In dem Beispiel Zeiger auf Strukturen macht das obere für sich gesehen wenig Sinn, das stimmt schon.

    Aber für mich war es sehr lehrreich. Ich wollte unbedingt verstehen, wie das funktioniert, es hat mir einfach keine Ruhe gelassen und habe dabei sehr viel gelernt.

    Und ich glaube, nichts anderes wollte man hier erreichen.

    Ich habe mich nun dem Stammbaum auf dieser Seite gewidmet und ein bisschen rumprogrammiert. Das ist dabei rausgekommen:



    Zuerst werden die Daten aus der Datei "Daten.txt" gelesen und in die Personenstruktur eingetragen.

    Dann werden sie ausgegeben. Einmal per Indizierung und (auskommentiert) über den Pfeiloperator.

    Anschließend suche ich nach einem Namen. Dies geschieht in der Funktion "sucheName".

    Hierin wird die Baumstruktur rekursiv durchsucht.

    Files

    • Daten.txt

      (296 Byte, downloaded 8 times, last: )

    Was ist denn mit "pf[0]" und "pf[1]"? Und welcher Datentyp ist "pf", und wo wurde der deklariert?

    pf bzw. pf[] ist ein Array von person-Structs. In C ist es ja möglich, bei einer struct-Deklaration auch Variablen mitzudefinieren. struct person{ ... } pf[2] definert also auch das Array pf[] mit 2 Elementen, auf die mit pf[0] und pf[1] zugegriffen werden kann.


    Eine längere Version wäre:

    Code
    1. typedef struct person person;
    2. struct person {
    3. char name[20];
    4. int alter;
    5. person *vater;
    6. };
    7. person pf[2];

    Ja so hatte ich das auch verstanden.

    Macht das mit dem Zeiger p auf das Feld pf (soll wohl für personFeld stehen) denn nicht Sinn? Ansonsten müßte man das Feld über Indizes ansprechen.

    Übrigens hatte ich das Beispiel von hier: Zeiger auf Strukturen. Am Ende ist eine Nutzungsmöglichkeit als Ahnentafel. Mit der Zeigerarithmetik könnte man den Baum dann rekursiv durchsuchen. Wollte das mal als Übung machen.


    (Warum "person" klein? Ich würde das wie einen Klassennamen groß schreiben).

    Und dann wie gesagt, der Name einer bestimmten struct, wie in der OOP der Name eines bestimmten Objekts

    Ich dachte, dass ein struct eher so verstanden werden kann, wie ein neuer Datentyp und nicht wie eine Klasse in der OOP, deshalb würde das auch klein geschrieben. Ich hatte das bis jetzt auch nur klein geschrieben gesehen.

    Also, ja, es läuft, aber ich bin nicht sicher, ob Du schon so genau weißt, was Du tust (was ja bei C auch immer ein Problem ist). ;) Aber wird schon.

    Da könntest du recht haben. Manchmal denke ich, so langsam lichtet sich der Dschungel und im nächsten Moment kapier ich dann wieder gar nix mehr... :)

    Ah ja stimmt.


    Oder so, das hat auch funktioniert:


    D.h. also doch erstmal mit einem "richtigen" C-Compiler lernen...

    Würde ich empfehlen, ja. Zu den Exoten (oder Urgroßvätern) kann man später immer noch kommen. Wenn Du bereit bist, poste doch nochmal Deinen Code für einen richtigen Compiler (nur so aus Interesse).

    Ja gern.

    Ich habe das jetzt mit dem Online Compiler OnlineGDB gemacht. Da kann man Projekte speichern und auch debuggen - sehr hilfreich und man lernt viel dabei.

    Folgender Code compilierte ohne Fehler und Warnungen.