diff --git a/common/cmd_fdc.c b/common/cmd_fdc.c
index bf28370..0293d18 100644
--- a/common/cmd_fdc.c
+++ b/common/cmd_fdc.c
@@ -46,24 +46,23 @@
 #define FALSE           0
 #endif
 
-
 /*#if defined(CONFIG_CMD_DATE) */
 /*#include <rtc.h> */
 /*#endif */
 
 #if defined(CONFIG_CMD_FDC) || defined(CONFIG_CMD_FDOS)
 
-
 typedef struct {
-	int						flags;		/* connected drives ect */
-	unsigned long blnr;			/* Logical block nr */
-	uchar					drive; 		/* drive no */
-	uchar					cmdlen; 	/* cmd length */
-	uchar					cmd[16]; 	/* cmd desc */
-	uchar					dma;			/* if > 0 dma enabled */
-	uchar					result[11];/* status information */
-	uchar					resultlen; /* lenght of result */
+	int		flags;		/* connected drives ect */
+	unsigned long	blnr;		/* Logical block nr */
+	uchar		drive;		/* drive no */
+	uchar		cmdlen;		/* cmd length */
+	uchar		cmd[16];	/* cmd desc */
+	uchar		dma;		/* if > 0 dma enabled */
+	uchar		result[11];	/* status information */
+	uchar		resultlen;	/* lenght of result */
 } FDC_COMMAND_STRUCT;
+
 /* flags: only the lower 8bit used:
  * bit 0 if set drive 0 is present
  * bit 1 if set drive 1 is present
@@ -75,31 +74,30 @@
  * bit 7 if set disk in drive 4 is inserted
  */
 
-
 /* cmd indexes */
-#define COMMAND 		0
-#define DRIVE 			1
+#define COMMAND			0
+#define DRIVE			1
 #define CONFIG0			1
-#define SPEC_HUTSRT	1
-#define TRACK 			2
+#define SPEC_HUTSRT		1
+#define TRACK			2
 #define CONFIG1			2
 #define SPEC_HLT		2
-#define HEAD				3
+#define HEAD			3
 #define CONFIG2			3
-#define SECTOR 			4
-#define SECTOR_SIZE	5
-#define LAST_TRACK	6
-#define GAP					7
-#define DTL					8
+#define SECTOR			4
+#define SECTOR_SIZE		5
+#define LAST_TRACK		6
+#define GAP			7
+#define DTL			8
 /* result indexes */
-#define STATUS_0						0
-#define STATUS_PCN					1
-#define STATUS_1						1
-#define STATUS_2						2
-#define STATUS_TRACK				3
-#define STATUS_HEAD					4
-#define STATUS_SECT					5
-#define STATUS_SECT_SIZE		6
+#define STATUS_0		0
+#define STATUS_PCN		1
+#define STATUS_1		1
+#define STATUS_2		2
+#define STATUS_TRACK		3
+#define STATUS_HEAD		4
+#define STATUS_SECT		5
+#define STATUS_SECT_SIZE	6
 
 
 /* Register addresses */
@@ -114,34 +112,34 @@
 #define FDC_DIR		FDC_BASE + 6	/* Digital Input Register */
 #define FDC_CCR		FDC_BASE + 7	/* Configuration Control */
 /* Commands */
-#define FDC_CMD_SENSE_INT 		0x08
-#define FDC_CMD_CONFIGURE 		0x13
-#define FDC_CMD_SPECIFY	 			0x03
-#define FDC_CMD_RECALIBRATE 	0x07
-#define FDC_CMD_READ				 	0x06
-#define FDC_CMD_READ_TRACK	 	0x02
-#define FDC_CMD_READ_ID			 	0x0A
-#define FDC_CMD_DUMP_REG		 	0x0E
-#define FDC_CMD_SEEK				 	0x0F
+#define FDC_CMD_SENSE_INT	0x08
+#define FDC_CMD_CONFIGURE	0x13
+#define FDC_CMD_SPECIFY		0x03
+#define FDC_CMD_RECALIBRATE	0x07
+#define FDC_CMD_READ		0x06
+#define FDC_CMD_READ_TRACK	0x02
+#define FDC_CMD_READ_ID		0x0A
+#define FDC_CMD_DUMP_REG	0x0E
+#define FDC_CMD_SEEK		0x0F
 
