Was ich noch nicht herausbekommen habe, ist wie das bei ED-Floppys funktioniert, vermutlich eine Kombination aus beidem, die Floppy teilt dem Controller mit, dass da eine HD/ED-Diskette eingelegt ist, und dann schaut der Controller, ob er die Disk mit 18 oder 36 Sektoren lesen kann.ED Disks haben ein Erkennungsloch wie die HD Disks und auf der gleichen Seite, nur anders positioniert! Ansonsten wird das wohl ähnlich funktionieren wie HD Disks! Ich habe zwar noch keine ED Disks (und passende Laufwerke) in Händen gehabt, aber auf jeden Fall (DD) Disks, auf denen für beide Positionen Einprägungen vorhanden waren, und da eine davon mit der Position der HD Kennlochung übereinstimmt, gehe ich ganz stark davon aus, daß die Zweite der ED Lochung entspricht! Und das wiederum läßt nur den hier festgestellten Schluß zu!
Keine Ahnung, ob TOS dieses Register einfach benutzen würde, wenn man es nachbaute.
/X860E = A15 & /A14 & /A13 & /A12 & /A11 & A10 & A9 & /A8 & /A7 & /A6 & /A5 & /A4 & A3 & A2 & A1 & FC2 & FC1 & /FC0 +
A15 & /A14 & /A13 & /A12 & /A11 & A10 & A9 & /A8 & /A7 & /A6 & /A5 & /A4 & A3 & A2 & A1 & FC2 & /FC1 & FC0
.Was ergeben Zeilen, wo Pins auf sich selbst verweisen, für einen Sinn? (Extrembeispiel: SCLK = /SCLK - sieht für mich auf den ersten Blick wie ein Widerspruch aus, ähnlich wie 1=0) Sind diese Pins gleichzeitig Eingang und Ausgang?
... - ein Modul nach "altbewährter" Art ist einfacher zu verstehen, schneller zusammengelötet und funktioniert mit deutlich höherer Wahrscheinlichkeit auf Anhieb. ...Du solltest aber folgendes bedenken: Die meisten der bekannten Bauanleitungen zu HD Modulen sind - sofern ich da richtig belesen bin - ganz einfach gehalten und takten im Normalbetrieb mit 16MHz und nur bei DD Disks mit 8MHz. Eigentlich habe ich auch dokumentiert gesehen daß die letzten Serien des WD1772 (mit Aufdruck "02 02" dieses auch kurzzeitig verkraften können, aber eben nicht dauerhaft. ...
Von UA02 gibt es meines Wissens nach nur ein Fuse-Map (JED): [...] Das lässt sich aber natürlich einfach reverse-engineeren und dann kommt man darauf, dass die einzige im Zusammenhang der Floppy-Ansteuerung relevanten Zeile sowas sein muss wie: [...]Hast Du das aus dem Fuse-Map disassembliert? Wenn ja, gibt's dazu Software oder Dokumentationen? Oder hast Du es Dir einfach logisch überlegt anhand der Adresse?
Patch deshalb weil beim MSTE/TT und Falcon das Betriebssystem/Rechnerhardware der Floppy sagt ob DD oder HD Diskette im Laufwerk.Ich dachte, der MegaSTE hätte TOS 2.06 und das braucht wohl keinen Patch, um im MegaSTE der Floppy zu sagen ob es DD oder HD zu lesen probieren will (oder doch?). Somit hätte ich gedacht, dass es auch dann kein Patch bräuchte, wenn man es in einen normalen ST stecken würde.
Dieser erste Modus ist nicht Aktiv bei einem normalen Atari ST oder STE ...Der hat ja auch kein TOS 2.06.
@czietz: Danke für die Erklärung zum Registered Mode. Das gibt Sinn. Habe in den WinCUPL-Anleitungen weitere Infos dazu gefunden. Ist zwar eine andere Syntax, aber scheint auch implizit den Modus erkennen zu können. Vielleicht ist das so üblich bei den PALs/GALs ...
Wie hast Du eigentlich das geschafft?Von UA02 gibt es meines Wissens nach nur ein Fuse-Map (JED): [...] Das lässt sich aber natürlich einfach reverse-engineeren und dann kommt man darauf, dass die einzige im Zusammenhang der Floppy-Ansteuerung relevanten Zeile sowas sein muss wie: [...]Hast Du das aus dem Fuse-Map disassembliert? Wenn ja, gibt's dazu Software oder Dokumentationen? Oder hast Du es Dir einfach logisch überlegt anhand der Adresse?
Du solltest aber folgendes bedenken: [...]Schon erledigt ;) Die mit dauerhaft 16 MHz würde ich nicht nachbauen. Wenn, dann wäre es eines der besseren (z.B. nach Vorbild exxos V5, nur mit GAL oder CPLD statt 74er-ICs). Auch die sind - verglichen mit dem U407 - sehr einfach zu verstehen :)
[...]frage ich mich gerade welchen Sinn es macht [...]Nach dem Sinn frage ich mich sowieso jedes Mal, wenn ich Zeit in den ATARI investiere, aber irgendwie macht es mir gerade Spaß :D
Die Laufwerke erkennen doch die Diskettenart selber durch die Löcher in den DiskettenErkennen tun sie es vielleicht, aber sie geben ihre Erkenntnis nicht an Pin 2 aus.
Naja, eigentlich nicht, weil Du auch bei einem GAL, das grundsätzlich im "Registered Mode" läuft, einzelne Outputs als kombinatorisch definieren kann. Irgendwie muss die Hardwarebeschreibungssprache diese Angabe ja zulassen.Stimmt, das ist ein Argument. Bei WinCUPL kann man den Modus auch manuell einstellen. Ob und wie der Mischmasch geht, habe ich (noch) nicht rausgefunden.
[...] ich hatte mir damals aber den Schaltplan des MegaSTE (wegen der Pinbelegung) und das Datenblatt des verwendeten GALs genommen. Dort ist die Fusemap abgebildet, also was alle gut 2000 Fuses machen. Und dann hatte ich von Hand auf einem Stück Papier die Gleichung rekonstruiert.Respekt!
Hast Du die Rekonstruktion vielleicht auch für die Gleichung für XFCODXX aus UA02 gemacht? (Daraus generiert U407 (X)VPA - oder wird dieses Signal für die Floppy gar nicht benötigt?)
(Warum hast Du Dir eigentlich überhaupt die Mühe der Rekonstruktion gemacht? Hast Du Dir so ein HD-Modul aufgebaut bzw. es vorgehabt?)
Die Signale XLDS, XAS und RXW von der CPU scheinen beim MegaSTE noch durch einen Tri-State-Buffer 74F244 zu gehen (dessen OE-Pin auch an irgendein PAL angeschlossen ist) bevor sie beim U407 ankommen. Wozu ist dies gut? Tut diese Abschaltmöglichkeit Not oder könnte man diese Signale im STF auch direkt an /LDS, /AS und R/W anschließen?
Und was macht eigentlich der DIP-Schalter 7? Sagt der dem TOS 2.06 "bitte HD-Cookie setzen"? Zum Auslesen der Schalter gibt es beim STE das Signal XBUTTON, was ich im STF nicht gefunden habe. Ist bekannt, wie das Signal erzeugt wird? Kann man es auch im STF implementieren?
[...]und müsste für meine Ataris wohl auch erst einen HD-fähigen Floppycontroller kaufen.
Soweit ich weiß hat diese etwas komplizierte Verschaltung der CPU mit der Umschaltmöglichkeit auf 16 MHz im MegaSTE zu tun.
[...] XBUTTON [...] Insofern dürfte das auch nur ein Adressdecoder für 0xFF9200 sein. Wenn's Dich genauer interessiert: Der interne Schaltplan der GSTMCU liegt ja mittlerweile offen.
/BUTTON = /(LDS * RW * AS * (ADDR[23..1] = $FF.9200) * /DMA * FC2 * (FC1 xor FC0))
Ich weiß aber nicht, ob es ausreichen würde, an jener Adresse den DIP-Switch Nr. 7 zu emulieren, damit TOS 2.06 auf dem STF HD-fähig wird. Evtl. ist trotzdem noch ein gepatches TOS nötig, z.B. wenn auf einem STF die o.g. Adresse für die DIP-Switches gar nicht abgefragt wird.
Konnte man den MegaSTE von Haus aus auf 16 MHz umschalten?
Habe ihn jetzt auch gefunden und bin auf folgende Logik gekommen:Code: [Auswählen]/BUTTON = /(LDS * RW * AS * (ADDR[23..1] = $FF.9200) * /DMA * FC2 * (FC1 xor FC0))
Sinnvoll erscheint das mir. Aber warum braucht man hier das /DMA und in anderen Adressdecodern nicht.
Woher weiß das TOS eigentlich, ob es in einem STE oder STF steckt?
solange ich nicht mal die Zeit und Motivation finde, das in den Griff zu kriegen, sagt mir die Vernunft, ich solle kein weiteres Projekt dieser Art beginnen :o
Und es ist einfach jedesmal ein super Gefühl wenn man ein Projekt abschließt und nicht immer nur neu anfängt und es dann liegen bleibt.Das sollte ich mir mal verinnerlichen!
Und es ist einfach jedesmal ein super Gefühl wenn man ein Projekt abschließt und nicht immer nur neu anfängt und es dann liegen bleibt.Das sollte ich mir mal verinnerlichen!
Ah, jetzt weiß ich wo der STE mit Falcon Deckel herkommt, aus deiner Werkstatt!
Das HD-Modul von Frank ist da. Werde ich heute noch einbauen. :)
Mir fällt gerade auf: wieso eigentlich LDS? Die DIP-Schalter sind doch an DATA[15..8] angeschlossen. Müsste das nicht UDS sein?Code: [Auswählen]/BUTTON = /(LDS * RW * AS * (ADDR[23..1] = $FF.9200) * /DMA * FC2 * (FC1 xor FC0))
Man könnte in TOS nachgucken;Wenn man wüsste, wie das geht ... in Assembler bin ich leider noch absoluter Anfänger und hätte keine Ahnung, wonach ich suchen sollte. Wie groß ist denn der Aufwand dafür, wenn man Assembler kann?
hätte ich einen MegaSTE, würde ich es einfach direkt an der Hardware testen.So geht's mir auch :) Und hätte ich am GAL noch einen Pin für UDS frei, würde ich einfach das auswerten, anstatt darüber nachzudenken ob auch LDS geht. Vielleicht sollte ich über ein CPLD nachdenken statt zwei GALs und ein 74er-IC ... nur finde ich da keine für 5V bei Reichelt. Was für eins hast Du denn für Dein Flash-TOS genommen? Ein 5V-tolerantes 3,3V-CPLD? Und kann man die ohne teure Hardware programmieren?
Man könnte in TOS nachgucken;Wenn man wüsste, wie das geht ... in Assembler bin ich leider noch absoluter Anfänger und hätte keine Ahnung, wonach ich suchen sollte. Wie groß ist denn der Aufwand dafür, wenn man Assembler kann?
Was für eins hast Du denn für Dein Flash-TOS genommen? Ein 5V-tolerantes 3,3V-CPLD? Und kann man die ohne teure Hardware programmieren?
Für was für einen ATARI willst Du das denn haben? Für einen STF, genau wie ich? Wenn ich schon ein Layout mache (und ich fürchte, das werde ich irgendwann in den nächsten Monaten :o), dann wär's ja sinnvoll, das so zu gestalten dass es bei uns beiden passt ...
Wie wäre es denn das HD Modul als Aufsatz für die CPU zu entwerfen? Step und FDC Clock kann man ja per Kabel an den FDC legen.Also - da halte ich es für leichter, etwas zu entwickeln, was man dem DMA Chip unterschieben kann - der ist (zumindest auf allen Platinen, die mir unterkamen) meist schon gesockelt und liefert viele Leitungen zu FDC!
Für was für einen ATARI willst Du das denn haben? Für einen STF, genau wie ich? Wenn ich schon ein Layout mache (und ich fürchte, das werde ich irgendwann in den nächsten Monaten :o), dann wär's ja sinnvoll, das so zu gestalten dass es bei uns beiden passt ...
Atari Mega ST Rechner. Da ist am meisten Platz. Bei einigen 1040 ist der Platz manchmal etwas knapp weil der FDC sehr nah am Floppykabel sitzt.
Step und FDC Clock kann man ja per Kabel an den FDC legen.
Vielen Dank für Deine Messung! Kannst Du bitte noch ergänzen, welche C-Nummer aus welchem Modell ist?
Wenn ich nichts übersehen habe, sollte ich mir links ca. 8mm weniger Platz erlauben, dann müsste alles, was bei mir passt, auch bei Dir passen. Vielleicht gelingt es auch, die Platine L-förmig zu machen, so dass das CPLD bei mir unterm 7404 und bei Dir zwischen den Spulen sitzt. Dann könnte man das Höhenproblem lösen, indem man auf einen der beiden Sockel verzichtet. Finde ich unschön, aber wenn es nicht anders passt, ist das besser als gar nichts ...
Waren das jetzt alle Hauptplatinen, die zu berücksichtigen sind, oder kann es sein dass es noch ein weiteres Layout gibt?
Hat jemand eine Vorstellung davon ob es möglich wäre oder wie es aussehen muss, ein HD Floppy Modul für die kleinen Atari ST das so Arbeitet wie der Floppy Betrieb im Atari Mega STE, Atari TT und im Falcon ?
Also das der Rechner bzw. das Betriebssystem der Floppy anzeigt ob keine Diskette, eine DD Diskette oder eben eine HD Diskette im Laufwerk ist. Der Pin_2 des Shugartbuses als Eingang am Floppy.
Das würde es wesentlich einfacher machen normale PC Diskettenlaufwerke benutzen zu können.
Mit einem GAL müsste das doch möglich sein und TOS 2.06 müsste das unterstützen ...
Das Modul von Djordje Vukovic (http://hardware.atari.org/hacks/floppy.htm) soll die HD-Disk erkennen können - wie weiß ich nicht, aber vielleicht hilft das ja.Ich hatte vom gleichen Modul in einem anderen Thread gerade gestern die entsprechende Schaltung schon mal vorgestellt - siehe:
Viel mehr wiegt für mich das Problem, dass ich mit dem 74LS151 Modul (habs übrigens noch mal zum Testen auf dem Steckbrett aufgebaut) auf dem 1040 keine HD Disks booten kann, wenn sie nicht mit Steprate u. HD Cookie im Bootsektor präpariert sind. Ich müsste also all meine Disketten - sofern es überhaupt möglich ist - einen neuen Bootsektor verpassen, damit auch der 1040er diese booten kann. Ein unerotischer Gedanke.
Exxos' V6 Modul ... nicht mehr zu kriegen.Noch vor wenigen Tagen waren dort ´3 in stock´. Die werden doch bestimmt bald wieder aufgelegt. Ich könnte auch noch das eine oder andere gebrauchen.
Das HD-Modul von Frank ist da.
Werde ich heute noch einbauen. :)
Die Floppy Laufwerke müssen so umgebaut werden das sie über Shugart Pin2 ein Low ausgeben wenn eine DD Diskette im Laufwerk ist und ein High wenn keine oder eine HD Diskette im Laufwerk ist. Das bedingt dringend einen AJAX Controller oder man legt immer eine DD Diskette ins Laufwerk bei nicht Nutzung ...Wenn man schon das Laufwerk modifiziern muß, warum dann nicht so, daß - solange kein Zugriff auf eine HD Disk passiert - generell am Pin 2 LOW anliegt? Das würde evtl. den User selbst entlasten ...