892f005ca5
Проверка «спрайт целиком на экране» стояла как pb_x >= 0 && pb_top >= 0 && pb_x + pb_w <= 320 && pb_top + pb_h <= 256 — четыре знаковых 16-битных сравнения, а знаковое у SDCC z80 разворачивается в пару sbc плюс jp PO / xor 0x80 / jp P (видно в листинге). Беззнаковая форма делает то же двумя: отрицательная координата в беззнаковом виде становится очень большой и проваливает условие так же, как проверка >= 0, а верхняя граница переносится в правую часть вместе со сложением. Границы неотрицательны по построению: pb_w и pb_h не больше 255, значит 320-pb_w >= 65 и 256-pb_h >= 1. Работа кадра 438 978 -> 438 600. Немного, но идиома стандартная и код не усложняется. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>