Haloo
Hier noch mal der Nachladetrick aus Nachladen mal anders:
0 :in$="datei":print"loading$,8:[hoch]":poke631,131:poke198,1:sys42107
Also jetzt mal ehrlich, wer hat nicht verstanden, wie es geht ?
Schönen Gruß.
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von JensLtb am
Haloo
Hier noch mal der Nachladetrick aus Nachladen mal anders:
0 :in$="datei":print"loading$,8:[hoch]":poke631,131:poke198,1:sys42107
Also jetzt mal ehrlich, wer hat nicht verstanden, wie es geht ?
Schönen Gruß.
Tu es nicht!!! Wenn der Name dreimal vor Mitternacht genannt wird, haben wir den wieder aufm Hals....
Ihr wurdet ja gewarnt....
Jetzt haben wir den Salat.
Jo, grundsätzlich sind alle Load-Varianten möglich.
Mit Pointer setzen und ohne, mit Variablenerhalt und ohne, auch bei längeren Programmen.
Der Aufwand ist natürlich bei schwierigeren Fällen etwas aufwendiger.
Ansonsten ist es am einfachsten nachzuladen mit
1 :poke45,lb:poke46,hb:clr:rem--endadresse hochsetzen, falls groesser
5 :a=a+1:ifa>1then:load"datei",8:
wenn das Basic-Programm kleiner ist als das Aufrufprogramm.
Falls die Datei größer ist kann man am Programmanfang die Endadresse hochsetzen und dann genauso mit load"datei",8: nachladen.
Falls die Variablen nicht erhalten bleiben sollen kann man auch mit load"datei",8 nachladen.
Dann muß man allerdings die Endadresse in der Folgedatei setzen.
Wie z.B. in Zeile 1 gezeigt.
Schönen Gruß.
Sorry für die Leichengräberei, aber genau DAS da unten hat mir gerade bei meinem allerersten C64 Programm geholfen.
Besten Dank.
Alles anzeigenDas Bildschirmlayout ist ja ohnehin ruiniert - wenn einem also egal ist, daß der Bildschirm dabei gelöscht wird, geht der Autostart auch, ohne daß man den RUN-Befehl genau positionieren muß, mit zwei Einträgen in den Tastaturpuffer:
Der POKE auf 198 extra voran gestellt, damit ich von MacBacon keine Haue wegen einer Race-Condition bekomme. Ich schreib's aus Gewohnheit sonst immer andersherum.
Der erste Eintrag (19) im Puffer stellt den Cursor (wieder) in die HOME-Position. Der zweite Eintrag (131) würde *normalerweise* ein Autostart von Tape ausführen. Dabei überschreibt er zuerst das bereits ge-PRINT-ete "LOAD" nochmal mit "LOAD", "drückt" dann [RETURN], wartet bis geladen ist, und dann kommt RUN + [RETURN] noch hinterher.
Mit DN=PEEK(186) läuft das ganze dann auch noch von jedem Laufwerk, im Zweifelsfall auch immer noch von Tape.
Noch Fragen?
P.S. und bitte auf das reflex-artige ",8,1" verzichten. Wir laden hier BASIC-Programme nach.
Wenn man nur ein paar Werte in das nachgeladene Programm übernehmen will, kann man die z.B. nach 49152 und folgende Speicherstellen poken, dann per simulierter Direkteingabe das nächste Programm laden und sie dann zurückholen.