Hi,
wie komme ich zuverlässig an die Start-/und Endadresse, wenn ich ein mit $ffd5 zuvor geladenes File anschließend mittels $ffd8 speichern möchte? (Start- und Endadressen variieren)
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 HOLY MOSES/ROLE am
Hi,
wie komme ich zuverlässig an die Start-/und Endadresse, wenn ich ein mit $ffd5 zuvor geladenes File anschließend mittels $ffd8 speichern möchte? (Start- und Endadressen variieren)
Meines Wissens gar nicht:
LOAD liest die Ladeadresse aus der Datei zu $ae/$af. Gegebenenfalls wird sie dann durch die vom Aufrufer gewünschte Adresse überschrieben (diese käme aus $c3/$c4). Während des Ladens wird $ae als Schreibzeiger benutzt und ständig erhöht, so dass man nach dem Laden die Endadresse+1 darin vorfindet. Die ursprüngliche Ladeadresse ist also futsch.
Wenn Du die Ladeadresse unbedingt brauchst, öffne die Datei vorher separat und lies zwei Bytes manuell aus.
Dann musst du die Datei Byte für Byte in den Speicher holen: Beispiel dafür findest Du hier: http://codebase64.org/doku.php…ading_a_file_byte-by-byte
So kommst Du an die 2 Byte Load Adresse.
Die meisten Dateikopierprogramme mit KERNAL I/O auf Disk gehen auch gar nicht hin und laden die Datei als ganzes in den Speicher - davon ab bestünde bei dieser Methode ja auch immer die Gefahr, daß das kopierende Programm überschrieben wird.
Anstelle dessen werden einfach zwei Dateien mit OPEN geöffnet (ggfs. auf zwei verschiedenen Laufwerken) und dann wird die Datei byte-weise (unter Zuhilfenahme eines kleinen 256 Byte großen Puffers) von A nach B kopiert. Sofern ein Floppybeschleuniger eingesetzt wird, der nicht nur LOAD (und vlt. noch SAVE) unterstützt, sondern auch OPEN, INPUT#, PRINT#, GET#, CMD und CLOSE kriegt man so ohne speziellen Floppycode auch was ganz brauchbares hin.
Die Ladeadresse wird einfach mit den ersten zwei Bytes der Datei mitkopiert, und die Endadresse ergibt sich ganz klar aus der Länge.
Hier haben wir noch was: Kopierprogramm gesucht. Direkt im zweiten Posting.
Okay, da es scheinbar kein Filecopy gibt, mit dem ich z.B. mit einem "SD2IEC" Files zwischen verschiedenen "DIR´s" und z.B. ".D64´s" kopieren kann, wollte ich ein kleines Filecopy selber machen.
Das die Files in den Speicher geladen werden und alles größenmäßig limitieren ist für mich okay.
Ich dachte es wäre einfach, irgendwie "offiziell" an die Startadresse zu kommen, aber gut, dann mache ich das halt anders. Wie immer
Trotzdem vielen Dank.
Wenn es wirklich so ein Filecopy noch nicht geben sollte, werde ich meinen "Müll" auf Wunsch releasen, um so einen Anreiz für einen "echten" Coder zu schaffen, etwas "besseres" zu machen... Muharharhar... (Schurkenlache, mit Mietzekatze im Drehstuhl)
Selbst schreiben ist immer klasse!
Davon ab ist vielleicht das Tool hier was für dich: SDBrowse V.697
Okay, da es scheinbar kein Filecopy gibt, mit dem ich z.B. mit einem "SD2IEC" Files zwischen verschiedenen "DIR´s" und z.B. ".D64´s" kopieren kann, wollte ich ein kleines Filecopy selber machen.
schonmal dracopy probiert ?
der sollte das ihmo problemlos machen.
Und wenn Du noch na JiffyDOS-Kernal am Start hast(als ROM oder im EF3), dann sogar in einer erträglichen Geschwindigkeit ....
Ich dachte es wäre einfach, irgendwie "offiziell" an die Startadresse zu kommen
Ist es ja auch: Datei öffnen, zwei Byte lesen, glücklich sein. Wenn Du das dann unbedingt mit LOAD laden willst: Datei schließen, LOAD, fertig. Andernfalls einfach ab dem dritten Byte weiter lesen.
Ich seh da jetzt nicht das ganz große Problem? Den Programm-Heaader von Datasette auszuwerten ist da schon deutlich anspruchsvoller.
schonmal dracopy probiert ?der sollte das ihmo problemlos machen.
Und wenn Du noch na JiffyDOS-Kernal am Start hast(als ROM oder im EF3), dann sogar in einer erträglichen Geschwindigkeit ....
Hallo, ja, danke. Total lahm und klappt bei zu langen "DIR´s" nicht, 128 Filenames pro "DIR" wenn ich nicht irre. Jiffy Dos habe ich selbstverständlich im Rechner, nutze ich aber nicht (nur in Notfällen die es nicht gibt), finde EXOS V3 besser.
Selbst schreiben ist immer klasse!
Davon ab ist vielleicht das Tool hier was für dich: SDBrowse V.697
Hallo, ja, danke, dank der Darstellung auf meinem Monitor und des offenen Borders fehlen bei mir dann Textteile. Da ich das nicht einstellen kann hat sich auch das leider erledigt.
***
Vielen Dank euch allen, habe mir jetzt was zurechtgebastelt und sogar gespreaded. Ist ja nur dafür da, das ich nicht wie ein kleines Äffchen mit nem Monitor bewaffnet per Hand Files kopieren muss um etwas in ein anderes "DIR" oder gar ein ".D64" auf meinem SD2IEC zu kopieren.