Software > Software (16-/32-Bit)

HDDriver mit MonSTer ST

<< < (2/7) > >>

1ST1:
Das Byteswapping ist das Problem. Der ST kann von der Karte nur booten, wenn Byteswapping aus ist, der Mac bzw. PC kann die Karte nur lesen wenn Byteswapping an ist. Mit einer einzelnen CF-Karte ist das nicht zu lösen. Du brauchst eine zweite CF-Karte, die aber nicht größer sein darf als 512 MB (TOS 2.06 Limit), die muss dann am ST TOS+WIN-kompatibel mit Byteswapping eingerichtet werden. Außerdem empfehle ich noch, BIGDOS auf dem ST in den Autoordner zu legen.

towabe:
Das sehe ich anders. Ich habe eine 4GB-CF-Karte schon mit mehreren Partitionen am Atari TT und Falcon betrieben (über SCSI-CF-cardreader). Die sind genauso eingerichtet wie  Atari99 es beschrieben hat. Die wurden und werden auf den MAC alle erkannt. Es müsste also eigentlich so funktionieren.

1ST1:
SCSI ist eine andere Sache, da gibts im Gegensatz zu IDE kein Byteswap, da SCSI-1/2 nicht 16 Bit (little versus big endian !!!) sondern nur 8 Bit überträgt. Die Umsetzung von 8 auf 16 Bit macht dann der SCSI zu CF Adapter.

Lukas Frank:
Zauberei ...

1ST1:
Zauberrei ???

Das IDE/CF-Interface ist nunmal ganz eng an den 16-Bit-ISA-Bus des IBM AT angelehnt. Und das wiederum ist an die Wort-Darstellung der X86-Prozessoren angepasst, und da werden nunmal 16-Bit-Worte im Little Endian Format dargestellt. Little Endian bedeutet, das ein 16-Bit Wort aus einem führenden Low-Byte und einem folgenden High-Byte gebildet wird. Also genau umgekehrt wie es wir z.B. bei unserem Stellwertsystem im 10er-System gewohnt sind, die Zahl "Zehn" wäre bei Little Endian da nicht 10, sondern 01... Der Motorola 68000 verwendet dagegen Big-Endian, also genau umgekehrt (und für uns westlich orientierte Menschen einfacher lesbar) mit High-Byte zuerst und dann Low-Byte. Wenn nun ein 68000 auf eine Little-Endian-Hardware zugreifen will, muss er eben den Byteswap machen*. Ihr habt ja schon genug IDE:Interfaces gebastelt, dass ihr sehen konntet, dass da die im Prinzip die Adress- und Datenbussignale (mit ein bischen Adressdecoderlogik) im Primzip 1:1 miteinander verbunden werden (bzw. bei den Daten der Byteswap hardwareseitig gemacht wird).

Bei SCSI spiewlt das keine Rolle, denn da gibtgs keine direkte Verbindung zwischen dem Prozessorbus und dem CF/IDE-Interface, sondern da sitzen 2 SCSI-Controller dazwischen, ein Initiator am Rechner, ein Targetdevice im SCSI-zu-CF/IDE-Adapter. Das SCSI-Interface ist entweder 8 Bit (SCSI 1/2) breit, oder Big Endian 16 Bit (neuere SCSI-Versionen). Der 68000er schreibt Big Endian auf den SCSI-Controller, der SCSI-Controller schickt zwei Bytes oder ein Big-Endian Wort auf den SCSI-Bus und das SCSI-Target wandelt entweder 2 nacheinander empfangene Bytes oder (bei Wide SCSI) Big Endian auf Little Endian um und schickt das auf das IDE/CF-Interface.

Wo ist da die Zauberrei???

* Es ist aber noch etwas komplizierter...: So ein CF/IDE-Interface überträgt ja zweierlei:
1. Befehle
2. Daten
Die Befehle für das IDE/CF-Laufwerk müssen grundsätzlich immer als Litte Endian übertragen werden, denn sonst versteht sie der IDE/CF-Controller im Laufwerk bzw. der Karte nicht.
2. Dem IDE/CF-Laufwerk ist aber egal, ob es Daten im Big oder Little Endian Format in seinen Sektoren speichern soll.

Das bedeutet:
1. Ein PC, der grundsätzlich immer in Little Endian arbeitet, da muss nichts gemacht werden.
2. Ein 68000 System, welches Big Endian arbeitet, muss ein IDE/CF-Laufwerk mit Little-Endian Befehlen steuern, kann aber wahlweise Little/Big Endian Daten darauf speichern. So hat es ATARI beim Falcon und ST-Book gemacht, die Ataris speichern normalerweise Big Endian auf IDE-Laufwerken.Will man PC beschriebene Laufwerke damit lesen und schreiben, muss der Byteswap auch bei Daten durchgeführt werden, was die Sache langsam macht.  Dazu im Gegensatz das IDE-Interface nach P.Putnik, der die Big/Little-Endian-Konvertierung durch Vertausch der Datenleitungen auf dem IDE-Bus realisiert hat, da darf dann der Plattentreiber nicht noch zusätzlich einen Byteswap bei den Befehlen durchführen.

Immer noch keine Zauberrei, wenn man die Hintergründe kennt!

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln