uint16 ReadReg16(uint32 addr) { if (gInfo.sharedInfo->chipType == S3_TRIO64) return ReadPIO(addr, 2); return INREG16(addr); }
uint32 ReadReg32(uint32 addr) { if (gInfo.sharedInfo->chipType == S3_TRIO64) return ReadPIO(addr, 4); return INREG32(addr); }
uint8 ReadReg8(uint32 addr) { if (gInfo.sharedInfo->chipType == S3_TRIO64) return ReadPIO(addr, 1); return INREG8(addr); }
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; }