commit
df1e9c9c27
32 changed files with 5830 additions and 4426 deletions
|
@ -146,6 +146,12 @@ CdlRatios CodeDataLogger::GetRatios()
|
|||
return ratios;
|
||||
}
|
||||
|
||||
bool CodeDataLogger::IsNone(uint32_t absoluteAddr)
|
||||
{
|
||||
return _cdlData[absoluteAddr] == (uint8_t)CdlPrgFlags::None;
|
||||
}
|
||||
|
||||
|
||||
bool CodeDataLogger::IsCode(uint32_t absoluteAddr)
|
||||
{
|
||||
return (_cdlData[absoluteAddr] & (uint8_t)CdlPrgFlags::Code) == (uint8_t)CdlPrgFlags::Code;
|
||||
|
|
|
@ -80,6 +80,7 @@ public:
|
|||
|
||||
CdlRatios GetRatios();
|
||||
|
||||
bool IsNone(uint32_t absoluteAddr);
|
||||
bool IsCode(uint32_t absoluteAddr);
|
||||
bool IsJumpTarget(uint32_t absoluteAddr);
|
||||
bool IsSubEntryPoint(uint32_t absoluteAddr);
|
||||
|
|
|
@ -767,6 +767,7 @@ bool Debugger::ProcessRamOperation(MemoryOperationType type, uint16_t &addr, uin
|
|||
AddressTypeInfo addressInfo;
|
||||
GetAbsoluteAddressAndType(addr, &addressInfo);
|
||||
int32_t absoluteAddr = addressInfo.Type == AddressType::PrgRom ? addressInfo.Address : -1;
|
||||
bool isUnlogged = absoluteAddr >= 0 ? _codeDataLogger->IsNone(absoluteAddr) : false;
|
||||
if(addressInfo.Type == AddressType::PrgRom && addressInfo.Address >= 0 && type != MemoryOperationType::DummyRead && type != MemoryOperationType::DummyWrite && _runToCycle == -1) {
|
||||
if(type == MemoryOperationType::ExecOperand) {
|
||||
_codeDataLogger->SetFlag(absoluteAddr, CdlPrgFlags::Code);
|
||||
|
@ -820,6 +821,9 @@ bool Debugger::ProcessRamOperation(MemoryOperationType type, uint16_t &addr, uin
|
|||
} else if(CheckFlag(DebuggerFlags::BreakOnUnofficialOpCode) && _disassembler->IsUnofficialOpCode(value)) {
|
||||
Step(1);
|
||||
breakSource = BreakSource::BreakOnUnofficialOpCode;
|
||||
} else if(CheckFlag(DebuggerFlags::BreakOnUnlogged) && isUnlogged && type == MemoryOperationType::ExecOpCode && absoluteAddr >= 0) {
|
||||
Step(1);
|
||||
breakSource = BreakSource::BreakOnUnlogged;
|
||||
}
|
||||
|
||||
if(_runToCycle != -1) {
|
||||
|
|
|
@ -43,6 +43,7 @@ enum class DebuggerFlags
|
|||
|
||||
BreakOnPpu2006ScrollGlitch = 0x20000,
|
||||
BreakOnBusConflict = 0x40000,
|
||||
BreakOnUnlogged = 0x80000,
|
||||
};
|
||||
|
||||
enum class BreakSource
|
||||
|
@ -61,7 +62,8 @@ enum class BreakSource
|
|||
Pause = 10,
|
||||
BreakAfterSuspend = 11,
|
||||
BreakOnPpu2006ScrollGlitch = 12,
|
||||
BreakOnBusConflict = 13
|
||||
BreakOnBusConflict = 13,
|
||||
BreakOnUnlogged = 14
|
||||
};
|
||||
|
||||
enum class AddressType
|
||||
|
|
|
@ -733,6 +733,7 @@ private:
|
|||
bool _spritesEnabled = true;
|
||||
uint32_t _screenRotation = 0;
|
||||
uint32_t _exclusiveRefreshRate = 60;
|
||||
uint32_t _exclusiveRefreshRate2 = 50;
|
||||
|
||||
ConsoleType _consoleType = ConsoleType::Nes;
|
||||
ExpansionPortDevice _expansionDevice = ExpansionPortDevice::None;
|
||||
|
@ -1316,6 +1317,30 @@ public:
|
|||
return _exclusiveRefreshRate;
|
||||
}
|
||||
|
||||
void SetExclusiveRefreshRate2(uint32_t refreshRate)
|
||||
{
|
||||
_exclusiveRefreshRate2 = refreshRate;
|
||||
}
|
||||
|
||||
uint32_t GetExclusiveRefreshRate2()
|
||||
{
|
||||
return _exclusiveRefreshRate2;
|
||||
}
|
||||
|
||||
uint32_t GetExclusiveRefreshRateByModel(NesModel m)
|
||||
{
|
||||
switch (m) {
|
||||
case NesModel::NTSC:
|
||||
return _exclusiveRefreshRate;
|
||||
break;
|
||||
case NesModel::PAL:
|
||||
case NesModel::Dendy:
|
||||
return _exclusiveRefreshRate2;
|
||||
break;
|
||||
}
|
||||
return _exclusiveRefreshRate;
|
||||
}
|
||||
|
||||
void SetExpansionDevice(ExpansionPortDevice expansionDevice)
|
||||
{
|
||||
_expansionDevice = expansionDevice;
|
||||
|
|
|
@ -90,6 +90,7 @@ struct HdPpuTileInfo : public HdTileKey
|
|||
uint8_t BgColor;
|
||||
uint8_t SpriteColor;
|
||||
uint8_t PpuBackgroundColor;
|
||||
uint32_t PaletteOffset;
|
||||
|
||||
uint8_t OAMIndex;
|
||||
};
|
||||
|
|
|
@ -273,22 +273,24 @@ void HdPackBuilder::ProcessTile(uint32_t x, uint32_t y, uint16_t tileAddr, HdPpu
|
|||
}
|
||||
}
|
||||
|
||||
if ((x == 0 || ((tile.OffsetX & 0x07) == 0)) && (y == 0 || ((tile.OffsetY & 0x07) == 0))) {
|
||||
if ((x == 0 || ((tile.OffsetX & 0x07) == 0)) && (y == 0 || (((tile.OffsetY & 0x07) == 0) && !tile.VerticalMirroring) || (((tile.OffsetY & 0x07) == 0x07) && tile.VerticalMirroring))) {
|
||||
HdScreenTileInfo t;
|
||||
t.IsChrRamTile = tile.IsChrRamTile;
|
||||
t.PaletteColors = tile.PaletteColors;
|
||||
t.ScreenX = x - tile.OffsetX;
|
||||
t.ScreenY = y - tile.OffsetY - (tile.IsSpriteTile() ? 1 : 0);
|
||||
memcpy(t.TileData, tile.TileData, 16);
|
||||
t.TileIndex = tile.TileIndex;
|
||||
t.IsNew = isNew;
|
||||
if (tile.IsSpriteTile()) {
|
||||
t.ScreenX = x;
|
||||
t.ScreenY = y;
|
||||
t.BackgroundPriority = tile.BackgroundPriority;
|
||||
t.HorizontalMirroring = tile.HorizontalMirroring;
|
||||
t.VerticalMirroring = tile.VerticalMirroring;
|
||||
spritesOnScreen.push_back(t);
|
||||
}
|
||||
else {
|
||||
t.ScreenX = x - tile.OffsetX;
|
||||
t.ScreenY = y - tile.OffsetY;
|
||||
bgTilesOnScreen.push_back(t);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -135,6 +135,55 @@ struct HdPackBgPriorityCondition : public HdPackCondition
|
|||
}
|
||||
};
|
||||
|
||||
struct HdPackSpPalette0Condition : public HdPackCondition
|
||||
{
|
||||
string GetConditionName() override { return "sppalette0"; }
|
||||
string ToString() override { return ""; }
|
||||
bool IsExcludedFromFile() override { return true; }
|
||||
|
||||
bool InternalCheckCondition(HdScreenInfo* screenInfo, int x, int y, HdPpuTileInfo* tile) override
|
||||
{
|
||||
return tile && ((0x03 & (tile->PaletteOffset >> 2)) == 0x00);
|
||||
}
|
||||
};
|
||||
|
||||
struct HdPackSpPalette1Condition : public HdPackCondition
|
||||
{
|
||||
string GetConditionName() override { return "sppalette1"; }
|
||||
string ToString() override { return ""; }
|
||||
bool IsExcludedFromFile() override { return true; }
|
||||
|
||||
bool InternalCheckCondition(HdScreenInfo* screenInfo, int x, int y, HdPpuTileInfo* tile) override
|
||||
{
|
||||
return tile && ((0x03 & (tile->PaletteOffset >> 2)) == 0x01);
|
||||
}
|
||||
};
|
||||
|
||||
struct HdPackSpPalette2Condition : public HdPackCondition
|
||||
{
|
||||
string GetConditionName() override { return "sppalette2"; }
|
||||
string ToString() override { return ""; }
|
||||
bool IsExcludedFromFile() override { return true; }
|
||||
|
||||
bool InternalCheckCondition(HdScreenInfo* screenInfo, int x, int y, HdPpuTileInfo* tile) override
|
||||
{
|
||||
return tile && ((0x03 & (tile->PaletteOffset >> 2)) == 0x02);
|
||||
}
|
||||
};
|
||||
|
||||
struct HdPackSpPalette3Condition : public HdPackCondition
|
||||
{
|
||||
string GetConditionName() override { return "sppalette3"; }
|
||||
string ToString() override { return ""; }
|
||||
bool IsExcludedFromFile() override { return true; }
|
||||
|
||||
bool InternalCheckCondition(HdScreenInfo* screenInfo, int x, int y, HdPpuTileInfo* tile) override
|
||||
{
|
||||
return tile && ((0x03 & (tile->PaletteOffset >> 2)) == 0x03);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct HdPackMemoryCheckCondition : public HdPackBaseMemoryCondition
|
||||
{
|
||||
HdPackMemoryCheckCondition() { _useCache = true; }
|
||||
|
|
|
@ -13,6 +13,15 @@
|
|||
|
||||
#define checkConstraint(x, y) if(!(x)) { MessageManager::Log(y); return; }
|
||||
|
||||
static const char windowsSlash = '\\';
|
||||
static const char unixSlash = '/';
|
||||
#if defined(_WIN32)
|
||||
#define convertPathToNative(filepath) std::replace(filepath.begin(), filepath.end(), unixSlash, windowsSlash)
|
||||
#else
|
||||
#define convertPathToNative(filepath) std::replace(filepath.begin(), filepath.end(), windowsSlash, unixSlash)
|
||||
#endif
|
||||
#define convertPathToNativeVector(vector, idx) if (vector.size() > idx) { convertPathToNative(vector[idx]); }
|
||||
|
||||
HdPackLoader::HdPackLoader()
|
||||
{
|
||||
}
|
||||
|
@ -165,14 +174,17 @@ bool HdPackLoader::LoadPack()
|
|||
ProcessOverscanTag(tokens);
|
||||
} else if(lineContent.substr(0, 5) == "<img>") {
|
||||
lineContent = lineContent.substr(5);
|
||||
convertPathToNative(lineContent);
|
||||
if(!ProcessImgTag(lineContent)) {
|
||||
return false;
|
||||
}
|
||||
} else if(lineContent.substr(0, 7) == "<patch>") {
|
||||
tokens = StringUtilities::Split(lineContent.substr(7), ',');
|
||||
convertPathToNativeVector(tokens, 0);
|
||||
ProcessPatchTag(tokens);
|
||||
} else if(lineContent.substr(0, 12) == "<background>") {
|
||||
tokens = StringUtilities::Split(lineContent.substr(12), ',');
|
||||
convertPathToNativeVector(tokens, 0);
|
||||
ProcessBackgroundTag(tokens, conditions);
|
||||
} else if(lineContent.substr(0, 11) == "<condition>") {
|
||||
tokens = StringUtilities::Split(lineContent.substr(11), ',');
|
||||
|
@ -186,9 +198,11 @@ bool HdPackLoader::LoadPack()
|
|||
ProcessOptionTag(tokens);
|
||||
} else if(lineContent.substr(0, 5) == "<bgm>") {
|
||||
tokens = StringUtilities::Split(lineContent.substr(5), ',');
|
||||
convertPathToNativeVector(tokens, 2);
|
||||
ProcessBgmTag(tokens);
|
||||
} else if(lineContent.substr(0, 5) == "<sfx>") {
|
||||
tokens = StringUtilities::Split(lineContent.substr(5), ',');
|
||||
convertPathToNativeVector(tokens, 2);
|
||||
ProcessSfxTag(tokens);
|
||||
}
|
||||
}
|
||||
|
@ -259,6 +273,38 @@ void HdPackLoader::InitializeGlobalConditions()
|
|||
HdPackCondition* invBgpriority = new HdPackBgPriorityCondition();
|
||||
invBgpriority->Name = "!bgpriority";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(invBgpriority));
|
||||
|
||||
HdPackCondition* sppalette0 = new HdPackSpPalette0Condition();
|
||||
sppalette0->Name = "sppalette0";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(sppalette0));
|
||||
|
||||
HdPackCondition* invSppalette0 = new HdPackSpPalette0Condition();
|
||||
invSppalette0->Name = "!sppalette0";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(invSppalette0));
|
||||
|
||||
HdPackCondition* sppalette1 = new HdPackSpPalette1Condition();
|
||||
sppalette1->Name = "sppalette1";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(sppalette1));
|
||||
|
||||
HdPackCondition* invSppalette1 = new HdPackSpPalette1Condition();
|
||||
invSppalette1->Name = "!sppalette1";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(invSppalette1));
|
||||
|
||||
HdPackCondition* sppalette2 = new HdPackSpPalette2Condition();
|
||||
sppalette2->Name = "sppalette2";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(sppalette2));
|
||||
|
||||
HdPackCondition* invSppalette2 = new HdPackSpPalette2Condition();
|
||||
invSppalette2->Name = "!sppalette2";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(invSppalette2));
|
||||
|
||||
HdPackCondition* sppalette3 = new HdPackSpPalette3Condition();
|
||||
sppalette3->Name = "sppalette3";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(sppalette3));
|
||||
|
||||
HdPackCondition* invSppalette3 = new HdPackSpPalette3Condition();
|
||||
invSppalette3->Name = "!sppalette3";
|
||||
_data->Conditions.push_back(unique_ptr<HdPackCondition>(invSppalette3));
|
||||
}
|
||||
|
||||
void HdPackLoader::ProcessOverscanTag(vector<string> &tokens)
|
||||
|
|
|
@ -96,6 +96,7 @@ void HdPpu::DrawPixel()
|
|||
} else {
|
||||
tileInfo.Sprite[j].SpriteColor = ReadPaletteRAM(sprite.PaletteOffset + tileInfo.Sprite[j].SpriteColorIndex);
|
||||
}
|
||||
tileInfo.Sprite[j].PaletteOffset = sprite.PaletteOffset;
|
||||
|
||||
tileInfo.Sprite[j].PpuBackgroundColor = tileInfo.Tile.PpuBackgroundColor;
|
||||
tileInfo.Sprite[j].BgColorIndex = tileInfo.Tile.BgColorIndex;
|
||||
|
|
|
@ -23,7 +23,7 @@ chapter: false
|
|||
|
||||
**Fulscreen Resolution**: This option is shown only when exclusive fullsceen mode is enabled. It allows you to select the screen resolution that should be used when in exclusive fullscreen mode. The default resolution is the current Windows screen resolution.
|
||||
|
||||
**Requested Refresh Rate**: This option is shown only when exclusive fullsceen mode is enabled. It allows you to select your preferred refresh rate when running in exclusive fullscreen mode.
|
||||
**Requested Refresh Rate**: This option is shown only when exclusive fullsceen mode is enabled. It allows you to select your preferred refresh rate for NTSC and PAL/Dendy when running in exclusive fullscreen mode.
|
||||
|
||||
**Use integer scale values when entering fullscreen mode**: By default, fullscreen mode fills the entire screen. However, this can cause non-integer scaling values to be used -- for example, in 1080p resolution, the scale becomes 4.5x. Since this can cause irregularly shaped pixels, you can use this option to use the nearest integer scale value instead (e.g 4x in this example).
|
||||
|
||||
|
|
|
@ -392,6 +392,7 @@ The `Break Options` submenu contains a number of options to configure under whic
|
|||
* **Break on unofficial opcodes**: Break the emulation whenever an unofficial opcode is about to execute.
|
||||
* **Break on BRK**: Break the emulation whenever a BRK instruction is about to execute.
|
||||
* **Break on CPU crash**: Break the emulation whenever an instruction that will cause the CPU to freeze is about to execute.
|
||||
* **Break on unlogged code**: Break the emulation whenever an instruction that haven't been logged is about to execute.
|
||||
|
||||
<div></div>
|
||||
|
||||
|
|
|
@ -113,6 +113,10 @@ A number of built-in conditions can be used to check the value of some flags:
|
|||
* `hmirror`: True if the current pixel is a sprite pixel, and the sprite is mirrored horizontally.
|
||||
* `vmirror`: True if the current pixel is a sprite pixel, and the sprite is mirrored vertically.
|
||||
* `bgpriority`: True if the current pixel is a sprite pixel, and the sprite is marked as a background priority sprite.
|
||||
* `sppalette0`: True if the current pixel is a sprite pixel, and the sprite is using the palette at address $3F10.
|
||||
* `sppalette1`: True if the current pixel is a sprite pixel, and the sprite is using the palette at address $3F14.
|
||||
* `sppalette2`: True if the current pixel is a sprite pixel, and the sprite is using the palette at address $3F18.
|
||||
* `sppalette3`: True if the current pixel is a sprite pixel, and the sprite is using the palette at address $3F1C.
|
||||
|
||||
**Example:** `[hmirror]<tile>...`
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 48 KiB |
Binary file not shown.
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 31 KiB |
|
@ -354,6 +354,7 @@ namespace Mesen.GUI.Config
|
|||
public bool BreakOnInit = true;
|
||||
public bool BreakOnPlay = false;
|
||||
public bool BreakOnFirstCycle = true;
|
||||
public bool BreakOnUnlogged = false;
|
||||
|
||||
public bool BringToFrontOnPause = false;
|
||||
public bool BringToFrontOnBreak = true;
|
||||
|
|
|
@ -57,6 +57,7 @@ namespace Mesen.GUI.Config
|
|||
public bool UseExclusiveFullscreen = false;
|
||||
public string FullscreenResolution = "";
|
||||
public VideoRefreshRates ExclusiveFullscreenRefreshRate = VideoRefreshRates._60;
|
||||
public VideoRefreshRates ExclusiveFullscreenRefreshRate2 = VideoRefreshRates._50;
|
||||
|
||||
public bool UseCustomVsPalette = false;
|
||||
public bool ShowColorIndexes = true;
|
||||
|
@ -100,6 +101,7 @@ namespace Mesen.GUI.Config
|
|||
InteropEmu.SetScreenRotation((UInt32)videoInfo.ScreenRotation);
|
||||
|
||||
InteropEmu.SetExclusiveRefreshRate((UInt32)videoInfo.ExclusiveFullscreenRefreshRate);
|
||||
InteropEmu.SetExclusiveRefreshRate2((UInt32)videoInfo.ExclusiveFullscreenRefreshRate2);
|
||||
|
||||
InteropEmu.SetVideoFilter(videoInfo.VideoFilter);
|
||||
InteropEmu.SetVideoResizeFilter(videoInfo.UseBilinearInterpolation ? VideoResizeFilter.Bilinear : VideoResizeFilter.NearestNeighbor);
|
||||
|
|
151
GUI.NET/Debugger/Controls/ctrlSpriteViewer.Designer.cs
generated
151
GUI.NET/Debugger/Controls/ctrlSpriteViewer.Designer.cs
generated
|
@ -64,6 +64,7 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.lblPaletteAddr = new System.Windows.Forms.Label();
|
||||
this.txtTileAddress = new System.Windows.Forms.TextBox();
|
||||
this.txtPaletteAddress = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.radCpuPage = new System.Windows.Forms.RadioButton();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
|
@ -97,7 +98,7 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tlpMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tlpMain.Size = new System.Drawing.Size(682, 527);
|
||||
this.tlpMain.Size = new System.Drawing.Size(682, 486);
|
||||
this.tlpMain.TabIndex = 3;
|
||||
//
|
||||
// tableLayoutPanel2
|
||||
|
@ -115,16 +116,16 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(416, 527);
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(416, 486);
|
||||
this.tableLayoutPanel2.TabIndex = 28;
|
||||
//
|
||||
// grpSpriteInfo
|
||||
//
|
||||
this.grpSpriteInfo.Controls.Add(this.tlpInfo);
|
||||
this.grpSpriteInfo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grpSpriteInfo.Location = new System.Drawing.Point(3, 28);
|
||||
this.grpSpriteInfo.Location = new System.Drawing.Point(3, 26);
|
||||
this.grpSpriteInfo.Name = "grpSpriteInfo";
|
||||
this.grpSpriteInfo.Size = new System.Drawing.Size(410, 496);
|
||||
this.grpSpriteInfo.Size = new System.Drawing.Size(410, 458);
|
||||
this.grpSpriteInfo.TabIndex = 4;
|
||||
this.grpSpriteInfo.TabStop = false;
|
||||
this.grpSpriteInfo.Text = "Sprite Info";
|
||||
|
@ -155,8 +156,9 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tlpInfo.Controls.Add(this.lblPaletteAddr, 2, 1);
|
||||
this.tlpInfo.Controls.Add(this.txtTileAddress, 3, 0);
|
||||
this.tlpInfo.Controls.Add(this.txtPaletteAddress, 3, 1);
|
||||
this.tlpInfo.Controls.Add(this.label2, 4, 3);
|
||||
this.tlpInfo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tlpInfo.Location = new System.Drawing.Point(3, 16);
|
||||
this.tlpInfo.Location = new System.Drawing.Point(3, 18);
|
||||
this.tlpInfo.Name = "tlpInfo";
|
||||
this.tlpInfo.RowCount = 7;
|
||||
this.tlpInfo.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
|
@ -166,26 +168,26 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tlpInfo.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tlpInfo.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tlpInfo.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tlpInfo.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tlpInfo.Size = new System.Drawing.Size(404, 477);
|
||||
this.tlpInfo.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 18F));
|
||||
this.tlpInfo.Size = new System.Drawing.Size(404, 437);
|
||||
this.tlpInfo.TabIndex = 0;
|
||||
//
|
||||
// txtSpriteIndex
|
||||
//
|
||||
this.txtSpriteIndex.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.txtSpriteIndex.Location = new System.Drawing.Point(75, 3);
|
||||
this.txtSpriteIndex.Location = new System.Drawing.Point(74, 3);
|
||||
this.txtSpriteIndex.Name = "txtSpriteIndex";
|
||||
this.txtSpriteIndex.ReadOnly = true;
|
||||
this.txtSpriteIndex.Size = new System.Drawing.Size(26, 20);
|
||||
this.txtSpriteIndex.Size = new System.Drawing.Size(26, 22);
|
||||
this.txtSpriteIndex.TabIndex = 23;
|
||||
//
|
||||
// lblSpriteIndex
|
||||
//
|
||||
this.lblSpriteIndex.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblSpriteIndex.AutoSize = true;
|
||||
this.lblSpriteIndex.Location = new System.Drawing.Point(3, 6);
|
||||
this.lblSpriteIndex.Location = new System.Drawing.Point(3, 8);
|
||||
this.lblSpriteIndex.Name = "lblSpriteIndex";
|
||||
this.lblSpriteIndex.Size = new System.Drawing.Size(66, 13);
|
||||
this.lblSpriteIndex.Size = new System.Drawing.Size(65, 12);
|
||||
this.lblSpriteIndex.TabIndex = 22;
|
||||
this.lblSpriteIndex.Text = "Sprite Index:";
|
||||
//
|
||||
|
@ -196,10 +198,10 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tlpInfo.SetColumnSpan(this.picPreview, 4);
|
||||
this.picPreview.ContextMenuStrip = this.ctxMenu;
|
||||
this.picPreview.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
|
||||
this.picPreview.Location = new System.Drawing.Point(76, 192);
|
||||
this.picPreview.Location = new System.Drawing.Point(75, 186);
|
||||
this.picPreview.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.picPreview.Name = "picPreview";
|
||||
this.picPreview.Size = new System.Drawing.Size(258, 242);
|
||||
this.picPreview.Size = new System.Drawing.Size(258, 224);
|
||||
this.picPreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.picPreview.TabIndex = 21;
|
||||
this.picPreview.TabStop = false;
|
||||
|
@ -220,14 +222,14 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.mnuCopyToClipboard,
|
||||
this.mnuExportToPng});
|
||||
this.ctxMenu.Name = "ctxMenu";
|
||||
this.ctxMenu.Size = new System.Drawing.Size(255, 148);
|
||||
this.ctxMenu.Size = new System.Drawing.Size(264, 148);
|
||||
this.ctxMenu.Opening += new System.ComponentModel.CancelEventHandler(this.ctxMenu_Opening);
|
||||
//
|
||||
// mnuEditInMemoryViewer
|
||||
//
|
||||
this.mnuEditInMemoryViewer.Image = global::Mesen.GUI.Properties.Resources.CheatCode;
|
||||
this.mnuEditInMemoryViewer.Name = "mnuEditInMemoryViewer";
|
||||
this.mnuEditInMemoryViewer.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuEditInMemoryViewer.Size = new System.Drawing.Size(263, 22);
|
||||
this.mnuEditInMemoryViewer.Text = "Edit in Memory Viewer";
|
||||
this.mnuEditInMemoryViewer.Click += new System.EventHandler(this.mnuEditInMemoryViewer_Click);
|
||||
//
|
||||
|
@ -236,39 +238,39 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.mnuShowInChrViewer.Image = global::Mesen.GUI.Properties.Resources.NextArrow;
|
||||
this.mnuShowInChrViewer.Name = "mnuShowInChrViewer";
|
||||
this.mnuShowInChrViewer.ShortcutKeyDisplayString = "Dbl-Click";
|
||||
this.mnuShowInChrViewer.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuShowInChrViewer.Size = new System.Drawing.Size(263, 22);
|
||||
this.mnuShowInChrViewer.Text = "View in CHR viewer";
|
||||
this.mnuShowInChrViewer.Click += new System.EventHandler(this.mnuShowInChrViewer_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(251, 6);
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(260, 6);
|
||||
//
|
||||
// mnuCopyHdPack
|
||||
//
|
||||
this.mnuCopyHdPack.Name = "mnuCopyHdPack";
|
||||
this.mnuCopyHdPack.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuCopyHdPack.Size = new System.Drawing.Size(263, 22);
|
||||
this.mnuCopyHdPack.Text = "Copy Tile (HD Pack Format)";
|
||||
this.mnuCopyHdPack.Click += new System.EventHandler(this.mnuCopyHdPack_Click);
|
||||
//
|
||||
// mnuCopyAllSpritesHdPack
|
||||
//
|
||||
this.mnuCopyAllSpritesHdPack.Name = "mnuCopyAllSpritesHdPack";
|
||||
this.mnuCopyAllSpritesHdPack.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuCopyAllSpritesHdPack.Size = new System.Drawing.Size(263, 22);
|
||||
this.mnuCopyAllSpritesHdPack.Text = "Copy All Sprites (HD Pack Format)";
|
||||
this.mnuCopyAllSpritesHdPack.Click += new System.EventHandler(this.mnuCopyAllSpritesHdPack_Click);
|
||||
//
|
||||
// toolStripMenuItem2
|
||||
//
|
||||
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(251, 6);
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(260, 6);
|
||||
//
|
||||
// mnuCopyToClipboard
|
||||
//
|
||||
this.mnuCopyToClipboard.Image = global::Mesen.GUI.Properties.Resources.Copy;
|
||||
this.mnuCopyToClipboard.Name = "mnuCopyToClipboard";
|
||||
this.mnuCopyToClipboard.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuCopyToClipboard.Size = new System.Drawing.Size(263, 22);
|
||||
this.mnuCopyToClipboard.Text = "Copy image to clipboard";
|
||||
this.mnuCopyToClipboard.Click += new System.EventHandler(this.mnuCopyToClipboard_Click);
|
||||
//
|
||||
|
@ -276,17 +278,17 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.mnuExportToPng.Image = global::Mesen.GUI.Properties.Resources.Export;
|
||||
this.mnuExportToPng.Name = "mnuExportToPng";
|
||||
this.mnuExportToPng.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuExportToPng.Size = new System.Drawing.Size(263, 22);
|
||||
this.mnuExportToPng.Text = "Export image to PNG";
|
||||
this.mnuExportToPng.Click += new System.EventHandler(this.mnuExportToPng_Click);
|
||||
//
|
||||
// lblScreenPreview
|
||||
//
|
||||
this.lblScreenPreview.AutoSize = true;
|
||||
this.lblScreenPreview.Location = new System.Drawing.Point(3, 193);
|
||||
this.lblScreenPreview.Location = new System.Drawing.Point(3, 187);
|
||||
this.lblScreenPreview.Margin = new System.Windows.Forms.Padding(3, 5, 3, 0);
|
||||
this.lblScreenPreview.Name = "lblScreenPreview";
|
||||
this.lblScreenPreview.Size = new System.Drawing.Size(48, 13);
|
||||
this.lblScreenPreview.Size = new System.Drawing.Size(45, 12);
|
||||
this.lblScreenPreview.TabIndex = 20;
|
||||
this.lblScreenPreview.Text = "Preview:";
|
||||
//
|
||||
|
@ -294,28 +296,28 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.lblTileIndex.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblTileIndex.AutoSize = true;
|
||||
this.lblTileIndex.Location = new System.Drawing.Point(3, 32);
|
||||
this.lblTileIndex.Location = new System.Drawing.Point(3, 36);
|
||||
this.lblTileIndex.Name = "lblTileIndex";
|
||||
this.lblTileIndex.Size = new System.Drawing.Size(56, 13);
|
||||
this.lblTileIndex.Size = new System.Drawing.Size(56, 12);
|
||||
this.lblTileIndex.TabIndex = 0;
|
||||
this.lblTileIndex.Text = "Tile Index:";
|
||||
//
|
||||
// txtTileIndex
|
||||
//
|
||||
this.txtTileIndex.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.txtTileIndex.Location = new System.Drawing.Point(75, 29);
|
||||
this.txtTileIndex.Location = new System.Drawing.Point(74, 31);
|
||||
this.txtTileIndex.Name = "txtTileIndex";
|
||||
this.txtTileIndex.ReadOnly = true;
|
||||
this.txtTileIndex.Size = new System.Drawing.Size(26, 20);
|
||||
this.txtTileIndex.Size = new System.Drawing.Size(26, 22);
|
||||
this.txtTileIndex.TabIndex = 7;
|
||||
//
|
||||
// lblTile
|
||||
//
|
||||
this.lblTile.AutoSize = true;
|
||||
this.lblTile.Location = new System.Drawing.Point(3, 57);
|
||||
this.lblTile.Location = new System.Drawing.Point(3, 61);
|
||||
this.lblTile.Margin = new System.Windows.Forms.Padding(3, 5, 3, 0);
|
||||
this.lblTile.Name = "lblTile";
|
||||
this.lblTile.Size = new System.Drawing.Size(27, 13);
|
||||
this.lblTile.Size = new System.Drawing.Size(26, 12);
|
||||
this.lblTile.TabIndex = 6;
|
||||
this.lblTile.Text = "Tile:";
|
||||
//
|
||||
|
@ -323,10 +325,10 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.picTile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.picTile.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.picTile.Location = new System.Drawing.Point(75, 55);
|
||||
this.picTile.Location = new System.Drawing.Point(74, 59);
|
||||
this.picTile.Name = "picTile";
|
||||
this.tlpInfo.SetRowSpan(this.picTile, 3);
|
||||
this.picTile.Size = new System.Drawing.Size(66, 130);
|
||||
this.picTile.Size = new System.Drawing.Size(66, 120);
|
||||
this.picTile.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.picTile.TabIndex = 12;
|
||||
this.picTile.TabStop = false;
|
||||
|
@ -335,9 +337,9 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.chkDisplaySpriteOutlines.AutoSize = true;
|
||||
this.tlpInfo.SetColumnSpan(this.chkDisplaySpriteOutlines, 4);
|
||||
this.chkDisplaySpriteOutlines.Location = new System.Drawing.Point(3, 441);
|
||||
this.chkDisplaySpriteOutlines.Location = new System.Drawing.Point(3, 417);
|
||||
this.chkDisplaySpriteOutlines.Name = "chkDisplaySpriteOutlines";
|
||||
this.chkDisplaySpriteOutlines.Size = new System.Drawing.Size(227, 17);
|
||||
this.chkDisplaySpriteOutlines.Size = new System.Drawing.Size(228, 16);
|
||||
this.chkDisplaySpriteOutlines.TabIndex = 27;
|
||||
this.chkDisplaySpriteOutlines.Text = "Display outline around all sprites in preview";
|
||||
this.chkDisplaySpriteOutlines.UseVisualStyleBackColor = true;
|
||||
|
@ -353,7 +355,7 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tableLayoutPanel1.Controls.Add(this.chkHorizontalMirroring, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.chkVerticalMirroring, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.chkBackgroundPriority, 0, 2);
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(144, 118);
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(143, 121);
|
||||
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.Padding = new System.Windows.Forms.Padding(3);
|
||||
|
@ -361,7 +363,7 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(130, 57);
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(132, 54);
|
||||
this.tableLayoutPanel1.TabIndex = 24;
|
||||
//
|
||||
// chkHorizontalMirroring
|
||||
|
@ -371,7 +373,7 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.chkHorizontalMirroring.Location = new System.Drawing.Point(6, 3);
|
||||
this.chkHorizontalMirroring.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0);
|
||||
this.chkHorizontalMirroring.Name = "chkHorizontalMirroring";
|
||||
this.chkHorizontalMirroring.Size = new System.Drawing.Size(89, 17);
|
||||
this.chkHorizontalMirroring.Size = new System.Drawing.Size(92, 16);
|
||||
this.chkHorizontalMirroring.TabIndex = 13;
|
||||
this.chkHorizontalMirroring.Text = "Horizontal flip";
|
||||
this.chkHorizontalMirroring.UseVisualStyleBackColor = true;
|
||||
|
@ -380,10 +382,10 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.chkVerticalMirroring.AutoCheck = false;
|
||||
this.chkVerticalMirroring.AutoSize = true;
|
||||
this.chkVerticalMirroring.Location = new System.Drawing.Point(6, 20);
|
||||
this.chkVerticalMirroring.Location = new System.Drawing.Point(6, 19);
|
||||
this.chkVerticalMirroring.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0);
|
||||
this.chkVerticalMirroring.Name = "chkVerticalMirroring";
|
||||
this.chkVerticalMirroring.Size = new System.Drawing.Size(77, 17);
|
||||
this.chkVerticalMirroring.Size = new System.Drawing.Size(79, 16);
|
||||
this.chkVerticalMirroring.TabIndex = 14;
|
||||
this.chkVerticalMirroring.Text = "Vertical flip";
|
||||
this.chkVerticalMirroring.UseVisualStyleBackColor = true;
|
||||
|
@ -392,10 +394,10 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.chkBackgroundPriority.AutoCheck = false;
|
||||
this.chkBackgroundPriority.AutoSize = true;
|
||||
this.chkBackgroundPriority.Location = new System.Drawing.Point(6, 37);
|
||||
this.chkBackgroundPriority.Location = new System.Drawing.Point(6, 35);
|
||||
this.chkBackgroundPriority.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0);
|
||||
this.chkBackgroundPriority.Name = "chkBackgroundPriority";
|
||||
this.chkBackgroundPriority.Size = new System.Drawing.Size(118, 17);
|
||||
this.chkBackgroundPriority.Size = new System.Drawing.Size(120, 16);
|
||||
this.chkBackgroundPriority.TabIndex = 19;
|
||||
this.chkBackgroundPriority.Text = "Background Priority";
|
||||
this.chkBackgroundPriority.UseVisualStyleBackColor = true;
|
||||
|
@ -404,9 +406,9 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.lblPosition.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblPosition.AutoSize = true;
|
||||
this.lblPosition.Location = new System.Drawing.Point(147, 98);
|
||||
this.lblPosition.Location = new System.Drawing.Point(146, 101);
|
||||
this.lblPosition.Name = "lblPosition";
|
||||
this.lblPosition.Size = new System.Drawing.Size(73, 13);
|
||||
this.lblPosition.Size = new System.Drawing.Size(75, 12);
|
||||
this.lblPosition.TabIndex = 16;
|
||||
this.lblPosition.Text = "Position (X,Y):";
|
||||
//
|
||||
|
@ -414,20 +416,20 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.lblPalette.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblPalette.AutoSize = true;
|
||||
this.lblPalette.Location = new System.Drawing.Point(147, 68);
|
||||
this.lblPalette.Location = new System.Drawing.Point(146, 71);
|
||||
this.lblPalette.Margin = new System.Windows.Forms.Padding(3, 5, 3, 0);
|
||||
this.lblPalette.Name = "lblPalette";
|
||||
this.lblPalette.Size = new System.Drawing.Size(43, 13);
|
||||
this.lblPalette.Size = new System.Drawing.Size(38, 12);
|
||||
this.lblPalette.TabIndex = 26;
|
||||
this.lblPalette.Text = "Palette:";
|
||||
//
|
||||
// txtPosition
|
||||
//
|
||||
this.txtPosition.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.txtPosition.Location = new System.Drawing.Point(237, 95);
|
||||
this.txtPosition.Location = new System.Drawing.Point(230, 96);
|
||||
this.txtPosition.Name = "txtPosition";
|
||||
this.txtPosition.ReadOnly = true;
|
||||
this.txtPosition.Size = new System.Drawing.Size(66, 20);
|
||||
this.txtPosition.Size = new System.Drawing.Size(66, 22);
|
||||
this.txtPosition.TabIndex = 18;
|
||||
//
|
||||
// ctrlTilePalette
|
||||
|
@ -436,18 +438,18 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tlpInfo.SetColumnSpan(this.ctrlTilePalette, 2);
|
||||
this.ctrlTilePalette.DisplayIndexes = false;
|
||||
this.ctrlTilePalette.HighlightMouseOver = false;
|
||||
this.ctrlTilePalette.Location = new System.Drawing.Point(237, 55);
|
||||
this.ctrlTilePalette.Location = new System.Drawing.Point(230, 59);
|
||||
this.ctrlTilePalette.Name = "ctrlTilePalette";
|
||||
this.ctrlTilePalette.Size = new System.Drawing.Size(130, 34);
|
||||
this.ctrlTilePalette.Size = new System.Drawing.Size(130, 31);
|
||||
this.ctrlTilePalette.TabIndex = 25;
|
||||
//
|
||||
// lblTileAddress
|
||||
//
|
||||
this.lblTileAddress.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblTileAddress.AutoSize = true;
|
||||
this.lblTileAddress.Location = new System.Drawing.Point(147, 6);
|
||||
this.lblTileAddress.Location = new System.Drawing.Point(146, 8);
|
||||
this.lblTileAddress.Name = "lblTileAddress";
|
||||
this.lblTileAddress.Size = new System.Drawing.Size(68, 13);
|
||||
this.lblTileAddress.Size = new System.Drawing.Size(66, 12);
|
||||
this.lblTileAddress.TabIndex = 1;
|
||||
this.lblTileAddress.Text = "Tile Address:";
|
||||
//
|
||||
|
@ -455,30 +457,40 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.lblPaletteAddr.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblPaletteAddr.AutoSize = true;
|
||||
this.lblPaletteAddr.Location = new System.Drawing.Point(147, 32);
|
||||
this.lblPaletteAddr.Location = new System.Drawing.Point(146, 36);
|
||||
this.lblPaletteAddr.Name = "lblPaletteAddr";
|
||||
this.lblPaletteAddr.Size = new System.Drawing.Size(84, 13);
|
||||
this.lblPaletteAddr.Size = new System.Drawing.Size(78, 12);
|
||||
this.lblPaletteAddr.TabIndex = 15;
|
||||
this.lblPaletteAddr.Text = "Palette Address:";
|
||||
//
|
||||
// txtTileAddress
|
||||
//
|
||||
this.txtTileAddress.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.txtTileAddress.Location = new System.Drawing.Point(237, 3);
|
||||
this.txtTileAddress.Location = new System.Drawing.Point(230, 3);
|
||||
this.txtTileAddress.Name = "txtTileAddress";
|
||||
this.txtTileAddress.ReadOnly = true;
|
||||
this.txtTileAddress.Size = new System.Drawing.Size(42, 20);
|
||||
this.txtTileAddress.Size = new System.Drawing.Size(42, 22);
|
||||
this.txtTileAddress.TabIndex = 8;
|
||||
//
|
||||
// txtPaletteAddress
|
||||
//
|
||||
this.txtPaletteAddress.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.txtPaletteAddress.Location = new System.Drawing.Point(237, 29);
|
||||
this.txtPaletteAddress.Location = new System.Drawing.Point(230, 31);
|
||||
this.txtPaletteAddress.Name = "txtPaletteAddress";
|
||||
this.txtPaletteAddress.ReadOnly = true;
|
||||
this.txtPaletteAddress.Size = new System.Drawing.Size(42, 20);
|
||||
this.txtPaletteAddress.Size = new System.Drawing.Size(42, 22);
|
||||
this.txtPaletteAddress.TabIndex = 17;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(302, 101);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(88, 12);
|
||||
this.label2.TabIndex = 28;
|
||||
this.label2.Text = "(Y = OAM[0] +1)";
|
||||
//
|
||||
// tableLayoutPanel3
|
||||
//
|
||||
this.tableLayoutPanel3.ColumnCount = 5;
|
||||
|
@ -497,15 +509,15 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
|
||||
this.tableLayoutPanel3.RowCount = 1;
|
||||
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel3.Size = new System.Drawing.Size(416, 25);
|
||||
this.tableLayoutPanel3.Size = new System.Drawing.Size(416, 23);
|
||||
this.tableLayoutPanel3.TabIndex = 5;
|
||||
//
|
||||
// radCpuPage
|
||||
//
|
||||
this.radCpuPage.AutoSize = true;
|
||||
this.radCpuPage.Location = new System.Drawing.Point(164, 3);
|
||||
this.radCpuPage.Location = new System.Drawing.Point(158, 3);
|
||||
this.radCpuPage.Name = "radCpuPage";
|
||||
this.radCpuPage.Size = new System.Drawing.Size(85, 17);
|
||||
this.radCpuPage.Size = new System.Drawing.Size(79, 16);
|
||||
this.radCpuPage.TabIndex = 2;
|
||||
this.radCpuPage.Text = "CPU Page #";
|
||||
this.radCpuPage.UseVisualStyleBackColor = true;
|
||||
|
@ -514,9 +526,9 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.label1.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(3, 6);
|
||||
this.label1.Location = new System.Drawing.Point(3, 5);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(70, 13);
|
||||
this.label1.Size = new System.Drawing.Size(64, 12);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Data Source:";
|
||||
//
|
||||
|
@ -524,9 +536,9 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
this.radSpriteRam.AutoSize = true;
|
||||
this.radSpriteRam.Checked = true;
|
||||
this.radSpriteRam.Location = new System.Drawing.Point(79, 3);
|
||||
this.radSpriteRam.Location = new System.Drawing.Point(73, 3);
|
||||
this.radSpriteRam.Name = "radSpriteRam";
|
||||
this.radSpriteRam.Size = new System.Drawing.Size(79, 17);
|
||||
this.radSpriteRam.Size = new System.Drawing.Size(79, 16);
|
||||
this.radSpriteRam.TabIndex = 1;
|
||||
this.radSpriteRam.TabStop = true;
|
||||
this.radSpriteRam.Text = "Sprite RAM";
|
||||
|
@ -535,14 +547,14 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
// nudCpuPage
|
||||
//
|
||||
this.nudCpuPage.Hexadecimal = true;
|
||||
this.nudCpuPage.Location = new System.Drawing.Point(255, 3);
|
||||
this.nudCpuPage.Location = new System.Drawing.Point(243, 3);
|
||||
this.nudCpuPage.Maximum = new decimal(new int[] {
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudCpuPage.Name = "nudCpuPage";
|
||||
this.nudCpuPage.Size = new System.Drawing.Size(42, 20);
|
||||
this.nudCpuPage.Size = new System.Drawing.Size(42, 22);
|
||||
this.nudCpuPage.TabIndex = 3;
|
||||
this.nudCpuPage.Click += new System.EventHandler(this.nudCpuPage_Click);
|
||||
//
|
||||
|
@ -555,7 +567,7 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
this.picSprites.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.picSprites.Name = "picSprites";
|
||||
this.tlpMain.SetRowSpan(this.picSprites, 2);
|
||||
this.picSprites.Size = new System.Drawing.Size(258, 514);
|
||||
this.picSprites.Size = new System.Drawing.Size(258, 475);
|
||||
this.picSprites.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.picSprites.TabIndex = 0;
|
||||
this.picSprites.TabStop = false;
|
||||
|
@ -566,11 +578,11 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
//
|
||||
// ctrlSpriteViewer
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tlpMain);
|
||||
this.Name = "ctrlSpriteViewer";
|
||||
this.Size = new System.Drawing.Size(682, 527);
|
||||
this.Size = new System.Drawing.Size(682, 486);
|
||||
this.tlpMain.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
this.grpSpriteInfo.ResumeLayout(false);
|
||||
|
@ -631,5 +643,6 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.RadioButton radSpriteRam;
|
||||
private System.Windows.Forms.NumericUpDown nudCpuPage;
|
||||
private System.Windows.Forms.Label label2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -319,7 +319,7 @@ namespace Mesen.GUI.Debugger.Controls
|
|||
_forceRefresh = false;
|
||||
_selectedSprite = ramAddr / 4;
|
||||
|
||||
int spriteY = _spriteRam[ramAddr];
|
||||
int spriteY = _spriteRam[ramAddr] + 1;
|
||||
int tileIndex = _spriteRam[ramAddr + 1];
|
||||
int attributes = _spriteRam[ramAddr + 2];
|
||||
int spriteX = _spriteRam[ramAddr + 3];
|
||||
|
|
403
GUI.NET/Debugger/frmDebugger.Designer.cs
generated
403
GUI.NET/Debugger/frmDebugger.Designer.cs
generated
File diff suppressed because it is too large
Load diff
|
@ -108,6 +108,7 @@ namespace Mesen.GUI.Debugger
|
|||
this.mnuBreakOnPlay.Checked = ConfigManager.Config.DebugInfo.BreakOnPlay;
|
||||
this.mnuBreakOnOpen.Checked = ConfigManager.Config.DebugInfo.BreakOnOpen;
|
||||
this.mnuBreakOnUnofficialOpcodes.Checked = ConfigManager.Config.DebugInfo.BreakOnUnofficialOpcodes;
|
||||
this.mnuBreakOnUnlogged.Checked = ConfigManager.Config.DebugInfo.BreakOnUnlogged;
|
||||
this.mnuBreakOnBrk.Checked = ConfigManager.Config.DebugInfo.BreakOnBrk;
|
||||
this.mnuBreakOnUninitMemoryRead.Checked = ConfigManager.Config.DebugInfo.BreakOnUninitMemoryRead;
|
||||
this.mnuBreakOnBusConflict.Checked = ConfigManager.Config.DebugInfo.BreakOnBusConflict;
|
||||
|
@ -426,6 +427,7 @@ namespace Mesen.GUI.Debugger
|
|||
SetFlag(DebuggerFlags.ShowVerifiedData, config.ShowVerifiedData);
|
||||
SetFlag(DebuggerFlags.ShowUnidentifiedData, config.ShowUnidentifiedData);
|
||||
SetFlag(DebuggerFlags.BreakOnUnofficialOpCode, config.BreakOnUnofficialOpcodes);
|
||||
SetFlag(DebuggerFlags.BreakOnUnlogged, config.BreakOnUnlogged);
|
||||
SetFlag(DebuggerFlags.BreakOnBrk, config.BreakOnBrk);
|
||||
SetFlag(DebuggerFlags.BreakOnUninitMemoryRead, config.BreakOnUninitMemoryRead);
|
||||
SetFlag(DebuggerFlags.BreakOnDecayedOamRead, config.BreakOnDecayedOamRead);
|
||||
|
@ -1178,6 +1180,13 @@ namespace Mesen.GUI.Debugger
|
|||
UpdateDebuggerFlags();
|
||||
}
|
||||
|
||||
private void mnuBreakOnUnlogged_Click(object sender, EventArgs e)
|
||||
{
|
||||
ConfigManager.Config.DebugInfo.BreakOnUnlogged = mnuBreakOnUnlogged.Checked;
|
||||
ConfigManager.ApplyChanges();
|
||||
UpdateDebuggerFlags();
|
||||
}
|
||||
|
||||
private void mnuBreakOnBrk_Click(object sender, EventArgs e)
|
||||
{
|
||||
ConfigManager.Config.DebugInfo.BreakOnBrk = mnuBreakOnBrk.Checked;
|
||||
|
|
|
@ -121,12 +121,12 @@
|
|||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>107, 17</value>
|
||||
<value>110, 17</value>
|
||||
</metadata>
|
||||
<metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>215, 17</value>
|
||||
<value>222, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>324, 17</value>
|
||||
<value>335, 17</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -244,7 +244,8 @@
|
|||
<Control ID="chkUseHdPacks">Fes servir els paquets d'alta resolució d'HDNes</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Fes servir el mode de pantalla completa exclusiva</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Requested Refresh Rate:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Requested Refresh Rate NTSC:</Control>
|
||||
<Control ID="lblRequestedRefreshRate2">PAL / Dendy:</Control>
|
||||
<Control ID="tpgOverscan">Sobreescaneig</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
<Control ID="tpgOverscanGameSpecific">Game-Specific</Control>
|
||||
|
|
|
@ -244,7 +244,8 @@
|
|||
<Control ID="chkUseHdPacks">Use HDNes HD packs</Control>
|
||||
<Control ID="chkUseExclusiveFullscreen">Use exclusive fullscreen mode</Control>
|
||||
<Control ID="lblFullscreenResolution">Fullscreen Resolution:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Requested Refresh Rate:</Control>
|
||||
<Control ID="lblRequestedRefreshRate">Requested Refresh Rate NTSC:</Control>
|
||||
<Control ID="lblRequestedRefreshRate2">PAL / Dendy:</Control>
|
||||
<Control ID="tpgOverscan">Overscan</Control>
|
||||
<Control ID="tpgOverscanGlobal">Global</Control>
|
||||
<Control ID="tpgOverscanGameSpecific">Game-Specific</Control>
|
||||
|
@ -1361,6 +1362,7 @@
|
|||
<Value ID="PpuStep">PPU Step</Value>
|
||||
<Value ID="BreakOnBrk">BRK</Value>
|
||||
<Value ID="BreakOnUnofficialOpCode">Unofficial OP code</Value>
|
||||
<Value ID="BreakOnUnlogged">Unlogged code</Value>
|
||||
<Value ID="BreakOnReset">Reset event</Value>
|
||||
<Value ID="BreakOnFocus">Debugger focused</Value>
|
||||
<Value ID="BreakOnUninitMemoryRead">Uninitialized memory read</Value>
|
||||
|
|
74
GUI.NET/Forms/Config/frmVideoConfig.Designer.cs
generated
74
GUI.NET/Forms/Config/frmVideoConfig.Designer.cs
generated
|
@ -53,6 +53,8 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.flpRefreshRate = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.lblRequestedRefreshRate = new System.Windows.Forms.Label();
|
||||
this.cboRefreshRate = new System.Windows.Forms.ComboBox();
|
||||
this.lblRequestedRefreshRate2 = new System.Windows.Forms.Label();
|
||||
this.cboRefreshRate2 = new System.Windows.Forms.ComboBox();
|
||||
this.tabMain = new System.Windows.Forms.TabControl();
|
||||
this.tpgGeneral = new System.Windows.Forms.TabPage();
|
||||
this.tpgPicture = new System.Windows.Forms.TabPage();
|
||||
|
@ -384,6 +386,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudScale.IsHex = false;
|
||||
this.nudScale.Location = new System.Drawing.Point(77, 0);
|
||||
this.nudScale.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudScale.Maximum = new decimal(new int[] {
|
||||
|
@ -455,6 +458,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
65536});
|
||||
this.nudCustomRatio.IsHex = false;
|
||||
this.nudCustomRatio.Location = new System.Drawing.Point(285, 3);
|
||||
this.nudCustomRatio.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudCustomRatio.Maximum = new decimal(new int[] {
|
||||
|
@ -520,6 +524,8 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.tlpMain.SetColumnSpan(this.flpRefreshRate, 2);
|
||||
this.flpRefreshRate.Controls.Add(this.lblRequestedRefreshRate);
|
||||
this.flpRefreshRate.Controls.Add(this.cboRefreshRate);
|
||||
this.flpRefreshRate.Controls.Add(this.lblRequestedRefreshRate2);
|
||||
this.flpRefreshRate.Controls.Add(this.cboRefreshRate2);
|
||||
this.flpRefreshRate.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flpRefreshRate.Location = new System.Drawing.Point(30, 143);
|
||||
this.flpRefreshRate.Margin = new System.Windows.Forms.Padding(30, 0, 0, 0);
|
||||
|
@ -534,19 +540,38 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.lblRequestedRefreshRate.AutoSize = true;
|
||||
this.lblRequestedRefreshRate.Location = new System.Drawing.Point(3, 7);
|
||||
this.lblRequestedRefreshRate.Name = "lblRequestedRefreshRate";
|
||||
this.lblRequestedRefreshRate.Size = new System.Drawing.Size(128, 13);
|
||||
this.lblRequestedRefreshRate.Size = new System.Drawing.Size(160, 13);
|
||||
this.lblRequestedRefreshRate.TabIndex = 17;
|
||||
this.lblRequestedRefreshRate.Text = "Requested Refresh Rate:";
|
||||
this.lblRequestedRefreshRate.Text = "Requested Refresh Rate NTSC:";
|
||||
//
|
||||
// cboRefreshRate
|
||||
//
|
||||
this.cboRefreshRate.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cboRefreshRate.FormattingEnabled = true;
|
||||
this.cboRefreshRate.Location = new System.Drawing.Point(137, 3);
|
||||
this.cboRefreshRate.Location = new System.Drawing.Point(169, 3);
|
||||
this.cboRefreshRate.Name = "cboRefreshRate";
|
||||
this.cboRefreshRate.Size = new System.Drawing.Size(68, 21);
|
||||
this.cboRefreshRate.TabIndex = 25;
|
||||
//
|
||||
// lblRequestedRefreshRate2
|
||||
//
|
||||
this.lblRequestedRefreshRate2.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.lblRequestedRefreshRate2.AutoSize = true;
|
||||
this.lblRequestedRefreshRate2.Location = new System.Drawing.Point(243, 7);
|
||||
this.lblRequestedRefreshRate2.Name = "lblRequestedRefreshRate2";
|
||||
this.lblRequestedRefreshRate2.Size = new System.Drawing.Size(72, 13);
|
||||
this.lblRequestedRefreshRate2.TabIndex = 26;
|
||||
this.lblRequestedRefreshRate2.Text = "PAL / Dendy:";
|
||||
//
|
||||
// cboRefreshRate2
|
||||
//
|
||||
this.cboRefreshRate2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cboRefreshRate2.FormattingEnabled = true;
|
||||
this.cboRefreshRate2.Location = new System.Drawing.Point(321, 3);
|
||||
this.cboRefreshRate2.Name = "cboRefreshRate2";
|
||||
this.cboRefreshRate2.Size = new System.Drawing.Size(68, 21);
|
||||
this.cboRefreshRate2.TabIndex = 27;
|
||||
//
|
||||
// tabMain
|
||||
//
|
||||
this.tabMain.Controls.Add(this.tpgGeneral);
|
||||
|
@ -1149,6 +1174,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudOverscanTop.IsHex = false;
|
||||
this.nudOverscanTop.Location = new System.Drawing.Point(110, 37);
|
||||
this.nudOverscanTop.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudOverscanTop.Maximum = new decimal(new int[] {
|
||||
|
@ -1208,6 +1234,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudOverscanBottom.IsHex = false;
|
||||
this.nudOverscanBottom.Location = new System.Drawing.Point(110, 13);
|
||||
this.nudOverscanBottom.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudOverscanBottom.Maximum = new decimal(new int[] {
|
||||
|
@ -1271,6 +1298,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudOverscanRight.IsHex = false;
|
||||
this.nudOverscanRight.Location = new System.Drawing.Point(0, 119);
|
||||
this.nudOverscanRight.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudOverscanRight.Maximum = new decimal(new int[] {
|
||||
|
@ -1334,6 +1362,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudOverscanLeft.IsHex = false;
|
||||
this.nudOverscanLeft.Location = new System.Drawing.Point(81, 119);
|
||||
this.nudOverscanLeft.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudOverscanLeft.Maximum = new decimal(new int[] {
|
||||
|
@ -1449,6 +1478,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudGameSpecificOverscanTop.IsHex = false;
|
||||
this.nudGameSpecificOverscanTop.Location = new System.Drawing.Point(110, 27);
|
||||
this.nudGameSpecificOverscanTop.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudGameSpecificOverscanTop.Maximum = new decimal(new int[] {
|
||||
|
@ -1507,6 +1537,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudGameSpecificOverscanBottom.IsHex = false;
|
||||
this.nudGameSpecificOverscanBottom.Location = new System.Drawing.Point(110, 13);
|
||||
this.nudGameSpecificOverscanBottom.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudGameSpecificOverscanBottom.Maximum = new decimal(new int[] {
|
||||
|
@ -1569,6 +1600,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudGameSpecificOverscanRight.IsHex = false;
|
||||
this.nudGameSpecificOverscanRight.Location = new System.Drawing.Point(0, 119);
|
||||
this.nudGameSpecificOverscanRight.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudGameSpecificOverscanRight.Maximum = new decimal(new int[] {
|
||||
|
@ -1631,6 +1663,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudGameSpecificOverscanLeft.IsHex = false;
|
||||
this.nudGameSpecificOverscanLeft.Location = new System.Drawing.Point(78, 119);
|
||||
this.nudGameSpecificOverscanLeft.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.nudGameSpecificOverscanLeft.Maximum = new decimal(new int[] {
|
||||
|
@ -1943,33 +1976,33 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.mnuPresetRgb,
|
||||
this.mnuPresetMonochrome});
|
||||
this.contextPicturePresets.Name = "contextPicturePresets";
|
||||
this.contextPicturePresets.Size = new System.Drawing.Size(148, 92);
|
||||
this.contextPicturePresets.Size = new System.Drawing.Size(153, 92);
|
||||
//
|
||||
// mnuPresetComposite
|
||||
//
|
||||
this.mnuPresetComposite.Name = "mnuPresetComposite";
|
||||
this.mnuPresetComposite.Size = new System.Drawing.Size(147, 22);
|
||||
this.mnuPresetComposite.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuPresetComposite.Text = "Composite";
|
||||
this.mnuPresetComposite.Click += new System.EventHandler(this.mnuPresetComposite_Click);
|
||||
//
|
||||
// mnuPresetSVideo
|
||||
//
|
||||
this.mnuPresetSVideo.Name = "mnuPresetSVideo";
|
||||
this.mnuPresetSVideo.Size = new System.Drawing.Size(147, 22);
|
||||
this.mnuPresetSVideo.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuPresetSVideo.Text = "S-Video";
|
||||
this.mnuPresetSVideo.Click += new System.EventHandler(this.mnuPresetSVideo_Click);
|
||||
//
|
||||
// mnuPresetRgb
|
||||
//
|
||||
this.mnuPresetRgb.Name = "mnuPresetRgb";
|
||||
this.mnuPresetRgb.Size = new System.Drawing.Size(147, 22);
|
||||
this.mnuPresetRgb.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuPresetRgb.Text = "RGB";
|
||||
this.mnuPresetRgb.Click += new System.EventHandler(this.mnuPresetRgb_Click);
|
||||
//
|
||||
// mnuPresetMonochrome
|
||||
//
|
||||
this.mnuPresetMonochrome.Name = "mnuPresetMonochrome";
|
||||
this.mnuPresetMonochrome.Size = new System.Drawing.Size(147, 22);
|
||||
this.mnuPresetMonochrome.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuPresetMonochrome.Text = "Monochrome";
|
||||
this.mnuPresetMonochrome.Click += new System.EventHandler(this.mnuPresetMonochrome_Click);
|
||||
//
|
||||
|
@ -1987,74 +2020,74 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.mnuPaletteUnsaturated,
|
||||
this.mnuPaletteYuv});
|
||||
this.contextPaletteList.Name = "contextPicturePresets";
|
||||
this.contextPaletteList.Size = new System.Drawing.Size(255, 208);
|
||||
this.contextPaletteList.Size = new System.Drawing.Size(268, 208);
|
||||
this.contextPaletteList.Opening += new System.ComponentModel.CancelEventHandler(this.contextPaletteList_Opening);
|
||||
//
|
||||
// mnuDefaultPalette
|
||||
//
|
||||
this.mnuDefaultPalette.Name = "mnuDefaultPalette";
|
||||
this.mnuDefaultPalette.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuDefaultPalette.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuDefaultPalette.Text = "Default (NTSC)";
|
||||
this.mnuDefaultPalette.Click += new System.EventHandler(this.mnuDefaultPalette_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(251, 6);
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(264, 6);
|
||||
//
|
||||
// mnuPaletteCompositeDirect
|
||||
//
|
||||
this.mnuPaletteCompositeDirect.Name = "mnuPaletteCompositeDirect";
|
||||
this.mnuPaletteCompositeDirect.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPaletteCompositeDirect.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPaletteCompositeDirect.Text = "Composite Direct (by FirebrandX)";
|
||||
this.mnuPaletteCompositeDirect.Click += new System.EventHandler(this.mnuPaletteCompositeDirect_Click);
|
||||
//
|
||||
// mnuPaletteNesClassic
|
||||
//
|
||||
this.mnuPaletteNesClassic.Name = "mnuPaletteNesClassic";
|
||||
this.mnuPaletteNesClassic.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPaletteNesClassic.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPaletteNesClassic.Text = "NES Classic (by FirebrandX)";
|
||||
this.mnuPaletteNesClassic.Click += new System.EventHandler(this.mnuPaletteNesClassic_Click);
|
||||
//
|
||||
// mnuPaletteNestopiaRgb
|
||||
//
|
||||
this.mnuPaletteNestopiaRgb.Name = "mnuPaletteNestopiaRgb";
|
||||
this.mnuPaletteNestopiaRgb.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPaletteNestopiaRgb.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPaletteNestopiaRgb.Text = "Nestopia (RGB)";
|
||||
this.mnuPaletteNestopiaRgb.Click += new System.EventHandler(this.mnuPaletteNestopiaRgb_Click);
|
||||
//
|
||||
// mnuPaletteOriginalHardware
|
||||
//
|
||||
this.mnuPaletteOriginalHardware.Name = "mnuPaletteOriginalHardware";
|
||||
this.mnuPaletteOriginalHardware.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPaletteOriginalHardware.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPaletteOriginalHardware.Text = "Original Hardware (by FirebrandX)";
|
||||
this.mnuPaletteOriginalHardware.Click += new System.EventHandler(this.mnuPaletteOriginalHardware_Click);
|
||||
//
|
||||
// mnuPalettePvmStyle
|
||||
//
|
||||
this.mnuPalettePvmStyle.Name = "mnuPalettePvmStyle";
|
||||
this.mnuPalettePvmStyle.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPalettePvmStyle.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPalettePvmStyle.Text = "PVM Style (by FirebrandX)";
|
||||
this.mnuPalettePvmStyle.Click += new System.EventHandler(this.mnuPalettePvmStyle_Click);
|
||||
//
|
||||
// mnuPaletteSonyCxa2025As
|
||||
//
|
||||
this.mnuPaletteSonyCxa2025As.Name = "mnuPaletteSonyCxa2025As";
|
||||
this.mnuPaletteSonyCxa2025As.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPaletteSonyCxa2025As.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPaletteSonyCxa2025As.Text = "Sony CXA2025AS";
|
||||
this.mnuPaletteSonyCxa2025As.Click += new System.EventHandler(this.mnuPaletteSonyCxa2025As_Click);
|
||||
//
|
||||
// mnuPaletteUnsaturated
|
||||
//
|
||||
this.mnuPaletteUnsaturated.Name = "mnuPaletteUnsaturated";
|
||||
this.mnuPaletteUnsaturated.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPaletteUnsaturated.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPaletteUnsaturated.Text = "Unsaturated v6 (by FirebrandX)";
|
||||
this.mnuPaletteUnsaturated.Click += new System.EventHandler(this.mnuPaletteUnsaturated_Click);
|
||||
//
|
||||
// mnuPaletteYuv
|
||||
//
|
||||
this.mnuPaletteYuv.Name = "mnuPaletteYuv";
|
||||
this.mnuPaletteYuv.Size = new System.Drawing.Size(254, 22);
|
||||
this.mnuPaletteYuv.Size = new System.Drawing.Size(267, 22);
|
||||
this.mnuPaletteYuv.Text = "YUV v3 (by FirebrandX)";
|
||||
this.mnuPaletteYuv.Click += new System.EventHandler(this.mnuPaletteYuv_Click);
|
||||
//
|
||||
|
@ -2064,6 +2097,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(535, 457);
|
||||
this.Controls.Add(this.tabMain);
|
||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
|
@ -2269,5 +2303,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
private System.Windows.Forms.FlowLayoutPanel flpResolution;
|
||||
private System.Windows.Forms.Label lblFullscreenResolution;
|
||||
private System.Windows.Forms.ComboBox cboFullscreenResolution;
|
||||
private System.Windows.Forms.Label lblRequestedRefreshRate2;
|
||||
private System.Windows.Forms.ComboBox cboRefreshRate2;
|
||||
}
|
||||
}
|
|
@ -36,6 +36,7 @@ namespace Mesen.GUI.Forms.Config
|
|||
AddBinding("FullscreenForceIntegerScale", chkFullscreenForceIntegerScale);
|
||||
AddBinding("UseExclusiveFullscreen", chkUseExclusiveFullscreen);
|
||||
AddBinding("ExclusiveFullscreenRefreshRate", cboRefreshRate);
|
||||
AddBinding("ExclusiveFullscreenRefreshRate2", cboRefreshRate2);
|
||||
|
||||
AddBinding("VideoScale", nudScale);
|
||||
AddBinding("AspectRatio", cboAspectRatio);
|
||||
|
|
|
@ -121,14 +121,14 @@
|
|||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>537, 17</value>
|
||||
<value>561, 17</value>
|
||||
</metadata>
|
||||
<data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACs
|
||||
BQAAAk1TRnQBSQFMAwEBAAFIAQABSAEAARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA
|
||||
BQAAAk1TRnQBSQFMAwEBAAFYAQABWAEAARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMA
|
||||
ARADAAEBAQABGAYAAQweAAH5AvgB1QHBAbsBqAFyAWEBkAFHATABkAFHATABpgFuAVwB0gG8AbUB+AL2
|
||||
pQAB1QHAAbkBlgFNATIBqgFaASwBuwFkASsBwAFpASkBwAFpASkBuwFlASwBqwFbAS0BmAFMATAB0wG9
|
||||
AbWfAAHRAbgBrwGlAVgBMgHAAW0BLgHCAW0BLQHCAW0BLQHCAW0BLQHCAW0BLQHCAW0BLQHCAW0BLQHA
|
||||
|
@ -156,12 +156,12 @@
|
|||
</value>
|
||||
</data>
|
||||
<metadata name="contextPicturePresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>221, 17</value>
|
||||
<value>229, 17</value>
|
||||
</metadata>
|
||||
<metadata name="colorDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>107, 17</value>
|
||||
<value>110, 17</value>
|
||||
</metadata>
|
||||
<metadata name="contextPaletteList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>389, 17</value>
|
||||
<value>406, 17</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -226,6 +226,7 @@ namespace Mesen.GUI
|
|||
[DllImport(DLLPath)] public static extern void SetVideoScale(double scale, ConsoleId consoleId = ConsoleId.Master);
|
||||
[DllImport(DLLPath)] public static extern void SetScreenRotation(UInt32 angle);
|
||||
[DllImport(DLLPath)] public static extern void SetExclusiveRefreshRate(UInt32 refreshRate);
|
||||
[DllImport(DLLPath)] public static extern void SetExclusiveRefreshRate2(UInt32 refreshRate);
|
||||
[DllImport(DLLPath)] public static extern void SetVideoAspectRatio(VideoAspectRatio aspectRatio, double customRatio);
|
||||
[DllImport(DLLPath)] public static extern void SetVideoFilter(VideoFilterType filter);
|
||||
[DllImport(DLLPath)] public static extern void SetVideoResizeFilter(VideoResizeFilter filter);
|
||||
|
@ -1733,6 +1734,7 @@ namespace Mesen.GUI
|
|||
|
||||
BreakOnPpu2006ScrollGlitch = 0x20000,
|
||||
BreakOnBusConflict = 0x40000,
|
||||
BreakOnUnlogged = 0x80000,
|
||||
}
|
||||
|
||||
public struct InteropRomInfo
|
||||
|
|
|
@ -654,6 +654,7 @@ namespace InteropEmu {
|
|||
DllExport void __stdcall SetVideoScale(double scale, ConsoleId consoleId) { GetConsoleById(consoleId)->GetSettings()->SetVideoScale(scale); }
|
||||
DllExport void __stdcall SetScreenRotation(uint32_t angle) { _settings->SetScreenRotation(angle); }
|
||||
DllExport void __stdcall SetExclusiveRefreshRate(uint32_t angle) { _settings->SetExclusiveRefreshRate(angle); }
|
||||
DllExport void __stdcall SetExclusiveRefreshRate2(uint32_t angle) { _settings->SetExclusiveRefreshRate2(angle); }
|
||||
DllExport void __stdcall SetVideoAspectRatio(VideoAspectRatio aspectRatio, double customRatio) { _settings->SetVideoAspectRatio(aspectRatio, customRatio); }
|
||||
DllExport void __stdcall SetVideoFilter(VideoFilterType filter) { _settings->SetVideoFilterType(filter); }
|
||||
DllExport void __stdcall SetVideoResizeFilter(VideoResizeFilter filter) { _settings->SetVideoResizeFilter(filter); }
|
||||
|
|
|
@ -242,8 +242,18 @@ extern "C" {
|
|||
{ 0 },
|
||||
};
|
||||
|
||||
static const struct retro_system_content_info_override content_overrides[] = {
|
||||
{
|
||||
"nes|fds|unf|unif", /* extensions */
|
||||
false, /* need_fullpath */
|
||||
false /* persistent_data */
|
||||
},
|
||||
{ NULL, false, false }
|
||||
};
|
||||
|
||||
retroEnv(RETRO_ENVIRONMENT_SET_VARIABLES, (void*)vars);
|
||||
retroEnv(RETRO_ENVIRONMENT_SET_CONTROLLER_INFO, (void*)ports);
|
||||
retroEnv(RETRO_ENVIRONMENT_SET_CONTENT_INFO_OVERRIDE, (void*)content_overrides);
|
||||
}
|
||||
|
||||
RETRO_API void retro_set_video_refresh(retro_video_refresh_t sendFrame)
|
||||
|
@ -1034,7 +1044,43 @@ extern "C" {
|
|||
_console->GetSettings()->SetControllerType(2, ControllerType::None);
|
||||
_console->GetSettings()->SetControllerType(3, ControllerType::None);
|
||||
|
||||
VirtualFile romData(game->data, game->size, game->path);
|
||||
// Attempt to fetch extended game info
|
||||
const struct retro_game_info_ext *gameExt = NULL;
|
||||
const void *gameData = NULL;
|
||||
size_t gameSize = 0;
|
||||
string gamePath("");
|
||||
if (retroEnv(RETRO_ENVIRONMENT_GET_GAME_INFO_EXT, &gameExt)) {
|
||||
gameData = gameExt->data;
|
||||
gameSize = gameExt->size;
|
||||
if (gameExt->file_in_archive) {
|
||||
// We don't have a 'physical' file in this
|
||||
// case, but the core still needs a filename
|
||||
// in order to detect associated content
|
||||
// (i.e. HdPacks). We therefore fake it, using
|
||||
// the content directory, canonical content
|
||||
// name, and content file extension
|
||||
#if defined(_WIN32)
|
||||
char slash = '\\';
|
||||
#else
|
||||
char slash = '/';
|
||||
#endif
|
||||
gamePath = string(gameExt->dir) +
|
||||
string(1, slash) +
|
||||
string(gameExt->name) +
|
||||
"." +
|
||||
string(gameExt->ext);
|
||||
} else {
|
||||
gamePath = gameExt->full_path;
|
||||
}
|
||||
} else {
|
||||
// No extended game info; all we have is the
|
||||
// content fullpath from the retro_game_info
|
||||
// struct
|
||||
gamePath = game->path;
|
||||
}
|
||||
|
||||
// Load content
|
||||
VirtualFile romData(gameData, gameSize, gamePath);
|
||||
bool result = _console->Initialize(romData);
|
||||
|
||||
if(result) {
|
||||
|
@ -1084,7 +1130,9 @@ extern "C" {
|
|||
|
||||
info->library_name = "Mesen";
|
||||
info->library_version = _mesenVersion.c_str();
|
||||
info->need_fullpath = false;
|
||||
// need_fullpath is required since HdPacks are
|
||||
// identified via the rom file name
|
||||
info->need_fullpath = true;
|
||||
info->valid_extensions = "nes|fds|unf|unif";
|
||||
info->block_extract = false;
|
||||
}
|
||||
|
|
1317
Libretro/libretro.h
1317
Libretro/libretro.h
File diff suppressed because it is too large
Load diff
|
@ -288,7 +288,7 @@ HRESULT Renderer::InitDevice()
|
|||
sd.BufferDesc.Width = _realScreenWidth;
|
||||
sd.BufferDesc.Height = _realScreenHeight;
|
||||
sd.BufferDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;
|
||||
sd.BufferDesc.RefreshRate.Numerator = _console->GetSettings()->GetExclusiveRefreshRate();
|
||||
sd.BufferDesc.RefreshRate.Numerator = _console->GetSettings()->GetExclusiveRefreshRateByModel(_console->GetModel());
|
||||
sd.BufferDesc.RefreshRate.Denominator = 1;
|
||||
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
|
||||
sd.Flags = _fullscreen ? DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH : 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue