05bcd8197e
Проверка 2 искала форму «адрес метки своего банка положен в аргументы вызова в чужой банк», но регулярка принимала только `ld hl,#_метка` и `#_метка+6`. Адрес поля структуры SDCC пишет в скобках: ld bc, #(_mstream + 6) push bc ... call ___sdcc_bcall_ehl Из-за этого целый класс ошибок собирался «чисто». Поймано вживую 2026-09-03 в порту Loom: mask.c (банк 5, --bank-data 5) отдавал res_copy (банк 11) адрес поля своей структуры — поток маски читался в чужую страницу, маска выходила «всё заполнено», тайлов в комнате стало 30 вместо 17. Фон при этом оставался побайтово верным, потому что его путь идёт из резидентного кода, так что попиксельная сверка экрана молчала. Класс проверки не меняется: адрес метки ДАННЫХ своего банка, положенный в стек как аргумент вызова в ЧУЖОЙ банк, неверен всегда — это по-прежнему доказательный случай, а не эвристика. Проверено в трёх режимах: с ошибкой срабатывает, на исправленном коде молчит, и на всех банковых сборках самого тулчейна (banktest, w3probe, banked, bankedbg, banklocl, w3bankgfx, roomtest, сборка SprPoP) ложных срабатываний нет. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qxu9rwsmyDyYPxG198nzSR