SD2IEC

Aus C64-Wiki
Zur Navigation springenZur Suche springen
disambig 30px.png Dieser Artikel ist ein Überblicksartikel zur SD2IEC-Hardware im allgemeinen. Ein Erfahrungsbericht zur von NKC verkauften Version des SD2IEC findet sich unter SD2IEC/NKC-SD2IEC Erfahrungsbericht. Die von der SD2IEC-Hardware und vom µIEC benutzte Firmware und ihre Funktionalität wird unter sd2iec (Firmware) beschrieben
SD2IEC
SD2IEC 1.2
Typ Steckmodul mit MMC/SD-Karten-Laufwerk
Neupreis <20€ (Materialpreis, kein Display o.ä.)
Erscheinungsjahr 2008
Prozessor ATmega644
Sonstiges Ersatz der 1541; SD-Karten-Laufwerk; spezielles Kabel für serielle Schnittstelle


Das SD2IEC ist ein Massenspeichergerät für Speicherkarten des Typs SD/MMC, das an den seriellen Bus einiger Commodore-Computer angeschlossen werden kann. Es basiert auf dem ATmega644-Microcontroller der Atmel AVR-Familie. Das SD2IEC wird typischerweise als Ersatz der 1541 an einem C64 genutzt. Die Schaltung sowie die benutzte Firmware - siehe Artikel sd2iec (Firmware) - sind im Quelltext verfügbar (Lizenz: GPL).

Geschichte[Bearbeiten | Quelltext bearbeiten]

Das Gerät SD2IEC ist der Nachfolger des Geräts MMC2IEC. Im Gegensatz zum MMC2IEC arbeitet hier ein ATmega644-Mikrocontroller (oder neuer: ATmega1284P) mit mehr RAM und Flash-ROM; der Mikrocontroller wird mit 3 V statt 5 V betrieben; der serielle Bus wird über eine MOSFET-Schaltung angesteuert, die besser mit weiteren am Bus angeschlossenen Laufwerken umgehen kann.

Es ist zu beachten, dass insbesondere von Hobbybastlern meist nicht die SD2IEC-Hardware nachgebaut wird, sondern eine MMC2IEC-Hardware-Variante (weil sie wohl keine MOSFETs benutzt und so etwas einfacher aufzubauen ist) und darauf die sd2iec-Firmware genutzt wird. Ist im Zusammenhang mit der Hardware vom "LarsP-Layout" die Rede oder fehlen die drei/vier IRLML 2402-MOSFETs, handelt es sich nicht um die originale SD2IEC-Hardware, auch wenn das Ergebnis ggf. fälschlich so genannt wird.

  • 2014 gibt es eine weitere kommerzielle SD2IEC-Version, das thefuturewas8bit SD2IEC. Es sieht einer Mini-1541 ähnlich.
  • Mitte 2012: Eine weitere kommerzielle Variante, das SD2IEC-evo2, ist erhältlich.
  • 2009-02-06: Die SD2IEC-Hardware wird bei NKC kommerziell verfügbar (SD2IEC, Tochterplatine).
  • 2008-03-15: Shadowolf veröffentlicht die SD2IEC 1.2-Platine (Unterschiede zum MMC2IEC 1.9: ATmega644, bessere IEC-Leitungstreiber, Disk-Wechsel-Taster, I/O-Anschlüsse, Befestigungslöcher) - es wurden ungefähr 120 Stück hergestellt.

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

  • Kompatibel mit dem C64, C64DTV, C128 (nicht Burst Mode), C16, VIC-20 etc.
  • Stromverbrauch: Leerlauf ~15 mA, im Betrieb 30-80 mA
  • sd2iec_1.2.zip - Schaltplan und Platine (Eagle-Format)
    • R100/R101 fungieren als Platzhalter für einen optionalen Reset-Knopf (AVR Reset-Leitung gegen GND) oder eine optionale Verbindung mit der IEC-Leitung (AVR-Reset via Diode mit der IEC-Reset-Leitung verbunden - die Kathode der Diode muss Richtung IEC zeigen).
    • Hinweise (Juni 2013)
      • Der benutzte SD-Karten-Halter wird nicht mehr hergestellt. Bis jemand eine aktualisierte Platine anbietet, kann man sich behelfen, indem man MicroSD-Karten benutzt und einen MicroSD/SD-Adapter direkt an die Platine lötet.
      • Neuere Firmware unterstützen den größeren ATmega1284P, der entsprechend anstelle des ATmega644 verbaut werden sollte.
      • Das SD2IEC lässt sich gut kombinieren mit Hardware-Modulen, wie etwa dem FC3 oder JiffyDOS, da deren Schnelllader, Funktionstastenbefehle (F-Tasten) und vereinfachte CBM-DOS-Befehle den ganzen Umgang dann enorm erleichtern.

Firmware-Eigenschaften[Bearbeiten | Quelltext bearbeiten]

Für einen Überblick zu den Eigenschaften der Firmware siehe Artikel sd2iec (Firmware).

