/*
 * bank_write_w1 — скопировать n байт из src в чужую физическую страницу
 * (окно 1, порт 0xA2, база 0x4000) со свопом-возвратом W1.
 * ТОЛЬКО для `--memory tiny` — см. bank_load_byte_w1.c.
 */

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

void bank_write_w1(uint8_t phys_page, uint16_t off, const void *src, uint16_t n)
{
    uint8_t saved = _io_page_w1;
    sprinter_page_w1(phys_page);
    memcpy((void *)(0x4000u + off), src, n);
    sprinter_page_w1(saved);
}
