SD2IEC als 1541 Emulation

Es gibt 12 Antworten in diesem Thema, welches 1.992 mal aufgerufen wurde. Der letzte Beitrag (24. November 2021 um 09:16) ist von Obelix 20960.

  • Auf Commodore Seite bin ich (fast) blutiger Anfänger! Ich weiß zwar, daß ich mit lO (lode) "$",Bitte melde dich an, um diesen Link zu sehen.(,1) ein Directory eines Floppy (Bitte melde dich an, um diesen Link zu sehen.) aufrufen kann, daß Floppy's als Geräteadresse 8-11 erhalten können und daß ich mit einem {letter1}{SHFT - letter2} BASIC-Befehle abkürzen kann, aber das war's dann auch ...

    Darum denke ich, hier richtig zu sein. Auf dem Atari habe ich mich in Theorie viel mit dem SIO2SD als vollwertigen Floppy-Emulator befaßt, aber auch hier noch keinerlei prktische Erfahrung. Eigentlich wollte ich den Cevie, den ich mal anschaffte, in der Hauptsache dafür nutzen, Disks aus der Hinterlassenschaft meines vor mehr als 1 Jahrzehnt verstorbenen Vaters, der mit Commodore (zul. C128) arbeitete, prüfen zu können - habe in den vergangenen Jahren aber immer wieder Spielesoftware gesehen, die ich für interessant halte und keine Umsetzung für den Atari XL kenne. Ich hatte zwar auch in der Vergangenheit schon mal gefragt und mir über eingeschränkte Emulation Informationen bekommen. Ich muß jetzt allerdings erstmal weg - meine Fragen folgen in weiteren Posts ...

  • sd2iec ist keine 1541-Emulation sondern ein SD-Karten-Laufwerk für den seriellen Bus.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Wenn du einen Vergleich zwischen SIO2SD und SD2IEC anstellen willst, dann musst du wissen, dass die Floppy Laufwerke von Commodore und Atari durchaus vergleichbar sind.

    Beide Systeme benutzte "intelligente" Floppy Laufwerke.

    Die Laufwerke sind im Grunde eigene Computer Systeme.

    Aber Atari Laufwerke sind von Natur aus relativ schnell.

    Bei Commodore wurde die serielle Schnittstellle totatl verhaut.

    Deshalb sind die Laufwerke irre langsam.

    Dieses Manko hat aber dazu geführt, dass man sehr früh angefangen hat, Commodore Laufwerke zu beschleunigen.

    Es wurde gängige Praxis, Code in das Floppy Laufwerk zu laden um etwas zu verbessern.

    Mal davon abgesehen gibt es irre Hardware aufrüstungen ...

    ===

    So nun gibt es für beide Systeme heute SD basierte Ersatz Lösungen.

    Meist ist es ein Arduino bzw. ein Atmel Controller der durch spezielle Software ein Floppy Laufwerk ersetzt.


    Nun ist es eines, sich so zu verhalten wie ein Standard Laufwerk das mit den vorgesehenen Methoden zugegriffen wird.

    Der Atmel Controller hört auf die Befehle des Computer (C64 oder Atari 800) und verhält sich so wie das Floppy Laufwerk.

    Das funktioniert perfekt sowohl bei SIO2SD als auch beim SD2IEC am Commodore.

    Wenn allerdings Code hochgeladen wird in das "Floppy Laufwerk", dann sieht die Welt ganz anders aus.

    Die Atmel basierten Ersatzlaufwerke verhalten sich zwar wie Laufwerke, aber sie emulieren NICHT die ganze Laufwerks Hardware.

    Deswegen können diese Ersatzlaufwerke normalerweise nichts anfangen mit dem Code der hoch geladen wird.

    Beim Atari spielt das keine große Rolle.

    Da war dies nicht gängige Praxis.

    Beim Commodore hingegen funktionieren all diese Dinge am SD2IEC in der Regel nicht (mit Ausnahmen, bestimmte Speeder etc.).

    Was tadellos funktioniert ist:

    - ein Programm laden oder speichern

    - Daten laden und speichern

    - DOS Befehle ausführen

    Alle Dinge die von Commodore vorgesehen sind, laufen tadellos am SD2IEC.

    Sobald Floppy Code im Spiel ist, wird es eng.

    Dazu gibt es dann wesentlich teurere Lösungen, die sich dann wirklich exakt wie eine 1541 Floppy verhalten.

    Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Bei Commodore wurde die serielle Schnittstellle totatl verhaut.

    Deshalb sind die Laufwerke irre langsam.

    Off-Topic-Anmerkung am Rande:

    Auch mit schnellem IEC-Interface sind die Laufwerke nur fünfmal oder so schneller.

    Also auch an vielen anderen Stellen im Laufwerk selbst, beim Diskzugriff, noch vor dem Transfer, gibt es seit jeher deutliches Optimierungspotenzial. :)

  • Warum ist dann der Ladevorgang mit einem FC3 10x so schnell? Da wird nix an der Hardware geändert!? :)

    So Scheisse können die CBM-LW nicht sein. :P

  • Warum ist dann der Ladevorgang mit einem FC3 10x so schnell? Da wird nix an der Hardware geändert!? :)

    So Scheisse können die CBM-LW nicht sein. :P

    Es wird Code in das Laufwerk geladen und dort ausgeführt, welcher u.a. schnelleren Disk-Zugriff implementiert.

    So gut wie alle Software-/Cartridge-Fastloader tun das.

    Und die Laufwerke an sich sind hardwaremäßig ja nicht so scheiße, sonst wären 50x-Software-Fastloader kein Ding. :)

    Die Firmware (das DOS) dagegen, nun ja, will eher zuverlässig als schnell sein.

    Aber dafür gab es von Hause aus schon immer die Möglichkeit, User-Code im Laufwerk auszuführen.

  • So Scheisse können die CBM-LW nicht sein. :P

    Nee, sagt eh keiner dass es scheiße ist.

    Die Hardware ist sehr okay.

    Die kommerziellen Floppy Laufwerke von Commodore sind wirklich klasse!

    Und dann musste das Konzept eben in einer Billigversion produziert werden ...


    Die Firmware (das DOS) dagegen, nun ja, will eher zuverlässig als schnell sein.

    Das DOS ist klasse.

    Die Hardware wurde halt einfach für die Billig Linie der Homecomputer total zusammen gestaucht.

    Und dazu passierten Fehler die kurz vor dem Rollout entdeckt wurden (VIA Bug) und dann schnell schnell per Software umgangen ... :(


    Ursprünglich war die Hardware ganz anders:

    • zwei CPU (6502 und 6504)
    • mehr RAM
    • zwei Laufwerke
    • schneller paralleler IEEE-488 Bus
    • Hardware GCR Encoder / Decoder

    Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Warum ist dann der Ladevorgang mit einem FC3 10x so schnell?

    Eine Übersicht über die Hebel, an denen (Software-)Schnelllader ziehen können, gibt es im C64-Wiki:

    Bitte melde dich an, um diesen Link zu sehen.

    ...und speziell ein bisschen Hintergrund zum Schnelllader im FC3:

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von 1570 (23. November 2021 um 16:47)

  • Ursprünglich war die Hardware ganz anders:

    • zwei CPU (6502 und 6504)
    • mehr RAM
    • zwei Laufwerke
    • schneller paralleler IEEE-488 Bus
    • Hardware GCR Encoder / Decoder

    Klar. Und dann wurde bei der Kostenoptimierung halt das DOS (der Controller-Teil) nicht an die nicht-mehr-so-luxuriösen Hardware-Verhältnisse angepasst.

    Aber so falsch wird das auch nicht gewesen sein, sonst würden wir nicht mehrere Jahrzehnte später immer noch drüber reden. :)

  • Aber so falsch wird das auch nicht gewesen sein, sonst würden wir nicht mehrere Jahrzehnte später immer noch drüber reden. :)

    Und wir hätten nix zu basteln gehabt an unserer 1541 ... :D

    Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Oh weia! Daß hier 'ne Diskus draus wird, hatte ich mir so gar nicht vorgestellt. Dabei habe ich meine Frage noch gar nicht formulieren können.

    Ich möchte hier jetzt auch nochmal erwähnen: Meineswissens ist beim Cevie ein DOS System fest eingebaut, was mAn. nur einen Vorteil bringt: ein Diskettenlaufwerk kann auch nach dem Einschalten des Computers zuschalten. Meineswissens kann dadurch aber nicht einfach automatisiert werden wie beim Atari. wie im Eingangspost erwähnt, weiß ich auch wie man ein Directory lädt und anzeigt und wie dann auch ein gewünschtes Programm geladen werden kann (im Falle eines angeschlossenen Drive mit Gerätenummer 8):

    Code
    load "$",8,1
    list
    load "{filename}",8,1
    run
    -----
    lO "$",8,1
    lI
    lO "{filename}",8,1
    rU

    Was aber mit dem ",1" auf sich hat, der wohl oft auch weggelassen werden kann, entzieht sich meiner Kenntnis.

    Hier jetzt ein paar Ausführungen, die man auch schonmal als Fragen bewerten kann:

    - Beim Atari habe ich durch das notwendiger Weise mitzubootende DOS den Vorteil, daß ein Programmstart automatisiert (AUTORUN.SYS) werden kann - wie sieht das beim Cevie aus?

    - Beim Atari kann direkt beim Start (z.B. zur Verwendung als Spielekonsole) das BASIC ausgeschaltet werden - beim Cevie ist mir entsprechendes nie aufgefallen. Starte ich Maschinensprache Software uber einen BASIC Befehl?

    Code
    z.B.:
    SYS ...

    Meine Idee, warum ich diesen Thread überhaupt anfing, war folgende:

    - Die Atari-Disks, die ich besitze, über SIO2SD (ich habe 2 Sets im günstigen Angebotg bei Lotharek gekauft, jedoch auch mangels einsatzfähig aufgebauten Systemen noch nicht im Einsatz) auf SD Karte bringen.

    - Auch erst einmal die Disketten aus dem väterlichen Fundus zu checken welche mit MS DOS an einem PC und welche mit dem Cevie bzw. C128 beschrieben wurden und - falls überbaupt möglich - mit meinem C64 ausgelesen werden können (leider hat er auf vernünftige Beschriftungen scheinbar nicht viel Wert gelegt)

    - dadurch Disketten zu finden, die ich für gewünschte C64 Spiele verwenden kann

    - ensprechende Disketten zu vorbereiten und mit d64 Inhalten zu versehen.

    Ich habe mir - um an die Software zu gelangen - auch mal GameBase 64 (v17) gezogen in der Erwartung, alle möglichen Spiele nach einer Installierung als d64 Files verfügbar zu haben. Die GameBases zu Atari jedenfalls ermöglichen das!

    Jetzt mache ich hier erstmal wieder eine Pause ...