1.1 diff -r acea4b2f396f -r 4c85846b09cd src/wd279x.h 1.2 --- a/src/wd279x.h Thu Dec 08 23:44:19 2011 +0000 1.3 +++ b/src/wd279x.h Sat Nov 17 19:13:08 2012 +0000 1.4 @@ -25,6 +25,8 @@ 1.5 typedef struct { 1.6 // Current track, head and sector 1.7 int track, head, sector; 1.8 + // Track and sector registers 1.9 + int track_reg, sector_reg; 1.10 // Geometry of current disc 1.11 int geom_secsz, geom_spt, geom_heads, geom_tracks; 1.12 // IRQ status 1.13 @@ -42,6 +44,12 @@ 1.14 size_t data_pos, data_len; 1.15 // Current disc image file 1.16 FILE *disc_image; 1.17 + // Write protect flag 1.18 + int writeable; 1.19 + // LBA at which to start writing 1.20 + int write_pos; 1.21 + // True if a format command is in progress 1.22 + int formatting; 1.23 } WD2797_CTX; 1.24 1.25 /** 1.26 @@ -88,7 +96,7 @@ 1.27 * @param heads Number of heads (1 or 2). 1.28 * @return Error code; WD279X_E_OK if everything worked OK. 1.29 */ 1.30 -WD2797_ERR wd2797_load(WD2797_CTX *ctx, FILE *fp, int secsz, int spt, int heads); 1.31 +WD2797_ERR wd2797_load(WD2797_CTX *ctx, FILE *fp, int secsz, int spt, int heads, int writeable); 1.32 1.33 /** 1.34 * @brief Deassign the current image file. 1.35 @@ -111,5 +119,5 @@ 1.36 */ 1.37 void wd2797_write_reg(WD2797_CTX *ctx, uint8_t addr, uint8_t val); 1.38 1.39 - 1.40 +void wd2797_dma_miss(WD2797_CTX *ctx); 1.41 #endif