Hello, Guest the thread was viewed1.1k times and contains 9 replies

last post from WebFritzi at the

C64 MAE (Source)Code - wie optimal mit aktuellen Tools/Assemblern editieren/modifizieren?

  • Vorweg - ich selbst hab kein Plan von C64 Assembler - aber "mein" Coding Spezi sucht gerade die optimalen

    Voraussetzungen, um 1986er Assembler Code zu bearbeiten/in Details umzuschreiben. Der wurde seinerzeit von jemand anderem (der sich kaum noch an den Kram erinnert *g*) mit dem MAE geschrieben.


    Hier der MAE (in noch einer etwas neueren Variante) um den es geht...


    https://csdb.dk/release/?id=179046


    Eigentlich sind die Voraussetzungen recht gut. Wir haben hier auch den Source und der ist auch ganz gut kommentiert.

    Aber so der Coding Spezi - "Wow, das ist alles sehr oldschool :) Diesen MAE hab ich auch noch nie gesehen....

    (...) Ich denke die erste sinnvolle Aktion ist, das ganze mal komplett zu zerlegen, und die Quelltexte in ein Format zu bringen das dann mit irgendeinem Crossassembler (zb ACME) assembliert werden kann (...) dieser Assembler (MAE) ist ja wirklich gruselig zu bedienen (...) Leider kann man die Sourcen nicht so wie sie sind in Text wandeln.... aber der Assembler hat wohl eine Funktion um den Source auszudrucken, so könnte man die (mittels VICE) vielleicht als Textfile rauskriegen."


    Ist das der optimale Weg? Noch andere Ideen?


    BTW: Gibts irgendwo zu obigem MAE die Docs?

  • Hier steht, wie man in Vice in eine Textdatei druckt: Kann man mit VICE ein BASIC Listing als TXT-Datei exportieren?


    Ja, ich denke dies ist der beste Weg. Vielleicht in Python ein Skript zum Konvertieren in ACME-Syntax klöppeln.

  • Aber so der Coding Spezi - "Wow, das ist alles sehr oldschool :) Diesen MAE hab ich auch noch nie gesehen....

    Der MAE stammt noch von den CBMs. Damit habe ich damals auf meinem 3032 sehr viel gemacht. Zu Zeiten, als den C64 noch gar nicht gab. ;)

    Und so schlecht war der gar nicht. An den Editor musste man sich etwas gewöhnen.


    Wenn das Format des C64 MAE identisch ist zur CBM-Version, dann hab ich Routinen, um die Dateien nach ASCII zu konvertieren. Ich hab nämlich meine Assembler-Sourcen von damals auch alle konvertiert. Da muss man jetzt nicht extra noch mal was für schreiben.

  • Zeig doch mal die Sourcen her (als Datei), um die es geht, plus einen Screenshot, was MAE anzeigt, vielleicht ist die Codierung ja simpel.

    Hast PN ;)



    Aber so der Coding Spezi - "Wow, das ist alles sehr oldschool :) Diesen MAE hab ich auch noch nie gesehen....

    Der MAE stammt noch von den CBMs. Damit habe ich damals auf meinem 3032 sehr viel gemacht. Zu Zeiten, als den C64 noch gar nicht gab. ;)

    Und so schlecht war der gar nicht. An den Editor musste man sich etwas gewöhnen.


    Wenn das Format des C64 MAE identisch ist zur CBM-Version, dann hab ich Routinen, um die Dateien nach ASCII zu konvertieren. Ich hab nämlich meine Assembler-Sourcen von damals auch alle konvertiert. Da muss man jetzt nicht extra noch mal was für schreiben.

    Hast ebenfalls ne PN.

  • Wenn ich es richtig verstanden habe führt man im MAE (mit "AS" für Assemblieren) eine Source "Controlldatei" aus, wo alle anderen Sourcedateien aufgeführt sind, die dann zum Build gehören.

    Da haben wir das Problem, dass es ne Fehlermeldung gibt. 0f" Ueberlauf im Textspeicher.


    Dazu der Coder (der sich wie erwähnt kaum noch an was erinnert)


    -snip-


    Ich erinnere mich dunkel das ich vielleicht erst etwas im MAE eingeben musste um den speicherplatz zu vergrößern (BASIC-Bereich ausblenden oder so?) da sollte es ne Info zu geben in der Anteitung des MAE schätze ich.


    -snap-


    Hat da jemand n Tipp?


    Zu Set steht da was?


    -snip-


    SET Reads or sets the text file, label file and relocatable buffer boundaries. It also can be used to determine the remaining space for the text file


    Change the text file memory allocation to $0800-$1FFC, the label file to $4000-46FC, and relocatable buffer to $4700:

    SET $800 $1FFC $4000 $46FC $4700


    -snap-


    Wie konkret würde dann der Syntax zu "BASIC-Bereich ausblenden oder so?" am C64 aussehen?

    Leider sind die diversen Anleitungen zum MAE wohl nur allgemein für alle CBM Rechner, und nicht speziell für den C64?

  • Wie konkret würde dann der Syntax zu "BASIC-Bereich ausblenden oder so?" am C64 aussehen?

    In Assembler:

    Code
    1. LDA #$36
    2. STA $01

    Das schreibt die Zahl 55 (hexadezimal 36) in die Speicheradresse 1.


    EDIT: Ich habe ein bisschen rumprobiert. Im MAE direkt geht es so:

    1. "MAE<-Monitor" laden
    2. Ein (Soft-)Reset machen (es öffnet sich der Monitor)
    3. Im Monitor eingeben: F $0001 $0001 $36
    4. Im Monitor eingeben: X (für Exit)

    Dann ist man wieder im Editor und BASIC ist ausgeblendet.


    P.S.: Eine Beschreibung des MAE ist in der F64-Wolke im Ordner Software/C64/Anwenderprogramme/Assembler zu finden.