source &= 0xFFFFFFFC; dest &= 0xFFFFFFFC;
void BIOS_CpuFastSet(){#ifdef DEV_VERSION  if(systemVerbose & VERBOSE_SWI) {    log("CpuFastSet: 0x%08x,0x%08x,0x%08x (VCOUNT=%d)\n", reg[0].I, reg[1].I,        reg[2].I, VCOUNT);  }#endif    u32 source = reg[0].I;  u32 dest = reg[1].I;  u32 cnt = reg[2].I;  if(((source & 0xe000000) == 0) ||     ((source + (((cnt << 11)>>9) & 0x1fffff)) & 0xe000000) == 0)    return;    int count = cnt & 0x1FFFFF;    // fill?  if((cnt >> 24) & 1) {    while(count > 0) {      // BIOS always transfers 32 bytes at a time      u32 value = CPUReadMemory(source);      for(int i = 0; i < 8; i++) {        CPUWriteMemory(dest, value);        dest += 4;      }      count -= 8;    }  } else {    // copy    while(count > 0) {      // BIOS always transfers 32 bytes at a time      for(int i = 0; i < 8; i++) {        CPUWriteMemory(dest, CPUReadMemory(source));        source += 4;        dest += 4;      }      count -= 8;    }  }}