1.1 --- a/src/wd2010.c Wed Jan 16 00:35:10 2013 +0000 1.2 +++ b/src/wd2010.c Wed Jan 16 00:36:51 2013 +0000 1.3 @@ -341,7 +341,7 @@ 1.4 break; 1.5 case CMD_READ_SECTOR: 1.6 /*XXX: does a separate function to set the head have to be added?*/ 1.7 - LOG("WD2010: READ SECTOR cmd=%02X chs=%d:%d:%d", cmd, ctx->track, ctx->head, ctx->sector); 1.8 + LOG("WD2010: READ SECTOR cmd=%02X chs=%d:%d:%d nsectors=%d", cmd, ctx->track, ctx->head, ctx->sector, ctx->sector_count); 1.9 1.10 // Read Sector 1.11 1.12 @@ -391,8 +391,8 @@ 1.13 case CMD_WRITE_FORMAT: 1.14 ctx->sector = 0; 1.15 case CMD_WRITE_SECTOR: 1.16 - LOG("WD2010: WRITE SECTOR cmd=%02X chs=%d:%d:%d", cmd, ctx->track, ctx->head, ctx->sector); 1.17 - // Read Sector 1.18 + LOG("WD2010: WRITE SECTOR cmd=%02X chs=%d:%d:%d nsectors=%d", cmd, ctx->track, ctx->head, ctx->sector, ctx->sector_count); 1.19 + // Write Sector 1.20 1.21 // Check to see if the cyl, hd and sec are valid 1.22 if ((ctx->track > (ctx->geom_tracks-1)) || (ctx->head > (ctx->geom_heads-1)) || (ctx->sector > ctx->geom_spt-1)) { 1.23 @@ -420,8 +420,8 @@ 1.24 ctx->data_len = ctx->geom_secsz * sector_count; 1.25 lba = (((ctx->track * ctx->geom_heads * ctx->geom_spt) + (ctx->head * ctx->geom_spt) + ctx->sector)); 1.26 // convert LBA to byte address 1.27 - ctx->write_pos = lba * ctx->geom_secsz; 1.28 - LOG("\tWRITE lba = %lu", lba); 1.29 + ctx->write_pos = (lba *= ctx->geom_secsz); 1.30 + LOG("\tWRITE lba = %zu", lba); 1.31 1.32 ctx->status = 0; 1.33 ctx->status |= (ctx->data_pos < ctx->data_len) ? SR_DRQ | SR_COMMAND_IN_PROGRESS | SR_BUSY : 0x00;