summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/bbc_dsk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/bbc_dsk.cpp')
-rw-r--r--src/lib/formats/bbc_dsk.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/formats/bbc_dsk.cpp b/src/lib/formats/bbc_dsk.cpp
index 8b39ed17b1f..9b05f14f0be 100644
--- a/src/lib/formats/bbc_dsk.cpp
+++ b/src/lib/formats/bbc_dsk.cpp
@@ -148,7 +148,8 @@ int bbc_adfs_format::find_size(io_generic *io, UINT32 form_factor)
continue;
// valid images will have sector counts adfs-s = 0x280; adfs-m = 0x500; adfs-l = 0xa00; though many adfs-s images are incorrect
- if ((size == (UINT64)compute_track_size(f) * f.track_count * f.head_count) && (sectors == 0x280 || sectors == 0x500 || sectors == 0xa00)) {
+ // format d/e (size 819200) we accept on the size only
+ if ((size == (UINT64)compute_track_size(f) * f.track_count * f.head_count) && (sectors == 0x280 || sectors == 0x500 || sectors == 0xa00 || size == 819200)) {
return i;
}
}
@@ -198,6 +199,10 @@ const bbc_adfs_format::format bbc_adfs_format::formats[] =
floppy_image::FF_35, floppy_image::DSQD, floppy_image::MFM,
2000, 16, 80, 2, 256, {}, -1, { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }, 60, 22, 43
},
+ { // 800K 3 1/2 inch 80 track double sided double density
+ floppy_image::FF_35, floppy_image::DSQD, floppy_image::MFM,
+ 2000, 5, 80, 2, 1024, {}, -1, { 0,1,2,3,4 }, 60, 22, 43
+ },
{}
};