void MemoryForCpu::write8(unsigned long addr, unsigned long data) { if(port->write8(addr, data)) return; writeMemory8(addr, (unsigned char)data); }
void stackPush16 (unsigned short value){ if (!gpu_reading) hardwareTick(); registers.SP--; // Decrease stack pointer writeMemory8( registers.SP, (value & 0xFF00) >> 8); // Push high part in the stack registers.SP--; // Decrease stack pointer again writeMemory8( registers.SP, value & 0x00FF ); // Push low part in the stack }
/** * writeMemory16 - write 2 bytes in memory. * * @data a byte of information to be written * @address the position to write to */ void writeMemory16(unsigned short address, unsigned short data) { writeMemory8(address, (data & 0xFF)); writeMemory8(address + 1, (data >> 8)); }