Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Frage zu Diskettenlaufwerken » Themenansicht

Autor Thread - Seiten: -1-
000
03.09.2009, 11:28 Uhr
jmueller



Hallo,

Ich habe mal eine Verständnisfrage zu Diskettenlaufwerken:

Können bei doppelseitigen Diskettenlaufwerken die beiden Köpfe
einzeln bewegt und somit auch auf unterschiedliche Spuren gestellt werden?

Es gibt ja beim Shugart-Bus das Head-1 bzw. Side-1-Signal.
Wirkt das nur auf Lese-/Scheiboperationen oder auch beim Positionieren?
Wenn nun Step-Impulse gesendet werden,
wird dann nur der laut diesem Signal ausgewählte Kopf bewegt
oder sind beide Köpfe auf einem Schlitten mechanisch fest verbunden,
sodass auch beide bewegt werden?

Jens
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
03.09.2009, 11:38 Uhr
HONI



Nein, das geht nicht. Beide Köpfe sind physisch fest miteinander verbunden. über das Head oder Side Signal wird dem Laufwerkscontroller im Rechner nur mitgeteilt von welchem Kopf gerad die Daten kommen, sprich, ob von der Ober oder von der Unterseite der Diskette gelesen wird.

MfG HONI!!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
03.09.2009, 11:55 Uhr
Ralph



Jepp.... Honi hat Recht ! Aber um Missverständnissen vorzubeugen.. Der FDC legt das HEAD/SIDE Signal fest und NICHT das Laufwerk ! Das Laufwerk erkennt an diesem Signal welche Kopfdaten es zu liefern hat !

Gruß Ralph

PS: baust Du am JKCEMU ??? grins
--
Es geht alles erst richtig los !
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
03.09.2009, 12:00 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
HONI schrieb
Beide Köpfe sind physisch fest miteinander verbunden.

Ich möchte ergänzen, dass die Köpfe geometrisch nicht exakt gegenüberstehen.
Kopf 0 ist weiter außen als Kopf 1 (ca 3 Spuren Versatz).
Damit kann man prüfen, ob die Rückseite einer Flippy-Diskette bereits durch eine doppelseitige Fomatierung belegt ist.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
03.09.2009, 13:05 Uhr
jmueller



Danke!

Die Frage hat sich für mich deshalb gestellt,
weil beim Seek- und beim Sense Drive Status-Kommando des FDC
der Kopf anzugeben ist.
Dem entsprechend wird zwar wohl die Head/Side-Leitung belegt,
aber es bewirkt im Laufwerk nichts. (?)



Zitat:
PS: baust Du am JKCEMU ??? grins

Richtig geraten!
Der Sommer ist doch nun rum,
und im Regen im Garten sitzen macht ja auch nicht wirklich Spaß.

Jens
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
03.09.2009, 13:16 Uhr
Ralph



Na da bin ich mir nicht sicher, ob Du da Recht hast Jens! Logisch wäre schon, das das Head Signal ne Rolle spielt. Erst recht wenn die Köpfe versetzt sind (was ich bisher auch nicht wusste), denn Spur 0 ist bei Head 0 ja woanders als bei Head 1..oder die Spuren sind generell immer versetzt.
Ich muss allerdings sagen, dass ich in meinen FDC Routinen bei SEEK und SENSE Drive immer den letzten ausgewählten HEAD verwendet habe.

Denkst Du beim JKCEMU auch an den AC1 ? Zumindest der Fehler bei der Umschalterei für das CP/M sollte gelöst sein. Danke Dir !
--
Es geht alles erst richtig los !

Dieser Beitrag wurde am 03.09.2009 um 13:40 Uhr von Ralph editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
03.09.2009, 14:04 Uhr
jmueller




Zitat:
Na da bin ich mir nicht sicher, ob Du da Recht hast Jens! ...

Ich weiß es nicht, deshalb frage ich ja hier.
...und deshalb auch das Fragezeichen hinter meiner letzten Vermutung.

Also:
Was wird wohl der FDC mit dem Head-Bit beim Seek machen?
Ich habe das Datenblatt zum Intel 8272,
und das schweigt sich bei den beiden Kommandos über das Head-Bit völlig aus.
Hmm, aber ich denke, der FDC wird es einfach auf dem entsprechenden Pin ausgeben.
Also gelangt es an das Laufwerk.
Und was sollte das Laufwerk bei einem Step-Impuls mit diesem Signal machen,
wenn beide Köpfe fest verbunden sind?
Da mir dafür nichts einfällt, vermute ich jetzt mal,
das Signal und damit das Bit im FDC wird einfach ignoriert.
Aber es ist eben nur eine Vermutung von mir.
Weiß da jemand besser Bescheid?


Zitat:
Denkst Du beim JKCEMU auch an den AC1 ? ...

Ich denke fast nur an dich und deinen AC1
Die Umschaltung ist bei mir bereits geändert.

Jens

Dieser Beitrag wurde am 03.09.2009 um 14:08 Uhr von jmueller editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
03.09.2009, 14:21 Uhr
jmueller



@Rüdiger:


Zitat:
Ich möchte ergänzen, dass die Köpfe geometrisch nicht exakt gegenüberstehen.
Kopf 0 ist weiter außen als Kopf 1 (ca 3 Spuren Versatz).

Soll das etwa heißen, das bei einem Seek-Kommando mit nicht gestetztem Kopf-Bit (Kopf 0)
der Schlitten auf Spur 0 gestellt wird und man bei einem anschließenden Lesen
von Kopf 1 die Spur drei erwischt?
Und umgekehrt dass man bei einem Seek-Kommando mit gesetzten Bit (Kopf 1)
den Kopf 0 auf Spur -3 stellt?

Jens
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
03.09.2009, 18:49 Uhr
holm

Avatar von holm

Nein, das heißt es nicht.

Das heißt nur, das bei einem doppelseitigen LW die geometrische Lage der Spur 0
für beide Köpfe verschieden ist.
Rüdiger meinte das eine doppelseitig gelochte Diskette die auf einem einseitigen
Laufwerk beschrieben wurde in diesem Doppelseitigen LW nicht mit beiden Köpfen die Spur 0 liest sonder nein Kopf einen Versatz hat. Das ist nur von theoretischer Bedeutung, d sich die Daten rückwärts sowieso nicht lesen lassen und die Köpfe von einseitigen Laufwerken doppelt so breit sind, da kommt eh nur Käse raus.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
03.09.2009, 21:07 Uhr
jmueller



Aha, hätte mich sonst auch gewundert.

Danke
Jens
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek