Archiv verlassen und diese Seite im Standarddesign anzeigen : Können USB-Diskettenlaufwerke Amiga-Disketten lesen?

2008-07-07, 03:42:41
Normale Diskettenlaufwerke für den PC die man an einen Floppy Controller anschließt, welches sich meist auf dem Mainboard befindet, können bekanntlich ja keine Amiga Disketten lesen.

Wie sieht es nun aber aus, wenn man anstatt eines normalen Diskettenlaufwerks ein USB Diskettenlaufwerk verwendet?

Dieses muß ja nicht zwingend einen PC typischen klassischen Floppy Controller haben.
Zumal ja sicher einige USB Diskettenlaufwerke dafür gedacht sind, daß man diese auch an einem Macintosh anschließt.

2008-07-07, 09:58:29
Auch wenn es oft genug gepostet wurde. Man kann am PC mit zwei stinknormalen internen Laufwerken Amiga-Disketten auslesen.


2008-07-07, 14:14:46
Auch wenn es oft genug gepostet wurde. Man kann am PC mit zwei stinknormalen internen Laufwerken Amiga-Disketten auslesen.


Leider steht da nirgends wie und warum das genau funktioniert, mit 2 Diskettenlaufwerken.

2008-07-08, 13:18:13
Leider steht da nirgends wie und warum das genau funktioniert, mit 2 Diskettenlaufwerken.ZAUBEREI! ;)

Wenn man es genauer wissen möchte, am besten disk2fdi (http://www.oldskool.org/disk2fdi/) herunterladen und einen Blick in die Dokumentation werfen (DOCS\TECH\RAWFLOPY.DOC und docs\disk2fdi.faq). Hier mal ein Auszug wie es prinzipiell funktioniert:
I.1. Technical background

The PC-AT controls the floppy disk drives using a standard Nec PD 765 floppy disk controller (FDC) addressable at I/O addresses 3F4h and 3F5h plus two output registers (the Digital Output Register at I/O address 3F2h, and the Configuration Control Register at I/O address 3F7h), and one input register (the Digital Input Register at I/O address 3F7h).

The following technique makes use of the architecture of the 765, and of the fact that the 765 is not linked on a programming point of view to the other hardware registers.

The Digital Output Register gives control over the disk drive motors, and the selection of a particular disk drive for disk operations. The Configuration Control Register enables the selection of a bit rate for disk read/write operations. These controls are made independently from the NEC 765.

I.2. The algorithm

This algorithm requires two disk drives installed (read the 1DISKDRV.TXT file to get an explanation why reading raw data generally with only 1 disk drive is physically impossible).
Insert the disk you want to fully read in one drive (let’s say A: in this example).
Insert another disk in the other drive (B: in this example). This disk must be IBM-formatted.

- Select drive A: using port 3F2h. Also turn on motors for both A: and B:.
- Go to the desired track and side using standard FDC 765 commands.
- Swap to B: using port 3F2h.
- Select density appropriate for IBM-formatted disk in B: using port 3F7h.
- Issue a “Read a Track (Diagnostic)” command using the FDC 765. The parameters should match a sector that is physically present on the IBM-formatted disk, for example sector #1. For this command, set a sector size of at least 8KB (even if the physical sector is 512 bytes long). 16KB and 32KB sector sizes can be set to read more raw data. DMA registers should have been set accordingly.
- Watch continuously the DMA address until it is different from the starting address. When it is so, it means that the 765 has begun transferring sector data, so it has previously found the sector header on B:.
- As soon as the DMA address is increased, swap to A: using port 3F2h. This is the main idea behind this technique. The 765 has no way to know disk selection has changed because port 3F2h is not linked to it. This 1st step was discovered on the 11th of December, 1999.
- Change density (bit rate) using port 3F7h. For a full track read, including MFM synchronization bits, you must set a bit rate twice the standard value. For example, when reading a 250 000 bits/sec track (double-density track), set the bit rate to 500 000 bits/sec. This 2nd step was discovered on the 18th of December, 1999.

- The FDC 765 will now read the disk in drive A: from now on, thinking it is a big sector on disk in drive B:. Wait for FDC interrupt. Of course, most status bits at the end of this operation should be just ignored, such as the data error (CRC) flag (which will be obviously set). The main indicator of a successful operation is the DMA counter or address. For a 32KB “sector” read, the DMA address will equal the starting address plus 32768 if the operation was successful.

Since some bytes were read at first from drive B:, and the swap of drives and bit rates will require a little time to settle, it is wise not to consider the first 50 bytes read.

If the track to be read contains an IBM sector, drive swapping may not be necessary. Yet, bit rate swapping can be useful, especially for protected or non-standard tracks.

2008-07-17, 09:06:17
Die Steuerlogik von USB-Floppies verwendet auch überlicherweise die NEC-Controller. Aber ein indirektes Ansprechen der Hardware wie bei disk2fdi ist aufgrund des Protokolls nicht üblich. Direkte I/O-Adressierung geht da nicht direkt. Vermutlich wäre ein Hardwarehack ala Disk2FDI auch bei USB-Floppies möglich, aber nur mit entsprechend großen Programmieraufwand.