Впринципе достаточно только с порта ловить , т.к. при любом обращении в пятую банку комбинация бит будет 101 (с.м ниже).
Чем тестить ХэЗэ , попробуй смотрелку триколора найти в разделе по графике (если не найдётся то там подскажут). Эта штука активно пишет в обе страницы VRAM и показывает их .

Собсно вот такой у меня кусок -

-- Порт #7FFD (128к).
--------------------
PORT_7FFD[5..0].clk=NOT(VA_CPU[15] or VA_CPU[1] or nIORQ or nWR or PORT_7FFD[5].q); -- Обращение к порту 7FFD .
PORT_7FFD[5..0].clrn=nRESET;
PORT_7FFD[5..0].d=D[5..0];
-- PORT_7FFD[2..0].q; -- Выбор страницы для четвёртой банки .
-- PORT_7FFD[3].q; -- Выбор экранной страницы . Подключается к A14 VRAM через буфер VA_BUF_OUT[].
ROM48 =PORT_7FFD[4].q; -- Выбор ПЗУ 48к .
-- PORT_7FFD[5].q; -- Блокировка порта 7FFD .
-- Мультиплексор порта 7FFD . ////////////////
if (VA_CPU[15] and VA_CPU[14]) then A14P=PORT_7FFD[0].q; A15P=PORT_7FFD[1].q; A16P=PORT_7FFD[2].q; -- если лезим в четвёртую банку .
else A14P=VA_CPU[14]; A15P=VA_CPU[15]; A16P=VA_CPU[14]; -- если лезим в другие банки .
end if;
-- A14P и A16P - выходные пины . A15P - внутрений провод , идёт на CPU_VRAM_SEL_BUF выходит как VA[14],
-- используется для выбора видео страничек (RAM5/RAM7) процессором .
--================================================== ============================
-- Селектор мозгов CPU , выбирает ROM, VRAM, RAM .
--------------------------------------------------
nVRAM=NOT( (A14P==B"1" and A15P==B"0" and A16P==B"1") or (A14P==B"1" and A15P==B"1" and A16P==B"1") ); --
-- Проц полез в VRAM (RAM5 или RAM7) .

(При A14=0 и A15=0 рубим все мозги и подтыкаем ПЗУ).