Ejemplo n.º 1
0
static unsigned int getCursorOffset() {
    unsigned int offset = 0;
    outPortB(REG_SCREEN_CTRL, REG_CURSOR_HIGH);
    offset = inPortB(REG_SCREEN_DATA) << 8;
    outPortB(REG_SCREEN_CTRL, REG_CURSOR_LOW);
    offset += inPortB(REG_SCREEN_DATA);

    /* return offset * sizeof character cell (2) */
    return offset * 2;
}
Ejemplo n.º 2
0
uint8_t Intel8255::readPortB(void) {
    IBF_B = true;

    latchOutPortB =
        (latchOutPortB   &   portBWriteMask ) +
        (      inPortB() & (~portBWriteMask));

    updateINTR_B();
    IBF_B = false;
    checkINTR_B();
    return latchOutPortB;
}