В NES в каждом картридже кастомная аппаратура, а тут железо фиксированное. Но способ похожий — у AVR есть регистр, который используется для выбора нужного куска памяти программ.
В компьютерах с процессором Z80 при добавлении памяти организовывали их в страницы в верхних 16кб, и переключали их записывая в определенный порт число страницы.
Так делалось не только для Z80, но и для x86, но это все процессоры с внешней памятью и разработчику системы не представляло сложности воткнуть схему коммутации страниц между процессором и памятью. В статье же речь идет об однокристаллке со встроенной памятью, где вмешаться в адресную шину между ЦПУ и памятью не представляется возможным.
Когда в gcc 16-битные адреса, а памяти внезапно 256к