Bit32u mem_unalignedreadd(PhysPt address) { Bit32u ret = mem_readb_inline(address); ret |= mem_readb_inline(address+1) << 8; ret |= mem_readb_inline(address+2) << 16; ret |= mem_readb_inline(address+3) << 24; return ret; }
void MEM_StrCopy(PhysPt pt,char * data,Bitu size) { while (size--) { Bit8u r=mem_readb_inline(pt++); if (!r) break; *data++=r; } *data=0; }
Bitu mem_strlen(PhysPt pt) { Bitu x=0; while (x<1024) { if (!mem_readb_inline(pt+x)) return x; x++; } return 0; //Hope this doesn't happen }
Bit8u mem_readb(PhysPt address) { return mem_readb_inline(address); }
/* Memory access functions */ Bit16u mem_unalignedreadw(PhysPt address) { Bit16u ret = mem_readb_inline(address); ret |= mem_readb_inline(address+1) << 8; return ret; }
void MEM_BlockRead(PhysPt pt,void * data,Bitu size) { Bit8u * write=reinterpret_cast<Bit8u *>(data); while (size--) { *write++=mem_readb_inline(pt++); } }
void mem_memcpy(PhysPt dest,PhysPt src,Bitu size) { while (size--) mem_writeb_inline(dest++,mem_readb_inline(src++)); }
Bit32u mem_unalignedreadd(PhysPt address) { return mem_readb_inline(address) | (mem_readb_inline(address+1) << 8) | (mem_readb_inline(address+2) << 16) | (mem_readb_inline(address+3) << 24); }
/* Memory access functions */ Bit16u mem_unalignedreadw(PhysPt address) { return mem_readb_inline(address) | mem_readb_inline(address+1) << 8; }