Autor Thema: Allgemeines zum Thema IDE/Byteswap/MagicBytes  (Gelesen 32092 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Allgemeines zum Thema IDE/Byteswap/MagicBytes
« am: Mo 18.12.2017, 15:59:17 »
EDIT JOHANNES: Ursprungs-Thread: http://forum.atari-home.de/index.php?topic=13993.msg223426#msg223426



Danke, darüber muß ich mal meditieren... Leuchtet mir iM. noch nicht ein, denn die IDE-Regs. sind doch _vor_ dem Kabel mit Twist? Oder sind die auf dem Medium?

Vielleicht hilft dir ja die Info weiter, dass IDE (und selbst SATA) eine Art verlängerter ISA-Bus ist.
« Letzte Änderung: Mi 20.12.2017, 08:51:19 von Johannes »
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline mfro

  • Benutzer
  • Beiträge: 1.641
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #1 am: Mo 18.12.2017, 17:05:08 »
Danke, darüber muß ich mal meditieren... Leuchtet mir iM. noch nicht ein, denn die IDE-Regs. sind doch _vor_ dem Kabel mit Twist? Oder sind die auf dem Medium?

Die IDE-Register (und nicht nur die, sondern der gesamte Controller) sind (seit Anbeginn der Zeiten) auf der Platte. Auf der Rechnerplatine ist lediglich der Adressdekoder dafür, der die Chip Selects für die Platte liefert. Insofern ist das auch *kein* verlängerter ISA-Bus (der hätte nämlich Adressleitungen).
And remember: Beethoven wrote his first symphony in C

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #2 am: Mo 18.12.2017, 18:01:01 »
Ich habe ja genau deswegen "eine Art verlängerter" geschrieben und nicht nur "verlängerter".
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #3 am: Mo 18.12.2017, 21:32:28 »
Danke für Eure Antworten. Wenn ich das Puzzle jetzt mal zusammensetze, dann ergibt sich folgendes Bild:
  1) Die beiden IDE-Regs. für Cmd & Status sitzen auf dem Medium.
  2) Mit einem Twist (im Kabel oder per Thunder oder auch im Yamaha) ändern sich ihre Adressen.
  3) Greift man auf diese Register zu, gibt´s eine Rückmeldung, also entweder ok oder ko.
  4) Damit weiß man, ob ein Hardware-Twist vorliegt, aber noch nicht, ob ByteSwap nötig ist.
  5) Danach kann man noch eine MagicNumber abfragen & so alle vier möglichen Fälle unterscheiden.
  6) Die Unterscheidung der Fälle kostet nicht viel (Zeit).
  7) Ein nötiger ByteSwap dagegen ziemlich viel.
Damit ist nun so nebenbei auch klar, warum Thunder nicht nur zwei, sondern drei Modes hat - aber warum nicht vier? Und warum klappt das beim Yamaha so wunderschön automatisch, so daß man sich gar nicht darum kümmern muß? Ich hatte ja schon berichtet, daß man am Y. mit HDDRIVER sehr schnell auf PC-Medien zugreift, also ohne ByteSwap (bloß vom IDE noch deutlich übertroffen).
Der Treiber im EmuTOS geht dann wohl genau so vor wie PPERA. Tanzt HDDRIVER inzwischen auch den Twist? (Meine Version 8.45 afaik noch nicht).
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.066
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #4 am: Mo 18.12.2017, 21:45:44 »
Und warum klappt das beim Yamaha so wunderschön automatisch, so daß man sich gar nicht darum kümmern muß?

Wenn du mit "mein Yamaha" den SCSI-IDE-Adapter der Yamaha CRW2200 ff. Laufwerke meinst: jo, das erklärt sich dadurch, dass dein Datenträger für den Atari dann eben _kein_ IDE-Gerät ist, sondern ein SCSI-Gerät. Und das ganze Byteswap-Thema dort nicht existiert.
Wider dem Signaturspam!

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #5 am: Mo 18.12.2017, 21:49:14 »
Die Hardwaretricks von Thunder werden erst von HDDRIVER 10 unterstützt.

Was für ein Yamaha meinst du? Ein SCSI zu CF/SD/IDE-Adapter? Bitte bedenke, dass SCSI am TT 8 Bit breit ist und daher keinen Byteswap benötigt. Der Yamaha handelt das intern ohne Fallunterscheidung.

