Seite 1 von 1

Floppycontroller mit WD1770?

Verfasst: 30.12.2018, 15:46
von klf
Kennt jemand einen Floppycontroller für den Zeddy auf Basis des WD1770?

Ich habe so ein System geerbt, allerdings ohne Dokumentation und ohne Zubehör. Die im Anhang gezeigte (gefädelte) Leiterplatte enthält neben dem FDC noch 32k RAM und eine 8250A UART. Die unteren 8k des ROMs entsprechen 1:1 dem Original, ab 2000h folgt dann der Code für die Floppy. Den habe ich ebenfalls angehängt. Das Floppylaufwerk ist ein Shugart SA-400, also 5,25" 35 Spuren einseitig.

Bevor ich nun die Schaltung rauszeichne und die Software weiter analysiere: kommt das Ganze jemandem bekannt vor?

Der ZX-DOS-Code von Schulz/Merkl ist es schonmal nicht, deren Design basierte auch auf einem anderen FDC (WD179x). Ich will auch nicht ausschließen, dass es sich um eine Eigenentwicklung handelt.


Danke, Gruß
Patrick

Re: Floppycontroller mit WD1770?

Verfasst: 31.12.2018, 17:20
von Kai
Interessantes Teil!
Sind nicht die Floppy-IF vom Spectrum oft mit dem 1770 bestückt gewesen?

Re: Floppycontroller mit WD1770?

Verfasst: 31.12.2018, 17:30
von Joachim
Wir haben damals den SAB1793 von Siemens genommen, weil die Schaltung schon vorhanden war. Später kamen wir dann drauf, dass der WD1770 vielleicht doch besser gewesen wäre, weil er - wenn ich mich recht erinnere - double density konnte. Im Endeffekt ist es egal, weil wir ja ohnehin nur 16 KB für ein Programm hin- und herschaufeln können. Und da sind 360 KB auf einer Disk-Seite auch schon viel.
Solltest du zum Treffen kommen, dann wäre es nicht schlecht, das Teil mitzubringen.
Den Quelltext habe ich mal überflogen. Ist relativ kurz für ein DOS. Kommt mir so vor, als fehlten die in/out-Befehle. Evtl. ist es memory mapped. Da ich auf der Platine kein EPROM sehe, gehe ich davon aus, dass das im ZX81 ist.
Jedenfalls eine spannende Sache. Ein Schaltplan wäre sicher interessant.

Re: Floppycontroller mit WD1770?

Verfasst: 01.01.2019, 22:32
von klf
Ja, der FDC ist memory-mapped im Bereich 3F0xh. Die UART liegt bei 3F2xh.

Das interne RAM ist nicht bestückt, stattdessen wird in klassischer Weise mittels /CS = /MREQ + /(A14 + A15) das externe 32k-RAM eingebunden. Das (interne) ROM ist auf 16k aufgebohrt (eigentlich 2x 16k in Form eines 27256, über den zweckentfremdeten Kanal 2/3-Umschalter wählbar). Im Bereich 3Fxxh wird /ROMCS weggedrückt, dort adressiert der 74LS138 die oben genannte Hardware,

Ich habe das Assemblerlisting im Eröffnungsbeitrag aktualisiert.


Gruß
Patrick


BTW: auf der Hauptplatine wurden die Dioden der Tastaturabfrage durch PNP-Transistoren ersetzt. Basis an die Adressleitung, Kollektor an Masse, Emitter an den Tastaturstecker. Die Stromverstärkung hilft bei längeren Tastaturkabeln. Clevere Idee!

Re: Floppycontroller mit WD1770?

Verfasst: 02.01.2019, 14:31
von dhucke
hier gehts zwar um ZX81 Hardware, trotzdem folgender Hinweis;

Die OPUS verwendet meines wissens unter den ZX Spectrum Interfaces als einziges den WD1770.
PlusD und Disciple verwenden den (abwärtskompatiblen) WD1772.

Der WD1772 hat laut Datenblatt die Möglichkeit weiterer Stepraten von 2, 3, 5, 6 ms.:
https://datasheetspdf.com/pdf-file/1311 ... l/WD1772/1

Re: Floppycontroller mit WD1770?

Verfasst: 02.01.2019, 15:00
von klf
ersetze "weitere" durch "andere". Der WD1770 hat 6, 12, 20 und 30 ms, WD1772 hat 2, 3, 5 und 6 ms.

Der alte Zylonentanker SA-400 ist aber mehr oder weniger das einzige Laufwerk, welches mit 20-30 ms betaktet werden will. Schon die Teac FD-55 - Serie kam mit 3 ms klar, und die späteren 3,5"-Laufwerke hatten buffered seek, d.h. ein Mikrocontroller zählt die Pulse und steuert den Schrittmotor mit seiner individuellen Rampe an.

Re: Floppycontroller mit WD1770?

Verfasst: 11.01.2019, 11:17
von klf
Der Vollständigkeit halber anbei noch der Schaltplan. Da Graphiken hier maximal 1024 x 768 Pixel groß sein dürfen gibt es zusätzlich ein Zip-File mit der vollen Größe.


Gruß
Patrick

Re: Floppycontroller mit WD1770?

Verfasst: 11.01.2019, 14:05
von Joachim
Super Arbeit. Da hast du dir ganz schön Mühe gemacht. Vielen Dank!
Die Schaltung hätten wir schon ein paar Jährchen früher haben müssen. Dazu noch die günstigen Platinenpreise und leistungsfähigen Router .....
Vielleicht war die RS232 auch ein Druckerport - obwohl die Software dazu nicht so aussieht - und offensichtlich war die Baudrate fest eingestellt.
Hast du die Schaltung schon mal ausprobieren können?