void WriteReg32(uint32 addr, uint32 value) { if (gInfo.sharedInfo->chipType == S3_TRIO64) WritePIO(addr, 4, value); else OUTREG32(addr, value); }
void WriteReg8(uint32 addr, uint8 value) { if (gInfo.sharedInfo->chipType == S3_TRIO64) WritePIO(addr, 1, value); else OUTREG8(addr, value); }
void WriteReg16(uint32 addr, uint16 value) { if (gInfo.sharedInfo->chipType == S3_TRIO64) WritePIO(addr, 2, value); else OUTREG16(addr, value); }
bool LOW_devDS2408::WritePIO(uint8_t pin, bool value) { linkLock lock( *this); cmd_MatchROM(); uint8_t oldvalue = 0x00; if (!ReadPIO(oldvalue)) return false; uint8_t newvalue = value ? oldvalue | (0x01 << pin) : oldvalue & ~(0x01 << pin); if (!WritePIO(newvalue)) return false; return true; }