c64 0.1.0-alpha.1

Driver for the Commodore 64 platform
Documentation
#include <stdint.h>

#define PEEK(address) (*(uint8_t *)(address))

uint8_t register_s_read() {
    uint8_t s;
    asm volatile(
        "tsx"
        : "=x" (s)
    );
    return s;
}

uint8_t register_p_read() {
    uint8_t s = register_s_read();

    asm volatile("php");

    uint8_t p = PEEK(0x0100 + s);

    asm volatile("plp");

    return p;
}