diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp index e21598eaf36..db9d54920e5 100644 --- a/src/lib/formats/dsk_dsk.cpp +++ b/src/lib/formats/dsk_dsk.cpp @@ -424,10 +424,27 @@ bool dsk_format::load(io_generic *io, uint32_t form_factor, floppy_image *image) if (tr.number_of_sector == 0) continue; + int protection = 0; + int first_sector_code = -1; + for(int j=0;j 0) && (sector.sector_size_code == 2) && (first_sector_code == 6)) + protection = 1; // first: 6144 rest: 512 + + if ((j > 0) && (sector.sector_size_code == j) && (first_sector_code == 0)) + protection = 2; // first: 128 rest: N*128 + } + desc_pc_sector sects[256]; uint8_t sect_data[65536]; int sdatapos = 0; int pos = track_offsets[(track<<1)+side] + 0x100; + for(int j=0;j