Hallo. Hier wollten schon einige ein Floppy-Laufwerk an einen AVR hängen ... Ich möcht's mal anders herum versuchen : Und zwar möcht ich ein Floppy-Laufwerk bauen (mit einem AVR), dass nicht auf eine Diskette speichert, sondern in einen internen RAM. Es soll aber sonst funktionieren wie ein normales (als Laufwerk "B") Das Wort RAM ist richtig gewählt, da es nicht notwendigerweise resistenter Speicher sein muss. Ist das an und für sich möglich ? Hat eventuell jemand Informationen über Diskettenlaufwerke (Protokolle, etc.) ? Sinn und Zweck liegt darin, das Testen von Bootloadern, etc. zu vereinfachen (Image auf RAM, Virtual Machine und gut)
Shugart-Bus ist das Stichwort. Aber ich halte das für übertrieben schwierig. Über diesen Bus laufen nämlich die noch im magnetischen Aufzeichnungsverfahren codierten Bits, das müsstest Du nachbilden. Was ich nicht recht verstehe, ist Dein Anwendungszweck. Ist das nichts, was man mit Floppy-Images machen kann?
Kann man Floppys überhaupt emulieren ? Wenn nicht, kann man das für den IDE-Kanal machen, oder ist hier der AVR zu langsam ? (Timeout-probleme, etc.)
@Christian: So kompliziert dürfte die "Emulation" von MFM-codierten Daten nicht sein. Eine Beschreibung des Formats sollte sich in einem Datenblatt eines Floppycontrollers wie dem WD37c65 finden (der "gute alte" µPD765 hatte noch keinen sog. "Datenseparator", deshalb dürfte dessen Datenblatt weniger helfen). Allerdings wird hier -je nach Art der Diskette- mit einer Datenrate von 500 kBit/sec oder mehr gearbeitet. Vermutlich ist hier eher ein FPGA angesagt. Es gab mal einen Hardware-Floppy-Emulator, der sogenannte FlashPath-Adapter von Olympus. Der wurde zwar in ein herkömmliches Diskettenlaufwerk eingelegt, emulierte dann weitestgehend eine normale Diskette, auch wenn die Daten von einer eingesetzten SmartMedia-Karte kamen ... @Willi: Der AVR dürfte für eine IDE-Emulation um etliche Größenordnungen zu langsam sein.
Diese Technik stammt aus der Zeit vor dem Internet - ob da heute Doku rumfliegt? Zum Track-Layout siehe Datasheets von µPD765 und dessen Nachbauten wie Intel 8272, FDC37Cxx oder auch vom http://www.swtpc.com/mholley/DC_5/TMS279X_DataSheet.pdf. Zur Bitcodierung siehe http://www.storagereview.com/guide2000/ref/hdd/geom/dataMFM.html. Das Timing wird interessant. 500 KHz Bitrate, mit MFM Codierung drin. Ein maximal getakteter AVR wird's wohl schaffen, aber einfach wird das nicht. Denn es langt nicht, die Bits einzusammeln, Du musst auch noch in Echtzeit rauskriegen, was da grad läuft, also ob grad ein Sektor-Adressfeld reinläuft. Und streng synchron. Was für Bootloader übrigens? PC-Software? => VMware mit virtueller Floppy im Image-File.
Hallo Willi, ich habe schon einmal vor ewiger Zeit so etwas erfolgreich entwickelt. Habe 4 Floppylaufwerke simuliert, rein elektronisch. Das Ganze lief damals mit einem Z80 und wurde am Betriebssystem CPM betrieben, also heute Steinzeittechnik. Was damals mit 4 MHz Taktfrequenz am Microcontroller möglich war, muss doch heute mit den schnellen Microcontrollern leicht möglich sein. Gruss Gerald
Mit einem Z80 die Bits einzeln bei 500 KHz (damals wohl eher 250KHz) eingefangen und auf Inhalt mitsamt der escape codes für Sektormarkierung in Echtzeit untersucht? Respekt. Oder war da die par/ser-Wandlung mit Datenseparator extern? Wenn's wirklich ernst ist: Tiny2313 als vorgeschalteter Bit/Byte-Wandler, der seine Daten mit dem Hauptcontroller per synchronem USART (2Mbps) im 9bit Modus austauscht. 9bit wegen der escape codes.
@Willi Ich hab sowas mal angefangen. Kann aber aus Zeitmangel momentan nicht weitermachen. Falls du interresse hast, mail mich einfach mal an, dann kann ich dir mal meine zusammengetragenen Dokus und Atmel ASM Sourcecodes zuschicken. Meine Planung war ein Mega162 oder Mega128 (bei letzterem hätte ich noch ein paar Pins für Display und Tasten übrig) und auf RAM und/oder Flashcard zu speichern. Format: MFM mit variablen Block/Sektor/Track Verhältnissen. Die MFM->8Bit Par Umwandlung (inklusive MFM Steuercodeerkennung) ist fertig. Die Disketten Emulation (Daten aus dem RAM in eien MFM Datenstrom umwandeln incl. Index- usw. Marken) ist auch im Prinzip fertig. cu Hauke
@Willi Ich weiss nicht ob es dir was hilft, aber hier ist mal ein Link zu einer Seite wo ein Diskettenlaufwerk an den Parallelport angeschlossen wurde. Vielleicht kannst du ja noch was draus lernen. http://afr.back2roots.org/
Hallo, ich habe heute etwas interessantes gefunden leider finde ich den Beitrag nicht mehr wo es darum geht bei alten HP-Oszis die Disketten gegen haltbarere Datenträger auszutauschen. Naja Smart-Media Karten gibts auch nicht mehr aber vielleicht noch gebraucht zu erwerben. Habe aber keine Ahnung ob man evtl. auch mehr als 720 bzw 1440 kb drauf speichern kann. Die SM Karten müsste es bis 128 MB gegeben haben.
Das geht nicht. Das ist kein Ersatz für eine Diskette, sondern ein nur mit spezieller Software nutzbarer Adapter, um SmartMedia-Karten auszulesen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.