# w3bankgfx — пробник модели «huge + резидент W3 + банк W3 + графика». # # Проверяем ровно то, на чём стоит план раскладки PoP (docs/layout_plan_v2.md): # R2 из __banked-кода резидентная страница W3 недостижима (НЕ зовём); # R3 резидент -> банк работает через трамплин; # R4 примитивы libbgi можно звать ИЗ БАНКА: _bgi_begin запоминает текущую # страницу W3 (порт 0xE2) и _bgi_end её возвращает — значит банк # переживает рисование и продолжает исполняться. # # Раскладка huge: CODE 0x4100 (W1), DATA 0x8000 (W2), банк 0x1C000 (W3), # резидент --w3 делит W3 с банком (crt0 запоминает резидентную страницу). PROJ_ROOT := $(abspath $(CURDIR)/../..) EXAMPLE := w3bgfx MEMORY := huge EXTRA_FLAGS := --gfx 256 --w3 res.c --bank 1=bank1.c include $(PROJ_ROOT)/app.mk # Ожидаемый результат (проверено 2026-07-29, MAME dev): # пять полос сверху вниз: синяя (резидент), бирюзовая (банк рисует сам), # жёлтая (W1/W2-функция, вызванная из банка), ЗЕЛЁНАЯ (все проверки ок), # синяя (резидент жив после возврата). Красная вместо зелёной = модель # не подтвердилась. Диагностика в переменных bank_page_*/home_page_seen/ # res_page_seen: банк 0xF0, резидент 0xF3, страница W3 внутри банка не # менялась вокруг рисования.