Hallo Besucher, der Thread wurde 479k mal aufgerufen und enthält 4056 Antworten

letzter Beitrag von WebFritzi am

C64 Studio - Entwicklungsumgebung

  • Mit dem Mapping von dir klappt das bei mir, aber nur für rechts und runter, mit Shift nicht. Das ist noch so eine Unzulänglichkeit vom Key-Mapping, dass ich da verwende.


    Mit dem Mapping hier im Anhang klappt das dann nicht mehr?

  • Hallo Endurion


    Ich habe zwei kleine Dingen.

    1. Ich habe einen kleinen Schreibfehler in der Hilfe gefunden, wenn es denn einer Ist.

    zu finden unter General Syntax


    Es geht um TEXT

    bei dir steht !txt "I am a text",0 aber müsste es nicht so heisen !text "I am a text",0. Ausser es ist von einer früherer Version deines Programmes.


    So und nun meine 2 Frage


    Ich habe durch ein Zufall beim Programm "CBM prg Studio" eine nette Funktion entdeckt.

    Also wenn ich folgendes im deinen Programm schreibe

    Code
    1. !text "das ist ein string",0

    kommt auf den Bildschirm folgendes herraus.


    was auch so richtig ist. Im Normalfall würde ich jetzt einfach den Text im Großbuchstaben schreiben.


    Und wenn man jetzt bei dem Programm "CBM prg Studio" das so ein gibt

    Code
    1. mein_text text 'das ist ein string'

    bekommt man auf den Bildschrim den Text aus gespukt und nicht die Grafikzeichen


    In der Hilfe fand ich folgende Aussage dazu.


    Der Assembler verwendet einfache Anführungszeichen, um Strings zu unterscheiden und sieht ein einfaches Anführungszeichen in einem String als 'Modus'-Schalter, d.h. er schaltet von der Erzeugung von PETSCII-Codes auf Zeichencodes um.


    was meinst du, könnte man sowas auch in deinen Programm mit einbauen.


    Gruß Drachen

  • Gab es im Assembler-Editor nicht eine Möglichkeit, Labels automatisch belegen zu lassen, wenn deren Adressen aufeinander folgen?

    Ich mache es jetzt einfach so: a=$10 : b=a+1 : c=a+2 : d=a+3 : ...

    Der Hintergrund ist halt, dass man auf diese Weise ein Variablenpaket verschieben kann, ohne alle Werte neu angeben zu müssen.


    Bitte mal in den Einstellungen prüfen (File->Preferences->BASIC Keymap), ob die Tastenzuordnungen für die Cursor-Tasten verschwunden sind. Ggf. neu belegen.

    Danke.



    Kategorie "unwichtig, weil es auch so geht": Könnte man den Pseudo-Op "!bank" auch für Target Type "Plain" aktivieren, damit man das auch für andere CRTs als die aufgeführten verwenden kann? Ich nutze sonst "!realign $2000" hinter dem Code. Oder dass man unter "Target Type" so was wie "Own Cartidge Header" zur Auswahl stellt, was sich dann eben verhält wie "Plain", außer dass dabei auch "!bank" möglich ist und in den Tool Settings statt des Feldes "PRG/T64" das Feld "Cartridge" berücksichtigt wird. .. ?

  • aber wenn doch

    hast Du, würde ich sagen :zustimm:


    dann scheint mir das mit "Own Cartridge Header" am logischsten

    ja, denke ich auch. Wie man's nennt, ist wurscht, "Other Cartridge" vielleicht, weil man ja nicht nur einen Header machen will. ;) Und es ist nicht eilig, weil es als Plain mit !realign ja auch geht, auch wenn es vom Studio in dem Fall nicht als Cartridge eingestuft wird (das meinte ich mit dem Feld "PRG/T64" vs. "Cartridge" im Emulator-Setup) - was aber nicht weiter störte, wenn man am Dateinamen ".crt" dranhängt.

  • Das hatte ich zuerst gemacht, aber dann wird ja der Header automatisch erzeugt und zwar für den ausgewählten Cartridge-Typ. Wenn man aber bspw. eine C64GS-CRT machen will, ist dann der Header falsch. Aus diesem Grund hatte ich "Plain" gewählt und den Header selbst in den Quellcode eingetragen.

  • So, mal wieder ein Problem: Labels in !for-Schleifen. Der meckert, ich würde die erneut definieren. Ich bin etwas unsicher, wie man das Problem lösen könnte. Mit einer !zone habe ich es schon probiert, aber da meckert der natürlich auch, ich würde die erneut definieren.

    Edit: Auch ein Makro, das von der !for-Schleife aufgerufen wird, hilft nicht, aber wenn ich einfach mehrere Makroaufrufe nutze, geht's.

  • Welche Art Labels hast du verwendet? Mit lokalen Labels (Punkt vorne dran) sollte das klappen.


    Boah ist die Code-Anzeige aufgebläht. Wieso ist da soviel Platz zwischen den Zeilen? Noch bin ich nicht blind.

  • Hi Endurion


    Mal wieder eine Frage.

    Ich habe mir ein C64´er Gehäuse, sowie eine C64´er Tastatur mit USB Keyboard Adapter besorgt. Gut jetzt kann ich mit der C64´er Tastatur am PC arbeiten, als sei es ein PC-Tastatur.

    Aber das wollte ich ja nicht wirklich. Ich möchte mit dieser Tastaur eigentlich Basic programmieren in deinen Editor. Nun sind ja leider nicht alle Tasten der C64´er Tastaur anscheind belegt.

    Ich habe es mit deine Tasten binding probiert. Funktioniert irgenwie nicht richtig. Zumal nicht jede Taste dort auftaucht z.B. "?, CLR/HOME und noch ein paar andere.

    jetzt zur meine Frage.

    Kann man in deinen Programm einen Button einbauen wenn man eine C64´er angeschlossen hat um damit zu arbeiten.

    Oder ist das zu abwägig, weil es sich nicht rentiert.


    Und wie gesagt unter Vice läst sich die Tastatur auch nur sehr schwer einbinden. Warum das so ist, keine Ahnung.


    Gruß Drachen

  • Interessant. Die eigentlichen Tasten müssten in C64Studio alle da sein, allerdings eben nur direkt. Die kombinierten Tasten (Shift, Ctrl, Commodore) sind fest verdrahtet. Dadurch sind einige Kombinationen nicht möglich.

    Ich sage zwar jedesmal, dass ich das Mapping mal ordentlich machen will, aber bisher habe ich mich nicht drangemacht (fauler-Sack-Syndrom).


    Wie funktioniert denn dieser Adapter? Du müsstest ja für jede bekannte Kombination eine Taste gemeldet bekommen? Oder muss man das per HDI direkt abfragen?

  • Interessant. Die eigentlichen Tasten müssten in C64Studio alle da sein, allerdings eben nur direkt. Die kombinierten Tasten (Shift, Ctrl, Commodore) sind fest verdrahtet. Dadurch sind einige Kombinationen nicht möglich.

    Ich sage zwar jedesmal, dass ich das Mapping mal ordentlich machen will, aber bisher habe ich mich nicht drangemacht (fauler-Sack-Syndrom).


    Wie funktioniert denn dieser Adapter? Du müsstest ja für jede bekannte Kombination eine Taste gemeldet bekommen? Oder muss man das per HDI direkt abfragen?

    Also wie das funktioniert, da fragst du den falschen. Ich habe den USB Keyboard Adapter von der Seite 64kb.de gekauft. Dafür gibt es noch ein Handbuch.

    hier mal einen kleinen Auszug:


    1. Grundsätzliches zum USB Keyboard Adapter

    Der USB Keyboard Adapter kann dazu genutzt werden, um die Tastatur eines Commodore RetroComputers an einem aktuellen Computer verwenden zu können. Der Adapter wird als HID (Human

    Interface Device) wie jede andere Tastatur vom PC erkannt und kann somit unter Windows, MacOS als auch Linux ohne zusätzliche Treiberinstallation verwendet werden. Der USB Keyboard Adapter kann

    grundsätzlich für mehrere Commodore-Tastaturen verwendet werden, darunter bzw. getestet sind:


    Commodore 64 (Original Breadbin sowie der “flache” C64c)

    Commodore 16

    Commodore Plus 4


    Sowohl für die Nutzung an einer Commodore 16 als auch Plus 4 Tastatur sind Adapter nötig, welche die Anschlüsse entsprechend mit der Platine kompatibel machen. Für Die C16 Tastatur gibt es eine Platine,

    der Plus 4 muss manuell verkabelt werden. Die Verkabelung der Plus 4 Tastatur muss dann mit dem jeweiligen Pinout des C64 Tastatur-Anschlusses abgeglichen und angeschlossen werden.

    Grundsätzlich befindet sich auf dem USB Keyboard Adapter die Firmware für den C64. Wenn eine andere Tastatur angeschlossen wird, so muss die Firmware entsprechend angepasst werden.


    Das große Problem sind halt die Kombination, ganz besonders die Comodoretaste, die ist anscheinend mit der Windowstaste gekoppelt. Sprich wenn ich drücke öffnet sich mein Startfenster von Windows. :)

    Habe auch keine Ahnung wie man das umgehen kann, dafür bin ich einfach viel zu wenig Elektroniker.


    Ansonsten muss ich schauen was ich mit dem wenige anfangen kann. Und wie gesagt auf Vice ist es auch nicht besser die C64´er Tastatur richtig anzupassen. Wo es hingegen sehr gut ging mit dem anpassen war auf den Emu64 Version 5.0.17. Dort gibt es eine virtuelle Tastatur der ich sagen kann welche Taste ich am PC drücken soll für die C64´er Tastatur



    Aber auch dort gibt es probleme mit der Doppelbelegung der Tasten. Muss mal Thorsten deswegen mal anschreiben und ihm fragen ob man das verbessern kann.


    Gruß Drachen

  • Wenn man einen Breakpoint in einer !for-Schleife setzt, scheint das dem Studio zu missfallen, das setzt den Breakpoint dann ... irgendwo. Wo genau kann ich nicht sagen, möglich wäre, dass die Adresse mit der Anzahl der Durchläufe der Schleife multipliziert wird.

  • Oooh, Breakpoint in einer Schleife ist fies! :)


    C64Studio mappt alle Schleifendurchläufe da hin, d.h. es ist nicht eindeutig, welche Adresse genau gewünscht ist. Ich tippe auf den ersten Schleifendurchlauf, könnte aber auch der letzte sein.


    Das ist mal gut, da hatte ich bisher nie dran gedacht. Logisch wäre wohl, dass man dann eigentlich einen Breakpoint pro Schleifenlauf setzen müsste.