GameBoy\Core::setGBCPalettePre PHP Method

setGBCPalettePre() public method

public setGBCPalettePre ( $address_, $data )
    public function setGBCPalettePre($address_, $data)
    {
        if ($this->gbcRawPalette[$address_] == $data) {
            return;
        }
        $this->gbcRawPalette[$address_] = $data;
        if ($address_ >= 0x40 && ($address_ & 0x6) == 0) {
            // stay transparent
            return;
        }
        $value = ($this->gbcRawPalette[$address_ | 1] << 8) + $this->gbcRawPalette[$address_ & -2];
        $this->gbcPalette[$address_ >> 1] = 0x80000000 + (($value & 0x1f) << 19) + (($value & 0x3e0) << 6) + (($value & 0x7c00) >> 7);
        $this->invalidateAll($address_ >> 3);
    }