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

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

void bank_store_byte(uint8_t phys_page, uint16_t off_in_window, uint8_t v)
{
    uint8_t saved = _io_page_w3;
    sprinter_page_w3(phys_page);
    *((volatile uint8_t *)(0xC000u + off_in_window)) = v;
    sprinter_page_w3(saved);
}
