1.1 --- a/src/wd2010.c Fri Jan 18 18:51:50 2013 +0000 1.2 +++ b/src/wd2010.c Wed Mar 13 00:43:25 2013 +0000 1.3 @@ -327,6 +327,7 @@ 1.4 ctx->track = new_track; 1.5 } else { 1.6 // Seek error. :( 1.7 + LOG("WD2010 ALERT: track %d out of range", new_track); 1.8 ctx->status = SR_ERROR; 1.9 ctx->error_reg = ER_ID_NOT_FOUND; 1.10 ctx->irq = true; 1.11 @@ -399,7 +400,7 @@ 1.12 // Write Sector 1.13 1.14 // Check to see if the cyl, hd and sec are valid 1.15 - if ((ctx->track > (ctx->geom_tracks-1)) || (ctx->head > (ctx->geom_heads-1)) || ((ctx->sector + ctx->sector_count - 1) > ctx->geom_spt-1)) { 1.16 + if (cmd != CMD_WRITE_FORMAT && ((ctx->track > (ctx->geom_tracks-1)) || (ctx->head > (ctx->geom_heads-1)) || ((ctx->sector + ctx->sector_count - 1) > ctx->geom_spt-1))) { 1.17 LOG("*** WD2010 ALERT: CHS parameter limit exceeded! CHS=%d:%d:%d, nSecs=%d, endSec=%d maxCHS=%d:%d:%d", 1.18 ctx->track, ctx->head, ctx->sector, 1.19 ctx->sector_count,