diff options
author | Alyssa Milburn | 2016-12-17 17:20:06 +0100 |
---|---|---|
committer | Alyssa Milburn | 2016-12-17 17:20:06 +0100 |
commit | 973aef55743a26cdf6d754e921fde98c74e1434c (patch) | |
tree | 401268f397b9c1f04ef44dbf5de17d1cc4745273 /engines | |
parent | 81bf4476cd6237050caf4d6f8a5a1685cb77fa2a (diff) | |
download | scummvm-rg350-973aef55743a26cdf6d754e921fde98c74e1434c.tar.gz scummvm-rg350-973aef55743a26cdf6d754e921fde98c74e1434c.tar.bz2 scummvm-rg350-973aef55743a26cdf6d754e921fde98c74e1434c.zip |
ADL: Only warn about (and skip) sectors with invalid NIB checksums.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/adl/disk.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
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; |