summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/lib/formats/dsk_dsk.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/formats/dsk_dsk.cpp b/src/lib/formats/dsk_dsk.cpp
index 7994f60f3ce..c208a5f8e81 100644
--- a/src/lib/formats/dsk_dsk.cpp
+++ b/src/lib/formats/dsk_dsk.cpp
@@ -381,7 +381,7 @@ bool dsk_format::load(io_generic *io, uint32_t form_factor, floppy_image *image)
}
}
if (heads > img_heads)
- return false;
+ osd_printf_warning("dsk: Floppy disk has excess of heads for this drive that will be discarded (floppy heads=%d, drive heads=%d).\n", heads, img_heads);
uint64_t track_offsets[84*2];
int cnt =0;
@@ -414,7 +414,7 @@ bool dsk_format::load(io_generic *io, uint32_t form_factor, floppy_image *image)
int counter = 0;
for(int track=0; track < tracks; track++) {
- for(int side=0; side < heads; side++) {
+ for(int side=0; side < std::min(heads, img_heads); side++) {
if(track_offsets[(track<<1)+side] >= image_size)
continue;
track_header tr;