Discussion:
Intel 8271 FDC-Mysterium
(zu alt für eine Antwort)
Michael Engel
2020-06-24 06:52:48 UTC
Permalink
Hallo,

ein Blogartikel auf https://scarybeastsecurity.blogspot.com/2020/06/a-wild-bug-1970s-intel-8271-disc-chip.html stellt die interessante Frage, ob das uralte (FM only) 8271 Floppycontroller-IC von intel nur ein maskenprogrammierter Mikrocontroller ist, vermutlich ein 8041A. Die Frage fand ich spannend und habe ein wenig nachgeforscht (siehe die Kommentare zu dem Artikel).

Wenn man der deutschen Wikipedia glauben mag, dann ist dem so (https://de.wikipedia.org/wiki/Intel_MCS-48), aber dort wird keine Quelle für die Behauptung angegeben. Für einige andere Peripheriechips gibt intel auch offiziell an, dass diese auf dem 8041A basieren (z.B. der 8292 GPIB-Controller - http://www.emuverse.ru/downloads/datasheets/other/intel/8292.pdf).

Spannend wäre nun, das ROM des 8271 auszulesen, wenn es denn ein 8041 wäre. Das funktioniert bei einem echten 8041, indem man 12V an Pin 7 (EA = external access) anlegt und einen bestimmten Auslesealgorithmus implementiert (siehe https://pdfs.semanticscholar.org/fea2/c8f68bd8cf8046b3e40938e594e087490c3a.pdf S. 111 ff.).

Die offiziell von intel als 8041-Derivate bezeichneten Chips bezeichnen Pin 7 als GND-Pin, was dem normalen Betriebsmodus des EA-Pins entspricht. Der 8271 aber hat einen Eingangspin auf Pin 7. Also ist es entweder kein 8041 oder der Chip wurde unterschiedlich gebondet.

Weiss jemand von euch zufällig Näheres dazu und/oder hat einen (gerne defekten, noch lieber in Keramikgehäuse, um das Die anschaun zu können, ohne mit Säure zu hantieren) 8271 für Experimente übrig?

-- Michael
Josef Moellers
2020-06-24 07:27:47 UTC
Permalink
Post by Michael Engel
Hallo,
ein Blogartikel auf https://scarybeastsecurity.blogspot.com/2020/06/a-wild-bug-1970s-intel-8271-disc-chip.html stellt die interessante Frage, ob das uralte (FM only) 8271 Floppycontroller-IC von intel nur ein maskenprogrammierter Mikrocontroller ist, vermutlich ein 8041A. Die Frage fand ich spannend und habe ein wenig nachgeforscht (siehe die Kommentare zu dem Artikel).
Wenn man der deutschen Wikipedia glauben mag, dann ist dem so (https://de.wikipedia.org/wiki/Intel_MCS-48), aber dort wird keine Quelle für die Behauptung angegeben. Für einige andere Peripheriechips gibt intel auch offiziell an, dass diese auf dem 8041A basieren (z.B. der 8292 GPIB-Controller - http://www.emuverse.ru/downloads/datasheets/other/intel/8292.pdf).
Spannend wäre nun, das ROM des 8271 auszulesen, wenn es denn ein 8041 wäre. Das funktioniert bei einem echten 8041, indem man 12V an Pin 7 (EA = external access) anlegt und einen bestimmten Auslesealgorithmus implementiert (siehe https://pdfs.semanticscholar.org/fea2/c8f68bd8cf8046b3e40938e594e087490c3a.pdf S. 111 ff.).
Die offiziell von intel als 8041-Derivate bezeichneten Chips bezeichnen Pin 7 als GND-Pin, was dem normalen Betriebsmodus des EA-Pins entspricht. Der 8271 aber hat einen Eingangspin auf Pin 7. Also ist es entweder kein 8041 oder der Chip wurde unterschiedlich gebondet.
Weiss jemand von euch zufällig Näheres dazu und/oder hat einen (gerne defekten, noch lieber in Keramikgehäuse, um das Die anschaun zu können, ohne mit Säure zu hantieren) 8271 für Experimente übrig?
Das wäre in der Tat für mich sehr interessant, da ich aktuell (auf
Sparflamme) ein Projekt habe, bei dem ich einen FDC (den 9266 in diesem
Fall) samt Laufwerke durch einen Mikrocontroller mit SD-Karte ersetzen
will. Der Code könnte hilfreich sein, vor allem bezüglich der Frage, wie
das Bus-Interface realisiert ist. Ich plane das mit 3 8-Bit-Registern
(74373 74244 ...) und "etwas" Glue-Logik zu machen um den uController
von der Last des Bus-Timings zu befreien.

Josef
Christian Corti
2020-06-24 07:48:56 UTC
Permalink
Post by Michael Engel
ein Blogartikel auf https://scarybeastsecurity.blogspot.com/2020/06/a-wild-bug-1970s-intel-8271-disc-chip.html stellt die interessante Frage, ob das uralte (FM only) 8271 Floppycontroller-IC von intel nur ein maskenprogrammierter Mikrocontroller ist, vermutlich ein 8041A. Die Frage fand ich spannend und habe ein wenig nachgeforscht (siehe die Kommentare zu dem Artikel).
Selten so gelacht. Selbst für FM ist ein i8048 (und Konsorten) zu
langsam. Bedenke, da läuft nebenher auch die CRC-Geschichte.
Und das Blockdiagram widerspricht der µC-Theorie auch. Wenn man den
Artikel liest, muß man sich zwangsläufig an den Kopf fassen. Wer denkt
sich so einen Scheiß überhaupt aus? Bloß, weil da Register drin sind,
soll das ein 8041 sein? Hahaha...

Christian
Michael Engel
2020-06-24 11:48:41 UTC
Permalink
Post by Christian Corti
Post by Michael Engel
ein Blogartikel auf https://scarybeastsecurity.blogspot.com/2020/06/a-wild-bug-1970s-intel-8271-disc-chip.html stellt die interessante Frage, ob das uralte (FM only) 8271 Floppycontroller-IC von intel nur ein maskenprogrammierter Mikrocontroller ist, vermutlich ein 8041A. Die Frage fand ich spannend und habe ein wenig nachgeforscht (siehe die Kommentare zu dem Artikel).
Selten so gelacht. Selbst für FM ist ein i8048 (und Konsorten) zu
langsam. Bedenke, da läuft nebenher auch die CRC-Geschichte.
Und das Blockdiagram widerspricht der µC-Theorie auch. Wenn man den
Artikel liest, muß man sich zwangsläufig an den Kopf fassen. Wer denkt
sich so einen Scheiß überhaupt aus? Bloß, weil da Register drin sind,
soll das ein 8041 sein? Hahaha...
Naja, bei einigen anderen Peripheriechips hat es intel ja genau so gemacht - zugegeben, der 8292 hat bei GPIB vermutlich deutlich mehr Zeit... aber es wäre ja nicht auszuschließen, dass es ein 8041-Kern mit Extrahardware on Chip (Schieberegister, CRC-Generator/Prüfer) ist. Wobei dann der Aufwand für Custom Hardware vermutlich nicht deutlich höher gewesen wäre.

Naja, die Theorie ist in der Welt und will bestätigt oder widerlegt werden ;-).

Bleibt noch die Frage, wo die Information zur 8041-Basis im 8271 im Wikipedia-Eintrag herkommt, wer saugt sich das aus den Fingern?

-- Michael
Peter Heitzer
2020-06-25 07:11:51 UTC
Permalink
Post by Christian Corti
Post by Michael Engel
ein Blogartikel auf https://scarybeastsecurity.blogspot.com/2020/06/a-wild-bug-1970s-intel-8271-disc-chip.html stellt die interessante Frage, ob das uralte (FM only) 8271 Floppycontroller-IC von intel nur ein maskenprogrammierter Mikrocontroller ist, vermutlich ein 8041A. Die Frage fand ich spannend und habe ein wenig nachgeforscht (siehe die Kommentare zu dem Artikel).
Selten so gelacht. Selbst für FM ist ein i8048 (und Konsorten) zu
langsam. Bedenke, da läuft nebenher auch die CRC-Geschichte.
Und das Blockdiagram widerspricht der µC-Theorie auch. Wenn man den
Artikel liest, muß man sich zwangsläufig an den Kopf fassen. Wer denkt
sich so einen Scheiß überhaupt aus? Bloß, weil da Register drin sind,
soll das ein 8041 sein? Hahaha...
Eine Z80 SIO ist aber als FDC brauchbar; sie kann FM dekodieren.
Siehe http://synthark.org/resource/emu/Emulator_ServiceManual.pdf
auf Seite 46.
--
Dipl.-Inform(FH) Peter Heitzer, ***@rz.uni-regensburg.de
Christian Corti
2020-06-25 09:46:40 UTC
Permalink
Post by Peter Heitzer
Eine Z80 SIO ist aber als FDC brauchbar; sie kann FM dekodieren.
Das ist nichts neues, aber der SIO macht nur en-/dekodierung und CRC.
Und der SIO ist kein µController.
Ich glaube im Findex ist so eine Lösung eingebaut, u.a. deswegen werden
da hartsektorierte Floppys benutzt.

Christian
Christian Zietz
2020-06-24 16:12:03 UTC
Permalink
Post by Christian Corti
Wenn man den
Artikel liest, muß man sich zwangsläufig an den Kopf fassen. Wer denkt
sich so einen Scheiß überhaupt aus?
Die Grundprämisse des Blog-Artikels ist auch lustig: "Ich habe einen
undokumentierten Wert in ein Register geschrieben und dann ist etwas
undokumentiertes passiert." Ja, sowas soll's geben.

Christian
--
Christian Zietz - CHZ-Soft - czietz (at) gmx.net
WWW: https://www.chzsoft.de/
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA
cuby....@googlemail.com
2020-09-13 21:14:06 UTC
Permalink
Ein Update zur 8271-Prozessorfrage von Ken Shirriff:

https://twitter.com/kenshirriff/status/1303850341511823360

"The Intel 8273 is an interface chip for IBM's SDLC/HDLC network protocol. Two separate processors in one chip: a high-speed serial processor (top third) and a multitasking 8-bit processor (bottom). The same overly-complex design as the 8271 floppy controller but different code."

Das erklärt wohl, wie der 8271 mit Floppy-Bitraten umgehen konnte. Mehr reverse engineering des 8271 unter https://stardot.org.uk/forums/viewtopic.php?f=3&t=19762&start=300

-- Michael
Christian Corti
2020-09-16 07:42:00 UTC
Permalink
Post by ***@googlemail.com
https://twitter.com/kenshirriff/status/1303850341511823360
"The Intel 8273 is an interface chip for IBM's SDLC/HDLC network protocol. Two separate processors in one chip: a high-speed serial processor (top third) and a multitasking 8-bit processor (bottom). The same overly-complex design as the 8271 floppy controller but different code."
Das erklärt wohl, wie der 8271 mit Floppy-Bitraten umgehen konnte. Mehr reverse engineering des 8271 unter https://stardot.org.uk/forums/viewtopic.php?f=3&t=19762&start=300
Ich bleibe dabei, das ist Bullshit! Klar, eine CPU-artige Struktur muß
vorhanden sein, um die Kommandos zu dekodieren usw. Aber die Floppydaten
sind über simple Schieberegister usw. handzuhaben. Wenn ich z.B. an den FDC
des Robotron 1715 denke, sieht man schön, wie sowas aufgebaut sein kann.
Du hast ein Register für Databits und ein Register für Clockbits.
Grob gesagt, Adreßmarken erkennt man, wenn man z.B. die Clockbits an die
Adreßleitungen eines ROMs gibt und schaut, was es ausspuckt; ähnlich mit
den Datenbits.
Überleg mal, wie teuer ein 8271 gewesen sein müßte, wenn der im Blog
beschriebene Aufwand getrieben worden wäre. Der hätte keine Konkurrenz
zu einem diskreten Controller sein können. Man darf nämlich nicht
vergessen, der 8271 ist FM-only! Also hundsprimitiv.

Christian
K. Krause
2020-09-17 14:54:18 UTC
Permalink
Post by Christian Corti
Post by ***@googlemail.com
https://twitter.com/kenshirriff/status/1303850341511823360
a high-speed serial processor (top third) and a multitasking >> 8-bit processor (bottom). The same overly-complex design as
the 8271 floppy controller but different code."
Das erklärt wohl, wie der 8271 mit Floppy-Bitraten umgehen konnte.
Ich bleibe dabei, das ist Bullshit! Klar, eine CPU-artige Struktur muß
vorhanden sein, um die Kommandos zu dekodieren usw. Aber die Floppydaten
sind über simple Schieberegister usw. handzuhaben. Wenn ich z.B. an den FDC
Naja, das ist wohl eine Frage, wie man "Processor" definiert.
DEC hat ja in diversen Peripheriegeräte ebenfalls "Prozessoren"
eingebaut, die lediglich aus ROMs, PALs und ein paar Registern
bestanden, aus übergeordneter Sicht vielleicht eher State-Machines sind.
Natürlich ist so etwas weit weg von einem frei programmierbaren
Prozessor.

Ich habe grade im MMI PAL-Handbuch von MMI geblättert. Dort gibt es eine
Applikation Craps Game, die mit 4 PALs aufgebaut ist. Eines bildet eine
8-State Machine, eines eine 36-State-Machine, und zwei bilden Dekoder.

Dann gibt es noch eine Ampelsteuerung als Beispiel eines sequentiellen
Logik-Designs.

Und nicht zu vergessen den berühmten 1-Bit-Prozessor MC14500B von
Motorola, den ein heutiger Gigalobyte-Informatiker auch nur mit Mühe in
diese Kategorie einordnen würde.

Klemens

Lesen Sie weiter auf narkive:
Loading...