]> git.sesse.net Git - pistorm/blobdiff - platforms/amiga/gayle-ide/ide.h
IDE updates, fix mouse hook hotkey
[pistorm] / platforms / amiga / gayle-ide / ide.h
index 900c3cd1f646066ff85781f04e4a05b29b9ca06e..29598ec29b34b1495db480cf7416ea757d71e68b 100644 (file)
@@ -19,7 +19,7 @@
 #define                ide_lba_mid     4
 #define                ide_cyl_hi      5
 #define                ide_lba_hi      5
-#define                ide_dev_head    6
+#define                ide_dev_head 6
 #define                ide_lba_top     6
 #define                ide_status_r    7
 #define                ide_command_w   7
@@ -32,10 +32,6 @@ struct ide_taskfile {
   uint8_t error;
   uint8_t feature;
   uint8_t count;
-  uint8_t lba1;
-  uint8_t lba2;
-  uint8_t lba3;
-  uint8_t lba4;
   uint8_t status;
   uint8_t command;
   uint8_t devctrl;
@@ -55,6 +51,7 @@ struct ide_drive {
   int fd;
   off_t offset;
   int length;
+  uint8_t header_present;
 };
 
 struct ide_controller {
@@ -62,6 +59,10 @@ struct ide_controller {
   int selected;
   const char *name;
   uint16_t data_latch;
+  uint8_t lba1;
+  uint8_t lba2;
+  uint8_t lba3;
+  uint8_t lba4;
 };
 
 //extern ide_controller idectrl;
@@ -77,6 +78,8 @@ void ide_write_latched(struct ide_controller *c, uint8_t r, uint8_t v);
 
 struct ide_controller *ide_allocate(const char *name);
 int ide_attach(struct ide_controller *c, int drive, int fd);
+int ide_attach_hdf(struct ide_controller *c, int drive, int fd);
+int ide_make_ident(uint16_t c, uint8_t h, uint8_t s, char *name, uint16_t *target);
 void ide_detach(struct ide_drive *d);
 void ide_free(struct ide_controller *c);