Exemple #1
0
        private int GetTileData(int tileId, int line, int byteNumber, int tileDataAddress, bool signed,
                                TileAttributes attr, int tileHeight)
        {
            var effectiveLine = attr.IsYFlip() ? tileHeight - 1 - line : line;
            var tileAddress   = signed ? tileDataAddress + ToSigned(tileId) * 0x10 : tileDataAddress + tileId * 0x10;

            var videoRam = (attr.GetBank() == 0 || !_gbc) ? _videoRam0 : _videoRam1;

            return(videoRam.GetByte(tileAddress + effectiveLine * 2 + byteNumber));
        }