From 973aef55743a26cdf6d754e921fde98c74e1434c Mon Sep 17 00:00:00 2001 From: Alyssa Milburn Date: Sat, 17 Dec 2016 17:20:06 +0100 Subject: ADL: Only warn about (and skip) sectors with invalid NIB checksums. --- engines/adl/disk.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'engines/adl/disk.cpp') diff --git a/engines/adl/disk.cpp b/engines/adl/disk.cpp index 0de740eaec..d07e0c540c 100644 --- a/engines/adl/disk.cpp +++ b/engines/adl/disk.cpp @@ -117,8 +117,11 @@ static Common::SeekableReadStream *readImage_NIB(const Common::String &filename) track = read44(buffer, pos); sector = read44(buffer, pos); uint8 checksum = read44(buffer, pos); - if ((volNo ^ track ^ sector) != checksum) - error("invalid NIB checksum"); + if ((volNo ^ track ^ sector) != checksum) { + warning("invalid NIB checksum (volNo %d, track %d, sector %d)", volNo, track, sector); + sawAddress = false; + continue; + } if (!firstGoodTrackPos) firstGoodTrackPos = pos; -- cgit v1.2.3