import re

step = 0x10
previous_address = None
output_lines = []

with open('screenlog_new.txt', 'r', errors='ignore') as f:
    for line in f:
        if len(line) >= 8:
            prefix = line[:8]
            if re.match(r'^[0-9a-fA-F]{8}$', prefix):
                current_address = int(prefix, 16)

                if previous_address is not None:
                    expected_next = previous_address + step
                    if current_address != expected_next:
                        addr = expected_next
                        while addr < current_address:
                            hex_bytes = 'ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff'
                            ascii_rep = '................'
                            output_lines.append(
                                f"{addr:08x}: {hex_bytes}    {ascii_rep}\n"
                            )
                            addr += step

                previous_address = current_address

with open('missing_lines.txt', 'w') as f:
    f.writelines(output_lines)

print(f"Done. {len(output_lines)} lines written to missing_lines.txt")