private void GetNametableData() { InteropEmu.DebugGetPpuScroll(out _debugState.TileMaps.ScrollX, out _debugState.TileMaps.ScrollY); for (int i = 0; i < _debugState.TileMaps.NumberOfMaps; i++) { InteropEmu.DebugGetNametable(i, NametableDisplayMode.Normal, out _debugState.TileMaps.PixelData[i], out _debugState.TileMaps.TileData[i], out _debugState.TileMaps.AttributeData[i]); } }
public void GetData() { InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); for (int i = 0; i < 4; i++) { InteropEmu.DebugGetNametable(i, out _nametablePixelData[i], out _tileData[i], out _attributeData[i]); } }
public void GetData() { InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); InteropEmu.DebugGetState(ref _state); for (int i = 0; i < 4; i++) { InteropEmu.DebugGetNametable(i, ConfigManager.Config.DebugInfo.NtViewerUseGrayscalePalette, out _nametablePixelData[i], out _tileData[i], out _attributeData[i]); } _hdCopyHelper.RefreshData(); }
public void GetData() { InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); InteropEmu.DebugGetState(ref _state); for (int i = 0; i < 4; i++) { InteropEmu.DebugGetNametable(i, NametableDisplayMode.Normal, out _nametablePixelData[i], out _tileData[i], out _attributeData[i]); } _ppuMemory = InteropEmu.DebugGetMemoryState(DebugMemoryType.PpuMemory); InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); _xScroll &= 0xFFF8; _yScroll &= 0xFFF8; }
public void GetData() { InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); InteropEmu.DebugGetState(ref _state); for (int i = 0; i < 4; i++) { InteropEmu.DebugGetNametable(i, ConfigManager.Config.DebugInfo.NtViewerUseGrayscalePalette, out _nametablePixelData[i], out _tileData[i], out _attributeData[i]); } _ppuMemory = InteropEmu.DebugGetMemoryState(DebugMemoryType.PpuMemory); InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); _xScroll &= 0xFFF8; _yScroll &= 0xFFF8; }
public void GetData() { InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); InteropEmu.DebugGetState(ref _state); //Keep a copy of the previous frame to highlight modifications for (int i = 0; i < 4; i++) { _prevTileData[i] = _tileData[i] != null ? (byte[])_tileData[i].Clone() : null; _prevAttributeData[i] = _attributeData[i] != null ? (byte[])_attributeData[i].Clone() : null; } for (int i = 0; i < 4; i++) { InteropEmu.DebugGetNametable(i, ConfigManager.Config.DebugInfo.NtViewerUseGrayscalePalette, out _nametablePixelData[i], out _tileData[i], out _attributeData[i]); } _hdCopyHelper.RefreshData(); }
public void GetData() { InteropEmu.DebugGetPpuScroll(out _xScroll, out _yScroll); InteropEmu.DebugGetState(ref _state); _ntChanged = InteropEmu.DebugGetNametableChangedData(); //Keep a copy of the previous frame to highlight modifications for (int i = 0; i < 4; i++) { _prevTileData[i] = _tileData[i] != null ? (byte[])_tileData[i].Clone() : null; _prevAttributeData[i] = _attributeData[i] != null ? (byte[])_attributeData[i].Clone() : null; } NametableDisplayMode mode; if (_showAttributeColorsOnly) { mode = NametableDisplayMode.AttributeView; } else if (ConfigManager.Config.DebugInfo.NtViewerUseGrayscalePalette) { mode = NametableDisplayMode.Grayscale; } else { mode = NametableDisplayMode.Normal; } for (int i = 0; i < 4; i++) { InteropEmu.DebugGetNametable(i, mode, out _nametablePixelData[i], out _tileData[i], out _attributeData[i]); } _hdCopyHelper.RefreshData(); }
public void RefreshViewer() { PictureBox[] nametables = new PictureBox[] { this.picNametable1, this.picNametable2, this.picNametable3, this.picNametable4 }; for (int i = 0; i < 4; i++) { byte[] nametablePixelData, tileData, attributeData; InteropEmu.DebugGetNametable(i, out nametablePixelData, out tileData, out attributeData); _tileData[i] = tileData; _attributeData[i] = attributeData; GCHandle handle = GCHandle.Alloc(nametablePixelData, GCHandleType.Pinned); try { Bitmap source = new Bitmap(256, 240, 4 * 256, System.Drawing.Imaging.PixelFormat.Format32bppArgb, handle.AddrOfPinnedObject()); Bitmap target = new Bitmap(256, 240); using (Graphics g = Graphics.FromImage(target)) { g.DrawImage(source, new Rectangle(0, 0, 256, 240), new Rectangle(0, 0, 256, 240), GraphicsUnit.Pixel); } nametables[i].Image = target; } finally { handle.Free(); } } }