src/wd2010.c

changeset 134
b826697f411a
parent 130
1fc7d607dbb4
child 135
159f937af10d
child 136
f7d78dfb45d0
     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,