Alle Register die für den IDE-Disk-Zugriff benötigt werden, liegen auf der Platte, auch sonst alles, denn das war ja das revolutionäre an IDE, nämlich dass der Controller komplett auf die Platte gewandert ist. Die IDE-Schnittstelle selbst ist wie schon angedeutet, ein abgespeckter ISA-BUS, der nur noch aus den Leitungen besteht, die die Laufwerke brauchen, also Datenbus, zweidrei Adress-Signale und ein bischen Handshake. Das was im PC als "IDE-Controller" bezeichnet wird, ist im einfachsten Fall - wie czietz angedeutet hat - nur ein Adressdecoder und ein paar Puffer für den Datenbus.. Übrigens, wenn neuere IDE-Platten in PCs (Ultra-)DMA-Zugriffe machen, dann wird quasi der Bock zum Gärtner, die Platte steuert dann nämlich den Rechner.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #6 am: Mo 18.12.2017, 22:45:55 »
... das erklärt sich dadurch, dass dein Datenträger für den Atari dann eben _kein_ IDE-Gerät ist, sondern ein SCSI-Gerät.
Das ist richtig, für den Yamaha_V769970-Adapter, SCSI2IDE.

... Und das ganze Byteswap-Thema dort nicht existiert. ...
Das ist so nicht ganz richtig: Wenn ich ihn mit einem Atari-Medium (ie. BigEndian) füttere, dann wird die Geschwindigkeit ~ halbiert! Also macht HDDRIVER_8.45 den ByteSwap.
Diese Diskussion hatten wir doch schon einmal. Da macht XFERRATE eine klare Ansage.
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #7 am: Mo 18.12.2017, 23:20:41 »
BigEndian ist für IDE ja auch eher die Ausnahme. Und ein an einem Atari-IDE-Controller beschriebenes Medium wieder per Yamaha an einem Atari einzulessen ist ja wohl das sinnloseste Szenario was man sich vorstellen kann.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #8 am: Di 19.12.2017, 01:49:38 »
... das erklärt sich dadurch, dass dein Datenträger für den Atari dann eben _kein_ IDE-Gerät ist, sondern ein SCSI-Gerät.
Das ist richtig, für den Yamaha_V769970-Adapter, SCSI2IDE.

... Und das ganze Byteswap-Thema dort nicht existiert. ...
Das ist so nicht ganz richtig: Wenn ich ihn mit einem Atari-Medium (ie. BigEndian) füttere, dann wird die Geschwindigkeit ~ halbiert! Also macht HDDRIVER_8.45 den ByteSwap.
Diese Diskussion hatten wir doch schon einmal. Da macht XFERRATE eine klare Ansage.
Ich hatte auch schon mal darauf hingewiesen, daß Endianess eine Aussage darüber ist, wie die Daten auf einem Medium liegen, egal ob das Medium ein RAM oder eine CF oder sonstwas ist, und daß der Übertragungsweg dafür keine Rolle spielt. Daß das Protokoll (also SCSI oder IDE) ebenfalls Einfluß auf die Geschwindigkeit hat, das ist davon unabhängig. Hier mal die Ergebnisse:
XFERRATE v1.1 starting
Testing drive K:
  Rwabs() transfer rate: 1100-1240 kb/sec
  XHDI transfer rate: 1250-1230 kb/sec
Testing drive S:
  Rwabs() transfer rate: 1330 kb/sec
  XHDI transfer rate: 1310-1330 kb/sec
XFERRATE exiting with code 0
wobei S mit BigEndian am IDE-Bus des Falcon hängt und K mit LittleEndian über den Yamaha aber an dessen SCSI-Bus. Und nun bei ansonsten unveränderten Bedingungen das gleiche mit vertauschten Medien, also BigEndian am Yamaha und LittleEndian am IDE:
XFERRATE v1.1 starting
Testing drive S:
  Rwabs() transfer rate: 490 kb/sec
  XHDI transfer rate: 530 kb/sec
Testing drive K:
  Rwabs() transfer rate: 530 kb/sec
  XHDI transfer rate: 530 kb/sec
XFERRATE exiting with code 0
Wie man an den vier Beispielen sieht, wird die Geschwindigkeit auch halbiert, wenn man ein am PC mit LittleEndian beschriebenes Medium in den BigEndian-IDE-Port des Falcon füttert anstatt in den Yamaha (weil wieder ByteSwap sein muß).
Das machen sicher viele so. Der zuerst beschriebene Fall ist übrigens bei mir nützlich, um Daten zw. TT (mit Y.!) und Falcon auszutauschen.

PS: Aber für beides reicht die Vorstellungskraft eines gewissen Forumsmitglieds ganz offenbar leider nicht.

PS2: Warum breite ich das hier so aus - obwohl doch der Yamaha-Adpt. so selten ist? Weil das Thema sowohl mit dem Thunder als auch mit EmuTOS wieder hochaktuell ist. Darum eben auch meine Frage, ob der Kabel-Twist für EmuTOS jetzt der Normalfall ist (wie es wünschenswert wäre, wg. des dargestellten Szenarios).
Darum hier noch einmal mein Kompliment an die Entwickler des Thunder & des EmuTOS-Treibers! (und damit indirekt auch an PPERA, dem Erfinder des Twists*!)

*Ach was, diesen Tanz hat doch ganz wer anders erfunden?
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline mfro

  • Benutzer
  • Beiträge: 1.641
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #9 am: Di 19.12.2017, 11:10:15 »
Ich habe ja genau deswegen "eine Art verlängerter" geschrieben und nicht nur "verlängerter".

