Collab: Entwicklung eines TSB-Puzznic-Klons

Es gibt 1.089 Antworten in diesem Thema, welches 110.370 mal aufgerufen wurde. Der letzte Beitrag (1. November 2024 um 23:56) ist von Omega.

  • Ich frage mich, ob das Kompilat klein genug ist, um es an eine geeignete Stelle in TSB reinzuladen. Und ob das überhaupt geht mit dem Aufruf aus TSB- und dem Rücksprung zu TSB und so. Da habe ich leider keine Ahnung von.

    Sicher nicht in der Form. Mann müsste sowas dann wirklich so bauen, dass ein Micro-Compiler damit zu Recht kommt (das wäre hier nicht so). Also Variablen mit einem Zeichen, einfachere, aufgeteilte Berechnungen usw. (und da war ich eben zu faul zu...)

    Aber dann sehe ich da kein Problem. Das wäre im Ergebnis auch kleiner als das Ding hier, hier hängen ja Teile der größeren Runtime mit dran. Sowas haben diese Micros quasi gar nicht.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • dass ein Micro-Compiler damit zu Recht kommt (das wäre hier nicht so). Also Variablen mit einem Zeichen, einfachere, aufgeteilte Berechnungen usw. (und da war ich eben zu faul zu...)

    Verstehe. Dann muss man den Umgang mit einem Micro-Compiler auch erstmal lernen und wissen, was man vom BASIC verwenden kann und was nicht.

    Das wäre im Ergebnis auch kleiner als das Ding hier, hier hängen ja Teile der größeren Runtime mit dran. Sowas haben diese Micros quasi gar nicht.

    Ich verstehe nicht ganz. Was haben die Micros quasi gar nicht? Eine größere Runtime? :gruebel

  • Ich verstehe nicht ganz. Was haben die Micros quasi gar nicht? Eine größere Runtime? :gruebel

    Genau. Da ist nicht viel dabei, einfach weil die nicht viel können. Das aber schnell.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Verstehe. Dann muss man den Umgang mit einem Micro-Compiler auch erstmal lernen und wissen, was man vom BASIC verwenden kann und was nicht.

    Das ist überschaubar. Aber ich will hier auch niemanden bekehren oder die Bemühungen, das in Assembler umzusetzen, torpedieren. Ich möchte nur ein wenig dafür werben, dass man in BASIC mit diversen Hilfsmitteln weiterkommt, als man zunächst denken mag. Das muss ja nicht unbedingt in diesem Projekt sein.

    Wo wir gerade davon sprechen...im Anhang ist eine Version, die mit Bitte melde dich an, um diesen Link zu sehen. kompiliert werden kann bzw. die kompilierte Fassung davon (SYS 49152).

    Die BASIC-Version läut so nicht korrekt, weil sich das Platzieren der Elemente darauf verlässt, dass die Berechnungen mit Integern durchgeführt werden. Aber die kompilierte Version tut.

  • die kompilierte Fassung davon (SYS 49152).

    Der Bereich ist in TSB frei, wenn keine Grafik im Spiel ist. Aber nur 1 KB.

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Wo wir gerade davon sprechen...im Anhang ist eine Version, die mit Bitte melde dich an, um diesen Link zu sehen. kompiliert werden kann bzw. die kompilierte Fassung davon (SYS 49152).

    Die Geschwindigkeit ist sehr beeindruckend. Stellt sich nur die Frage, ob es für mein Projekt möglich ist, damit ein Programm zu erzeugen, das in die von GoDot erwähnten 1KB passt. Dein Programm macht ja mehr als ich brauche. Z.B. die Teile selbst erzeugen. Das braucht die Routine in meinem Puzznic-Klon ja gar nicht. Da sind die Teile ja schon auf dem Bildschirm wenn's los geht. Vielleicht kann ich da was verkleinern.

    Ich behalte das auf jeden Fall mal im Hinterkopf und hab' mir deine Webseite in die Favoriten gelegt. Nur für den Fall, dass es sich ogd noch anders überlegt oder auf Schwierigkeiten stößt.

  • Die Geschwindigkeit ist sehr beeindruckend. Stellt sich nur die Frage, ob es für mein Projekt möglich ist, damit ein Programm zu erzeugen, das in die von GoDot erwähnten 1KB passt. Dein Programm macht ja mehr als ich brauche. Z.B. die Teile selbst erzeugen. Das braucht die Routine in meinem Puzznic-Klon ja gar nicht. Da sind die Teile ja schon auf dem Bildschirm wenn's los geht. Vielleicht kann ich da was verkleinern.

    Ich behalte das auf jeden Fall mal im Hinterkopf und hab' mir deine Webseite in die Favoriten gelegt. Nur für den Fall, dass es sich ogd noch anders überlegt oder auf Schwierigkeiten stößt.

    Zur Not müsste man es halt aufteilen. Es wird ja noch mehr freie Bereiche geben, als diese 1 K...hoffe ich...:D

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von EgonOlsen71 (13. Februar 2024 um 18:14)

  • Klar. Der Compiler fragt die Zieladresse ab.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Klar. Der Compiler fragt die Zieladresse ab.

    Oh, cool. Dann könnte ich ein Programm schreiben für das Fallen. Und ein weiteres für das Auflösen. Ganz genau so wie in meinem Visual Basic Programm. Vielleicht gelingt es mir sogar, meine in Bitte melde dich an, um diesen Link zu sehen. gezeigte VB-Prozedur in C64-BASIC zu schreiben. Dann kann ich sicher sein, dass die Spiellogik nachher auch noch funktioniert. Ja, das könnte was werden.

    Den Artikel mit der Beschreibung aus der RUN hast du ja auch verlinkt. Da müsste ja alles drinstehen, was der angehende Compiler-Lehrling benötigt. Sehr schön.

  • Den Artikel mit der Beschreibung aus der RUN hast du ja auch verlinkt. Da müsste ja alles drinstehen, was der angehende Compiler-Lehrling benötigt. Sehr schön.

    Ja, das meiste schon. Ich bin beim Umsetzen aber auf ein paar Merkwürdigkeiten gestoßen, die da nicht erklärt werden...

    Code
    POKE Z,PEEK(U)

    ...ging z.B. nicht. Ich habe jetzt nicht geschaut, was da für Code rauskam, aber richtig kann er nicht gewesen sein. Muss man das dann eben aufteilen in sowas:

    Code
    H=PEEK(U):POKE Z,H

    ...und solche Dinge halt. Aber wenn man die Operationen möglichst kompakt hält, dann geht das eigentlich ganz gut.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Es wird ja noch mehr freie Bereiche geben, als diese 1 K...hoffe ich... :D

    Der gesamte Heap ist natürlich frei. Platz im Überfluss! :smile:

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • EgonOlsen71: Woher soll man solche Dinge wissen? Und wenn's nicht läuft. Wie kann man dann herausfinden, woran es gelegen hat?

    GoDot: Der gesamte Heap? Gehen dann nicht meine Variablen verloren? Ich möchte ja schon, dass das TSB-Programm nach dem Abarbeiten des SYS ungestört weiterläuft.

  • GoDot: Der gesamte Heap? Gehen dann nicht meine Variablen verloren? Ich möchte ja schon, dass das TSB-Programm nach dem Abarbeiten des SYS ungestört weiterläuft.

    Die Erweiterungen TSB.MON und TSB.HSG nehmen jede 4 KB vom Heap weg, die Erweiterung VDCBasic etwas weniger als 1 KB. Beim Starten verkleinern sie einfach den Heap, also keine Bange! Wenn dein PRG nicht gleich monumental daherkommt, wird es schon hinhauen.


    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Ich portiere gerade EgonOlsen71 s Fallenlassprogramm nach TSB. Mal sehen, wie schnell das mit MAP abläuft. Dabei ist mir aufgefallen, dass die Kachel in der rechten unteren Ecke zwar markiert, aber nicht gelöscht wird, Egon. War das ein Portierungsfehler meinerseits oder kam das in deinem Original auch vor? (Hab das nicht verifiziert.)


    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Das Löschen gleicher Objekte am Schirm ist prinzipiell nicht so schwierig, wenn man einfach die betreffenden Zeichensatz-Zeichen löscht geht das wohl ziemlich schnell.


    Natürlich kann man so auch, mit dem Block-Lösch-Trick, große Objekte wie z.B. Endgegner schnell vom Schirm verschwinden lassen.


    Schönen Gruß.

  • Ich arbeite weiterhin an dem Teil des Spiels, bei dem der Spieler mit dem Joystick in Port 2 Spielzüge durchführen kann. Ich schätze das dauert noch so ca. bis morgen oder so.

    Ich portiere gerade EgonOlsen71 s Fallenlassprogramm nach TSB. Mal sehen, wie schnell das mit MAP abläuft.

    Okay. Wenn du das mit reinem TSB hinbekommst, dann gibt's vielleicht noch eine Chance.

    ogd: Hast du dich aus der Sache ausgeklinkt? Oder bist noch dran?

  • Ich muss hier zwischendurch mal ein großes Lob an GoDot aussprechen. Ich bin schwer beeindruckt, wie TSB(neo) mit diesen neuen verschachtelbaren IF-Blöcken zurecht kommt. Da gibt es nichts dran auszusetzen. Bravissimo! :thumbsup:

  • Dabei ist mir aufgefallen, dass die Kachel in der rechten unteren Ecke zwar markiert, aber nicht gelöscht wird, Egon. War das ein Portierungsfehler meinerseits oder kam das in deinem Original auch vor? (Hab das nicht verifiziert.)

    Weiß nicht...könnte schon sein, dass ich da ein Feld.zu früh mit der Prüfung aufhöre oder so. Wenn, dann ist das nichts Großes. Aufgefallen ist es mir nicht.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.