diff --git a/biostools/analyzers.py b/biostools/analyzers.py index d0ec414..f5841a9 100644 --- a/biostools/analyzers.py +++ b/biostools/analyzers.py @@ -2013,6 +2013,7 @@ class PhoenixAnalyzer(Analyzer): self._phoenix_pattern = re.compile(b'''Phoenix (?:Technologies Ltd|Software Associates|Compatibility Corp|ROM BIOS)|PPhhooeenniixx TTeecchhnnoollooggiieess|\\x00IBM AT Compatible Phoenix NuBIOS''') self._ignore_pattern = re.compile(b'''search=f000,0,ffff,S,"|\\x00\\xC3\\x82as Ltd. de Phoenix del \\xC2\\x83 de Tecnolog\\xC3\\x83\\x00''') self._bcpsegment_pattern = re.compile(b'''BCPSEGMENT''') + self._valid_id_pattern = re.compile('''[\\x00\\x20-\\x7E]{8,}''') self._rombios_version_pattern = re.compile( b'''(?:Phoenix )?''' # Phoenix brand (not always present) @@ -2921,13 +2922,28 @@ class PhoenixAnalyzer(Analyzer): regtable_start, regtable_end, regtable_segment = struct.unpack('= 0x1d: + version_offset, = struct.unpack('= 5 and data_size >= 0x6b: regtable_start, regtable_end = struct.unpack('= 0x6d: # data can end without this value (BCPSYS 1.5 on Micronics M54Li 07)