-#define FDC_CMD_SENSE_INT_LEN 		0x01
-#define FDC_CMD_CONFIGURE_LEN 		0x04
-#define FDC_CMD_SPECIFY_LEN	 			0x03
-#define FDC_CMD_RECALIBRATE_LEN 	0x02
-#define FDC_CMD_READ_LEN				 	0x09
-#define FDC_CMD_READ_TRACK_LEN	 	0x09
-#define FDC_CMD_READ_ID_LEN			 	0x02
-#define FDC_CMD_DUMP_REG_LEN		 	0x01
-#define FDC_CMD_SEEK_LEN				 	0x03
+#define FDC_CMD_SENSE_INT_LEN	0x01
+#define FDC_CMD_CONFIGURE_LEN	0x04
+#define FDC_CMD_SPECIFY_LEN	0x03
+#define FDC_CMD_RECALIBRATE_LEN	0x02
+#define FDC_CMD_READ_LEN	0x09
+#define FDC_CMD_READ_TRACK_LEN	0x09
+#define FDC_CMD_READ_ID_LEN	0x02
+#define FDC_CMD_DUMP_REG_LEN	0x01
+#define FDC_CMD_SEEK_LEN	0x03
 
-#define FDC_FIFO_THR			0x0C
-#define FDC_FIFO_DIS			0x00
+#define FDC_FIFO_THR		0x0C
+#define FDC_FIFO_DIS		0x00
 #define FDC_IMPLIED_SEEK	0x01
-#define FDC_POLL_DIS			0x00
-#define FDC_PRE_TRK				0x00
-#define FDC_CONFIGURE			FDC_FIFO_THR | (FDC_POLL_DIS<<4) | (FDC_FIFO_DIS<<5) | (FDC_IMPLIED_SEEK << 6)
-#define FDC_MFM_MODE			0x01 /* MFM enable */
-#define FDC_SKIP_MODE			0x00 /* skip enable */
+#define FDC_POLL_DIS		0x00
+#define FDC_PRE_TRK		0x00
+#define FDC_CONFIGURE		FDC_FIFO_THR | (FDC_POLL_DIS<<4) | (FDC_FIFO_DIS<<5) | (FDC_IMPLIED_SEEK << 6)
+#define FDC_MFM_MODE		0x01 /* MFM enable */
+#define FDC_SKIP_MODE		0x00 /* skip enable */
 
 #define FDC_TIME_OUT 100000 /* time out */
 #define	FDC_RW_RETRIES		3 /* read write retries */
@@ -150,18 +148,18 @@
 
 /* Disk structure */
 typedef struct  {
-	unsigned int size;			/* nr of sectors total */
-	unsigned int sect;			/* sectors per track */
-	unsigned int head;			/* nr of heads */
-	unsigned int track;			/* nr of tracks */
-	unsigned int stretch;		/* !=0 means double track steps */
-	unsigned char	gap;			/* gap1 size */
-	unsigned char	rate;			/* data rate. |= 0x40 for perpendicular */
-	unsigned char	spec1;		/* stepping rate, head unload time */
-	unsigned char	fmt_gap;	/* gap2 size */
-	unsigned char hlt;			/* head load time */
-	unsigned char sect_code; /* Sector Size code */
-	const char	* name; 		/* used only for predefined formats */
+	unsigned int size;	/* nr of sectors total */
+	unsigned int sect;	/* sectors per track */
+	unsigned int head;	/* nr of heads */
+	unsigned int track;	/* nr of tracks */
+	unsigned int stretch;	/* !=0 means double track steps */
+	unsigned char	gap;	/* gap1 size */
+	unsigned char	rate;	/* data rate. |= 0x40 for perpendicular */
+	unsigned char	spec1;	/* stepping rate, head unload time */
+	unsigned char	fmt_gap;/* gap2 size */
+	unsigned char hlt;	/* head load time */
+	unsigned char sect_code;/* Sector Size code */
+	const char	* name;	/* used only for predefined formats */
 } FD_GEO_STRUCT;
 
 
@@ -342,7 +340,7 @@
 		case FDC_CMD_CONFIGURE:
 			pCMD->cmd[CONFIG0]=0;
 			pCMD->cmd[CONFIG1]=FDC_CONFIGURE; /* FIFO Threshold, Poll, Enable FIFO */
-			pCMD->cmd[CONFIG2]=FDC_PRE_TRK; 	/* Precompensation Track */
+			pCMD->cmd[CONFIG2]=FDC_PRE_TRK;	/* Precompensation Track */
 			pCMD->cmdlen=FDC_CMD_CONFIGURE_LEN;
 			pCMD->resultlen=0;  /* no result */
 			break;
