Xionum nutzt jetzt TSB

Es gibt 120 Antworten in diesem Thema, welches 5.868 mal aufgerufen wurde. Der letzte Beitrag (6. September 2025 um 15:39) ist von GoDot.

  • Da stimme ich dir zu, Omega .

    Ich hab früher schon nicht verstanden warum das so ist.

    Du willst PRINT BSC$(...), also eine Funktion, die dir aus einem Bildschirmcode direkt das passende Zeichen auf den Screen druckt - ganz wie CHR$, nur eben mit Bildschirmcodes?

    Tja. So etwas gibt’s leider nicht. :nixwiss:

    Aber jetzt kommt der Trick: 8o

    Frag einfach GoDot.

    Natürlich solltest du das nicht einfach so direkt machen. Nein, nein.

    Du musst schon ein bisschen die Kunst der subtilen Schmeichelei beherrschen:

    Sag ihm, wie unfassbar geil TSB schon jetzt ist. Streu Sätze ein wie "Wenn das einer kann, dann du!" und "Das ist bestimmt nur ein Einzeiler für jemanden wie dich."

    Und vergiss auf keinen Fall zu erwähnen, dass GoDot das coolste Bildbearbeitungsprogramm ist, das je für den C64 geschrieben wurde - mindestens!

    Wenn du’s geschickt anstellst, hat er vielleicht schon beim zweiten Kompliment die Routine im Kopf und beim dritten beginnt er zu coden. :D

  • Also sowas wie =BHR$(Bildschirmcode). Das würde die BASIC-Programmierung revolutionieren.

    Das ist wieder so etwas, wo ich mir sage: Das muss doch schon mal jemand programmiert haben?

    Allerdings würde ich eine Einbindung in ASC bevorzugen, also z.B. ASC(1) ergibt dann 65, und man könnte schreiben PRINT CHR$(ASC(1)). Dann könnte man selber entscheiden, ob man nur den Zahlenwert wissen will oder das Zeichen auch ausgeben möchte.

    EDIT: Oh, aber dann gehen natürlich inverse Zeichen wieder nicht... *grmpf*

    Bitte melde dich an, um diesen Link zu sehen. - Ratespiel • Bitte melde dich an, um diesen Link zu sehen. - BASIC-Erweiterung • Bitte melde dich an, um diesen Link zu sehen. - Sprite-Editor • Bitte melde dich an, um diesen Link zu sehen. - Zeichensatz-Editor Bitte melde dich an, um diesen Link zu sehen. - 2048 Blöcke

  • Eigentlich bräuchte man ein Gegenstück zur CHR$-Funktion, mit dem man nicht den ASCII-Code sondern den Bildschirmcode PRINTen kann. Das würde so manches vereinfachen.

    Also sowas wie =BHR$(Bildschirmcode). Das würde die BASIC-Programmierung revolutionieren.

    Zum Beispiel S-BASIC 65 für den MEGA65 kann das. :whistling:

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Anhang zu sehen.

  • Zum Beispiel S-BASIC 65 für den MEGA65 kann das. :whistling:

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Was ergibt SCRPET(129)?

    Bitte melde dich an, um diesen Link zu sehen. - Ratespiel • Bitte melde dich an, um diesen Link zu sehen. - BASIC-Erweiterung • Bitte melde dich an, um diesen Link zu sehen. - Sprite-Editor • Bitte melde dich an, um diesen Link zu sehen. - Zeichensatz-Editor Bitte melde dich an, um diesen Link zu sehen. - 2048 Blöcke

  • Das ist wieder so etwas, wo ich mir sage: Das muss doch schon mal jemand programmiert haben?

    Ja, gibt es z.B. im KERNAL (Lesen aus dem Bildschirmspeicher)

    Hm... also, ich meinte jetzt schon eine unter BASIC zur Verfügung stehende Funktion.

    Bitte melde dich an, um diesen Link zu sehen. - Ratespiel • Bitte melde dich an, um diesen Link zu sehen. - BASIC-Erweiterung • Bitte melde dich an, um diesen Link zu sehen. - Sprite-Editor • Bitte melde dich an, um diesen Link zu sehen. - Zeichensatz-Editor Bitte melde dich an, um diesen Link zu sehen. - 2048 Blöcke

  • Hm... also, ich meinte jetzt schon eine unter BASIC zur Verfügung stehende Funktion

    Einfach auf BIF warten, der wird uns schon zeigen, wie man durch POKEs den KERNAL nutzen kann, um die Umwandlung vorzunehmen. :syshack:

  • Zum Beispiel S-BASIC 65 für den MEGA65 kann das. :whistling:

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Was ergibt SCRPET(129)?

    Bitte melde dich an, um diesen Anhang zu sehen.

    Das "Reverse" bei Zeichen (> 127) muss man dann selber verwalten. :)

  • Eigentlich bräuchte man ein Gegenstück zur CHR$-Funktion, mit dem man nicht den ASCII-Code sondern den Bildschirmcode PRINTen kann. Das würde so manches vereinfachen.

    Also sowas wie =BHR$(Bildschirmcode). Das würde die BASIC-Programmierung revolutionieren.

    Zum Beispiel S-BASIC 65 für den MEGA65 kann das. :whistling:

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Nein. Das ist nicht wirklich das, was man braucht. Denn wir wissen ja: Es gibt nicht für jeden Bildschirmcode einen ASCII-Code.

    Was man wirklich und wahrhaftig braucht, ist eine Funktion, der man den Bildschirmcode übergibt und die dann das entsprechende Zeichen zurückliefert. Dabei müssen alle 256 Zeichen berücksichtigt werden, auch die inversen.

    Und ideal wäre es, wenn man der Funktion gleich mehrere Bildschirmcodes übergeben kann, damit man nicht PRINT BSC$(161)+BSC$(162)+BSC$(163) schreiben muss, sondern kurz und prägnant: PRINT BSC$(161,162,163).

    Aber ich merke schon: Das wird hier nichts. Um so etwas zu realisieren, muss man nämlich äußerst klug und brillant sein. Und wer ist das schon? :nixwiss:

  • Ich habe jetzt etwas rum gespielt mit dem Zeichensatz und so richtig zufrieden bin ich nicht.
    ZeichenEd ist eine große Hilfe, keine Frage. aber leider kann ich damit nicht den Groß/Klein-Zeichensatz bearbeiten.

    Ich kann einen Zeichensatz laden und den bearbeiten, aber das ist dann wieder so eine Sache weil es nicht mein Zeichensatz ist...
    Gerade versuche ich den Zeichensatz aus dem ROM zu lesen und auf Disk zu speichern damit ich dann weiter arbeiten kann.

    Auf der MagicDisk 10/89 ist Sir-Charedit drauf. Damit konnte ich mir eine Zeichensatzdatei erstellen.

    Das Bearbeiten ist aber im ZeichenEd viel besser, weil ich 4 Zeichen sehe.

    Dann wird wohl morgen das Charset weiter gehen

    Das Pixeln macht auf jeden Fall spaß :smile:

    Vielleicht mache ich die Ausgabe mit POKE statt mit PRINT... mal sehen...

    Einmal editiert, zuletzt von xionum (1. Juli 2025 um 02:29) aus folgendem Grund: Das war Quatsch

  • xionum: Ich habe in PostBitte melde dich an, um diesen Link zu sehen. alles beschrieben, was man wissen muss. Zum Beispiel wie man den Groß/Kleinbuchstaben-Zeichensatz auf Diskette speichert. Und dann kannst du ihn in ZeichenEd bearbeiten. Und in deinem Programm kannst du ihn auch als Groß/Kleinbuchstaben-Zeichensatz wieder laden (das habe ich auch beschrieben).

    Fazit: Der ZeichenEd bietet alles, was das Herz begehrt. Er stellt sozusagen die Quintessenz der Zeichensatzeditierung dar.

    Und dann muss man noch bedenken: Wenn man mit TSB programmiert, dann sollte man auch Tools benutzen, die mit TSB programmiert worden sind. Alles andere wäre ein Stilbruch und auf der künstlerischen Ebene nicht vertretbar.

  • Omega du hast völlig Recht, tut mir leid das ich deinen Rat nicht befolgt hatte. Am Sonntag war ich nicht nur mit dem Handy im Forum unterwegs und nicht am Rechner, und gestern hatte ich den Post schon wieder vergessen. War keine Absicht.

    Da ich jetzt den Zeichensatz habe muss ich TSB nicht mehr verlassen :wink:
    Und ZeichenEd ist echt eine große hilfe. Die Ansicht mit den 4 Zeichen ist super. Und das Kopieren von Zeichenblöcken ist auch genial einfach. Ein super Programm hast du da erstellt :-)>

    Heute Vormittag pixel ich die Waggons und heute Abend/Nacht werde ich mal die Datenstruktur testet.

  • Die Ansicht mit den 4 Zeichen ist super.

    Die ist vor allem ideal, um damit per Bitte melde dich an, um diesen Link zu sehen. 2x2-Kacheln ausgeben zu können. Damit erzeugst du blitzschnell Spiele-Screens. Bitte melde dich an, um diesen Link zu sehen. ist dafür ein Beispiel beschrieben.


    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.

  • Die ist vor allem ideal, um damit per MAP 2x2-Kacheln ausgeben zu können.

    Ich will mal ganz ehrlich sein: Der Map-Befehl ist zwar nützlich aber auch äußerst speziell und schwierig zu verstehen. Ich glaube, es gibt nur eine Person, die damit umgehen kann.

    So eine BSC$-Funktion, wie oben kurz angerissen, wäre schon deutlich nützlicher und massentauglicher. Und genau so eine Funktion hat in BASIC schon immer gefehlt.

  • So eine BSC$-Funktion, wie oben kurz angerissen, wäre schon deutlich nützlicher und massentauglicher. Und genau so eine Funktion hat in BASIC schon immer gefehlt.

    Hier ist eine in BASIC (deckt alle Eventualitäten ab):

    :bgdev

    Arndt

    (Das {red} in Zeile 5390 ist CTRL-3, Schleife beenden mit "x")

    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.

  • Hier ist eine in BASIC (deckt alle Eventualitäten ab): ...

    Nein. Das entspricht in keinster Weise den Anforderungen.

    Die Idee ist folgende.

    PRINT BSC$(161)

    => druckt das Zeichen mit dem Bildschirmcode 161 auf den Bildschirm.

    oder

    PRINT BSC$(161,162,163)

    => gibt die drei Zeichen mit den Bildschirmcodes 161-163 hintereinander aus.

    A$=BSC$(161,165,170)

    => weist der Variable A$ die drei Zeichen mit den angegebenen Bildschirmcodes zu.

  • Das entspricht in keinster Weise den Anforderungen.

    Schon klar... :D

    Übrigens, wenn goloMAK keine Werbung für seine genialen Tools macht, dann mach ich das eben mal. Hier geht's zu Bitte melde dich an, um diesen Link zu sehen., dem absoluten Zeicheneditor!

    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.

  • Was spricht denn dagegen, sowas als Prozedur zu programmieren? Das tolle an TSB ist ja, dass man damit seine eigenen Prozeduren für den konkreten Anwendungsfall programmieren kann! Man muss nicht für jeden der 10 Billionen denkbaren Fälle einen extra Befehl haben. :D