Previous 15994 Revisions Next

r15872 Sunday 12th August, 2012 at 18:34:16 UTC by Curt Coder
Fixed logging in D64/G64 floppy format code. (nw)
[src/lib/formats]d64_dsk.c g64_dsk.c

src/lib/formats/d64_dsk.c
r15871r15872
2626    PARAMETERS
2727***************************************************************************/
2828
29#define LOG 1
30
3129#define MAX_HEADS         2
3230#define MAX_TRACKS         84
3331#define MAX_ERROR_SECTORS   4166
r15871r15872
716714   tag->dos_tracks = dos_tracks;
717715   tag->has_errors = has_errors;
718716
719   if (LOG)
720   {
721      LOG_FORMATS("D64 size: %04x\n", (UINT32)floppy_image_size(floppy));
722      LOG_FORMATS("D64 heads: %u\n", heads);
723      LOG_FORMATS("D64 tracks: %u\n", dos_tracks);
724      LOG_FORMATS("D64 DOS version: %s\n", DOS_VERSION[dos]);
725      LOG_FORMATS("D64 error codes: %s\n", has_errors ? "yes" : "no");
726   }
717   LOG_FORMATS("D64 size: %04x\n", (UINT32)floppy_image_size(floppy));
718   LOG_FORMATS("D64 heads: %u\n", heads);
719   LOG_FORMATS("D64 tracks: %u\n", dos_tracks);
720   LOG_FORMATS("D64 DOS version: %s\n", DOS_VERSION[dos]);
721   LOG_FORMATS("D64 error codes: %s\n", has_errors ? "yes" : "no");
727722
728723   /* clear track data offsets */
729724   for (head = 0; head < MAX_HEADS; head++)
r15871r15872
755750               /* also store an error entry for each sector */
756751               errors_size += DOS25_SECTORS_PER_TRACK[track];
757752
758               if (LOG)
759               {
760                  LOG_FORMATS("D64 head %u track %u data offset: %04x\n", head, track + 1, tag->track_offset[head][track]);
761                  if (has_errors) LOG_FORMATS("D64 head %u track %u error offset: %04x\n", head, track + 1, tag->error_offset[head][track]);
762               }
753               LOG_FORMATS("D64 head %u track %u data offset: %04x\n", head, track + 1, tag->track_offset[head][track]);
754               if (has_errors) LOG_FORMATS("D64 head %u track %u error offset: %04x\n", head, track + 1, tag->error_offset[head][track]);
763755            }
764756         }
765757         else
r15871r15872
788780                  errors_size += DOS2_SECTORS_PER_TRACK[track / 2];
789781               }
790782
791               if (LOG)
792               {
793                  LOG_FORMATS("D64 head %u track %.1f data offset: %04x\n", head, get_dos_track(track), tag->track_offset[head][track]);
794                  if (has_errors) LOG_FORMATS("D64 head %u track %.1f error offset: %04x\n", head, get_dos_track(track), tag->error_offset[head][track]);
795               }
783               LOG_FORMATS("D64 head %u track %.1f data offset: %04x\n", head, get_dos_track(track), tag->track_offset[head][track]);
784               if (has_errors) LOG_FORMATS("D64 head %u track %.1f error offset: %04x\n", head, get_dos_track(track), tag->error_offset[head][track]);
796785            }
797786         }
798787      }
r15871r15872
805794      {
806795         tag->speed_zone[track] = DOS25_SPEED_ZONE[track];
807796
808         if (LOG) LOG_FORMATS("D64 track %u speed zone: %u\n", track + 1, tag->speed_zone[track]);
797         LOG_FORMATS("D64 track %u speed zone: %u\n", track + 1, tag->speed_zone[track]);
809798      }
810799      else
811800      {
812801         tag->speed_zone[track] = DOS1_SPEED_ZONE[track / 2];
813802
814         if (LOG) LOG_FORMATS("D64 track %.1f speed zone: %u\n", get_dos_track(track), tag->speed_zone[track]);
803         LOG_FORMATS("D64 track %.1f speed zone: %u\n", get_dos_track(track), tag->speed_zone[track]);
815804      }
816805   }
817806
r15871r15872
830819   tag->id1 = id[0];
831820   tag->id2 = id[1];
832821
833   if (LOG) LOG_FORMATS("D64 format ID: %02x%02x\n", id[0], id[1]);
822   LOG_FORMATS("D64 format ID: %02x%02x\n", id[0], id[1]);
834823
835824   /* read errors */
836825   if (tag->has_errors)
837826   {
838      if (LOG) LOG_FORMATS("D64 error blocks: %u %u\n", errors_size, track_offset);
827      LOG_FORMATS("D64 error blocks: %u %u\n", errors_size, track_offset);
839828      floppy_image_read(floppy, tag->error, track_offset, errors_size);
840829   }
841830   else
src/lib/formats/g64_dsk.c
r15871r15872
2424    PARAMETERS
2525***************************************************************************/
2626
27#define LOG 0
28
2927#define HEADER_LENGTH   0x2ac            /* standard length for 84 half tracks */
3028#define MAX_TRACKS      84
3129
r15871r15872
143141
144142   if (!head && track_offset)
145143   {
146      if (buflen < tag->track_size) { printf("G64 track buffer too small: %u!", (UINT32)buflen); exit(-1); }
144      if (buflen < tag->track_size) { LOG_FORMATS("G64 track buffer too small: %u!", (UINT32)buflen); exit(-1); }
147145
148146      /* read track */
149147      floppy_image_read(floppy, buffer, track_offset + 2, tag->track_size);
r15871r15872
154152      memset(buffer, 0, buflen);
155153   }
156154
157   if (LOG) LOG_FORMATS("G64 track %.1f length %u\n", get_dos_track(track), track_length);
155   LOG_FORMATS("G64 track %.1f length %u\n", get_dos_track(track), track_length);
158156
159157   return FLOPPY_ERROR_SUCCESS;
160158}
r15871r15872
247245   /* version */
248246   floppy_image_read(floppy, header, pos, 0x0c); pos += 0xc;
249247   tag->version = header[8];
250   if (LOG) LOG_FORMATS("G64 version: %u\n", tag->version);
248   LOG_FORMATS("G64 version: %u\n", tag->version);
251249
252250   /* number of half tracks */
253251   tag->heads = 1;
254252   tag->tracks = header[9];
255   if (LOG) LOG_FORMATS("G64 tracks: %u\n", tag->tracks);
253   LOG_FORMATS("G64 tracks: %u\n", tag->tracks);
256254
257255   /* size of each stored half track */
258256   tag->track_size = (header[11] << 8) | header[10];
259   if (LOG) LOG_FORMATS("G64 track size: %04x\n", tag->track_size);
257   LOG_FORMATS("G64 track size: %04x\n", tag->track_size);
260258
261259   /* data offsets */
262260   for (i = 0; i < tag->tracks; i++)
r15871r15872
264262      floppy_image_read(floppy, header, pos, 4); pos += 4;
265263      tag->track_offset[i] = (header[3] << 24) | (header[2] << 16) | (header[1] << 8) | header[0];
266264
267      if (LOG) LOG_FORMATS("G64 track %.1f data offset: %04x\n", get_dos_track(i), tag->track_offset[i]);
265      LOG_FORMATS("G64 track %.1f data offset: %04x\n", get_dos_track(i), tag->track_offset[i]);
268266   }
269267
270268   /* speed zone offsets */
r15871r15872
273271      floppy_image_read(floppy, header, pos, 4); pos += 4;
274272      tag->speed_zone_offset[i] = (header[3] << 24) | (header[2] << 16) | (header[1] << 8) | header[0];
275273
276      if (LOG)
277      {
278         if (tag->speed_zone_offset[i] < 4) {
279            LOG_FORMATS("G64 track %.1f speed zone: %u\n", get_dos_track(i), tag->speed_zone_offset[i]);
280         } else {
281            LOG_FORMATS("G64 track %.1f speed zone offset: %04x\n", get_dos_track(i), tag->speed_zone_offset[i]);
282         }
274      if (tag->speed_zone_offset[i] < 4) {
275         LOG_FORMATS("G64 track %.1f speed zone: %u\n", get_dos_track(i), tag->speed_zone_offset[i]);
276      } else {
277         LOG_FORMATS("G64 track %.1f speed zone offset: %04x\n", get_dos_track(i), tag->speed_zone_offset[i]);
283278      }
284279   }
285280

Previous 15994 Revisions Next


© 1998-2018 The MESS Team