/* * _pop_kid.h — ВНУТРЕННИЙ контракт движка Kid: pop_kid.c (резидент W1, * интерпретатор seqtbl) ↔ pop_kboot.c (банк 8, загрузка ресурсов). * * Загрузка атласов Кида и страницы анимации отрабатывает РАЗ ЗА ИГРУ, и * держать её в дефицитном W1 незачем; интерпретатор же зовут из четырёх * банков каждый тик — он остался в резиденте. Общее между ними — только * дескриптор страницы данных: он объявлен здесь и определён в pop_kid.c * (данные банковых модулей всё равно линкуются в общий _DATA). */ #ifndef _POP_KID_H #define _POP_KID_H #include /* Смещение данных в странице анимации; ниже 0x100 — ISR-стаб W0. */ #define KD_DATA_OFF 0x100u extern uint8_t kdat_blk; /* EMM-блок страницы kid.ani */ extern uint8_t kdat_page; /* её номер (маппится в W0 на время play_seq) */ extern uint8_t kdat_ok; /* данные загружены */ /* Файловый обмен с W3 делает общий резидентный bank_load_file(), поэтому * оркестратор загрузки kid.ani целиком живёт в холодном банке 8. */ #endif /* _POP_KID_H */