private void GetTileMapData() { _tilemapOptions.Layer = (byte)_state.TileMaps.GetPage; _state.TileMaps.MapWidth = GetMapWidth(); _state.TileMaps.MapHeight = GetMapHeight(); SnesDebugApi.GetTilemap(_tilemapOptions, _state.SnesState.Ppu, _state.Memory.PpuData, _state.Memory.CgRam, _state.TileMaps.PixelData[0]); _state.TileMaps.ViewportHeight = _state.SnesState.Ppu.OverscanMode ? 239 : 224; _state.TileMaps.ScrollX = (_state.SnesState.Ppu.BgMode == 7 ? (int)_state.SnesState.Ppu.Mode7.HScroll : _state.SnesState.Ppu.Layers[_tilemapOptions.Layer].HScroll) % _state.TileMaps.MapWidth; _state.TileMaps.ScrollY = (_state.SnesState.Ppu.BgMode == 7 ? (int)_state.SnesState.Ppu.Mode7.VScroll : _state.SnesState.Ppu.Layers[_tilemapOptions.Layer].VScroll) % _state.TileMaps.MapHeight; }