Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package reveng for openSUSE:Factory checked in at 2026-03-11 20:56:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/reveng (Old) and /work/SRC/openSUSE:Factory/.reveng.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "reveng" Wed Mar 11 20:56:12 2026 rev:15 rq:1338249 version:3.0.6 Changes: -------- --- /work/SRC/openSUSE:Factory/reveng/reveng.changes 2024-02-23 16:48:03.225264021 +0100 +++ /work/SRC/openSUSE:Factory/.reveng.new.8177/reveng.changes 2026-03-11 20:58:04.508743053 +0100 @@ -1,0 +2,6 @@ +Wed Mar 4 08:47:07 UTC 2026 - Dirk Müller <[email protected]> + +- update to 3.0.6: + * Added algorithm CRC-64/NVME from the CRC Catalogue + +------------------------------------------------------------------- Old: ---- reveng-3.0.5.tar.xz New: ---- reveng-3.0.6.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ reveng.spec ++++++ --- /var/tmp/diff_new_pack.RBnOY3/_old 2026-03-11 20:58:05.128768588 +0100 +++ /var/tmp/diff_new_pack.RBnOY3/_new 2026-03-11 20:58:05.128768588 +0100 @@ -1,7 +1,7 @@ # # spec file for package reveng # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2017-2022, Martin Hauke <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -18,7 +18,7 @@ Name: reveng -Version: 3.0.5 +Version: 3.0.6 Release: 0 Summary: An arbitrary-precision CRC calculator and algorithm finder License: GPL-3.0-or-later ++++++ reveng-3.0.5.tar.xz -> reveng-3.0.6.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/CHANGES new/reveng-3.0.6/CHANGES --- old/reveng-3.0.5/CHANGES 2022-08-27 11:20:55.000000000 +0200 +++ new/reveng-3.0.6/CHANGES 2024-08-07 22:47:04.000000000 +0200 @@ -1,6 +1,6 @@ CRC RevEng: arbitrary-precision CRC calculator and algorithm finder Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -2019, 2020, 2021, 2022 Gregory Cook +2019, 2020, 2021, 2022, 2024 Gregory Cook This file is part of CRC RevEng. @@ -19,6 +19,10 @@ Revision history of CRC RevEng +3.0.6 7 August 2024 + * Added algorithm CRC-64/NVME from the CRC Catalogue (thanks + to Don MacAskill). + 3.0.5 27 August 2022 * Added alias CRC-16/BLUETOOTH from the CRC Catalogue. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/Makefile new/reveng-3.0.6/Makefile --- old/reveng-3.0.5/Makefile 2022-08-24 23:16:30.000000000 +0200 +++ new/reveng-3.0.6/Makefile 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ #!/usr/bin/make # Makefile -# Greg Cook, 24/Aug/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/Mk.ARMTube new/reveng-3.0.6/Mk.ARMTube --- old/reveng-3.0.5/Mk.ARMTube 2022-01-04 16:00:14.000000000 +0100 +++ new/reveng-3.0.6/Mk.ARMTube 2024-08-07 22:47:04.000000000 +0200 @@ -44,11 +44,11 @@ # Mk/ARMTube -# Greg Cook, 4/Jan/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/Mk.RISCOS new/reveng-3.0.6/Mk.RISCOS --- old/reveng-3.0.5/Mk.RISCOS 2022-01-04 16:00:14.000000000 +0100 +++ new/reveng-3.0.6/Mk.RISCOS 2024-08-07 22:47:04.000000000 +0200 @@ -45,11 +45,11 @@ # Mk/RISCOS -# Greg Cook, 4/Jan/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/Mk.ROSGCC new/reveng-3.0.6/Mk.ROSGCC --- old/reveng-3.0.5/Mk.ROSGCC 2022-08-24 23:16:29.000000000 +0200 +++ new/reveng-3.0.6/Mk.ROSGCC 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ #!/usr/bin/make # Mk/ROSGCC -# Greg Cook, 24/Aug/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/Mk.Win32 new/reveng-3.0.6/Mk.Win32 --- old/reveng-3.0.5/Mk.Win32 2022-08-24 23:16:29.000000000 +0200 +++ new/reveng-3.0.6/Mk.Win32 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ #!/usr/bin/make # Mk.Win32 -# Greg Cook, 24/Aug/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/README new/reveng-3.0.6/README --- old/reveng-3.0.5/README 2022-08-24 23:16:30.000000000 +0200 +++ new/reveng-3.0.6/README 2024-08-07 22:47:04.000000000 +0200 @@ -1,6 +1,6 @@ CRC RevEng: arbitrary-precision CRC calculator and algorithm finder Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -2019, 2020, 2021, 2022 Gregory Cook +2019, 2020, 2021, 2022, 2024 Gregory Cook This file is part of CRC RevEng. @@ -47,7 +47,7 @@ It is a port and expansion of the author's crcbfs.pl script from 2007, and runs up to 200 times faster on equivalent problems. It is also a reference implementation of the author's "Catalogue of parametrised CRC -algorithms", with the 112 currently listed models available as presets. +algorithms", with the 113 currently listed models available as presets. To the author's knowledge CRC RevEng is the first published compiled application to address the general case of CRC algorithm reversal and @@ -751,8 +751,7 @@ detection and correction"). <https://www.lammertbies.nl/forum/viewforum.php?f=11> -Cook, Greg (24 August 2022). "Catalogue of parametrised CRC -algorithms". +Cook, Greg (7 August 2024). "Catalogue of parametrised CRC algorithms". <https://reveng.sourceforge.io/crc-catalogue/> "Dram" (25 December 2021). "Magic tricks with CRC". @@ -793,9 +792,10 @@ Williams, Ross N. (24 September 1996). "A Painless Guide to CRC Error Detection Algorithms V3.00". - <http://www.ross.net/crc/download/crc_v3.txt> - <http://www.wolfgang-ehrhardt.de/crc_v3.html> - <https://www.repairfaq.org/filipg/LINK/F_crc_v3.html> + <https://web.archive.org/web/20190527220400/http:// + www.ross.net/crc/download/crc_v3.txt> + <https://web.archive.org/web/20190523182111/http:// + www.wolfgang-ehrhardt.de/crc_v3.html> INSPIRATION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/RISCOSify new/reveng-3.0.6/RISCOSify --- old/reveng-3.0.5/RISCOSify 2022-01-04 16:11:54.000000000 +0100 +++ new/reveng-3.0.6/RISCOSify 2024-08-07 22:47:04.000000000 +0200 @@ -1,9 +1,9 @@ | RISCOSify -| Greg Cook, 4/Jan/2022 +| Greg Cook, 7/Aug/2024 | CRC RevEng: arbitrary-precision CRC calculator and algorithm finder | Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -| 2019, 2020, 2021, 2022 Gregory Cook +| 2019, 2020, 2021, 2022, 2024 Gregory Cook | | This file is part of CRC RevEng. | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/bin/armtubeos/README new/reveng-3.0.6/bin/armtubeos/README --- old/reveng-3.0.5/bin/armtubeos/README 2022-07-11 16:33:46.000000000 +0200 +++ new/reveng-3.0.6/bin/armtubeos/README 2026-02-11 00:44:58.000000000 +0100 @@ -1,22 +1,25 @@ System requirements of ARM Tube OS binary -Greg Cook, 11 July 2022 +Greg Cook, 10 February 2026 CRC RevEng has been tested on a 16MB SPROW ARM7TDMI Coprocessor running ARM Tube OS version 0.45, with OS 1.20 on the host. Installation on disc is strongly recommended. The following filing systems are known to be compatible:- -- EDOS 1.13 +- EDOS 1.81 - Opus EDOS 0.4, patched by EDOSPAT versions 4.90, 5.66 or 7.06 +- DDOS 3.x8 - Opus DDOS 3.15 or higher with DFSfix installed (see below) +- Challenger 2.20 - Slogger Challenger 1.03 or 2.00 with Chafix installed (see below) - Acorn DFS 1.20/1.21 (part of DNFS 3.00/3.01) with DFSfix installed - Harston ADFS (HADFS) 6.10 running on top of Acorn DFS 1.21 - Acorn DFS 2.26, as supplied with the GoMMC interface (PDFS226.BIN), with DFSfix installed -Although DDOS and Challenger serve RAM discs, the CRC RevEng program -must be loaded from floppy disc on these systems. +Under DDOS 3.x8 and Challenger 2.20 the CRC RevEng program may be run +from floppy disc or RAM disc; earlier ROMs must load a binary of this +size from floppy disc. To load and run the ARM Tube OS binary successfully, the Disc Filing System (DFS) on the host computer must support at least the following: @@ -112,3 +115,9 @@ The assembler program listing for DFSfix and Chafix is included, to allow reassembly to another base address or selection of extended features. Assembly options are documented in the listing. + +DFSfix and Chafix can also be permanently installed as sideways ROM +modules or patched into an Opus DDOS filing system ROM. Sources are +available at: + + http://regregex.bbcmicro.net/#prog.dfsfix Binary files old/reveng-3.0.5/bin/armtubeos/SetAddress and new/reveng-3.0.6/bin/armtubeos/SetAddress differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/bin/armtubeos/chafix.inf new/reveng-3.0.6/bin/armtubeos/chafix.inf --- old/reveng-3.0.5/bin/armtubeos/chafix.inf 2021-12-27 21:18:23.000000000 +0100 +++ new/reveng-3.0.6/bin/armtubeos/chafix.inf 2026-02-11 00:44:58.000000000 +0100 @@ -1 +1 @@ -$.chafix FFFF0B00 FFFF0B00 012E CRC=A02C +$.chafix FFFF0BA1 FFFF0BA1 012E CRC=A02C diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/bin/armtubeos/dfsfix.txt new/reveng-3.0.6/bin/armtubeos/dfsfix.txt --- old/reveng-3.0.5/bin/armtubeos/dfsfix.txt 2021-12-24 20:27:02.000000000 +0100 +++ new/reveng-3.0.6/bin/armtubeos/dfsfix.txt 2023-02-18 02:54:33.000000000 +0100 @@ -1,5 +1,5 @@ *| dfsfix.txt -*| Greg Cook, 24 December 2021 +*| Greg Cook, 18 February 2023 *| *| This assembles a small utility for the BBC Micro computer which *| intercepts filing system calls to Acorn DFS and certain third-party @@ -44,8 +44,8 @@ *| Challenger results in undefined behaviour. *| *| Recommended assembly options: -*| 15A1,R,N,Y,N,N,N,Y,N,Y (DFS and DDOS, 295 bytes) -*| BA1,R,N,Y,N,N,Y,Y,N,Y (Challenger, 302 bytes) +*| 15A1, R,N,Y, N,N,N, Y,N,Y (DFS and DDOS, 295 bytes) +*| BA1, R,N,Y, N,N,Y, Y,N,Y (Challenger, 302 bytes) *| *| Assembly options: *| Address (&1500): & @@ -104,9 +104,9 @@ *| OSARGS 1,Y to clear EOF flag? (Y/N): *| Typing Y adds 19 bytes. *| With Y, calls to OSARGS with A=1, Y>0 explicitly clear the EOF -*| warning flag while setting a file's pointer. Acorn DFS does not -*| require fixing, whereas Opus DDOS and Slogger Challenger mishandle -*| short rewinds. +*| warning flag while setting a file's pointer. This fix is +*| unnecessary for Acorn DFS which clears the flag itself, whereas +*| Opus DDOS and Slogger Challenger fail to do so on short rewinds. *| Though Y ensures conformance to the RISC OS API, ANSIlib-based and *| most other programs will get by on option N. *| Binary files old/reveng-3.0.5/bin/armtubeos/reveng and new/reveng-3.0.6/bin/armtubeos/reveng differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/bin/armtubeos/reveng.inf new/reveng-3.0.6/bin/armtubeos/reveng.inf --- old/reveng-3.0.5/bin/armtubeos/reveng.inf 2022-08-27 11:28:01.000000000 +0200 +++ new/reveng-3.0.6/bin/armtubeos/reveng.inf 2024-08-08 00:27:59.000000000 +0200 @@ -1 +1 @@ -$.reveng 8000 8000 10DAF CRC=5D67 +$.reveng 8000 8000 10E1F CRC=0CB7 Binary files old/reveng-3.0.5/bin/i386-linux/reveng and new/reveng-3.0.6/bin/i386-linux/reveng differ Binary files old/reveng-3.0.5/bin/raspbian/reveng and new/reveng-3.0.6/bin/raspbian/reveng differ Binary files old/reveng-3.0.5/bin/riscos/reveng and new/reveng-3.0.6/bin/riscos/reveng differ Binary files old/reveng-3.0.5/bin/win32/reveng.exe and new/reveng-3.0.6/bin/win32/reveng.exe differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/bmpbit.c new/reveng-3.0.6/bmpbit.c --- old/reveng-3.0.5/bmpbit.c 2022-01-04 16:00:14.000000000 +0100 +++ new/reveng-3.0.6/bmpbit.c 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* bmpbit.c - * Greg Cook, 4/Jan/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/cli.c new/reveng-3.0.6/cli.c --- old/reveng-3.0.5/cli.c 2022-01-12 18:34:38.000000000 +0100 +++ new/reveng-3.0.6/cli.c 2024-08-08 00:19:32.000000000 +0200 @@ -1,10 +1,10 @@ /* cli.c - * Greg Cook, 12/Jan/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * @@ -669,8 +669,8 @@ "\t-s search for algorithm\t\t-v calculate reversed CRCs\n" "\t-h | -u | -? show this help\n" "\n" - "Copyright (C) 2010, 2011, 2012, 2013, 2014,\n" - "\t 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Gregory Cook\n" + "Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015,\n" + "\t 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2024 Gregory Cook\n" "This is free software; see the source for copying conditions. There is NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" "Version " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/config.h new/reveng-3.0.6/config.h --- old/reveng-3.0.5/config.h 2022-01-04 16:00:14.000000000 +0100 +++ new/reveng-3.0.6/config.h 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* config.h - * Greg Cook, 4/Jan/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/contrib/Makefile new/reveng-3.0.6/contrib/Makefile --- old/reveng-3.0.5/contrib/Makefile 2022-08-24 23:18:22.000000000 +0200 +++ new/reveng-3.0.6/contrib/Makefile 2024-08-08 01:21:17.000000000 +0200 @@ -1,10 +1,10 @@ #!/usr/bin/make # contrib/Makefile -# Greg Cook, 24/Aug/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/model.c new/reveng-3.0.6/model.c --- old/reveng-3.0.5/model.c 2022-01-04 16:00:14.000000000 +0100 +++ new/reveng-3.0.6/model.c 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* model.c - * Greg Cook, 4/Jan/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/poly.c new/reveng-3.0.6/poly.c --- old/reveng-3.0.5/poly.c 2022-01-04 16:00:14.000000000 +0100 +++ new/reveng-3.0.6/poly.c 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* poly.c - * Greg Cook, 4/Jan/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/preset.c new/reveng-3.0.6/preset.c --- old/reveng-3.0.5/preset.c 2022-08-27 11:20:55.000000000 +0200 +++ new/reveng-3.0.6/preset.c 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* preset.c - * Greg Cook, 27/Aug/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * @@ -22,7 +22,8 @@ * along with CRC RevEng. If not, see <https://www.gnu.org/licenses/>. */ -/* 2022-08-27: added alias CRC-16/BLUETOOTH +/* 2024-08-07: added CRC-64/NVME; CRC-5/USB, CRC-16/USB confirmed + * 2022-08-27: added alias CRC-16/BLUETOOTH * 2022-08-24: added CRC=64/REDIS * 2022-05-08: added CRC-16/M17 * 2022-01-11: added CRC-32/MEF, CRC-64/MS @@ -125,6 +126,9 @@ /* CONSTANT b64k = (64, 0x49958c9abd7d353f) */ /* CONSTANT b64l = (64, 0xad93d23594c935a9) */ /* CONSTANT b64m = (64, 0xe9c6d914c4b8d9ca) */ +/* CONSTANT b64n = (64, 0xad93d23594c93659) */ +/* CONSTANT b64o = (64, 0xae8b14860a799888) */ +/* CONSTANT b64p = (64, 0xf310303b2b6f6e42) */ /* CONSTANT b82 = (82, 0x0308c0111011401440411) */ /* CONSTANT b82a = (82, 0x09ea83f625023801fd612) */ @@ -207,6 +211,15 @@ static const bmp_t b64m[] = { BMP_C(0xe9c6d914c4b8d9ca) << (BMP_BIT - 64), }; +static const bmp_t b64n[] = { + BMP_C(0xad93d23594c93659) << (BMP_BIT - 64), +}; +static const bmp_t b64o[] = { + BMP_C(0xae8b14860a799888) << (BMP_BIT - 64), +}; +static const bmp_t b64p[] = { + BMP_C(0xf310303b2b6f6e42) << (BMP_BIT - 64), +}; # else /* BMP_BIT */ static const bmp_t b64[] = { BMP_C(0x00000000) << (BMP_BIT - 32) | BMP_C(0x0000000d) >> (63 - BMP_BIT), @@ -264,6 +277,18 @@ BMP_C(0xe9c6d914) << (BMP_BIT - 32) | BMP_C(0x625c6ce5) >> (63 - BMP_BIT), BMP_C(0xc4b8d9ca) << (BMP_BIT * 2 - 64), }; +static const bmp_t b64n[] = { + BMP_C(0xad93d235) << (BMP_BIT - 32) | BMP_C(0x4a649b2c) >> (63 - BMP_BIT), + BMP_C(0x94c93659) << (BMP_BIT * 2 - 64), +}; +static const bmp_t b64o[] = { + BMP_C(0xae8b1486) << (BMP_BIT - 32) | BMP_C(0x053ccc44) >> (63 - BMP_BIT), + BMP_C(0x0a799888) << (BMP_BIT * 2 - 64), +}; +static const bmp_t b64p[] = { + BMP_C(0xf310303b) << (BMP_BIT - 32) | BMP_C(0x15b7b721) >> (63 - BMP_BIT), + BMP_C(0x2b6f6e42) << (BMP_BIT * 2 - 64), +}; # endif /* BMP_BIT */ # if BMP_BIT >= 82 @@ -524,9 +549,9 @@ * Sorted by left-justified polynomial for bsearch(). */ static const struct mpreset models[] = { - {64UL, b64, b64a, P_LE | P_CONFIR, b64a, b64b, b64c, aliases+134}, /* 0 */ - {32UL, b32+ 0, 0, P_BE | P_CONFIR, 0, b32+153, 0, aliases+111}, /* 1 */ - {40UL, b40, 0, P_BE | P_ACADEM, b40a, b40b, b40c, aliases+119}, /* 2 */ + {64UL, b64, b64a, P_LE | P_CONFIR, b64a, b64b, b64c, aliases+135}, /* 0 */ + {32UL, b32+ 0, 0, P_BE | P_CONFIR, 0, b32+153, 0, aliases+112}, /* 1 */ + {40UL, b40, 0, P_BE | P_ACADEM, b40a, b40b, b40c, aliases+120}, /* 2 */ {24UL, b32+ 3, b32+ 76, P_LE | P_ATTEST, 0, b32+158, 0, aliases+ 79}, /* 3 */ {32UL, b32+ 8, 0, P_BE | P_ATTEST, b32+215, b32+ 94, b32+164, aliases+101}, /* 4 */ {32UL, b32+ 8, b32+215, P_BE | P_ATTEST, 0, b32+ 7, 0, aliases+108}, /* 5 */ @@ -535,13 +560,13 @@ {32UL, b32+ 8, b32+215, P_LE | P_ATTEST, b32+215, b32+167, b32+181, aliases+105}, /* 8 */ {16UL, b32+ 9, 0, P_BE | P_ATTEST, 0, b32+ 5, 0, aliases+ 37}, /* 9 */ {16UL, b32+ 9, 0, P_BE | P_ATTEST, b32+ 1, b32+ 4, b32+ 9, aliases+ 36}, /* 10 */ - { 8UL, b32+ 10, 0, P_BE | P_ATTEST, 0, b32+195, 0, aliases+165}, /* 11 */ - { 8UL, b32+ 10, 0, P_BE | P_ACADEM, b32+ 75, b32+130, b32+138, aliases+154}, /* 12 */ - { 8UL, b32+ 10, b32+207, P_LE | P_ACADEM, 0, b32+170, 0, aliases+163}, /* 13 */ + { 8UL, b32+ 10, 0, P_BE | P_ATTEST, 0, b32+195, 0, aliases+167}, /* 11 */ + { 8UL, b32+ 10, 0, P_BE | P_ACADEM, b32+ 75, b32+130, b32+138, aliases+156}, /* 12 */ + { 8UL, b32+ 10, b32+207, P_LE | P_ACADEM, 0, b32+170, 0, aliases+165}, /* 13 */ {16UL, b32+ 11, b32+211, P_LE | P_ATTEST, 0, b32+128, 0, aliases+ 60}, /* 14 */ {31UL, b32+ 12, b32+214, P_BE | P_CONFIR, b32+214, b32+ 26, b32+125, aliases+ 90}, /* 15 */ - { 6UL, b32+ 14, 0, P_LE | P_ACADEM, 0, b32+ 25, 0, aliases+128}, /* 16 */ - {82UL, b82, 0, P_LE | P_ATTEST, 0, b82a, 0, aliases+168}, /* 17 */ + { 6UL, b32+ 14, 0, P_LE | P_ACADEM, 0, b32+ 25, 0, aliases+129}, /* 16 */ + {82UL, b82, 0, P_LE | P_ATTEST, 0, b82a, 0, aliases+170}, /* 17 */ {16UL, b32+ 18, 0, P_BE | P_ATTEST, 0, b32+ 53, 0, aliases+ 75}, /* 18 */ {16UL, b32+ 18, 0, P_BE | P_ATTEST, b32+211, b32+169, b32+ 29, aliases+ 43}, /* 19 */ {16UL, b32+ 18, 0, P_LE | P_ATTEST, 0, b32+ 38, 0, aliases+ 51}, /* 20 */ @@ -553,34 +578,34 @@ {16UL, b32+ 18, b32+211, P_BE | P_ATTEST, b32+211, b32+178, b32+ 29, aliases+ 42}, /* 26 */ {16UL, b32+ 18, b32+211, P_LE | P_ATTEST, 0, b32+ 89, 0, aliases+ 58}, /* 27 */ {16UL, b32+ 18, b32+211, P_LE | P_ATTEST, b32+211, b32+118, b32+193, aliases+ 46}, /* 28 */ - { 7UL, b32+ 19, 0, P_BE | P_ACADEM, 0, b32+189, 0, aliases+140}, /* 29 */ - { 6UL, b32+ 27, b32+201, P_BE | P_ACADEM, 0, b32+191, 0, aliases+126}, /* 30 */ - { 8UL, b32+ 28, 0, P_BE | P_ACADEM, 0, b32+ 57, 0, aliases+151}, /* 31 */ - { 8UL, b32+ 28, b32+163, P_BE | P_ATTEST, 0, b32+122, 0, aliases+160}, /* 32 */ - { 8UL, b32+ 28, b32+203, P_BE | P_ATTEST, 0, b32+ 98, 0, aliases+155}, /* 33 */ - { 8UL, b32+ 28, b32+207, P_BE | P_ATTEST, 0, b32+144, 0, aliases+153}, /* 34 */ - { 8UL, b32+ 28, b32+207, P_BE | P_ATTEST, b32+207, b32+ 70, b32+161, aliases+164}, /* 35 */ - { 8UL, b32+ 28, b32+207, P_LE | P_ATTEST, 0, b32+120, 0, aliases+166}, /* 36 */ + { 7UL, b32+ 19, 0, P_BE | P_ACADEM, 0, b32+189, 0, aliases+142}, /* 29 */ + { 6UL, b32+ 27, b32+201, P_BE | P_ACADEM, 0, b32+191, 0, aliases+127}, /* 30 */ + { 8UL, b32+ 28, 0, P_BE | P_ACADEM, 0, b32+ 57, 0, aliases+153}, /* 31 */ + { 8UL, b32+ 28, b32+163, P_BE | P_ATTEST, 0, b32+122, 0, aliases+162}, /* 32 */ + { 8UL, b32+ 28, b32+203, P_BE | P_ATTEST, 0, b32+ 98, 0, aliases+157}, /* 33 */ + { 8UL, b32+ 28, b32+207, P_BE | P_ATTEST, 0, b32+144, 0, aliases+155}, /* 34 */ + { 8UL, b32+ 28, b32+207, P_BE | P_ATTEST, b32+207, b32+ 70, b32+161, aliases+166}, /* 35 */ + { 8UL, b32+ 28, b32+207, P_LE | P_ATTEST, 0, b32+120, 0, aliases+168}, /* 36 */ {16UL, b32+ 30, b32+211, P_BE | P_ATTEST, b32+211, b32+135, b32+185, aliases+ 63}, /* 37 */ {32UL, b32+ 31, b32+215, P_LE | P_ATTEST, b32+215, b32+184, b32+150, aliases+104}, /* 38 */ {14UL, b32+ 35, 0, P_LE | P_ATTEST, 0, b32+ 36, 0, aliases+ 17}, /* 39 */ - {64UL, b64d, b64a, P_LE | P_ATTEST, 0, b64e, 0, aliases+135}, /* 40 */ - { 5UL, b32+ 46, b32+200, P_LE | P_THIRDP, b32+200, b32+165, b32+ 49, aliases+124}, /* 41 */ - { 8UL, b32+ 48, 0, P_BE | P_ATTEST, 0, b32+ 61, 0, aliases+162}, /* 42 */ - { 8UL, b32+ 48, b32+207, P_BE | P_ATTEST, b32+207, b32+182, b32+ 63, aliases+145}, /* 43 */ - { 4UL, b32+ 49, 0, P_LE | P_ACADEM, 0, b32+ 90, 0, aliases+116}, /* 44 */ - { 4UL, b32+ 49, b32+192, P_BE | P_ACADEM, b32+192, b32+140, b32+ 33, aliases+117}, /* 45 */ - { 8UL, b32+ 51, 0, P_LE | P_ATTEST, 0, b32+130, 0, aliases+159}, /* 46 */ - { 8UL, b32+ 51, b32+207, P_BE | P_ATTEST, 0, b32+199, 0, aliases+161}, /* 47 */ + {64UL, b64d, b64a, P_LE | P_ATTEST, 0, b64e, 0, aliases+136}, /* 40 */ + { 5UL, b32+ 46, b32+200, P_LE | P_CONFIR, b32+200, b32+165, b32+ 49, aliases+125}, /* 41 */ + { 8UL, b32+ 48, 0, P_BE | P_ATTEST, 0, b32+ 61, 0, aliases+164}, /* 42 */ + { 8UL, b32+ 48, b32+207, P_BE | P_ATTEST, b32+207, b32+182, b32+ 63, aliases+147}, /* 43 */ + { 4UL, b32+ 49, 0, P_LE | P_ACADEM, 0, b32+ 90, 0, aliases+117}, /* 44 */ + { 4UL, b32+ 49, b32+192, P_BE | P_ACADEM, b32+192, b32+140, b32+ 33, aliases+118}, /* 45 */ + { 8UL, b32+ 51, 0, P_LE | P_ATTEST, 0, b32+130, 0, aliases+161}, /* 46 */ + { 8UL, b32+ 51, b32+207, P_BE | P_ATTEST, 0, b32+199, 0, aliases+163}, /* 47 */ {24UL, b32+ 54, b32+212, P_BE | P_ACADEM, b32+212, b32+148, b32+ 21, aliases+ 82}, /* 48 */ - { 8UL, b32+ 59, 0, P_LE | P_ATTEST, 0, b32+ 22, 0, aliases+148}, /* 49 */ + { 8UL, b32+ 59, 0, P_LE | P_ATTEST, 0, b32+ 22, 0, aliases+150}, /* 49 */ {16UL, b32+ 60, 0, P_BE | P_CONFIR, b32+211, b32+159, b32+131, aliases+ 39}, /* 50 */ {16UL, b32+ 60, 0, P_LE | P_CONFIR, b32+211, b32+190, b32+ 86, aliases+ 38}, /* 51 */ - {64UL, b64f, 0, P_BE | P_ACADEM, 0, b64g, 0, aliases+132}, /* 52 */ - {64UL, b64f, b64a, P_BE | P_CONFIR, b64a, b64h, b64i, aliases+137}, /* 53 */ - {64UL, b64f, b64a, P_LE | P_ATTEST, b64a, b64j, b64k, aliases+138}, /* 54 */ - { 5UL, b32+ 66, b32+ 66, P_BE | P_ATTEST, 0, 0, 0, aliases+121}, /* 55 */ - { 8UL, b32+ 67, 0, P_BE | P_ACADEM, b32+207, b32+119, b32+ 74, aliases+152}, /* 56 */ + {64UL, b64f, 0, P_BE | P_ACADEM, 0, b64g, 0, aliases+133}, /* 52 */ + {64UL, b64f, b64a, P_BE | P_CONFIR, b64a, b64h, b64i, aliases+139}, /* 53 */ + {64UL, b64f, b64a, P_LE | P_ATTEST, b64a, b64j, b64k, aliases+140}, /* 54 */ + { 5UL, b32+ 66, b32+ 66, P_BE | P_ATTEST, 0, 0, 0, aliases+122}, /* 55 */ + { 8UL, b32+ 67, 0, P_BE | P_ACADEM, b32+207, b32+119, b32+ 74, aliases+154}, /* 56 */ {16UL, b32+ 77, 0, P_BE | P_ATTEST, 0, b32+ 78, 0, aliases+ 61}, /* 57 */ {16UL, b32+ 77, b32+211, P_BE | P_ATTEST, 0, b32+ 96, 0, aliases+ 55}, /* 58 */ {10UL, b32+ 79, 0, P_BE | P_ACADEM, b32+208, b32+ 68, b32+ 52, aliases+ 6}, /* 59 */ @@ -589,7 +614,7 @@ { 3UL, b32+ 81, 0, P_BE | P_ACADEM, b32+183, b32+ 99, b32+ 62, aliases+ 87}, /* 62 */ { 3UL, b32+ 81, b32+183, P_LE | P_ACADEM, 0, b32+156, 0, aliases+ 88}, /* 63 */ {11UL, b32+ 82, 0, P_BE | P_ACADEM, 0, b32+ 15, 0, aliases+ 10}, /* 64 */ - { 6UL, b32+ 84, 0, P_LE | P_ATTEST, 0, b32+121, 0, aliases+127}, /* 65 */ + { 6UL, b32+ 84, 0, P_LE | P_ATTEST, 0, b32+121, 0, aliases+128}, /* 65 */ {16UL, b32+ 88, 0, P_BE | P_THIRDP, 0, b32+154, 0, aliases+ 53}, /* 66 */ {11UL, b32+ 91, b32+ 6, P_BE | P_ATTEST, 0, b32+146, 0, aliases+ 9}, /* 67 */ {32UL, b32+ 92, b32+215, P_LE | P_ATTEST, 0, b32+173, 0, aliases+107}, /* 68 */ @@ -603,7 +628,7 @@ {16UL, b32+102, b32+103, P_BE | P_ATTEST, 0, b32+127, 0, aliases+ 35}, /* 76 */ {16UL, b32+102, b32+211, P_BE | P_THIRDP, 0, b32+139, 0, aliases+ 33}, /* 77 */ {16UL, b32+102, b32+211, P_LE | P_ATTEST, 0, b32+ 71, 0, aliases+ 59}, /* 78 */ - {16UL, b32+102, b32+211, P_LE | P_THIRDP, b32+211, b32+147, b32+141, aliases+ 70}, /* 79 */ + {16UL, b32+102, b32+211, P_LE | P_CONFIR, b32+211, b32+147, b32+141, aliases+ 70}, /* 79 */ {14UL, b32+105, 0, P_BE | P_ACADEM, b32+210, b32+160, b32+ 16, aliases+ 18}, /* 80 */ {30UL, b32+106, b32+213, P_BE | P_ACADEM, b32+213, b32+ 20, b32+175, aliases+ 89}, /* 81 */ {12UL, b32+107, 0, P_BE | P_ACADEM, 0, b32+197, 0, aliases+ 13}, /* 82 */ @@ -612,33 +637,34 @@ {21UL, b32+109, 0, P_BE | P_ACADEM, 0, b32+ 95, 0, aliases+ 77}, /* 85 */ {24UL, b32+110, 0, P_BE | P_ACADEM, 0, b32+168, 0, aliases+ 83}, /* 86 */ {24UL, b32+110, b32+149, P_BE | P_ATTEST, 0, b32+ 39, 0, aliases+ 85}, /* 87 */ - { 7UL, b32+113, 0, P_BE | P_ACADEM, 0, b32+157, 0, aliases+142}, /* 88 */ + { 7UL, b32+113, 0, P_BE | P_ACADEM, 0, b32+157, 0, aliases+144}, /* 88 */ {15UL, b32+114, 0, P_BE | P_ACADEM, 0, b32+ 13, 0, aliases+ 20}, /* 89 */ {16UL, b32+115, 0, P_BE | P_ATTEST, 0, b32+172, 0, aliases+ 66}, /* 90 */ {10UL, b32+116, 0, P_BE | P_ATTEST, 0, b32+ 85, 0, aliases+ 4}, /* 91 */ - { 8UL, b32+123, 0, P_BE | P_ACADEM, 0, b32+189, 0, aliases+157}, /* 92 */ - { 8UL, b32+123, 0, P_LE | P_THIRDP, 0, b32+ 41, 0, aliases+167}, /* 93 */ - { 8UL, b32+123, b32+207, P_BE | P_ACADEM, 0, b32+179, 0, aliases+147}, /* 94 */ - { 6UL, b32+124, b32+201, P_BE | P_ATTEST, 0, b32+ 55, 0, aliases+125}, /* 95 */ - { 7UL, b32+126, b32+204, P_LE | P_ACADEM, 0, b32+132, 0, aliases+141}, /* 96 */ + { 8UL, b32+123, 0, P_BE | P_ACADEM, 0, b32+189, 0, aliases+159}, /* 92 */ + { 8UL, b32+123, 0, P_LE | P_THIRDP, 0, b32+ 41, 0, aliases+169}, /* 93 */ + { 8UL, b32+123, b32+207, P_BE | P_ACADEM, 0, b32+179, 0, aliases+149}, /* 94 */ + { 6UL, b32+124, b32+201, P_BE | P_ATTEST, 0, b32+ 55, 0, aliases+126}, /* 95 */ + { 7UL, b32+126, b32+204, P_LE | P_ACADEM, 0, b32+132, 0, aliases+143}, /* 96 */ {16UL, b32+129, 0, P_BE | P_CONFIR, 0, b32+ 17, 0, aliases+ 67}, /* 97 */ - { 8UL, b32+133, 0, P_LE | P_ATTEST, 0, b32+ 42, 0, aliases+146}, /* 98 */ - { 5UL, b32+134, 0, P_LE | P_ACADEM, 0, b32+ 58, 0, aliases+122}, /* 99 */ + { 8UL, b32+133, 0, P_LE | P_ATTEST, 0, b32+ 42, 0, aliases+148}, /* 98 */ + { 5UL, b32+134, 0, P_LE | P_ACADEM, 0, b32+ 58, 0, aliases+123}, /* 99 */ {32UL, b32+136, b32+215, P_LE | P_CONFIR, b32+215, b32+111, b32+ 65, aliases+ 97}, /* 100 */ - {64UL, b64l, 0, P_LE | P_ACADEM, 0, b64m, 0, aliases+136}, /* 101 */ - {17UL, b32+145, 0, P_BE | P_ACADEM, 0, b32+ 44, 0, aliases+ 76}, /* 102 */ - { 6UL, b32+152, 0, P_BE | P_ACADEM, b32+201, b32+ 72, b32+188, aliases+129}, /* 103 */ - {16UL, b32+166, b32+211, P_BE | P_ACADEM, 0, b32+ 73, 0, aliases+ 32}, /* 104 */ - {15UL, b32+171, 0, P_BE | P_ATTEST, b32+ 2, b32+ 69, b32+171, aliases+ 21}, /* 105 */ - {12UL, b32+174, 0, P_BE | P_ACADEM, b32+209, b32+143, b32+ 24, aliases+ 14}, /* 106 */ - { 8UL, b32+177, 0, P_BE | P_ACADEM, 0, b32+152, 0, aliases+149}, /* 107 */ - {13UL, b32+187, 0, P_BE | P_ATTEST, 0, b32+ 45, 0, aliases+ 16}, /* 108 */ - {12UL, b32+194, b32+209, P_BE | P_ACADEM, 0, b32+176, 0, aliases+ 12}, /* 109 */ - {32UL, b32+196, b32+215, P_LE | P_ATTEST, b32+215, b32+ 23, b32+117, aliases+ 95}, /* 110 */ - {10UL, b32+198, b32+208, P_BE | P_ACADEM, 0, b32+116, 0, aliases+ 5}, /* 111 */ + {64UL, b64l, 0, P_LE | P_ACADEM, 0, b64m, 0, aliases+138}, /* 101 */ + {64UL, b64n, b64a, P_LE | P_ATTEST, b64a, b64o, b64p, aliases+137}, /* 102 */ + {17UL, b32+145, 0, P_BE | P_ACADEM, 0, b32+ 44, 0, aliases+ 76}, /* 103 */ + { 6UL, b32+152, 0, P_BE | P_ACADEM, b32+201, b32+ 72, b32+188, aliases+130}, /* 104 */ + {16UL, b32+166, b32+211, P_BE | P_ACADEM, 0, b32+ 73, 0, aliases+ 32}, /* 105 */ + {15UL, b32+171, 0, P_BE | P_ATTEST, b32+ 2, b32+ 69, b32+171, aliases+ 21}, /* 106 */ + {12UL, b32+174, 0, P_BE | P_ACADEM, b32+209, b32+143, b32+ 24, aliases+ 14}, /* 107 */ + { 8UL, b32+177, 0, P_BE | P_ACADEM, 0, b32+152, 0, aliases+151}, /* 108 */ + {13UL, b32+187, 0, P_BE | P_ATTEST, 0, b32+ 45, 0, aliases+ 16}, /* 109 */ + {12UL, b32+194, b32+209, P_BE | P_ACADEM, 0, b32+176, 0, aliases+ 12}, /* 110 */ + {32UL, b32+196, b32+215, P_LE | P_ATTEST, b32+215, b32+ 23, b32+117, aliases+ 95}, /* 111 */ + {10UL, b32+198, b32+208, P_BE | P_ACADEM, 0, b32+116, 0, aliases+ 5}, /* 112 */ { 0UL, 0, 0, P_BE | P_UNDFCL, 0, 0, 0, NULL }, /* terminating entry */ }; -# define NPRESETS 112 +# define NPRESETS 113 /* List of names with pointers to models, pre-sorted for use with bsearch() */ static const struct malias aliases[] = { @@ -647,23 +673,23 @@ {"CKSUM", models+ 4}, /* 2 */ {"CRC-10", models+ 91}, /* 3 */ {"CRC-10/ATM", models+ 91}, /* 4 */ - {"CRC-10/CDMA2000", models+111}, /* 5 */ + {"CRC-10/CDMA2000", models+112}, /* 5 */ {"CRC-10/GSM", models+ 59}, /* 6 */ {"CRC-10/I-610", models+ 91}, /* 7 */ {"CRC-11", models+ 67}, /* 8 */ {"CRC-11/FLEXRAY", models+ 67}, /* 9 */ {"CRC-11/UMTS", models+ 64}, /* 10 */ {"CRC-12/3GPP", models+ 83}, /* 11 */ - {"CRC-12/CDMA2000", models+109}, /* 12 */ + {"CRC-12/CDMA2000", models+110}, /* 12 */ {"CRC-12/DECT", models+ 82}, /* 13 */ - {"CRC-12/GSM", models+106}, /* 14 */ + {"CRC-12/GSM", models+107}, /* 14 */ {"CRC-12/UMTS", models+ 83}, /* 15 */ - {"CRC-13/BBC", models+108}, /* 16 */ + {"CRC-13/BBC", models+109}, /* 16 */ {"CRC-14/DARC", models+ 39}, /* 17 */ {"CRC-14/GSM", models+ 80}, /* 18 */ {"CRC-15", models+ 89}, /* 19 */ {"CRC-15/CAN", models+ 89}, /* 20 */ - {"CRC-15/MPT1327", models+105}, /* 21 */ + {"CRC-15/MPT1327", models+106}, /* 21 */ {"CRC-16", models+ 74}, /* 22 */ {"CRC-16/ACORN", models+ 18}, /* 23 */ {"CRC-16/ARC", models+ 74}, /* 24 */ @@ -674,7 +700,7 @@ {"CRC-16/CCITT", models+ 20}, /* 29 */ {"CRC-16/CCITT-FALSE", models+ 25}, /* 30 */ {"CRC-16/CCITT-TRUE", models+ 20}, /* 31 */ - {"CRC-16/CDMA2000", models+104}, /* 32 */ + {"CRC-16/CDMA2000", models+105}, /* 32 */ {"CRC-16/CMS", models+ 77}, /* 33 */ {"CRC-16/DARC", models+ 26}, /* 34 */ {"CRC-16/DDS-110", models+ 76}, /* 35 */ @@ -718,7 +744,7 @@ {"CRC-16/VERIFONE", models+ 73}, /* 73 */ {"CRC-16/X-25", models+ 28}, /* 74 */ {"CRC-16/XMODEM", models+ 18}, /* 75 */ - {"CRC-17/CAN-FD", models+102}, /* 76 */ + {"CRC-17/CAN-FD", models+103}, /* 76 */ {"CRC-21/CAN-FD", models+ 85}, /* 77 */ {"CRC-24", models+ 87}, /* 78 */ {"CRC-24/BLE", models+ 3}, /* 79 */ @@ -737,7 +763,7 @@ {"CRC-32/AAL5", models+ 6}, /* 92 */ {"CRC-32/ADCCP", models+ 8}, /* 93 */ {"CRC-32/AIXM", models+ 84}, /* 94 */ - {"CRC-32/AUTOSAR", models+110}, /* 95 */ + {"CRC-32/AUTOSAR", models+111}, /* 95 */ {"CRC-32/BASE91-C", models+ 38}, /* 96 */ {"CRC-32/BASE91-D", models+100}, /* 97 */ {"CRC-32/BZIP2", models+ 6}, /* 98 */ @@ -751,85 +777,87 @@ {"CRC-32/JAMCRC", models+ 7}, /* 106 */ {"CRC-32/MEF", models+ 68}, /* 107 */ {"CRC-32/MPEG-2", models+ 5}, /* 108 */ - {"CRC-32/POSIX", models+ 4}, /* 109 */ - {"CRC-32/V-42", models+ 8}, /* 110 */ - {"CRC-32/XFER", models+ 1}, /* 111 */ - {"CRC-32/XZ", models+ 8}, /* 112 */ - {"CRC-32C", models+ 38}, /* 113 */ - {"CRC-32D", models+100}, /* 114 */ - {"CRC-32Q", models+ 84}, /* 115 */ - {"CRC-4/G-704", models+ 44}, /* 116 */ - {"CRC-4/INTERLAKEN", models+ 45}, /* 117 */ - {"CRC-4/ITU", models+ 44}, /* 118 */ - {"CRC-40/GSM", models+ 2}, /* 119 */ - {"CRC-5/EPC", models+ 55}, /* 120 */ - {"CRC-5/EPC-C1G2", models+ 55}, /* 121 */ - {"CRC-5/G-704", models+ 99}, /* 122 */ - {"CRC-5/ITU", models+ 99}, /* 123 */ - {"CRC-5/USB", models+ 41}, /* 124 */ - {"CRC-6/CDMA2000-A", models+ 95}, /* 125 */ - {"CRC-6/CDMA2000-B", models+ 30}, /* 126 */ - {"CRC-6/DARC", models+ 65}, /* 127 */ - {"CRC-6/G-704", models+ 16}, /* 128 */ - {"CRC-6/GSM", models+103}, /* 129 */ - {"CRC-6/ITU", models+ 16}, /* 130 */ - {"CRC-64", models+ 52}, /* 131 */ - {"CRC-64/ECMA-182", models+ 52}, /* 132 */ - {"CRC-64/GO-ECMA", models+ 54}, /* 133 */ - {"CRC-64/GO-ISO", models+ 0}, /* 134 */ - {"CRC-64/MS", models+ 40}, /* 135 */ - {"CRC-64/REDIS", models+101}, /* 136 */ - {"CRC-64/WE", models+ 53}, /* 137 */ - {"CRC-64/XZ", models+ 54}, /* 138 */ - {"CRC-7", models+ 29}, /* 139 */ - {"CRC-7/MMC", models+ 29}, /* 140 */ - {"CRC-7/ROHC", models+ 96}, /* 141 */ - {"CRC-7/UMTS", models+ 88}, /* 142 */ - {"CRC-8", models+ 11}, /* 143 */ - {"CRC-8/AES", models+ 36}, /* 144 */ - {"CRC-8/AUTOSAR", models+ 43}, /* 145 */ - {"CRC-8/BLUETOOTH", models+ 98}, /* 146 */ - {"CRC-8/CDMA2000", models+ 94}, /* 147 */ - {"CRC-8/DARC", models+ 49}, /* 148 */ - {"CRC-8/DVB-S2", models+107}, /* 149 */ - {"CRC-8/EBU", models+ 36}, /* 150 */ - {"CRC-8/GSM-A", models+ 31}, /* 151 */ - {"CRC-8/GSM-B", models+ 56}, /* 152 */ - {"CRC-8/HITAG", models+ 34}, /* 153 */ - {"CRC-8/I-432-1", models+ 12}, /* 154 */ - {"CRC-8/I-CODE", models+ 33}, /* 155 */ - {"CRC-8/ITU", models+ 12}, /* 156 */ - {"CRC-8/LTE", models+ 92}, /* 157 */ - {"CRC-8/MAXIM", models+ 46}, /* 158 */ - {"CRC-8/MAXIM-DOW", models+ 46}, /* 159 */ - {"CRC-8/MIFARE-MAD", models+ 32}, /* 160 */ - {"CRC-8/NRSC-5", models+ 47}, /* 161 */ - {"CRC-8/OPENSAFETY", models+ 42}, /* 162 */ - {"CRC-8/ROHC", models+ 13}, /* 163 */ - {"CRC-8/SAE-J1850", models+ 35}, /* 164 */ - {"CRC-8/SMBUS", models+ 11}, /* 165 */ - {"CRC-8/TECH-3250", models+ 36}, /* 166 */ - {"CRC-8/WCDMA", models+ 93}, /* 167 */ - {"CRC-82/DARC", models+ 17}, /* 168 */ - {"CRC-A", models+ 24}, /* 169 */ - {"CRC-B", models+ 28}, /* 170 */ - {"CRC-CCITT", models+ 20}, /* 171 */ - {"CRC-IBM", models+ 74}, /* 172 */ - {"DOW-CRC", models+ 46}, /* 173 */ - {"JAMCRC", models+ 7}, /* 174 */ - {"KERMIT", models+ 20}, /* 175 */ - {"MODBUS", models+ 78}, /* 176 */ - {"PKZIP", models+ 8}, /* 177 */ - {"R-CRC-16", models+ 10}, /* 178 */ - {"X-25", models+ 28}, /* 179 */ - {"X-CRC-12", models+ 82}, /* 180 */ - {"X-CRC-16", models+ 9}, /* 181 */ - {"XFER", models+ 1}, /* 182 */ - {"XMODEM", models+ 18}, /* 183 */ - {"ZMODEM", models+ 18}, /* 184 */ + {"CRC-32/NVME", models+ 38}, /* 109 */ + {"CRC-32/POSIX", models+ 4}, /* 110 */ + {"CRC-32/V-42", models+ 8}, /* 111 */ + {"CRC-32/XFER", models+ 1}, /* 112 */ + {"CRC-32/XZ", models+ 8}, /* 113 */ + {"CRC-32C", models+ 38}, /* 114 */ + {"CRC-32D", models+100}, /* 115 */ + {"CRC-32Q", models+ 84}, /* 116 */ + {"CRC-4/G-704", models+ 44}, /* 117 */ + {"CRC-4/INTERLAKEN", models+ 45}, /* 118 */ + {"CRC-4/ITU", models+ 44}, /* 119 */ + {"CRC-40/GSM", models+ 2}, /* 120 */ + {"CRC-5/EPC", models+ 55}, /* 121 */ + {"CRC-5/EPC-C1G2", models+ 55}, /* 122 */ + {"CRC-5/G-704", models+ 99}, /* 123 */ + {"CRC-5/ITU", models+ 99}, /* 124 */ + {"CRC-5/USB", models+ 41}, /* 125 */ + {"CRC-6/CDMA2000-A", models+ 95}, /* 126 */ + {"CRC-6/CDMA2000-B", models+ 30}, /* 127 */ + {"CRC-6/DARC", models+ 65}, /* 128 */ + {"CRC-6/G-704", models+ 16}, /* 129 */ + {"CRC-6/GSM", models+104}, /* 130 */ + {"CRC-6/ITU", models+ 16}, /* 131 */ + {"CRC-64", models+ 52}, /* 132 */ + {"CRC-64/ECMA-182", models+ 52}, /* 133 */ + {"CRC-64/GO-ECMA", models+ 54}, /* 134 */ + {"CRC-64/GO-ISO", models+ 0}, /* 135 */ + {"CRC-64/MS", models+ 40}, /* 136 */ + {"CRC-64/NVME", models+102}, /* 137 */ + {"CRC-64/REDIS", models+101}, /* 138 */ + {"CRC-64/WE", models+ 53}, /* 139 */ + {"CRC-64/XZ", models+ 54}, /* 140 */ + {"CRC-7", models+ 29}, /* 141 */ + {"CRC-7/MMC", models+ 29}, /* 142 */ + {"CRC-7/ROHC", models+ 96}, /* 143 */ + {"CRC-7/UMTS", models+ 88}, /* 144 */ + {"CRC-8", models+ 11}, /* 145 */ + {"CRC-8/AES", models+ 36}, /* 146 */ + {"CRC-8/AUTOSAR", models+ 43}, /* 147 */ + {"CRC-8/BLUETOOTH", models+ 98}, /* 148 */ + {"CRC-8/CDMA2000", models+ 94}, /* 149 */ + {"CRC-8/DARC", models+ 49}, /* 150 */ + {"CRC-8/DVB-S2", models+108}, /* 151 */ + {"CRC-8/EBU", models+ 36}, /* 152 */ + {"CRC-8/GSM-A", models+ 31}, /* 153 */ + {"CRC-8/GSM-B", models+ 56}, /* 154 */ + {"CRC-8/HITAG", models+ 34}, /* 155 */ + {"CRC-8/I-432-1", models+ 12}, /* 156 */ + {"CRC-8/I-CODE", models+ 33}, /* 157 */ + {"CRC-8/ITU", models+ 12}, /* 158 */ + {"CRC-8/LTE", models+ 92}, /* 159 */ + {"CRC-8/MAXIM", models+ 46}, /* 160 */ + {"CRC-8/MAXIM-DOW", models+ 46}, /* 161 */ + {"CRC-8/MIFARE-MAD", models+ 32}, /* 162 */ + {"CRC-8/NRSC-5", models+ 47}, /* 163 */ + {"CRC-8/OPENSAFETY", models+ 42}, /* 164 */ + {"CRC-8/ROHC", models+ 13}, /* 165 */ + {"CRC-8/SAE-J1850", models+ 35}, /* 166 */ + {"CRC-8/SMBUS", models+ 11}, /* 167 */ + {"CRC-8/TECH-3250", models+ 36}, /* 168 */ + {"CRC-8/WCDMA", models+ 93}, /* 169 */ + {"CRC-82/DARC", models+ 17}, /* 170 */ + {"CRC-A", models+ 24}, /* 171 */ + {"CRC-B", models+ 28}, /* 172 */ + {"CRC-CCITT", models+ 20}, /* 173 */ + {"CRC-IBM", models+ 74}, /* 174 */ + {"DOW-CRC", models+ 46}, /* 175 */ + {"JAMCRC", models+ 7}, /* 176 */ + {"KERMIT", models+ 20}, /* 177 */ + {"MODBUS", models+ 78}, /* 178 */ + {"PKZIP", models+ 8}, /* 179 */ + {"R-CRC-16", models+ 10}, /* 180 */ + {"X-25", models+ 28}, /* 181 */ + {"X-CRC-12", models+ 82}, /* 182 */ + {"X-CRC-16", models+ 9}, /* 183 */ + {"XFER", models+ 1}, /* 184 */ + {"XMODEM", models+ 18}, /* 185 */ + {"ZMODEM", models+ 18}, /* 186 */ {NULL, NULL }, /* terminating entry */ }; -# define NALIASES 185 +# define NALIASES 187 # endif /* BMP_BIT */ #else /* PRESETS */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/relink.pl new/reveng-3.0.6/relink.pl --- old/reveng-3.0.5/relink.pl 2022-01-04 16:00:13.000000000 +0100 +++ new/reveng-3.0.6/relink.pl 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ #!/usr/bin/perl -i.bak # relink.pl -# Greg Cook, 4/Jan/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/reveng.c new/reveng-3.0.6/reveng.c --- old/reveng-3.0.5/reveng.c 2022-01-12 14:57:34.000000000 +0100 +++ new/reveng-3.0.6/reveng.c 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* reveng.c - * Greg Cook, 12/Jan/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/reveng.h new/reveng-3.0.6/reveng.h --- old/reveng-3.0.5/reveng.h 2022-08-27 11:20:55.000000000 +0200 +++ new/reveng-3.0.6/reveng.h 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* reveng.h - * Greg Cook, 27/Aug/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * @@ -93,7 +93,7 @@ /* Global definitions */ /* CRC RevEng version string */ -#define VERSION "3.0.5" +#define VERSION "3.0.6" /* bmpbit.c */ typedef BMP_T bmp_t; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/reveng.rc new/reveng-3.0.6/reveng.rc --- old/reveng-3.0.5/reveng.rc 2022-08-27 11:20:55.000000000 +0200 +++ new/reveng-3.0.6/reveng.rc 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ /* reveng.rc - * Greg Cook, 27/Aug/2022 + * Greg Cook, 7/Aug/2024 */ /* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - * 2019, 2020, 2021, 2022 Gregory Cook + * 2019, 2020, 2021, 2022, 2024 Gregory Cook * * This file is part of CRC RevEng. * @@ -30,11 +30,11 @@ #include <windows.h> -#define VER_FILEVERSION 3,0,5,0 -#define VER_FILEVERSION_STR "3.0.5.0\0" +#define VER_FILEVERSION 3,0,6,0 +#define VER_FILEVERSION_STR "3.0.6.0\0" -#define VER_PRODUCTVERSION 3,0,5,0 -#define VER_PRODUCTVERSION_STR "3.0.5\0" +#define VER_PRODUCTVERSION 3,0,6,0 +#define VER_PRODUCTVERSION_STR "3.0.6\0" #ifndef DEBUG #define VER_DEBUG 0 @@ -46,7 +46,7 @@ #define VER_COMPANYNAME_STR "Greg Cook\0" #define VER_FILEDESCRIPTION_STR "CRC RevEng application\0" #define VER_INTERNALNAME_STR "reveng\0" -#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Gregory Cook\0" +#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2024 Gregory Cook\0" #define VER_ORIGINALFILENAME_STR "reveng.exe\0" #define VER_PRODUCTNAME_STR "CRC RevEng\0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/reveng-3.0.5/tomtorfs-wrapper new/reveng-3.0.6/tomtorfs-wrapper --- old/reveng-3.0.5/tomtorfs-wrapper 2022-01-04 16:00:13.000000000 +0100 +++ new/reveng-3.0.6/tomtorfs-wrapper 2024-08-07 22:47:04.000000000 +0200 @@ -1,10 +1,10 @@ #!/bin/sh # tomtorfs-wrapper -# Greg Cook, 4/Jan/2022 +# Greg Cook, 7/Aug/2024 # CRC RevEng: arbitrary-precision CRC calculator and algorithm finder # Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -# 2019, 2020, 2021, 2022 Gregory Cook +# 2019, 2020, 2021, 2022, 2024 Gregory Cook # # This file is part of CRC RevEng. #
