Exemple #1
0
static int sis_read_2(int custom, int idx)
{
    uint8_t val1;
    uint8_t val2;
    if (custom >= 0) {
	if (idx+1 > sisregs[custom].length) {
	    return 0;
	} else {
	    inSISIDXREG(sisregs[custom].idx_base, idx++, val1);
	    inSISIDXREG(sisregs[custom].idx_base, idx, val2);
	}
    } else {
	val1 = inSISREG(idx++);
	val2 = inSISREG(idx);
    }
    return (val2<<8) | val1;
}
Exemple #2
0
/* read function */
static int sis_read_1(int custom, int idx)
{
    uint8_t val;
    if (custom >= 0) {
	if (idx > sisregs[custom].length)
	    return 0;
	else
	    inSISIDXREG(sisregs[custom].idx_base, idx, val);
    } else {
	val = inSISREG(idx);
    }
    return val;
}
Exemple #3
0
static int sis_read_4(int custom, int idx)
{
    uint8_t val1;
    uint8_t val2;
    uint8_t val3;
    uint8_t val4;
    if (custom >= 0) {
	if (idx+3 > sisregs[custom].length) {
	    return 0;
	} else {
	    inSISIDXREG(sisregs[custom].idx_base, idx++, val1);
	    inSISIDXREG(sisregs[custom].idx_base, idx++, val2);
	    inSISIDXREG(sisregs[custom].idx_base, idx++, val3);
	    inSISIDXREG(sisregs[custom].idx_base, idx, val4);
	}
    } else {
	val1 = inSISREG(idx++);
	val2 = inSISREG(idx++);
	val3 = inSISREG(idx++);
	val4 = inSISREG(idx);
    }
    return (val4<<24) | (val3<<16) | (val2<<8) | val1;
}
/* VBlank */
static CARD8 vblank_active_CRT1(SISPtr pSiS)
{
    return (inSISREG(SISINPSTAT) & 0x08);
}