Jetzt wirst Du aber (mal wieder) spitzfindig.

Auch wenn's vielleicht in Wikipedia steht: ATA-1 (aka IDE) hat einen fundamentalen Unterschied zum ISA-BUS: ersteres ist asynchron, letzteres synchron. Die Kommunikation über den ISA-Bus funzt nur, wenn alle Karten mit dem gleichen Taktsignal arbeiten, das der Host bereitstellt.

IDE hat keine Taktleitung; die Gültigkeit der Daten auf dem Bus wird durch read/write Strobes angezeigt - komplett asynchron. Das funktioniert völlig anders als ein synchroner Bus (und deswegen kann man ihn auch fast überall - z..B. an alte 8-Bitter - relativ simpel dranhängen).

Wenn Du IDE unbedingt mit "irgendwas verlängertem" vergleichen willst, dann vergleich's mit einer Centronics-Schnittstelle. Die arbeitet genauso.
And remember: Beethoven wrote his first symphony in C

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #10 am: Di 19.12.2017, 12:36:29 »
Nein, eine Centronics-Schnittstelle hat immer einen IO-Chip mit Daten und Steuerregister davor.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline mfro

  • Benutzer
  • Beiträge: 1.641
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #11 am: Di 19.12.2017, 12:39:07 »
Nein, eine Centronics-Schnittstelle hat immer einen IO-Chip mit Daten und Steuerregister davor.

Aha. Und eine IDE-Schnittstelle hat das nicht?
And remember: Beethoven wrote his first symphony in C

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #12 am: Di 19.12.2017, 14:37:02 »
Nein, eine Centronics-Schnittstelle hat immer einen IO-Chip mit Daten und Steuerregister davor.

Aha. Und eine IDE-Schnittstelle hat das nicht?
Wir haben weiter oben geklärt, dass diese Register usw. bei IDE auf der Platte liegen...
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline mfro

  • Benutzer
  • Beiträge: 1.641
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #13 am: Di 19.12.2017, 14:44:12 »
Nein, eine Centronics-Schnittstelle hat immer einen IO-Chip mit Daten und Steuerregister davor.

Aha. Und eine IDE-Schnittstelle hat das nicht?
Wir haben weiter oben geklärt, dass diese Register usw. bei IDE auf der Platte liegen...

Das ist doch völlig wurscht, wo die liegen.

Bei einer I/O-Karte mit Centronics-Schnittstelle am ISA- (oder sonstwas) Bus liegen sie doch auch jenseits des Bus-Slots.
And remember: Beethoven wrote his first symphony in C

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #14 am: Di 19.12.2017, 21:04:30 »
Jetzt muss es auf einmal wieder nicht genau formuliert sein? Und das nächste Mal werden wieder sämtliche Wörter auf die Goldwage gelegt.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline ari.tao

  • Benutzer
  • Beiträge: 2.248
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #15 am: Mi 20.12.2017, 01:27:25 »
Nein, eine Centronics-Schnittstelle hat immer einen IO-Chip mit Daten und Steuerregister davor.
Aha. Und eine IDE-Schnittstelle hat das nicht?
Wir haben weiter oben geklärt, dass diese Register usw. bei IDE auf der Platte liegen...
Das ist doch völlig wurscht, wo die liegen.
Bei einer I/O-Karte mit Centronics-Schnittstelle am ISA- (oder sonstwas) Bus liegen sie doch auch jenseits des Bus-Slots.
Nee, ist nicht wurscht. Bei IDE liegen die Regs. jenseits der Buchse. Genau diesen Umstand hat ja @czietz ausgenutzte, um die Hardware zu detektieren (ie. den Twist im Kabel).
Falcon+ddd32MHz, TT+CrazyDotsGK und noch ein paar andere.

Offline mfro

  • Benutzer
  • Beiträge: 1.641
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #16 am: Mi 20.12.2017, 06:18:55 »
Nee, ist nicht wurscht. Bei IDE liegen die Regs. jenseits der Buchse. Genau diesen Umstand hat ja @czietz ausgenutzte, um die Hardware zu detektieren (ie. den Twist im Kabel).
Für die Frage, ob IDE ein "verlängerter" ISA Bus sei (und darum ging's), ist es völlig wurscht.
And remember: Beethoven wrote his first symphony in C

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #17 am: Mi 20.12.2017, 07:28:05 »
Nein.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline mfro

  • Benutzer
  • Beiträge: 1.641
And remember: Beethoven wrote his first symphony in C

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Allgemeines zum Thema IDE/Byteswap/MagicBytes
« Antwort #19 am: Mi 20.12.2017, 09:37:38 »
Darüber weiter zu diskutieren ist wohl sinnlos, das Ergebnis der Waage ist ungleich, je nach dem ob das Gewicht auf der linken oder rechten Seite liegt.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!