все CPU имеют по 128 кБт, сразу после старта активен только модуль CPU0 остальные в WAIT, доступ к портам у них одинаковый (если не считать локальных портов модуля для записи в которые важен приоритет модуля)
так как активен один модуль то он и работает с клавой, дисководом и прочими, фактически обычный ZX128, он запускает программу с загрузчиком, загрузчик маппирует последовательно адресное пространство других модулей на IO порты CPU0 и тот последовательно считывая блоки с диска записывает их содержимое в память других модулей, после чего записывает в их регистры локального сброса JMP c адресом подпрограммы которая зальет все регистры процов одинаковым кодом и делает "мягкий ресет" для всех модулей и для себя тоже, после чего все процы стартуют с одного участка
код загрузчика доступен тут https://github.com/raydac/zxpoly/tree/master/AsmLoader
приаттачил ATW1 в этом формате




ZX-Poly - Спекки-128 без клэшинга атрибутов
Ответить с цитированием