Thread: Amiga Problems
View Single Post
Old 13 October 2005, 07:30   #3
Jope
-
 
Jope's Avatar
 
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,879
Many drives can be made to boot DOS disks (but sadly not many games) by simply opening the connector at the drive's end, then pulling out wires 2 and 34 (start counting from the red stripe). Swap the wires around and close the connector again. Make sure the floppy drive is set to DS0.

This posting will be updated at a later date to describe how to twist your cable if your floppy drive doesn't have a configurable drive select setting (IE. always stuck on DS1).

Info on converting certain Chinon drives for Amiga use:
http://eab.abime.net/showthread.php?t=9365

Here are some instructions for modding floppy drives I have come across:

http://jope.fi/drives/

Also check out:
http://www.teac.com/DSPD/support/flo...ppy_drives.htm

(sorry, TEAC links are offline at the moment, will search for info)


Floppy connector pinouts
Code:
Amiga                  PC               Legend
Pin 2:  /Change        Pin 2:  /REDWC   Density Select
Pin 4:  /In Use 1      Pin 4:  n/c
Pin 6:  /In Use 0      Pin 6:  n/c
Pin 8:  /Index         Pin 8:  /INDEX   Index
Pin 10: /Select 0      Pin 10: /MOTEA   Motor Enable A
Pin 12: /Select 1      Pin 12: /DRVSB   Drive Sel B
Pin 14: Unused         Pin 14: /DRVSA   Drive Sel A
Pin 16: /MTRI          Pin 16: /MOTEB   Motor Enable B
Pin 18: /Direction     Pin 18: /DIR     Direction
Pin 20: /Step          Pin 20: /STEP    Step
Pin 22: /DKWD          Pin 22: /WDATE   Write Data
Pin 24: /DKWE          Pin 24: /WGATE   Floppy Write Enable
Pin 26: /TRKD          Pin 26: /TRK00   Track 0
Pin 28: /Write Protect Pin 28: /WPT     Write Protect
Pin 30: /DKRD          Pin 30: /RDATA   Read Data
Pin 32: /Side          Pin 32: /SIDE1   Head Select
Pin 34: /Ready         Pin 34: /DSKCHG  Disk Change

All odd pins are GND
A rundown of some different floppy cables you might encounter:
4-6 twisted: used in big box Amigas with Amiga compatible floppy drives. The twist is there so that the drive LEDs work individually. Without the twist DS0 lights both LEDs and DS1 doesn't light either LED.

10-16 twisted: PC cable, allows both drives to be set to the same drive select and still work as separate drives. This cable flips the PC motor control and drive select signals around. The Amiga uses a single motor control pin for all internal drives, and the selects are at different pins than the PC, thus this kind of cable doesn't give you the results you want in a big box Amiga.

2 and 34 swapped: quick hack to get PC compatible drives working in an Amiga. Swaps disk change and density select around. You'll be missing a ready signal, so some track loaders will not work.

How the PC and the Amiga control the drive motors

For a long time I promised to eventually write about the differences in motor control between a PC and an Amiga, so here it finally is, 7 years after I said I'd write it down. :-D

- PC:
In a PC floppy connector, you have two drive selects and two motor control signals. All drives are set to DS1. The 10-16 twist in the cable handily flips around both the drive select and the motor control signal for the second drive.

The floppy controller individually toggles the motor on and off for either drive.

- Amiga:
In an Amiga there are four drive selects and one motor control signal at the even CIA chip.

That was the easy part. Now it becomes difficult. For the sake of brevity, this explanation is not 100% accurate for every Amiga model. You'll have to read the schematics of the model you're interested in to get the absolute truth. If your machine doesn't have a Gary or a Gayle, there will be discrete logic to do the equivalent.

The motor signal and sel0 from the CIA are fed into Gary/Gayle, from which the motor signal comes out at two separate pins as an internal motor control and an external motor control signal.

The external motor control is connected to the external floppy connector, and it is active whenever motor control is enabled at the CIA. Gary/Gayle acts as a signal buffer here to drive the long daisy chain of external drives.

Every external drive has a 7474 flip flop for storing the motor state. When the drive select for that drive + the external motor control is enabled, this flip flop remembers the motor state and keeps that external drive spinning until that drive is selected again without the motor control enabled. There is another chip in the external drive to provide an ID bit stream at the ready signal, which the Amiga uses to detect the external drive's presence.

Now we go back to the Gary/Gayle and examine the internal motor control signal. Here Gary/Gayle actually performs the 7474 flipflop's task and latches the internal motor control when select 0 and motor control is enabled at the CIA.

The internal floppy connector has one pin for motor control, and the internal motor control signal is routed to this pin. All internal drives will run simultaneously, if they have a floppy inside them, whenever either internal drive needs to be spun. The internal connector always has drive select 0 available. In big box Amigas and at least the A1200, select 1 is also present. However this doesn't mean that wedge Amigas like the A1200 will natively support a second internal drive, the logic for motor control + ready ID pulse is not there.

Now for a big box Amiga with an internal DF1, this separate 7474 flip flop circuit actually exists on the motherboard, but the input signals are this time drive select 1 as expected, and the raw motor signal from the CIA as you didn't expect. The functionality is the same as inside an external drive, but the motor control state is fed to the internal floppy controller's only motor control pin. Like I said before, both internal drives run whenever either drive needs to run.

The ready ID bit stream circuit for an internal DF1 gets enabled when you close the DF1 enable or DF1 DD jumper on your big box machine's motherboard.

The A4000 doesn't have a monster gate array like Gary/Gayle, so both the internal DF0 and DF1 drives have the discrete 7474 flip flop circuit for latching their motor signals. A1000 and A2000A probably work in a similar fashion, but I haven't checked the schematics for those.

And finally, you were wondering how DF0 can be detected when I didn't mention that anything would generate its ready signal ID bit stream. As far as I know, trackdisk.device just assumes that DF0 is always there. If you have one of the special Amiga compatible HD drives, it generates its own ready pulse, which trackdisk.device detects and configures DF0 as HD.

Last edited by Jope; 25 May 2014 at 19:42.
Jope is offline  
 
Page generated in 0.04500 seconds with 11 queries