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

letzter Beitrag von smithloo am

C64 Studio - Entwicklungsumgebung

  • Würdest du dich als Tester zur Verfügung stellen?

    Sehr gerne! :-)



    Wäre es nicht besser, das modular zu gestalten

    Das wäre auch mein Vorschlag, dann könnte jeder Interessierte genau die Erweiterung einbinden, mit der er arbeitet! (Bin eh ein Freund von Modularität! ;-) )


    Arndt

  • Lange ist es her, daher hier mal eine neue Version 6.4. mit vielen kleinen Fixes und ein paar neuen Features:


    Fix: Let Black Jack for CBM Prg Studio compile (allow * counter for macros)

    Fix: Up text length for binary editor import

    Fix: Crash in Charset screen editor when floating selection was placed outside the screen

    Fix: Add missing extension to C64Ass.exe (ouch!)

    Fix: BASIC shifted characters A-Z, properly place in PETSCII range

    Fix: Speedup of symbol transfer after full assembly

    Fix: Remove selection borders in char screen after changing mode

    Fix BASIC line length check warning

    Fix: initial break point set via project properties is not temporary

    Add: Macro File, RunFile

    Fix: Remove 2049 default setting from new projects

    Add: Charscreen import from Marc's PETSCII editor

    Add: BASIC source context menu

    Add: Partial renumbering of BASIC code

    Add: Clone tile for map editor

    Add: MediaTool support for map project (currently MAPDATA only)

    Fix: !hex pseudo op

    Add: media tool map project mapdataasm

    Fix: Wrong type inserted in map editor

    Fix: true drive icon was showing in wrong state

    Fix: Crash in Preferences when no baselib path was added

    Fix: Reloaded-documents not set as modified

    Add/Fix: Files opened are opened as project members if they're added in there

    Add: Support for C64Debugger (passing labels and program)

    Add: Map Editor: Delete all selected tiles at once

    Fix: Crash when opening file without solution.

    Add: Auto-save and -restart with any changes (non blocking shutdown)

    Fix: Step into after run to cursor after first auto break point might trigger additional break point adding

    Fix: use 0xa871 as intermediate break point (RUN command), so it also works with Inject to RAM

    Fix: Default extension for map export as new charscreen

    Add: Option for auto toggling BASIC entry mode

    Fix: Better error message on wrong method for !mediasrc pseudo op

    Add: Export to image for charscreens

    Add: option to strip trailing spaces

    Fix: exception for marking check in BASIC files

    Fix: Length check for BASIC file was off by one

    Add: Error marking in BASIC

    Add: BASIC strip REM, skip line if empty, but only if not referenced

    Fix: Layout restore now works for all dialogs

    Add: Close Solution to main menu

    Add: Show the exact match in AutoComplete as well (not on top yet)

    Add: AutoComplete sorted by relevance

    Fix: No popup for completion if a comma is to the left

    Fix: No popup if only match is exact search fragment

    Fix: Crash on macro insertion by label

    Add: label insertion as macro in hex mode (prefix with 0x)

    Add: Directly open .ctm files as map projects

    Add: Setting for max MRU entry count

    Add: character editing in map project

    Add: Copy map to image in clipboard

    Add: manual "check for update" menu item

    Add: Charset shifting to Character Editor

    Add: Option to treat warnings as errors



    Link wie gehabt, aber jetzt auch mit s(!) : https://www.georg-rottensteine…iles/C64StudioRelease.zip

  • Hi Endurion


    mal eine Frage:

    Wird bei deinen Programm, wenn ich ein Basicprogramm kompilieren lasse, keine Variabeln angezeigt?

    Mir ist das vorher nie so ins Gewicht gefallen, weil meine Basicprogramme nie sonderlich lang waren. Aber jetzt habe ich ein Basicprogramm mit sehr vielen Variabeln, und wollte wissen ob alle die richtigen Werte haben.

    Aber leider werden gar keine Erzeugt, so wie im Assembler.

    Geht das nicht im Basic?

    Oder handhabe ich dein Programm falsch.


    Gruß Drachen

  • Hi Drachen,


    Du meinst die Label-Liste? Nein, da gibt es bisher keine Unterstützung für. Eine Auflistung der reinen Variablen wäre wohl halbwegs einfach machbar, mit Werte-Zuweisung wird es schon schwieriger. Da sind ja dann auch diverse Berechnungen möglich. Welchen Wert zeigt man bei mehrfachen Zuweisungen an, etc.?


    Ich hatte schon ein paar Mal überlegt, ob man nicht auch so eine Art Debugger-Support für BASIC hinbekommen könnte. Da wäre so etwas dann auch mit dabei.


    Vielleicht habe ich auch die falsche Vorstellung, könntest du ein kleines Beispiel zeigen, wie du es dir vorstellst?


    Gruß,

    Endurion

  • Hi Endurion

    Ich versuch mal zu erklären was ich machen möchte.

    Ich habe eine Variabel sa(x) die im Speicher abgelegt wird. Im Basic habe ich dann eine For - Next Schleife die die diese Variabel im Speicher verschiebt. Aber je höher der Index wird desto langsamer wird das ganze, was ja auch klar ist.

    Dann habe ich mir überlegt diesen Variabel - Speicher mit einer Assemblerroutine zu verschieben, aber nur wusste ich nicht wo das Basic dies im Speicher ablegt. Habe dann mal seit langen wieder ein Buch zur Hand genommen um zu schauen wie man an solchen Daten kommt. Nach langen Suchen habe ich dann eine Kernal-Routine gefunden wie man an diese Adresse kommt.

    Es wäre sicherlich hilfreich wenn man das sehen könnte, wo die Variabelen im Speicher abgelegt werden. Dafür wäre sicherlich ein Debugger für Basicprogramme nicht schlecht

    Ja und das mit der Variabelnliste habe ich mir schon fast gedacht das das etwas schwierg wäre.

    Ich hoffe ich konnte mich ein wenig klar ausdrücken. Nämlich irgend jemanden was zu erklären, ist nicht gerate meine Stärke. :D


    Gruß Drachen

  • Hi Drachen,


    Alles klar, ich hab's glaube ich verstanden. Das ist dann schon Richtung Debugger, da man ja zur Laufzeit erst die echten Adressen kennt. Das wäre das, was mir vorgeschwebt wäre. Mal gucken, was man da machen kann. Sowas geht aber nicht von heute auf morgen ;)

  • Hi Drachen,


    Alles klar, ich hab's glaube ich verstanden. Das ist dann schon Richtung Debugger, da man ja zur Laufzeit erst die echten Adressen kennt. Das wäre das, was mir vorgeschwebt wäre. Mal gucken, was man da machen kann. Sowas geht aber nicht von heute auf morgen ;)

    Ja das ist mir schon klar, finde es einfach klasse das du das umsetzten willst. Vielen Dank schon mal im Voraus. :thumbsup:

    Und wenn es so weit ist, werden sich viele freuen, so wie ich. :D:D:D:D


    Gruß Drachen

  • Wie Endurion schon schreibt, das wäre eine Aufgabe für einen Debugger, der zur Laufzeit sowas realtime aus dem C64 Speicherbild ermitteln würde.

    Die Remote Debugger Schnittstelle von VICE ist da glaube ich etwas tatterig für sowas.


    Vielleicht wäre das was als Feature-Request für den C64 Debugger (hat eigenen VICE integriert), welches dann zusammen mit dem C64 Studio arbeiten würde?

    https://sourceforge.net/projects/c64-debugger/

    Das Tool hat wahnsinnig tolle realtime Features, das wäre vermutlich auch mit vertretbarem Aufwand machbar, da es Direktzugriff auf den VICE C64 Speicher hat.

  • Das klingt wie ein Crossreferenz-Tool, also ein Tool, das ein Basic-Programm daraufhin untersucht, welche Variablen in welcher Basiczeile verwendet werden, und außerdem, welche Sprünge von wo nach wo im Programm existieren. Sowas hab ich mal vor langer Zeit aus Eigenbedarf geschrieben und steht als Download auf der TSB- Diskette zur Verfügung. Heißt auf der Disk „SXRef“ (das S, weil es auch Simons‘ Basic und TSB untersucht, also auch alle PROC-Aufrufe). Vielleicht hilft das ja schon mal ein bisschen?


    Arndt

  • Auja, das klingt interessant, da gucke ich mal.


    Auf kurz oder lang muss da sowieso mal ähnlich dem C64Debugger der VICE-Code entweder eingebunden werden, oder ein anderer Emulator gefunden werden, der sich einbauen lässt.

    Es gibt zwar gerade Ansätze bei VICE, mehr Monitor-Kommandos binär abzuhandeln, aber sind ja immer noch einige Unschönheiten drin.


    Wer den Code bei C64Studio mal durchgeguckt hat, sieht ja auch meinen billigen Ansatz eines Emulators da drin, der schafft es immerhin bis zum BASIC-Start-Screen. Aber bei den ersten VIC-Feinheiten wie Bad Lines bin ich halt überfordert.

  • um eine Code zu Testen brauche ich keine ‚Bad Lines‘. Ich finde das deine IDE der Knaller ist.

  • Also zur zeit verwende ich wieder "ICU64: Vice 3.2" bei diesen Tool kann ich im laufenden Programm den Code änderen und mir anschauen. Nach Grafik im gesamten Speicher durchsuchen. Für mich das Tool überhaupt. Der Programmierer hat leider für eine Zeit lang nichts mehr an diesen Tool gearbeitet, aber jetzt ist er wieder bei der Sache. :)



    Wenn es noch die Variabel bei den Basicprogramme ausspucken könnte, ach ja .....das wäre ein träumchen


    Gruß Drachen

  • Was mich noch stört: Ich ziehe es vor, VICE ohne Präzise Floppy-Emulation zu verwenden. Um das zu erreichen, lösche ich die Angaben im Feld "True Drive On" in den VICE-Einstellungen von C64Studio. Das Doofe ist, dass diese nicht gespeichert werden und bei Neustart von C64Studio wieder da stehen. Das nervt, wenn man es (wie ich) immer wieder vergisst. ;-)

  • Also zur zeit verwende ich wieder "ICU64: Vice 3.2" bei diesen Tool kann ich im laufenden Programm den Code änderen und mir anschauen. Nach Grafik im gesamten Speicher durchsuchen. Für mich das Tool überhaupt. Der Programmierer hat leider für eine Zeit lang nichts mehr an diesen Tool gearbeitet, aber jetzt ist er wieder bei der Sache. :)

    Das hatte ich mir damalsTM auch angeschaut und es gefiel mir. Leider hat der Programmierer den Source Code damals nicht veröffentlich, obwohl angekündingt und es ging lange nicht weiter mit VICE (nur Frodo). Nun scheint er also auf VICE 3.x aktualisiert zu haben.

    Der C64 Debugger kann einiges mehr und wird ständig weiterentwickelt. Code anpassen und gleichzeitig die Grafik in einem Screen und auch Sound-Waves darstellen z.B.

    Auf Vorschläge für Features geht der Entwickler auch oft ein.

    Falls noch nicht gemacht, schau Dir den mal an.

  • Also zur zeit verwende ich wieder "ICU64: Vice 3.2" bei diesen Tool kann ich im laufenden Programm den Code änderen und mir anschauen. Nach Grafik im gesamten Speicher durchsuchen. Für mich das Tool überhaupt. Der Programmierer hat leider für eine Zeit lang nichts mehr an diesen Tool gearbeitet, aber jetzt ist er wieder bei der Sache. :)

    Das hatte ich mir damalsTM auch angeschaut und es gefiel mir. Leider hat der Programmierer den Source Code damals nicht veröffentlich, obwohl angekündingt und es ging lange nicht weiter mit VICE (nur Frodo). Nun scheint er also auf VICE 3.x aktualisiert zu haben.

    Der C64 Debugger kann einiges mehr und wird ständig weiterentwickelt. Code anpassen und gleichzeitig die Grafik in einem Screen und auch Sound-Waves darstellen z.B.

    Auf Vorschläge für Features geht der Entwickler auch oft ein.

    Falls noch nicht gemacht, schau Dir den mal an.

    Ja den kenne ich auch. Aber irgendwie kam ich mit diesen Debugger nicht zu recht. Aber ich schaue ihn mir nocheinmal genau an. Vielleicht hat sich ja was geändert.