Hi,
ich bin gerade dabei, meine alten Floppylaufwerke
an ein FPGA-Board anzuschliessen, was soweit ganz
gut klappt. Jetzt fehlt mir nur noch ein gutes
PDF zur PC/MSDOS 720er- und 1440er-Formatierung.
Gibt's da ein gutes RefManual?
Hi, ich musste eine Floppydisk von einem ARM aus formatieren und hatte
damit auch das Problem an Docs zu kommen. Nach langer, vergeblicher
Suche kam ich auf die Idee, den Sourcecode für ein Formatprogramm zu
wälzen und dadurch wurde mir alles klar. Oder geht es dir nicht um die
Formatierung, sondern um das Format selber (FAT oder FAT32). Dafür gibt
es genügend PDFs und falls du nichts findest, gibt es eine OpenSource
Anbindung für Arduino Boards, um SDKarten im FAT32 Format lesen und
schreiben zu können.
Hier das Formatprogramm mit Source.
https://sourceforge.net/projects/floppyutil/
Und die Docs zum FAT32 Format, das Dos ab z.b. MSDOS 6.2 nutzte (auch
winxp war oft auf FAT32 installiert worden).
Viel Glück
Linuxgeek schrieb:> Hi, ich musste eine Floppydisk von einem ARM aus formatieren und hatte> damit auch das Problem an Docs zu kommen. Nach langer, vergeblicher> Suche kam ich auf die Idee, den Sourcecode für ein Formatprogramm zu> wälzen und dadurch wurde mir alles klar.
Ich vermute mal, Du hast Deinen ARM an einem
Floppycontroller gehängt und nicht direkt an
das Laufwerk. Dann kannst Du leicht auf die
Sektoren/Tracks zugreifen.
Mittlerweile habe ich noch ein paar Infos
zusammengesucht, bin mir aber nicht so sicher:
Das 1.44er verwendet das IBM-34-Format und
schreibt Datenbits per MFM (=(1,3)-RLL).
Ich lese jetzt einfach mal eine komplette
Floppy ein und analysiere dann MFM-Format.
Sigi schrieb:> ein gutes> PDF zur PC/MSDOS 720er- und 1440er-Formatierung
Wenn du einen Floppy-Controller verwendest, must du dich um den
bit-weisen Aufbau von Tracks und Sektoren nicht kümmern, ebensowenig um
Precompensation und Dekodierung. Der logische Aufbau von Bootsektor usw.
ist in vielen DOS-Büchern beschrieben, z.B. "The MSDOS Encyclopedia".
Georg
Georg schrieb:> Wenn du einen Floppy-Controller verwendest, must du dich um den> bit-weisen Aufbau von Tracks und Sektoren nicht kümmern, ebensowenig um> Precompensation und Dekodierung.
Der TE scheint keinen Floppy-Controller zu nutzen.
Reinhard S. schrieb:> Der TE scheint keinen Floppy-Controller zu nutzen
Das kann zwar sein, aber eine gute Idee ist es nicht. Z.B. braucht man
zum Dekodieren der Raw-Daten eine PLL.
Georg
Reinhard S. schrieb:> Der TE scheint keinen Floppy-Controller zu nutzen.
Ja, so ist es.
Georg schrieb:> Das kann zwar sein, aber eine gute Idee ist es nicht. Z.B. braucht man> zum Dekodieren der Raw-Daten eine PLL.
PLL brauche ich nicht, denn im FPGA ist ja alles
vorhanden. ZZ. taste ich alles mit 10 MHz ab,
damit habe ich bei der 1.44er MFM ca. 20 bzw.
30 bzw. 40 Takte für die 3 MFM-Signalabstände
und genug Spielraum für alle Sync-Spielereien.
Ausserdem möchte ich auch die Möglichkeit haben,
Commodore Amiga Disketten einzulesen, was glaube
ich nicht mit einem PC-Floppydiskcontroller geht(?).
Sigi schrieb:> Ausserdem möchte ich auch die Möglichkeit haben,> Commodore Amiga Disketten einzulesen, was glaube> ich nicht mit einem PC-Floppydiskcontroller geht(?).
Ja doch des geht mit einer Modifikation.
Hab vor einiger Zeit Seiten gesehen wo gezeigt wurde wie ein PC Laufwerk
umgebaut wurde für Amiga.
Aber für Amiga gibts ja eh schon einige Leute die zb mit Pic oder
Raspberry ein Disklaufwerk Ansprechen/Emulieren.
Vielen Dank für die Links.
guest schrieb:> http://www.hermannseib.com/documents/floppy.pdf
Das PDF kannte ich schon vom Wochenende.
Nachteilig ist, dass viele Begriffe/Konzepte
beschrieben, aber teilweise nicht explizit dazu
geschrieben wird, ob es für PC-DOS relevant ist
(Beispiele: GCR Coding, Index-Hole: nicht bei 3.5er
Laufwerken). Aber viel besser als nichts.
Kai A. schrieb:> http://www.amigawiki.de/doku.php?id=de:projects:a4000t_diskmodul
Ich habe mir mal die Platine und den HDL-Code
angeschaut: Die Read/Write-Signale werden iE
1:1 weitergereicht, d.h. es wird der Controller
auf dem A4000 verwendet. Denn werde ich mir mal
anschauen.
Sicher weiss ich, dass der Atari-ST das selbe
3.5er Laufwerk wie der PC verwendet. Ich glaube
auch, dass der Amiga ebenfalls das selbe Laufwerk
hat.
Sigi schrieb:> ob es für PC-DOS relevant ist> (Beispiele: GCR Coding, Index-Hole: nicht bei 3.5er> Laufwerken).
GCR wird von PCs nicht genutzt. Einen Index-Impuls gibt es auch bei
3.5"-Laufwerken, und der wird an PCs auch benötigt. Nur wird dieser
Impuls nicht wie bei 5.25"-Laufwerken mit einer Lichtschranke und der
eigentlichen Diskette, sondern vom Spindelmotor erzeugt. Das ist bei
3.5"-Laufwerken möglich, da hier die Position der Magnetfolie in
Relation zum Spindelmotor immer die selbe ist.
> Sicher weiss ich, dass der Atari-ST das selbe> 3.5er Laufwerk wie der PC verwendet.
Nicht wirklich. Beide sind 3.5"-Laufwerke, beide haben 80 Spuren, und
beide drehen sich mit 300 U/min, aber der ST kennt nur "double density"
(MFM mit 500 kBit/sec), während der PC zusätzlich noch "high density"
(MFM mit 1 MBit/sec) verwenden konnte, und somit die doppelte Kapazität,
nämlich brutto 2 statt 1 MB bzw. netto 1.44 MB statt 720 kB erreichen
konnte. Disketten, die diese höhere Schreibdichte unterstützen, teilen
das dem Laufwerk mit einem zusätzlichen Loch mit.
720k-Laufwerke sind bei PCs sehr selten und nur in einer Übergangszeit
überhaupt verwendet worden.
Bei 5.25"-Laufwerken am PC gibt es zwei unterschiedliche Varianten, die
alten 40-Spur-Laufwerke aus dem Ur-PC bzw. XT, und die "HD"-Laufwerke
mit 80 Spuren aus dem AT. Die verwendeten zwei unterschiedliche
Drehzahlen (300 und 360 U/min) und zwei unterschiedliche Datenraten
(wieder: 500 kBit/sec und 1 MBit/sec), um die Verwirrung komplett zu
machen, und sie konnten nicht erkennen, was für eine Art von Diskette
eingelegt war.
Es gab auch 3.5"-Laufwerke, die sich identisch verhielten, die aber sind
glücklicherweise nur in Japan verwendet worden.
All' diesen Laufwerken gemein war die Verwendung des Indeximpulses, um
den ersten Sektor auf einer Spur zu detektieren.
Übliche Floppycontroller waren NEC µPD765 bzw. in späteren Inkarnationen
WD 37C65.
Der ST verwendete einen WD 1772, der nur 500 kBit/sec Datenrate und
damit eben keine "HD"-Disketten unterstützte.
Das Thema Disketten, Controller etc. wurde in diesem Thread schon mal
beleuchtet:
Beitrag "Floppy mal anders"
Nur mal so am Rande gefragt: Warum willst Du Dich heute und jetzt, 2016,
mit dieser Speichertechnik beschäftigen, die nur wenig zuverlässiger als
angefeuchtetes Toilettenpapier im Lochstreifenleser ist?
Rufus Τ. F. schrieb:> Nur mal so am Rande gefragt: Warum willst Du Dich heute und jetzt, 2016,> mit dieser Speichertechnik beschäftigen, die nur wenig zuverlässiger als> angefeuchtetes Toilettenpapier im Lochstreifenleser ist?
:D
Rufus Τ. F. schrieb:> Bei 5.25"-Laufwerken am PC gibt es zwei unterschiedliche Varianten, die> alten 40-Spur-Laufwerke aus dem Ur-PC bzw. XT, und die "HD"-Laufwerke> mit 80 Spuren aus dem AT. Die verwendeten zwei unterschiedliche> Drehzahlen (300 und 360 U/min) und zwei unterschiedliche Datenraten> (wieder: 500 kBit/sec und 1 MBit/sec), um die Verwirrung komplett zu> machen, und sie konnten nicht erkennen, was für eine Art von Diskette> eingelegt war.
Um nochmehr Verwirrung zu stiften, es gab auch 5.25"-DD Laufwerke (also
1MB brutto). Gebaut z.B. von TEAC. Hab so ein Teil in meinem PC-XT
stecken.
Gab es als Lizenznachbau ebenfalls in den meisten DDR-PCs.
Rufus Τ. F. schrieb:> Sigi schrieb:>> Sicher weiss ich, dass der Atari-ST das selbe>> 3.5er Laufwerk wie der PC verwendet.>> Nicht wirklich. Beide sind 3.5"-Laufwerke, beide haben 80 Spuren, und> beide drehen sich mit 300 U/min, aber der ST kennt nur "double density"> (MFM mit 500 kBit/sec),
ach was, man brauchte nur dem Floppy Controller WD1772 statt 8MHz neu 16
MHz zu spendieren und dann las der Atari auch mit HD Laufwerke HD
Disketten.
Ich hatte das mit einem GAL per Frequenzverdopplung gemacht gesteuert
aus dem HD Loch Pin am 34-pol Connector.
Daraus wurde eine kleine Artikelserie in der ST Computer in
Zusammenarbeit mit Claus Brod & Anton Stepper -> Scheibenkleister.
In meinem megaST habe ich 2x HD Laufwerke 1,44MB eingebaut, die 2
slimline 1" hoch liessen sich übereinander einbauen weil die orignal
Atari Laufwerke noch 34mm hoch waren, um die fehlenden mm Platz zu
schaffen musste ich nur die oberen Lüftungsstege planfräsen und das
Mainboard um ca. 1/2 mm tieferlegen.
guest schrieb:> Um nochmehr Verwirrung zu stiften, es gab auch 5.25"-DD Laufwerke (also> 1MB brutto).
DD-Laufwerke waren auch die "360K"-Laufwerke, der wesentliche
Unterschied zu Deinem ist, daß die nur 40 Spuren hatten.
80-Spur-DD-Laufwerke waren in PCs sehr seltene Exoten (ich habe auch
welche, aber die stecken in einem Selbstbau-Rechner, der kein PC ist und
auch nie sein wollte).
Oh, und dann gab es natürlich noch 8"-Laufwerke ... da gab es sogar
Ausführungen, bei denen der Spindelmotor direkt mit Netzwechselstrom
angetrieben wurde. Die hatten ein paar hundert kByte Kapazität, waren
koffergroße Kisten und kosteten ein Vermögen.
Am PC aber hat man die Dinger glücklicherweise nie betrieben, auch wenn
die c't mal einen Selbstbau-Floppycontroller für genau diesen Zweck
veröffentlicht hatte ...
Rufus Τ. F. schrieb:> GCR wird von PCs nicht genutzt.
Sollte ja eigentlich schon aus der Verwendung
von MFM folgen. Wird im Artikel aber nicht
explizit erwähnt.
Rufus Τ. F. schrieb:> Einen Index-Impuls gibt es auch bei> 3.5"-Laufwerken, und der wird an PCs auch benötigt. Nur wird dieser> Impuls nicht wie bei 5.25"-Laufwerken mit einer Lichtschranke und der> eigentlichen Diskette, sondern vom Spindelmotor erzeugt. Das ist bei> 3.5"-Laufwerken möglich, da hier die Position der Magnetfolie in> Relation zum Spindelmotor immer die selbe ist.
Ich habe dazu keine konkreten Quellen, meine Meinung
dazu ist folgende: Schon das Indexloch per Lichtschranke
abzufragen ist relativ ungenau, d.h. hohe Dichten sind
nicht möglich. Und eine Abfrage aus einer mechanisch
abgeleiteten Grösse macht es auch nicht besser.
(und nur mal so am Rande gefragt: Das Greifloch in der
Mitte ist quadratisch, d.h. es gibt dann doch 4 Zugriffe
bzw. 4 verschiedene Index-Signale?)
Soweit ich weiss benutzt z.B. der C64 kein Hole sondern
eigene Sync-Worte auf der Floppy.
Ausserdem hatte ich am Wochenende noch die Beschreibung
zu einem PC-Tool gefunden, dass relativ genau die Position
der Tracks/Sektoren auf der Floppy graphisch aufzeichnet.
Die Sektoren sind dabei sehr kaotisch angeordnet (d.h.
es wird wohl kein Indexloch verwendet?).
Rufus Τ. F. schrieb:> Nur mal so am Rande gefragt: Warum willst Du Dich heute und jetzt, 2016,> mit dieser Speichertechnik beschäftigen, die nur wenig zuverlässiger als> angefeuchtetes Toilettenpapier im Lochstreifenleser ist?
OhOh, vorsicht: Ich kenne noch genug Ings, die in den
60ern studiert und Lochstreifen in ihrer Ausbildung
verwendet haben. Meine Güte, waren die froh als die
ersten Floppylaufwerke erschienen.
Meine Laufwerke aus den 90ern laufen jetzt noch (bis
auf eins mit kalten Lötstellen). Auch viele meiner
Floppys funktionieren noch.
Aber mal ernsthaft: Ich verwende die Laufwerke sicherlich
nicht als Datenspeicher sondern für Retro-Computing-Projekte.
Mittlerweile gibt's ja bis zum ARM, 486er und 586er inkl.
kompletter Systeme alles in HDL-Form zum Nachbauen, nur eben
nicht mit HD oder Floppy-Unterstützung.
Rufus Τ. F. schrieb:> DD-Laufwerke waren auch die "360K"-Laufwerke, der wesentliche> Unterschied zu Deinem ist, daß die nur 40 Spuren hatten.
Ja, du hast natürlich Recht. Die waren auch DD.
So ein "360k" Laufwerk steckt in dem XT übrigens auch noch drin (und
auch noch eine XT-Bus Platte).
Rufus Τ. F. schrieb:> Oh, und dann gab es natürlich noch 8"-Laufwerke ... da gab es sogar> Ausführungen, bei denen der Spindelmotor direkt mit Netzwechselstrom> angetrieben wurde. Die hatten ein paar hundert kByte Kapazität, waren> koffergroße Kisten und kosteten ein Vermögen.
Ähnliche Exoten gabs auch bei 5.25". U.A. welche mit via einstellbarem
Tongenerator gesteuertem Synchronmotor und Kopfabsenkung per
Elektromagnet :)
Sigi schrieb:> (und nur mal so am Rande gefragt: Das Greifloch in der> Mitte ist quadratisch, d.h. es gibt dann doch 4 Zugriffe> bzw. 4 verschiedene Index-Signale?)
Neben dem Loch in der Mitte, gab es noch einen Mitnehmer der Eingerastet
ist. Der hat den Winkel zum Antriebsmotor vorgegeben.
Sigi schrieb:> OhOh, vorsicht: Ich kenne noch genug Ings, die in den> 60ern studiert und Lochstreifen in ihrer Ausbildung> verwendet haben.
Während meinem Studium gabs die zwar nicht mehr, aber während meiner
Lehre in den 80ern durfte ich mich auch damit rumschlagen. Und der
Studienjahrgang vor mir hatte es noch mit Lochkarten zu tun.
Sigi schrieb:> Auch viele meiner Floppys funktionieren noch.
Interressanterweise kann ich die 5.25" noch fast alle lesen, bei den
3.5" hatte mehr als die Hälfte Fehler.
Sigi schrieb:> Schon das Indexloch per Lichtschranke> abzufragen ist relativ ungenau, d.h. hohe Dichten sind> nicht möglich.
Der Indeximpuls kommt genau einmal pro Umdrehung. Die genaue
Synchronisation auf die einzelnen Sektoren macht eh' der FDC, damit ist
das ausreichend genau.
> Soweit ich weiss benutzt z.B. der C64 kein Hole sondern> eigene Sync-Worte auf der Floppy.
Der verwendete ja auch aus Kostengründen keinen richtigen FDC, was den
Nachteil hat, daß seine Disketten von FDCs auch nicht gelesen werden
können.
> Die Sektoren sind dabei sehr kaotisch angeordnet (d.h.> es wird wohl kein Indexloch verwendet?).
Was auch immer für ein Tool das gewesen sein soll, und was auch immer
für eine Diskette damit gelesen wurde:
Bei PC-Disketten egal welcher Variante wird das Indexloch verwendet, und
die Sektoren sind nicht chaotisch, sondern tortenstückartig angeordnet.
Bei Systemen, die keinen Indeximpuls verwenden (Apple II, alte
Mac-Disketten, Commodore 1541 etc.) sieht das logischerweise anders aus.
Die aber verwendeten auch keinen richtigen FDC, sondern irgendeine
selbstgebratene Logik.
> OhOh, vorsicht: Ich kenne noch genug Ings, die in den> 60ern studiert und Lochstreifen in ihrer Ausbildung> verwendet haben. Meine Güte, waren die froh als die> ersten Floppylaufwerke erschienen.
Ich schrieb ja auch "nur wenig zuverlässiger".
Sigi schrieb:> Schon das Indexloch per Lichtschranke> abzufragen ist relativ ungenau, d.h. hohe Dichten sind> nicht möglich
Das spielt aber garkeine Rolle, weil der Indeximpuls nur beim
Formatieren zur Positionsbestimmung gebraucht wird, beim Schreiben oder
Lesen wird die auf die Floppy geschriebene Track-Struktur ausgewertet.
Und die ist natürlich Bit-genau. Stichwort: Softsektorierung.
Georg