UbixOS
2.0
|
#include <sys/types.h>
Go to the source code of this file.
Data Structures | |
struct | DrvGeom |
Macros | |
#define | cmdRead (0xe6) |
#define | cmdRecal (0x07) |
#define | cmdSeek (0x0f) |
#define | cmdSensei (0x08) |
#define | cmdSpecify (0x03) |
#define | cmdWrite (0xc5) |
#define | dg144Gap3rw 0x1b |
#define | dg144Heads 2 /* heads per drive (1.44M) */ |
#define | dg144Spt 18 |
#define | dg144Tracks 80 |
#define | dg168Gap3rw 0x1c |
#define | fdcCcr (0x3f7) |
#define | fdcData (0x3f5) |
#define | fdcDir (0x3f7) |
#define | fdcDor (0x3f2) |
#define | fdcDrs (0x3f4) |
#define | fdcMsr (0x3f4) |
Typedefs | |
typedef struct DrvGeom | drvGeom |
Functions | |
void | block2Hts (int block, int *head, int *track, int *sector) |
int | fdc_init () |
void | fdcRead (void *info, void *, uInt32 startSector, uInt32 sectorCount) |
bool | fdcRw (int block, unsigned char *blockBuffer, bool read, unsigned long numSectors) |
void | fdcWrite (void *info, void *, uInt32 startSector, uInt32 sectorCount) |
void | floppyIsr () |
void | floppyIsrhndlr () |
int | getByte () |
void | motorOff (void) |
void | motorOn (void) |
bool | readBlock (int block, Int8 *blockBuffer, unsigned long numSectors) |
void | recalibrate (void) |
void | reset (void) |
bool | seek (int track) |
void | sendByte (int Int8) |
bool | waitFdc (bool sensei) |
bool | writeBlock (int block, Int8 *blockBuffer, unsigned long numSectors) |
void block2Hts | ( | int | block, |
int * | head, | ||
int * | track, | ||
int * | sector | ||
) |
int fdc_init | ( | ) |
Definition at line 61 of file fdc.c.
References devfs_makeNode(), device_add(), dInt, dPresent, fdcInit2(), fdcRead(), fdcWrite(), floppyIsr(), device_interface::init, irqEnable(), kmalloc(), device_interface::major, mVec, device_interface::read, device_interface::reset, reset(), setVector(), and device_interface::write.
Definition at line 303 of file fdc.c.
References spinLock().
Referenced by fdc_init().
Definition at line 127 of file fdc.c.
References block2Hts(), fdcDir, inportByte(), motorOn(), and read().
Referenced by readBlock(), and writeBlock().
Definition at line 309 of file fdc.c.
References writeBlock().
Referenced by fdc_init().
void floppyIsr | ( | ) |
Referenced by fdc_init().
int getByte | ( | ) |
Definition at line 114 of file fdc.c.
References fdcData, fdcMsr, and inportByte().
void motorOff | ( | void | ) |
Definition at line 213 of file fdc.c.
Referenced by recalibrate().
void motorOn | ( | void | ) |
Definition at line 206 of file fdc.c.
Referenced by fdcRw(), and recalibrate().
void recalibrate | ( | void | ) |
Definition at line 280 of file fdc.c.
References cmdRecal, motorOff(), motorOn(), sendByte(), TRUE, and waitFdc().
void reset | ( | void | ) |
Definition at line 288 of file fdc.c.
References fdcDor, and outportByte().
Referenced by fdc_init().
void sendByte | ( | int | Int8 | ) |
Definition at line 101 of file fdc.c.
References fdcData, fdcMsr, inportByte(), and outportByte().
Referenced by recalibrate().
Definition at line 255 of file fdc.c.
Referenced by recalibrate().