Was sind die Unterschiede des SD2IEC verglichen mit der 1541-III und der 1541 Ultimate?[Bearbeiten | Quelltext bearbeiten]

  • 1541 Ultimate vs. SD2IEC
    • das SD2IEC ist wesentlich günstiger.
    • die 1541 Ultimate ist wesentlich kompatibler; allerdings gibt es von fast allen Spielen Versionen, die auch mit der sd2iec-Firmware funktionieren.
    • Nachlade-Demos, die so gut wie immer einen speziellen Loader verwenden, funktionieren so gut wie nie mit der sd2iec-Firmware, während sie auf einem 1541-Ultimate alle perfekt laufen.
    • das SD2IEC bietet keinerlei Sonderfunktionen an (Cartridge/Netzwerk/REU-Emulation).
    • die sd2iec-Firmware ist bei KERNAL-Funktionen schneller als die 1541 Ultimate, da die Funktionen auf IEC-Ebene emuliert werden, nicht die komplette 1541 inklusive ihrer langsamen Mechanik.
  • 1541-III vs. SD2IEC
    • die sd2iec-Firmware ist wesentlich kompatibler und hat Unterstützung für einige Schnelllader - 20fach-Geschwindigkeit und mehr!
    • das SD2IEC bietet normalerweise keine Anzeige. Diskettenwechsel sind mit einem Taster jedoch möglich. Eine Anzeige lässt sich nachrüsten, wirklich notwendig ist sie aber eigentlich nicht.
    • die SD2IEC-Platine ist noch kleiner als die 1541-III-DTV-Platine.
    • das SD2IEC bietet einen Bootloader, der die Firmware beim Start von der SD-Karte liest. Entsprechend einfach sind Firmware-Updates.
    • das SD2IEC benutzt einen ATmega-Controller - Open Source-Compiler sind für diese Plattform verfügbar.

Welche SD2IEC-Variante ist empfehlenswert?[Bearbeiten | Quelltext bearbeiten]

Inzwischen werden viele unterschiedliche Hardware-Varianten als "SD2IEC" angeboten. Die meisten davon haben mit der originalen SD2IEC-Hardware wenig zu tun und benutzen lediglich die sd2iec-Firmware. Wenn die drei MOSFET-Treiber für den IEC-Bus fehlen (drei kleine Chips mit drei Pins), sollte man die Finger davon lassen, da der ATmega644/1284 nicht in allen Fällen sicher genug Treiberleistung für den IEC-Bus bringt.

Kann ich mit dem SD2IEC ein Parallelkabel benutzen?[Bearbeiten | Quelltext bearbeiten]

Nein. Die Firmware unterstützt ein Parallelkabel, die SD2IEC-Platine jedoch nicht. Z.B. das arm2iec bietet Anschlüsse für ein Parallelkabel. Der normale CBM-Bus ist jedoch bereits ziemlich schnell, siehe die Geschwindigkeitstests im sd2iec (Firmware)-Artikel.

Software[Bearbeiten | Quelltext bearbeiten]

Bootloader[Bearbeiten | Quelltext bearbeiten]

Der Bootloader lädt die Firmware der SD2IEC. Dieser Bootloader lässt sich mit Hilfe eines AVR-Programmers aktualisieren. Ein kostengünstiger USB-Programmer ist unter [1] zu erhalten. Mit diesem und seinem Treiber [2] kann der Flash-Vorgang vollzogen werden. Nach der Installation des Treibers wird noch das eigentliche Upload-Programm [3] benötigt.

Nach Starten des Progtool wählt man zunächst den AVR-ISP-Programmer sowie sein Com-Port aus. Ist das erledigt, fehlt nur noch der Pfad unter "Flash Brennen" zum neuen Bootloader (Häkchen nicht vergessen). Abschließend noch den Brenn-Knopf betätigen und es ist vollbracht.

Neue Bootloader für das SD2IEC gibt es unter sd2iec.de unter dem Namen "newboot-0.3-binaries.zip".

Firmware[Bearbeiten | Quelltext bearbeiten]

Die Firmware - siehe Artikel sd2iec (Firmware) - lässt sich durch Einspielen eines neueren Images auf die SD-Karte auf eine neuere Version aktualisieren. Neue Versionen werden unter sd2iec.de angeboten. Alle Quelltexte sind im Git-Repository[4] zu finden. Um eine neue Firmware-Version einzuspielen, ist das "sd2iec.bin" aus dem ZIP-Archiv auf die oberste Ebene der SD-Karte zu platzieren. Anschließend wird die SD-Karte in das SD2IEC gesteckt und eingeschaltet. Nach dem Starten sollte man anhand der Firmware-Version überprüfen, ob die Aktualisierung erfolgreich war.

Nach Möglichkeit sollten für die Aktualisierung keine SDHC-Karten (Karten in der Größe von 4 bis 32 GByte) benutzt werden, da diese nicht mit jedem Bootloader das Update einspielt. Aus Geschwindigkeitsaspekten sollten kleinere Karten benutzt werden.

  • Firmwareversion abfragen (nur direkt nach dem Einschalten möglich)
10 open1,8,15:input#1,a$,b$,c$,d$ 
20 close1
30 print a$,b$,c$,d$
run
  • beziehungsweise im Direktmodus mit folgendem Einzeiler:
OPEN 1,8,15:FOR I=0 TO 2:POKE 58,1:GET#1,A$:PRINT A$;:I=255 AND ST:NEXT:CLOSE 1

Weitere Bilder[Bearbeiten | Quelltext bearbeiten]

Ähnliche Themen[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Quellen[Bearbeiten | Quelltext bearbeiten]