Renumber als Assembler Code

There are 266 replies in this Thread which has previously been viewed 38,175 times. The latest Post (September 23, 2024 at 3:33 PM) was by goloMAK.

  • Ich suche eine Assembler Routine die ein BASIC Programm neu nummeriert. Dabei sollen (ON) GOTO, GOSUB u.ä. berücksichtigt werden und mit korrekt um nummeriert werden. Ich habe hier alles abgesucht und im Rest der GOOGLE-Welt. Bis auf eine paar BASIC Zeilern und ASM Programme die aber kein GOTO usw berücksichtigen habe ich nichts gefunden.

    Eventuell kann mir auch jemand zur Hand gehen und die Routine selbst entwickeln.

    Es sollte einfachheitshalber mit sys[ADRESSE],start,schritt aufrufbar sein.

    Danke an all die genialen Assembler Programmierer hier.

    Vy 73 de DG5KR (Robert)
    Als wir die Computer noch verstanden.

    Please login to see this link.Please login to see this link.

    Die wilden 80er und aufregende Nächte mit dem C64, die 90er voller neuer Technik. Alles was danach kommt war nur noch Job.

  • Da sollte sich im Rom des 128er doch was finden lassen. Der kann nämlich Renumber.

    Please login to see this link.

    Please login to see this link.

  • oder alternativ: Das Programm in Vice (c128) laden, da Renumbern und wieder speichern

    Please login to see this link.

    Please login to see this link.

  • In Codebase64 gibts nicht der gleichen.

    Den in VICE oder einen realen C128 laden, renumbern, speichern, laden bringt mich nicht weiter weil

    a) Ich möchte was lernen :loet

    b) ich bin gerade dabei als Fingerübung und um in die 6502/C64 Programmierung wieder reinzukommen einen (ja ich weiß, schon wieder einen) BASIC Extender zu schreiben. Der sollte auch eine RENUM Funktion erhalten.

    Die Entwicklung ist bisher im C64Studio und wird im VICE getestet. Ich hoffe bald einen "echten" C64 wieder zu besitzen, spätestens im Dezember den THE64Maxi :lol23:

    Deshalb suche ich nach einer Routine oder einen Anstupser in die richtige Richtung.

    Vy 73 de DG5KR (Robert)
    Als wir die Computer noch verstanden.

    Please login to see this link.Please login to see this link.

    Die wilden 80er und aufregende Nächte mit dem C64, die 90er voller neuer Technik. Alles was danach kommt war nur noch Job.

  • Oder den Basic-Code in's C64 Studio laden und dort renumbern

    "Kaum zu fassen, das bei jedem Menschen, dessen Schädel man nach seinem Tod öffnete, ein Gehirn gefunden wurde".

    Unbekannt


    Meine Projekte : Please login to see this link., Please login to see this link., Please login to see this link., Please login to see this link., Please login to see this link., Please login to see this link.

  • oder alternativ: Das Programm in Vice (c128) laden, da Renumbern und wieder speichern

    Das dürfte die einfachste und schnellste Lösung sein :thumbup:

    Hier gibts eine fertige Please login to see this link. für den C64
    Die wohl aus diesem Please login to see this link. entstanden ist.


    Ciao Dirk

  • @dg4kr, für am C64 selbst:

    Die Renumber Funktion im erweiterten Basic meiner Action Power V8.1 Freezer Cartridge kann das alles. Auch Gosub und Goto Zeilennummern-neuvergabe wird da komplett berücksichtigt.

    Falls du also nicht den Code an sich willst, go with it ! [->"Renumber start, schrittweite"<-]

    ---

    K.A. ob ggf. auch das AR6 (-Basic) bereits schon so fortschrittlich wie die o.g. Action Power Cartridge ist, und es damit alternativ auch ginge. ;)

  • Danke Dirk,

    Please login to see this attachment.

    das ist genau das was ich gesucht habe. Der unter Teil zeigt die "rohe" Routine. Das ist Basis genug für meine Implementation.

    Das Ergebnis stelle ich hier dann vor.

    Vy 73 de DG5KR (Robert)
    Als wir die Computer noch verstanden.

    Please login to see this link.Please login to see this link.

    Die wilden 80er und aufregende Nächte mit dem C64, die 90er voller neuer Technik. Alles was danach kommt war nur noch Job.

  • auch ein schoenes RENUMBER ist hier Please login to see this link. zu finden, dabeihandelt es sich um ein aelteres program.

    welches wohl alle moeglichen konstrukte wie goto,gosub, on goto if then usw abdeckt.

    ausserdem ist es auch noch relocable also frei verschiebbar.

  • @CommieSurfer und Konsorten....Ihr habt euch schon durchgelesen, für was der TE Renumber braucht und für was nicht?

  • @CommieSurfer und Konsorten....Ihr habt euch schon durchgelesen, für was der TE Renumber braucht und für was nicht?

    Das steht aber nicht dabei, ob er nun genau den Code an sich (für was auch immer, steht eben nicht dabei) braucht oder nur ein Programm / Crt mit der FUNKTION des Codes (um nur und einzig ein Basic Programm zu Renumbern).

    Verstanden ? Deswegen steht in meinem Post ja auch der Zusatz "Falls du also nicht den Code an sich willst, ..." extra mit dabei. Den Gedanken hatte ich also. Also bitte erstmal lesen und verstehen.

    Falls er eben nicht den Code braucht / darin irgendwas werkeln will, tut's eben auch ein oben erwähnter C128er mit seinem Basic samt Renumber Befehl oder am C64 ein Action Power etc. Cartridge.. .

  • hehe ja habs jetzt nochmal gelesen und da steht "kein goto usw", nun gut die tokens auszulassen koennte man sicher mit ein paar wenigen befehlen dazuproggen.

    was ich aber nicht verstehe ist der sinn dahinter, renum ohne goto usw is doch voellig sinnfrei oder ueberseh ich da etwas? :smoke:

  • Das steht aber nicht dabei

    Doch

    ich bin gerade dabei als Fingerübung und um in die 6502/C64 Programmierung wieder reinzukommen einen (ja ich weiß, schon wieder einen) BASIC Extender zu schreiben. Der sollte auch eine RENUM Funktion erhalten.

    ---

    Also bitte erstmal lesen und verstehen.

    Noch Fragen?

  • hehe ja habs jetzt nochmal gelesen und da steht "kein goto usw", nun gut die tokens auszulassen koennte man sicher mit ein paar wenigen befehlen dazuproggen.

    was ich aber nicht verstehe ist der sinn dahinter, renum ohne goto usw is doch voellig sinnfrei oder ueberseh ich da etwas? :smoke:

    Steht da zwar, aber der ganze Satz besagt, dass er durchaus alles berücksichtigt haben möchte.

    Bis auf ein paar BASIC-[X-]-Zeilern und ASM-Programme, die aber kein GOTO usw. berücksichtigen, habe ich nichts gefunden.

    Übrigens, eine tadellos funktionierende und vermutlich klein programmierte Routine (wegen des Platzmangels) findet sich in Paradoxon-BASIC irgendwo am Ende. Mir ist aber nicht bekannt, ob der Quellcode dazu jemals veröffentlicht wurde. Der würde mich nämlich auch interessieren.

    Ansonsten halte ich das von Haubitze in Beitrag Nr. 10 für ideal.

  • dg5kr

    Wenn Du zu Deinem neuen Basicrom noch ne Herausforderung suchst, änder bitte gleich die Speicherbelegung so um, das statt der lächerlichen 39k Basic Bytes sagen wir mal 60k frei sind, siehe Plus4.

    Gruß & Kuss zum Wochenschluss,
    Holy Moses/Role

    Please login to see this link.

    Please login to see this media element.

  • Und wie bitte schön willst du das machen?

    Nun hau mal raus.

    Mein ignorierter Beitrag zur Netzteildiskusion:

    The content cannot be displayed because it is no longer available.

  • Dann blieben noch genau 2k für ein neues gescheites BASIC-ROM (64k - 60k - $800). Trotz meines Optimus' würde ich sagen, das wird eng. ^^ Bei 50k (Paradoxon BASIC) bis max. 54k sehe ich die Grenze.

  • Noch Fragen?

    Nein. Bis auf: Wie kommt man dazu sich jeden einzelnen Post nach dem Eröffnungs-/Einleitungspost No.1 bis zum Ende des Posts durchzulesen ? ;) ;)

    Im Eröffnungspost steht nichts davon, zum genauen Zweck (wie ich in meinem Post eben halt auch erwähnt habe).