summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/jvc_dsk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/jvc_dsk.cpp')
-rw-r--r--src/lib/formats/jvc_dsk.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/lib/formats/jvc_dsk.cpp b/src/lib/formats/jvc_dsk.cpp
index 3c230eed3cd..d2e7e503d3b 100644
--- a/src/lib/formats/jvc_dsk.cpp
+++ b/src/lib/formats/jvc_dsk.cpp
@@ -84,16 +84,20 @@ bool jvc_format::parse_header(io_generic *io, int &header_size, int &tracks, int
int os9_total_sectors = pick_integer_be(os9_header, 0x00, 3);
int os9_heads = BIT(os9_header[0x10], 0) ? 2 : 1;
int os9_sectors = pick_integer_be(os9_header, 0x11, 2);
- int os9_tracks = os9_total_sectors / os9_sectors / os9_heads;
- // now let's see if we have valid info
- if ((os9_tracks * os9_heads * os9_sectors * 256) == size)
+ if (os9_total_sectors > 0 && os9_heads > 0 && os9_sectors > 0)
{
- tracks = os9_tracks;
- heads = os9_heads;
- sectors = os9_sectors;
+ int os9_tracks = os9_total_sectors / os9_sectors / os9_heads;
- osd_printf_verbose("OS-9 format disk image detected.\n");
+ // now let's see if we have valid info
+ if ((os9_tracks * os9_heads * os9_sectors * 256) == size)
+ {
+ tracks = os9_tracks;
+ heads = os9_heads;
+ sectors = os9_sectors;
+
+ osd_printf_verbose("OS-9 format disk image detected.\n");
+ }
}
}