GELÖST : CBM 8032/SK : Kopieren von PETSD2+ geht nicht auf Floppy. Warum ?

  • Halloechen und frohes neues.

    Ich habe festgestellt, dass der COPY Befehl unter Basic 4

    nicht funktioniert wenn ich von PET2SD+ auf Floppy oder umgekehrt

    kopieren moechte.


    Gibt es da eine andere Syntax fuer den COPY Befehle in Verbindung mit

    dem PETSD2+ ?


    Im Programm wie auch auf der Eingabe Ebene, hat es nicht funktioniert.


    Von FDD zu FDD kein Problem.


    Gehen tut auf der PETSD2+ : Dateien erstellen, laden, loeschen, CD

    MD noch nicht probiert.

    Alles geht - Nichts muß

  • BSOS auf dem 8296 kann das, Basic 4 nicht. Der Copy Befehl wird in der Floppy ausgeführt, von Gerät zu Gerät funktioniert der nicht. Dafür gibt es aber Programme, z. B. unit to unit auf der Test/Demo Disk der 8050.

    Es soll ja auch auf dem 8032 gehen. Die Software Unit Umstellung habe ich inzwischen auch im Handbuch der HDD gefunden.


    Eine Test/Demo Disk habe ich leider nicht.


    Eine Kopier Rountine von UNIT zu UNIT habe ich leider auch nicht gefunden. Habe gestern und heute beide Handbuecher "studiert".


    Hast du die vielleicht Zeit diese Passage ( UNIT zu UNIT ) vielleicht online zu stellen ?

    Alles geht - Nichts muß

  • Es gibt ja Kopierprogramme du das können.


    DraCopy zum Beispiel.




    Hmmm.

    Das SD2Pet kann man ja gar nicht glz. mit einer Floppy betreiben???


    Das SD2Pet belegt ja den IEEE Port. Und an der Floppy geht das SD2pet nicht dran?

  • Das klassische unit to unit ist quälend langsam. Dort wird nur jeweils ein Byte kopiert und der Overhead des CBM/IEEE-488-Protokolls vergeudet ein Vielfaches der verfügbaren Bandbreite. CBM Command sollte natürlich auch Dateien kopieren können, wobei ich derzeit nicht sagen kann, ob es größere Puffer verwendet oder schneller arbeitet, aber einen Versuch ist es allemal wert: https://www.c64-wiki.de/wiki/CBM-Command

  • Hi Nils,

    das BIT Weise ist natuerlich nur fuer welche die riiiiichtig Zeit und Muße haben.

    Ich probier mal die Tage in 50 oder 80 KB Schritten zu kopieren und ob da ein

    Ergebniss mit zu erzielen ist.

    Aber da faellt mir was ein..........

    Probier ich als erstes und schreibe Bescheid wenns klappt

    Alles geht - Nichts muß

  • Da man damals in der Regel genau ein Doppellaufwerk hatte, stellte sich das Problem damals nicht. Es war sogar sehr komfortabel, dass die Floppy den Copy-Befehl selber ausführte, auch von Laufwerk zu Laufwerk - aber eben nicht von einem Gerät auf ein anderes.

    Die Einzellaufwerke (2031/4031) waren sehr selten.


    Ich hatte mir damals ein Basic-Programm geschrieben, das mit einer Assembler-Routine immer einen Block am Stück lädt und speichert. Das war dann einigermaßen schnell. Leider ist das Programm nicht erhalten geblieben.


    Wegen dem lahmen GET# Befehl, funktioniert das nur in Assembler mit akzeptabler Geschwindigkeit. Mit reinem Basic ist da nichts zu machen. Unit2Unit verwendet auch eine Assembler-Routine, wenn ich mich richtig erinnere.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    4 Mal editiert, zuletzt von detlef ()

  • Problem geloest : ( Wenn Programme kopiert werden sollen )


    100 f$=chr$(12)+"new"+chr$(13)

    120 f$=f$+"dload"+chr$(34)+"pgm3"+chr$(34)+",d0,u9"+chr$(13)

    130 f$=f$+"dsave"+chr$(34)+"pgm3"+chr$(34)+",d0,u8"+chr$(13)

    140 f$=f$+"dload"+chr$(34)+"pgm1"+chr$(34)+",d0,u9"+chr$(13)

    160 f$=f$+"run"

    600 rem" ********* DATEI AUSFUEHREN ***********

    633 poke 227,len(f$)

    635 for a=1 to len(f$)

    640 poke 622+a,asc(mid$(f$,a,1))

    645 next a

    646 poke 158,len(f$)

    647 end


    D0 und U9 und U8 muessen natuerlich selber angepasst werden.

    Fuer eigene Programme muss das natuerlich auch angepasst werden.

    Wenn im Ziel Laufwerk ueberschrieben werden soll, muss das auch

    angepasst werden.

    Fuer mehrere Dateien muss eine Schleife usw. rumgebaut werden.


    Der eine oder andere Programmierer weiss damit aber bestimmt umzugehen.


    Ich wuensche Viel Spass beim ausprobieren.


    Bei mir funktionierts :capone:

    Alles geht - Nichts muß

  • Uiih, dirty hack. :mrgreen:

    Aber wenn's funktioniert. ;)

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Funktioniert nur für PRG.

    Und nur wenn sie ab $0400 starten.

    Und nicht zu groß sind.


    Ein gutes Kopierprogramme kopiert alles.

    Egal welcher Inhalt.

    Egal welche Größe.

    Egal welcher Typ: PRG, USR, SEQ

    Manche können sogar REL

  • Weiss ich.

    Ich suche trotzdem Loesungen in Basic. Ich hab von MS keine Ahnung.

    Das damit nur PRG gehen ist klar. Allerdings weiss ich nicht, warum das

    nur an $0400 gehen soll. Ausserdem geht es hier nur um UNIT uebergreifend.

    Von Disk zu Disk innerhalb einer Unit brauch man den Code nicht und

    das schaffen auch schlechte Kopierprogramme innerhalb einer Unit.

    Beste Gruesse

    Alles geht - Nichts muß

  • Man kann BASIC und MS sehr gut kombinieren.


    Also das allermeiste in BASIC machen und die heiklen Sachen in MS.


    Im Falle von einem Kopierprogramm, - OPEN und Close gehen ja super schnell in BASIC.

    Es bräuchte nur eine Mini MS Routine die 256 Bytes sendet und empfängt.

    Also ein GET256 und ein PRINT256.


    Kann dir da gerne behilflich sein.

  • Allerdings weiss ich nicht, warum das nur an $0400 gehen soll. Ausserdem geht es hier nur um UNIT uebergreifend.

    Von Disk zu Disk innerhalb einer Unit brauch man den Code nicht und

    das schaffen auch schlechte Kopierprogramme innerhalb einer Unit.

    Basic-Programme werden beim CBM immer ab Adresse $0401 geladen und von dort gespeichert. Damit funktioniert das auch.

    Bei einem Assembler-Programm, das an eine andere Adresse geladen wird, funktioniert das Speichern so nicht.

    Bei einem Basic-Programm mit angehängtem Assembler-Code wird es auch nicht funktionieren. Das sieht man leider nicht auf Anhieb.


    Wie schon gesagt, innerhalb eines Doppellaufwerkes braucht man gar kein Kopierprogramm. Das kann die Floppy selber.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Du kannst doch fertige Diskimages am PC erstellen und dann nachher mit einem Diskcopy-Programm auf eine Originaldiskette zurückschreiben. Ich vermute mal, dein Ziel ist es, eine schön gefüllte Diskettenbox für deinen CBM zu haben, um den Rechner in der Regel mit Disketten zu betreiben ?!


    Wenn du individuell gestaltete Images hast, dann brauchst du ja gar kein Programm, welches einzelne Files kopieren kann. Ich persönlich würde das in Assembler probieren. Ich stelle mir das so vor. Ich definiere einen bestimmten Speicherbereich, lese einige Tracks von der Diskette von Station 8 da rein und schreibe es dann aus diesem Speicherbereich wiederum zurück auf die Station 9 in die selben Tracks natürlich. Also Sektor für Sektor bzw Track für Track kopieren, und somit ein 100%iges Abbild erstellen. Das wäre doch mit Countern/Schleifen realisierbar ?!


    Gruß Jan

  • Du kannst doch fertige Diskimages am PC erstellen und dann nachher mit einem Diskcopy-Programm auf eine Originaldiskette zurüc......

    Hi #Jan,

    eine gefuellte DiskBox ist nicht mein erklaertes Ziel. Wegen der MS Routinen hat sich #diddl bereits angeboten das zu uebernehmen. Ich kam eigentlich nur auf Zufall drauf wegen Unit zu Unit zu kopieren und habe mich gefragt warum das nicht geht. Dann fiel mir ein, das mal mit dem Keyboard Puffer auszuprobieren was dann auch ging. Ich probier aber erstmal noch eine andere Variante damit einzelnes von U-U kopiert werden kann. Das mit den Images ist schon klar. Damit wechsel ich ja auch vom PC zum CBM und umgekehrt. Es wird halt dann interessant, wenn man den PET2SD+ und eine oder mehrere Floppy dran hat.

    Beste Gruesse, Falco

    Alles geht - Nichts muß

  • Im Falle von einem Kopierprogramm, - OPEN und Close gehen ja super schnell in BASIC.

    Es bräuchte nur eine Mini MS Routine die 256 Bytes sendet und empfängt.

    Also ein GET256 und ein PRINT256.


    Kann dir da gerne behilflich sein.

    Hi #diddl,

    ich waere gerne bereit ein Gemeinschaftsprojekt mit der U2U Routine mit Dir

    in Angriff zu nehmen.

    Schreib bescheid wenn und wann du anfangen magst und vor allem,

    wie wir anfangen. Beste Gruesse, Falco

    Alles geht - Nichts muß

  • BASIC - Assembler Hybrid - (am Beispiel FILECOPY)