/* w3tiny.c — проба --w3 в режиме tiny.
 * tiny: код с 0x8100 (W2), W1 не используется, W3 свободно под резидент.
 * Образ тянется 0x8100..0xC0xx (2 страницы) → DSS маппит W2 и W3. */

#include <stdio.h>
#include <stdint.h>

extern uint8_t w3_probe(uint8_t x);
extern void    w3_show(void);

uint8_t w1_p, w2_p, w3_p;      /* физ-страницы окон (заполняются asm)   */

int main(void)
{
    __asm
        in a,(#0xA2)
        ld (_w1_p), a
        in a,(#0xC2)
        ld (_w2_p), a
        in a,(#0xE2)
        ld (_w3_p), a
    __endasm;

    printf("TINY: main @ 0x%04X | pages W1=%02X W2=%02X W3=%02X\n",
           (unsigned)&main, w1_p, w2_p, w3_p);
    w3_show();
    printf("TINY: w3_probe(0x42)=0x%02X (expect 0xBD), exit to DSS.\n",
           (unsigned)w3_probe(0x42));
    return 0;
}
