C64 Studio - Entwicklungsumgebung

  • So, neue Version 5.4 ist da, mit einer Menge an Änderungen und Fixes:

    Add: Assembler system label ASSEMBLER_C64STUDIO
    Fix: Crash in "import file" for text screen editor without solution
    Add: Better error marking in code
    Fix: Branches in zero page now assemble
    Add: Binary export "To BASIC" now supports line start and delta
    Add: Export for map data from selection now selects all if no selection exists on the map
    Fix: Export in map editor now only adds prefix if selected
    Add: Missing undo for default charsets in charset editor
    Add: Delete option to Media Manager
    Fix: Register display for $01 (off by one error)
    Fix: Map project now properly builds charset selector from loaded charset
    Add: BASIC macro variants for "gray" with a and numeric PETSCII {147} equals clrscr
    Add: tiledata option to !mediasrc pseudo op
    Fix: crash bug in BASIC compiler
    Fix: Panels activate now without stealing focus, updates .NET framework to 3.5 (for latest DockPanelSuite)
    Add: Syntax coloring updates in current line right away (instead of delayed as the rest of the file)
    Add: Direct paint option for tiles in map editor
    Add: More missing undo steps for map editor
    Add: Export to BASIC to sprite and graphic screen editor
    Fix: invalidoperation bug in MC export
    Add: Manual color mapping in graphic screen editor
    Fix: Search string not found it at very end of file
    Add: Sector error info support for D64/D81 to File Manager
    Fix: Crash in find next when target document was not open or previously closed
    Fix: No error if opcode with immediate addressing and late evaluation was out of bounds
    Add: Additional output of start address and size after successful compile
    Add: Changed tab support to also work without TabsAllowed enabled
    Fix: Removed "apply functionality" in tool settings
    Add: Portable mode (has to be chosen once in settings dialog)


    Link wie gehabt: georg-rottensteiner.de/files/C64StudioRelease.zip
  • Hallo Endurion :winke: ,

    ich habe die neueste Version heruntergeladen. Aber es wird mir die Version 5.3 unter Help->About angezeigt. In den Release Notes ist ebenfalls 5.3 als letzte Version vermerkt.
    Auch das Problem mit dem Absturz beim Laden eines .charsetproject ist (noch) bei mir vorhanden (C64 Studio - Entwicklungsumgebung).
    Wer schreit, denkt nicht !

    www.dmhas.de / nas.dmhas.de/
  • Hmm, dann musst du irgendwo noch was im Cache haben. Ich habe gerade das File selber heruntergeladen, da steht sicher 5.4 drin. Sowohl in den Release Notes als auch im Help->About.

    Vorsichtig, ich verwende ab und an den Link unter webmisc, das ist dann immer nur eine Bastelversion, evtl. hast du den erwischt?
  • So ein bescheuerter Cache hat mich vor einer Weile Nerven gekostet. Nach einem Umzug des Import-Programms auf einen neuen Server haben wir zu Aufträgen immer wieder die gleiche Datei bekommen, offenbar, weil sie auf dem FTP immer den gleichen Namen hatte. Bei Microsoft arbeiten doch echt nur Behinderte :S
    Vollmond war gestern!
  • Jetzt wollte ich auch mal feedback geben, da ich C64Studio seit ca einer Woche zum ersten mal für ein mittleres Projekt verwende. Ich muss sagen, ich bin sehr angetan!

    :ilikeit:

    Man hat alles beinander und ich habe mich recht schnell zurecht gefunden. Manchmal ist es mir leider noch abgestürzt. Vor allem beim Editieren eines charscreens. Hierzu hätte ich auch gleich noch ein paar Verbesserungsvorschläge:

    1. Wenn man einen charscreen öffnet und die Datei im Dialog dann doppelklickt, statt sie nur einfach zu klicken und danach auf 'öffnen' zu gehen, dann fügt man jedes mal wenn die Datei geöffnet wird gleich einen Klammeraffen (@) ein. Das nervt ein bisschen.
    2. Ich bräuchte DRINGEND eine Funktion, mit der ich nur die Farbe der Zeichen ändern kann. Wenn ich was umfärben will muss ich jetzt immer jedes einzelne Zeichen rechts klicken, die Farbe unten rechts neu auswählen und dann das Zeichen nochmal links klicken. Das ist sehr umständlich. Schön wäre es, wenn man alle Zeichenfunktionen einfach nur auf die Farbe begrenzen könnte, dann wären ganze Bereiche schnell neu eingefärbt.
    3. Schön wäre auch ein Texteingabemodus, wo man Beschriftungen einfügen kann. Mein Projekt ist sehr textlastig und es nervt ziemlich die Texte Buchstabe für Buchstabe zusammen zu klicken.

    Der eingebaute Assembler funktioniert super und man kommt gut damit zurecht. Da ich vorher noch nie was mic ACME gemacht hatte, konn ich nichts über die Kompatibilität sagen, aber ich habe alles, was ich so brauche!

    Alles in allem eine super Sache! Weiter so!
    :thnks:
  • hmmm... hab meistens ein Problem im charscreen beim markieren CTRL-C CTRL-V gehabt. Bei CTRL-V hing das einzufügende Rechteck nicht am Mauszeiger, sondern war versetzt und dann beim Klicken kam eine exception. Wenn es mir nochmal passiert werde ich versuchen den stacktrace zu sichern und poste ihn dann hier.

    Noch eine Frage: Kann man ein Basic-Programm direkt in den Assemblercode einbetten? Oder muss man das erst mal compilieren und das .prg file dann einbinden. Bei mir sieht es gerade so aus:

    Quellcode

    1. * = $0801!bin "basicprog.prg",,2 ; hier steht ein sys2080 drin
    2. * = 2080 jmp start
    Nachteil bei meiner Methode ist, dass es mir schon passiert ist, dass ich am Basic-Programm was geändert hatte und dann immer noch das alte Programme eingefügt wurde, weil ich vergessen hatte es separat zu builden. Vermutlich kann man irgendwas mit den build-events tricksen, aber soweit bin ich noch nicht eingestiegen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von andi6510 ()

  • Das ist schon was, mit dem ich ein bißchen rumspielen kann, danke :)

    Wegen dem BASIC-Einbetten. Direkt geht es nicht, du kannst aber das BASIC-File als Dependency einstellen (im Solution Explorer auf Properties des Assemblies, im Reiter "Compile Target" (ja, sehr unpassend) kannst du dann Häkchen bei dem BASIC-File setzen). Dann baut es immer vorher, und du kannst den Code so lassen, wie er ist.

    Wenn du das allerdings nur für eine SYS-Startzeile brauchst, kannst du im Assembler auch direkt ein !basic-Pseudo-Op einsetzen:

    Quellcode

    1. * = $0801
    2. !basic 2080
    3. * = 2080
  • andi6510 schrieb:


    2. Ich bräuchte DRINGEND eine Funktion, mit der ich nur die Farbe der Zeichen ändern kann. Wenn ich was umfärben will muss ich jetzt immer jedes einzelne Zeichen rechts klicken, die Farbe unten rechts neu auswählen und dann das Zeichen nochmal links klicken.


    3. Schön wäre auch ein Texteingabemodus, wo man Beschriftungen...
    Diese 2 Punkte sind ein guter Einwand. Wären auf mich nützliche Goodies.
    Wer schreit, denkt nicht !

    www.dmhas.de / nas.dmhas.de/
  • andi6510 schrieb:

    Der !basic Pseudo-Op ist ja nett! Kannte ich bis jetzt nicht!
    Aber ich möchte doch ein bisschen was Spezielleres... ;)
    Zwischen 2049 und 2080 passt ja nun nicht soo viel, da kann man die Basiczeilen auch direkt im Source bauen.
    Vordefinierte Symbole für die Basic-Tokens findest Du hier.
    Yes, I'm the guy responsible for the ACME cross assembler
  • Hallo Endurion,

    ich würde gerne einen Wunsch äußern. Ich fände es Klasse und praktisch, wenn es eine Möglichkeit gäbe, die erstellten Zeichensätze / Sprites / Bildschirme (/ Programme) direkt in ein Diskettenimage speichern zu können.

    Praktisch wäre den Imagepfad unter Einstellungen vorgeben zu können - mit einer Option (unter Project) Export: to Image. Eventuell könnte man noch als Option die Speicheradresse angeben. Für Programme könnte ich mir die Option "Export: to Image" gut in der Toolbar vorstellen. :hammer:

    Wie aufwendig das Ganze ist oder ob es überhaupt möglich ist, kann ich nicht abschätzen. :nixwiss:
    Wer schreit, denkt nicht !

    www.dmhas.de / nas.dmhas.de/
  • Neu

    Indirekt geht das schon: Es ist ein Kommandozeilentool "MediaManager" mitgeliefert.
    Ich handhabe das bisher so, dass ich im Post-Build-Event den MediaManager mit den entsprechenden Parametern aufrufe. In der Hilfe sind die Parameter für den MediaManager beschrieben.
    Als GUI wäre natürlich noch schöner :)

    Hier zum Beispiel das Post-Build-Event für Soulless 2:

    del "$(BuildTargetPath)\Soulless 2.d64"
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import "soullesstitle.prg" -renameto "SOULLESS 2"
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import stage_forest.prg -renameto 11
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import music_forest.prg -renameto 12
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import stage_temple.prg -renameto 21
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import music_title.prg -renameto 22
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import stage_caverns.prg -renameto 31
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import music_caverns.prg -renameto 32
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import stage_kalens_domain.prg -renameto 41
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import music_title.prg -renameto 42
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import stage_title.prg -renameto 51
    $(MediaManager) -d64 "$(BuildTargetPath)\Soulless 2.d64" -import music_title.prg -renameto 52
  • Neu

    kleinere Bugs:
    Bei Suchen und Ersetzen springt man am Ende immer an den Anfang des Dokuments statt an die alte Stelle.
    Bei Suchen und Ersetzen loescht manchmal (zum Glueck selten) den kompletten Dokumenteninhalt. Bloed, wenn dann das letzte Speichern Stunden zurueck liegt...
    Immer wenn man lda (zeropageadresse),y tippt macht er fuer das ",y" einen Vorschlag, was man statt dessen besser schreiben sollte, also z.B. "check_ready", weil das auch ein y im Namen hat. Das ist doch eher ungeschickt so.

    weiterer Verbesserungsvorschlag:
    Support fuer den CC65 compiler, so dass man auch in C programmieren kann. Das waere obersuperspitzenkomfortionoes!
  • Benutzer online 1

    1 Besucher