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

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

void bank_store_byte_w1(uint8_t phys_page, uint16_t off_in_window, uint8_t v)
{
    uint8_t saved = _io_page_w1;
    sprinter_page_w1(phys_page);
    *((volatile uint8_t *)(0x4000u + off_in_window)) = v;
    sprinter_page_w1(saved);
}
