/*
 * bank_write — скопировать n байт из src в чужую физическую страницу
 * (окно 3, порт 0xE2, база 0xC000) через memcpy со свопом-возвратом W3.
 * Безопасность по режимам — как у bank_load_byte (см. sprinter_mem.h).
 */

#include <stdint.h>
#include <string.h>
#include <sprinter.h>
#include <sprinter_mem.h>

void bank_write(uint8_t phys_page, uint16_t off, const void *src, uint16_t n)
{
    uint8_t saved = _io_page_w3;
    sprinter_page_w3(phys_page);
    memcpy((void *)(0xC000u + off), src, n);
    sprinter_page_w3(saved);
}
