Merge branch 'master' into release

This commit is contained in:
adelikat 2017-06-29 18:05:13 -05:00
commit cf70160dcd
59 changed files with 18103 additions and 815 deletions

View File

@ -3701,11 +3701,7 @@ E1FC445D594F33D89DBB033C5A11C66E8F41315C Opium (19xx)(Ludia)(fr)(Side B) AppleI
2286E2150CD7EF3B880AD6937CA3B2A1E2980526 Orbizone (1989)(Pangea Software)(SW)(Disk 3 of 3)[graphics 2] AppleII
FB0C887C7902106A72327F9797CDD14A254E3228 Oregon Trail (1985)(MECC)(US)(Side A) AppleII
8CA19D02C1B3EB35061B97F8640CC338BA129B9F Oregon Trail (1985)(MECC)(US)(Side B) AppleII
FB0C887C7902106A72327F9797CDD14A254E3228 Oregon Trail (Disk 1 of 2) AppleII
8CA19D02C1B3EB35061B97F8640CC338BA129B9F Oregon Trail (Disk 2 of 2) AppleII
430407E976418119A71F4E8A524D05EE2D23F960 Other Side, The (1985)(Tom Snider)[cr Man O War] AppleII
FB0C887C7902106A72327F9797CDD14A254E3228 Otrail_1 AppleII
8CA19D02C1B3EB35061B97F8640CC338BA129B9F Otrail_2 AppleII
BDF98D821CD2A9C1E717D6213232EBACC31892BE Out of This World (1992)(Interplay)(Disk 1 of 2)[non boot] AppleII
693F40BF0424B1F512189796C25D8837FD34BF12 Out of This World (1992)(Interplay)(Disk 2 of 2)[non boot] AppleII
7B41C9339F47E314830A98957C4785CFCE5646C6 Outliner v1.0 (1988)(MECC)(US)[no boot] AppleII
@ -5516,7 +5512,6 @@ DB31F1DE00B56AD8FCF35B0EC79242C12CAE12FE ZZZ-UNK-Basic Games_hangman_jigsaw Puz
0DD5A4F87B6F109966A5FCED114F39F450EE8C40 ZZZ-UNK-Basic Programs - Hellos - D02s2 (19xx)(-)[Name unknown] AppleII
F9C291D3E167B0F693261C6634ACE5504103A4A0 ZZZ-UNK-Bbshow Deltadrawii Ezdraw Graphicstoolbox Jln AppleII
99AA686AA7D145A4A8132E27BF924D733B75065C ZZZ-UNK-Blackstone (Wizardry 1 Mod)[PASCAL] AppleII
67F5D6AA79E18905D540F7B8E01CE90E40696D44 ZZZ-UNK-Bolo - Cheat Version, Pest Patrol, Serpentine AppleII
67F5D6AA79E18905D540F7B8E01CE90E40696D44 ZZZ-UNK-Bolo - cheat version, Pest Patrol, Serpentine AppleII
A43AC3294FDCD4E26956792C8A8E65D5BA11E37C ZZZ-UNK-Boot62f0 (19xx)(-)[nb] AppleII
B7C43C1F58FD0FC16F805A53072D3A670C11BE68 ZZZ-UNK-Boot62f1 (19xx)(-)[nb] AppleII
@ -5645,7 +5640,6 @@ FE03EDFF0CF45BAA04AA8D7541CBE78BACE9733E ZZZ-UNK-lode runner data2 AppleII
500CD3C79352C49AD029BD6843F2B0957FBD8857 ZZZ-UNK-Looney Tunes Graphics Disk O4b (19xx)(-) AppleII
D8D30398A32B5046B1E568A030BE64E0D5B401E2 ZZZ-UNK-Main Hall & Beginners Cave (-) AppleII
8D58456CE81AF53F2E798450FE3A55F71DFB9414 ZZZ-UNK-Mario Bros [nb] AppleII
67D88DDE7389FB5092C7F7826DBBE2B6D73BC2AF ZZZ-UNK-Mario [compil] AppleII
67D88DDE7389FB5092C7F7826DBBE2B6D73BC2AF ZZZ-UNK-mario [compil] AppleII
C6BBD0DB1E2E05987CC752547ADDF8827C4BF29D ZZZ-UNK-Misc Catdialers AppleII
58F6DD77A9376AB49ABC3CE39705F6258C21268D ZZZ-UNK-Misc Disk Utils (19xx)(-) AppleII

View File

@ -465,7 +465,6 @@ A70C6B0E90E7B8BA3E5BC06C9AE7D6AF344E491F Juno First (Japan) (Alt 1)" MSX1
846BD4D89BD034AC5346CBC559752635AD2BDA6B Juno First (Japan)" MSX1
4991DC097E248436506ED5C8BC3F367A65267EE7 Jyan Friend (Japan)" MSX1
17E1111B1D6AA80E8BC525BE345C25E3B00ED504 Jyankyo (Japan)" MSX1
C6227431BFBC3AA921120EC3DA7F6429A1A799A0 Jyanyuu (Japan)" MSX1
666E82D8A8E5D2672A9B7159ADCDC861A31C8FA1 Kage no Densetsu - Legend of Kage, The (Japan) (Alt 1)" MSX1
FFC8C57B26F2F495BD77EFAC5B815EFE9C25336C Kage no Densetsu - Legend of Kage, The (Japan)" MSX1
632EF250C76B222158BA90DFC68B9E004DBAFE3A Kakikukekon (Japan) (Program)" MSX1

View File

@ -19,8 +19,10 @@
;games which might be good according to goodNES, but which are almost positively not according to bootgod, who has dumps with different hashes
;these we tend to mark as Unknown, because maybe these are variants of the cart which bootgod didnt happen to dump, or maybe bootgod's is wrong (?)
sha1:E80FF0B707B0D675FDBEF474E3FDB1A83E2B7C44 U Mississippi Satsujin Jiken (J) NES board=JALECO-JF-11;PRG=128;CHR=32;PAD_H=1
;GoodNES marks the following (alt) rom as B [h2]
sha1:8A5FD1061ADACDEABF422A2D2E555FF70749AE7C U Mississippi Satsujin Jiken (Alt) (J) NES board=MAPPER066;PRG=128;CHR=32;PAD_H=1
;possibly good roms for games which arent in bootgod's db yet, most likely due to obscurity or incompleteness at the present.
;when they appear in bootgod's db then we can re-evaluate this category.
sha1:91CECCFCAC90E417E9AEE80E8F7B560A20EB33CC Ai Sensei No Oshiete Watashi No Hoshi (J) NES board=IREM-G101;PRG=256;CHR=128;WRAM=8
@ -96,7 +98,6 @@ sha1:2028940CF7C757A3A7931A741D5EC79C3554D38C O Wally Bear and the No Gang (AVE)
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
;these roms are in goodNES but theyre junk. hacks, mostly. ideally we would put ever game from goodNES that was labeled as a hack in a list here.
sha1:111D38E2FB41D0B43753E18757D427A91B0DBCB9 H Dragon Ball Z II Gekishin Freeza!! (J) NES board=BANDAI-LZ93D50+24C02;PRG=256;CHR=256;WRAM=0
sha1:A907E600CEDA175ECD115B406B28155397A4C1FA H Dragon Ball Z Gaiden Saiya Jin Zetsumetsu Keikaku (CH) NES board=BANDAI-FCG-1;PRG=512;CHR=256;WRAM=0
sha1:A13EAF0132905FBE3D0456BB075028A30C084D0E H Dragon Ball Dai Maou Fukkatsu (J) [hFFE] NES board=BANDAI-FCG-1;PRG=128;CHR=128;WRAM=0;VRAM=0
sha1:8885F4F00C0B73C156179BCEABA5381487DBEAAD H Spy vs Spy (J) NES board=HVC-CNROM-256K-01;PRG=32;CHR=8;WRAM=8
sha1:8C676CC9BEF5B93C5A7630D12B8A5B2FEBCE3438 H Rad Racket Deluxe Tennis II NES board=NINA-06;PRG=32;CHR=32
@ -169,7 +170,6 @@ sha1:12DDD9EDB8894C200C9D89B9EE5673F1202ABA19 Falsion (FDS Conversion, Whirlwin
sha1:D6E9F3722CFA26CBC582649F197D780809F575CA O Family Circuit '91 (J) [o1] NES board=MAPPER210;PAD_V=1;PAD_H=0
sha1:387E7B477F5A61A165A41CD2BFE8A467B3816323 O Family Circuit '91 (J) [o2] NES board=MAPPER210;PAD_V=1;PAD_H=0
sha1:68ADA89BC7539679871AD14C5C1FFADF04D71280 O Family Circuit '91 (J) [o3] NES board=MAPPER210;PAD_V=1;PAD_H=0
sha1:8A5FD1061ADACDEABF422A2D2E555FF70749AE7C B Mississippi Satsujin Jiken (J) [h2] NES board=MAPPER066
sha1:C1F7AD0A347078B9213B2748D4ADFF33305A6647 O Mississippi Satsujin Jiken (J) [h2][o1] NES board=MAPPER066
sha1:4BBD4C55C37F531031177DE51F007B10418AD760 O Pyramid (AVE) (PRG1) [o1] NES board=MAPPER000
sha1:BAF860940369C54B3FF547DA7E759515015B1131 O Pyramid (AVE) (PRG1) [o2] NES board=MAPPER000
@ -180,7 +180,6 @@ sha1:43E3ED6480E7BF32FFAF1AEBC7F534E0A9B775E6 T Super Mario Bros 2 (Lost Levels)
sha1:F32E366828DCA94A612DD39613858DD8E26FA2DC T Thunder & Lightning (U) [t1] NES board=MAPPER066;WRAM=0
sha1:8554112E83B5978F5D4EC6E4551F390D5F698E00 B U-Force Power Games (U) (Prototype2) (Defaced by NA) [b1] NES board=NES-GNROM;WRAM=0
sha1:A6A0A3DC8438558FA5DA3AF8D3349AA8CF080404 Xi You Ji Hou Zhuan (Ch) NES board=MAPPER162
sha1:BC1734BEE472D34F489A6F5F2530A019F28055B7 B 800-in-1 [p1][b1] NES board=MAPPER236
sha1:BC1734BEE472D34F489A6F5F2530A019F28055B7 G 800-in-1 [p1][U] NES board=MAPPER236;VRAM=8
sha1:BD167D1BCC9A008D04136EB91396EBEBCAC976E2 B R.B.I. Baseball (Tengen) [b] NES board=TENGEN-800002;WRAM=0;PAD_H=1;PAD_V=0
sha1:DEE958845DC528BED899557FB2A8A3B61F1BA7D1 Bao Xiao San Guo (Ch) [a4] NES board=WAIXINGMAPPER176
@ -289,7 +288,6 @@ sha1:B5C4E5E858113F5AA5E063BC79A12D7F6B856E6C Contra (Konami Collection 2002) N
;chinese shit
sha1:BFA31777E077E64AF0E274B5A22B57C6765D36E1 Fan Kong Jing Ying (Unl) (Ch) NES board=MAPPER241;MIR=H
sha1:17473C223453D2D80FCB9DCFA317947287DC5C52 Xing He Zhan Shi (Ch) NES board=MAPPER176
sha1:0B58E16B7FD5ABE62B1D9B1841875582DF5A9195 Ying Lie Qun Xia Zhuan (Ch) NES board=MAPPER192
sha1:27CB8AEAF0EA97A6C69D3D90BC056C5EB61695F6 Dai-2-Ji Super Robot Taisen (Ch) NES board=MAPPER194;VRAM=2
sha1:F5FA7807F2B70ADFE5707D9BF88F90DAC1436DB0 Di 4 Ci Ji Qi Ren Dai Zhan (Ch) NES board=MAPPER074;VRAM=2

View File

@ -1,34 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>..\output\dll\BizHawk.Client.ApiHawk.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>..\output\dll\BizHawk.Client.ApiHawk.XML</DocumentationFile>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<DocumentationFile>..\output\dll\BizHawk.Client.ApiHawk.XML</DocumentationFile>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>

View File

@ -13,42 +13,31 @@
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE;DEBUG;DOTNET20;UNMANAGED;COMPRESS;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE;DOTNET20;UNMANAGED;COMPRESS;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="ICSharpCode.SharpZipLib">
@ -58,7 +47,7 @@
<HintPath>..\References\Ionic.Zip.dll</HintPath>
</Reference>
<Reference Include="LuaInterface">
<HintPath>..\References\$(Platform)\LuaInterface.dll</HintPath>
<HintPath>..\References\x64\LuaInterface.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@ -66,6 +55,10 @@
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.105.2, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\References\x64\SQLite\System.Data.SQLite.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Xml.Linq" />
@ -161,6 +154,7 @@
<Compile Include="lua\EmuLuaLibrary.Movie.cs" />
<Compile Include="lua\EmuLuaLibrary.NES.cs" />
<Compile Include="lua\EmuLuaLibrary.SNES.cs" />
<Compile Include="lua\EmuLuaLibrary.SQL.cs" />
<Compile Include="lua\EmuLuaLibrary.String.cs" />
<Compile Include="lua\EmuLuaLibrary.UserData.cs" />
<Compile Include="lua\EnvironmentSandbox.cs" />

View File

@ -45,44 +45,23 @@ namespace BizHawk.Client.Common
/// <summary>
/// Gets absolute base as derived from EXE
/// </summary>
public static string GetBasePathAbsolute()
public static string GetGlobalBasePathAbsolute()
{
if (Global.Config.PathEntries.GlobalBaseFragment.Length < 1) // If empty, then EXE path
{
return GetExeDirectoryAbsolute();
}
var gbase = Global.Config.PathEntries.GlobalBaseFragment;
if (Global.Config.PathEntries.GlobalBaseFragment.Length >= 5
&& Global.Config.PathEntries.GlobalBaseFragment.Substring(0, 5) == "%exe%")
{
return GetExeDirectoryAbsolute();
}
// if %exe% prefixed then substitute exe path and repeat
if(gbase.StartsWith("%exe%",StringComparison.InvariantCultureIgnoreCase))
gbase = GetExeDirectoryAbsolute() + gbase.Substring(5);
if (Global.Config.PathEntries.GlobalBaseFragment[0] == '.')
{
if (Global.Config.PathEntries.GlobalBaseFragment.Length == 1)
{
return GetExeDirectoryAbsolute();
}
//rooted paths get returned without change
//(this is done after keyword substitution to avoid problems though)
if (Path.IsPathRooted(gbase))
return gbase;
if (Global.Config.PathEntries.GlobalBaseFragment.Length == 2 &&
Global.Config.PathEntries.GlobalBaseFragment == ".\\")
{
return GetExeDirectoryAbsolute();
}
//not-rooted things are relative to exe path
gbase = Path.Combine(GetExeDirectoryAbsolute(), gbase);
var tmp = Global.Config.PathEntries.GlobalBaseFragment.Remove(0, 1);
tmp = tmp.Insert(0, GetExeDirectoryAbsolute());
return tmp;
}
if (Global.Config.PathEntries.GlobalBaseFragment.Substring(0, 2) == "..")
{
return RemoveParents(Global.Config.PathEntries.GlobalBaseFragment, GetExeDirectoryAbsolute());
}
// In case of error, return EXE path
return GetExeDirectoryAbsolute();
return gbase;
}
public static string GetPlatformBase(string system)
@ -106,7 +85,7 @@ namespace BizHawk.Client.Common
// This function translates relative path and special identifiers in absolute paths
if (path.Length < 1)
{
return GetBasePathAbsolute();
return GetGlobalBasePathAbsolute();
}
if (path == "%recent%")
@ -136,13 +115,13 @@ namespace BizHawk.Client.Common
if (path.Length == 1)
{
return GetBasePathAbsolute();
return GetGlobalBasePathAbsolute();
}
if (path[0] == '.')
{
path = path.Remove(0, 1);
path = path.Insert(0, GetBasePathAbsolute());
path = path.Insert(0, GetGlobalBasePathAbsolute());
}
return path;
@ -414,7 +393,7 @@ namespace BizHawk.Client.Common
public static string TryMakeRelative(string absolutePath, string system = null)
{
var parentPath = string.IsNullOrWhiteSpace(system) ?
GetBasePathAbsolute() :
GetGlobalBasePathAbsolute() :
MakeAbsolutePath(GetPlatformBase(system), system);
if (IsSubfolder(parentPath, absolutePath))

View File

@ -16,24 +16,23 @@ namespace BizHawk.Client.Common
#region Structs
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private class Bitmapfileheader
private class BITMAPFILEHEADER
{
public readonly uint bfSize;
public ushort bfType;
public uint bfSize;
public ushort bfReserved1;
public ushort bfReserved2;
public uint bfOffBits;
public Bitmapfileheader()
public BITMAPFILEHEADER()
{
bfSize = (uint)Marshal.SizeOf(this);
}
public static Bitmapfileheader FromStream(Stream s)
public static BITMAPFILEHEADER FromStream(Stream s)
{
var ret = GetObject<Bitmapfileheader>(s);
if (ret.bfSize != Marshal.SizeOf(typeof(Bitmapfileheader)))
var ret = GetObject<BITMAPFILEHEADER>(s);
if (ret.bfSize != Marshal.SizeOf(typeof(BITMAPFILEHEADER)))
{
throw new InvalidOperationException();
}
@ -42,10 +41,11 @@ namespace BizHawk.Client.Common
}
}
[StructLayout(LayoutKind.Sequential)]
private class Bitmapinfoheader
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private class BITMAPINFOHEADER
{
public readonly uint biSize;
public uint biSize;
public int biWidth;
public int biHeight;
public ushort biPlanes;
@ -57,15 +57,15 @@ namespace BizHawk.Client.Common
public uint biClrUsed;
public uint biClrImportant;
public Bitmapinfoheader()
public BITMAPINFOHEADER()
{
biSize = (uint)Marshal.SizeOf(this);
}
public static Bitmapinfoheader FromStream(Stream s)
public static BITMAPINFOHEADER FromStream(Stream s)
{
var ret = GetObject<Bitmapinfoheader>(s);
if (ret.biSize != Marshal.SizeOf(typeof(Bitmapinfoheader)))
var ret = GetObject<BITMAPINFOHEADER>(s);
if (ret.biSize != Marshal.SizeOf(typeof(BITMAPINFOHEADER)))
{
throw new InvalidOperationException();
}
@ -244,8 +244,8 @@ namespace BizHawk.Client.Common
public static unsafe bool Load(IVideoProvider v, Stream s)
{
var bf = Bitmapfileheader.FromStream(s);
var bi = Bitmapinfoheader.FromStream(s);
var bf = BITMAPFILEHEADER.FromStream(s);
var bi = BITMAPINFOHEADER.FromStream(s);
if (bf.bfType != 0x4d42
|| bf.bfOffBits != bf.bfSize + bi.biSize
|| bi.biPlanes != 1
@ -295,8 +295,8 @@ namespace BizHawk.Client.Common
public static unsafe void Save(IVideoProvider v, Stream s, int w, int h)
{
var bf = new Bitmapfileheader();
var bi = new Bitmapinfoheader();
var bf = new BITMAPFILEHEADER();
var bi = new BITMAPINFOHEADER();
bf.bfType = 0x4d42;
bf.bfOffBits = bf.bfSize + bi.biSize;

View File

@ -0,0 +1,145 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data.SQLite;
using LuaInterface;
using System.Collections.Generic;
namespace BizHawk.Client.Common
{
[Description("A library for performing SQLite operations.")]
public sealed class SQLLuaLibrary : LuaLibraryBase
{
public SQLLuaLibrary(Lua lua)
: base(lua) { }
public SQLLuaLibrary(Lua lua, Action<string> logOutputCallback)
: base(lua, logOutputCallback) { }
public override string Name => "SQL";
SQLiteConnection m_dbConnection;
string connectionString;
[LuaMethodAttributes("createdatabase","Creates a SQLite Database. Name should end with .db")]
public string CreateDatabase(string name)
{
try
{
SQLiteConnection.CreateFile(name);
return "Database Created Successfully";
}
catch (SQLiteException sqlEX)
{
return sqlEX.Message;
}
}
[LuaMethodAttributes("opendatabase", "Opens a SQLite database. Name should end with .db")]
public string OpenDatabase(string name)
{
try
{
SQLiteConnectionStringBuilder connBuilder = new SQLiteConnectionStringBuilder();
connBuilder.DataSource = name;
connBuilder.Version = 3; //SQLite version
connBuilder.JournalMode = SQLiteJournalModeEnum.Wal; //Allows for reads and writes to happen at the same time
connBuilder.DefaultIsolationLevel = System.Data.IsolationLevel.ReadCommitted; //This only helps make the database lock left. May be pointless now
connBuilder.SyncMode = SynchronizationModes.Off; //This shortens the delay for do synchronous calls.
m_dbConnection = new SQLiteConnection(connBuilder.ToString());
connectionString = connBuilder.ToString();
m_dbConnection.Open();
m_dbConnection.Close();
return "Database Opened Successfully";
}
catch(SQLiteException sqlEX)
{
return sqlEX.Message;
}
}
[LuaMethodAttributes("writecommand", "Runs a SQLite write command which includes CREATE,INSERT, UPDATE. " +
"Ex: create TABLE rewards (ID integer PRIMARY KEY, action VARCHAR(20)) ")]
public string WriteCommand(string query="")
{
if (query == "")
{
return "query is empty";
}
try
{
m_dbConnection.Open();
string sql = query;
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
m_dbConnection.Close();
return "Command ran successfully";
}
catch (NullReferenceException nullEX)
{
return "Database not open.";
}
catch(SQLiteException sqlEX)
{
m_dbConnection.Close();
return sqlEX.Message;
}
}
[LuaMethodAttributes("readcommand", "Run a SQLite read command which includes Select. Returns all rows into a LuaTable." +
"Ex: select * from rewards")]
public dynamic ReadCommand(string query="")
{
if (query=="")
{
return "query is empty";
}
try
{
var table = Lua.NewTable();
m_dbConnection.Open();
string sql = "PRAGMA read_uncommitted =1;"+query;
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
SQLiteDataReader reader = command.ExecuteReader();
bool rows=reader.HasRows;
long rowCount = 0;
var columns = new List<string>();
for (int i = 0; i < reader.FieldCount; ++i) //Add all column names into list
{
columns.Add(reader.GetName(i));
}
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; ++i)
{
table[columns[i]+" "+rowCount.ToString()] = reader.GetValue(i);
}
rowCount += 1;
}
reader.Close();
m_dbConnection.Close();
if (rows==false)
{
return "No rows found";
}
return table;
}
catch (NullReferenceException)
{
return "Database not opened.";
}
catch (SQLiteException sqlEX)
{
m_dbConnection.Close();
return sqlEX.Message;
}
}
}
}

View File

@ -215,7 +215,7 @@ namespace BizHawk.Client.Common
diff = "-";
}
return $"{diff}{FormatValue((byte)Math.Abs(diffVal))}";
return $"{diff}{((byte)Math.Abs(diffVal))}";
}
}

View File

@ -231,7 +231,7 @@ namespace BizHawk.Client.Common
/// Get a string representation of difference
/// between current value and the previous one
/// </summary>
public override string Diff => FormatValue(_previous - _value);
public override string Diff => (_previous - _value).ToString();
/// <summary>
/// Get the maximum possible value

View File

@ -229,7 +229,7 @@ namespace BizHawk.Client.Common
diff = "-";
}
return $"{diff}{FormatValue((ushort)Math.Abs(diffVal))}";
return $"{diff}{((ushort)Math.Abs(diffVal))}";
}
}

View File

@ -2,37 +2,27 @@
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<StartupObject />
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>

View File

@ -42,42 +42,28 @@
<PropertyGroup>
<ApplicationIcon>discohawk.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@ -24,6 +24,7 @@
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<Prefer32Bit>false</Prefer32Bit>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
@ -35,47 +36,32 @@
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<PropertyGroup>
<NoWin32Manifest>true</NoWin32Manifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\</OutputPath>
<DefineConstants>WINDOWS;DEBUG</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\</OutputPath>
<DefineConstants>WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="GongShell">
@ -84,9 +70,8 @@
<Reference Include="ICSharpCode.SharpZipLib">
<HintPath>..\References\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="LuaInterface, Version=2.0.4.35439, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\References\$(Platform)\LuaInterface.dll</HintPath>
<Reference Include="LuaInterface">
<HintPath>..\References\x64\LuaInterface.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.VisualBasic" Condition=" '$(OS)' == 'Windows_NT' " />
@ -97,9 +82,8 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\References\OpenTK.dll</HintPath>
</Reference>
<Reference Include="SlimDX, Version=4.0.10.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\References\$(Platform)\SlimDX.dll</HintPath>
<Reference Include="SlimDX">
<HintPath>..\References\x64\SlimDX.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
@ -2158,7 +2142,8 @@
</Target>
-->
<PropertyGroup>
<PostBuildEvent>..\Build\BizHawk.Build.Tool.exe LARGEADDRESS --value 1 --target "$(TargetPath)"</PostBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">"$(SolutionDir)subwcrev.bat" "$(ProjectDir)"</PreBuildEvent>

View File

@ -395,6 +395,9 @@ namespace BizHawk.Client.EmuHawk.Filters
XIS = OutputSize.Width / state.SurfaceFormat.Size.Width;
YIS = OutputSize.Height / state.SurfaceFormat.Size.Height;
if (XIS == 0) XIS = 1;
if (YIS == 0) YIS = 1;
OutputSize = state.SurfaceFormat.Size;
if (XIS <= 1 && YIS <= 1)

View File

@ -188,7 +188,7 @@ namespace BizHawk.Client.EmuHawk
if (attachedConsole)
{
Console.WriteLine();
Console.WriteLine("use cmd /c {0} to get more sensible console behaviour", Path.GetFileName(PathManager.GetBasePathAbsolute()));
Console.WriteLine("use cmd /c {0} to get more sensible console behaviour", Path.GetFileName(PathManager.GetGlobalBasePathAbsolute()));
}
}

View File

@ -295,10 +295,10 @@
this.AutoloadKeypadMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.paletteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.AtariSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.AtariSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.A7800SubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.A7800ControllerSettingsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.GBSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.AtariSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.A7800SubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.A7800ControllerSettingsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.GBSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.GBcoreSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.LoadGBInSGBMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator28 = new System.Windows.Forms.ToolStripSeparator();
@ -456,8 +456,8 @@
this.SMSSubMenu,
this.TI83SubMenu,
this.AtariSubMenu,
this.A7800SubMenu,
this.GBSubMenu,
this.A7800SubMenu,
this.GBSubMenu,
this.GBASubMenu,
this.PSXSubMenu,
this.SNESSubMenu,
@ -1825,12 +1825,14 @@
this.QuicknesCoreMenuItem.Name = "QuicknesCoreMenuItem";
this.QuicknesCoreMenuItem.Size = new System.Drawing.Size(152, 22);
this.QuicknesCoreMenuItem.Text = "QuickNES";
this.QuicknesCoreMenuItem.Click += new System.EventHandler(this.NesCorePick_Click);
//
// NesCoreMenuItem
//
this.NesCoreMenuItem.Name = "NesCoreMenuItem";
this.NesCoreMenuItem.Size = new System.Drawing.Size(152, 22);
this.NesCoreMenuItem.Text = "NesHawk";
this.NesCoreMenuItem.Click += new System.EventHandler(this.NesCorePick_Click);
//
// CoreSNESSubMenu
//
@ -1845,14 +1847,14 @@
// Coresnes9xMenuItem
//
this.Coresnes9xMenuItem.Name = "Coresnes9xMenuItem";
this.Coresnes9xMenuItem.Size = new System.Drawing.Size(152, 22);
this.Coresnes9xMenuItem.Size = new System.Drawing.Size(109, 22);
this.Coresnes9xMenuItem.Text = "Snes9x";
this.Coresnes9xMenuItem.Click += new System.EventHandler(this.CoreSnesToggle_Click);
//
// CorebsnesMenuItem
//
this.CorebsnesMenuItem.Name = "CorebsnesMenuItem";
this.CorebsnesMenuItem.Size = new System.Drawing.Size(152, 22);
this.CorebsnesMenuItem.Size = new System.Drawing.Size(109, 22);
this.CorebsnesMenuItem.Text = "BSNES";
this.CorebsnesMenuItem.Click += new System.EventHandler(this.CoreSnesToggle_Click);
//
@ -2487,7 +2489,7 @@
this.SMSregionJapanToolStripMenuItem,
this.SMSregionAutoToolStripMenuItem});
this.SMSregionToolStripMenuItem.Name = "SMSregionToolStripMenuItem";
this.SMSregionToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSregionToolStripMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSregionToolStripMenuItem.Text = "Region";
//
// SMSregionExportToolStripMenuItem
@ -2518,7 +2520,7 @@
this.SMSdisplayPalToolStripMenuItem,
this.SMSdisplayAutoToolStripMenuItem});
this.SMSdisplayToolStripMenuItem.Name = "SMSdisplayToolStripMenuItem";
this.SMSdisplayToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSdisplayToolStripMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSdisplayToolStripMenuItem.Text = "Display Type";
//
// SMSdisplayNtscToolStripMenuItem
@ -2545,94 +2547,94 @@
// SMStoolStripMenuItem2
//
this.SMStoolStripMenuItem2.Name = "SMStoolStripMenuItem2";
this.SMStoolStripMenuItem2.Size = new System.Drawing.Size(238, 6);
this.SMStoolStripMenuItem2.Size = new System.Drawing.Size(274, 6);
//
// SMSenableBIOSToolStripMenuItem
//
this.SMSenableBIOSToolStripMenuItem.Name = "SMSenableBIOSToolStripMenuItem";
this.SMSenableBIOSToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSenableBIOSToolStripMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSenableBIOSToolStripMenuItem.Text = "Enable BIOS (Must be Enabled for TAS)";
this.SMSenableBIOSToolStripMenuItem.Click += new System.EventHandler(this.SmsBiosMenuItem_Click);
//
// SMSEnableFMChipMenuItem
//
this.SMSEnableFMChipMenuItem.Name = "SMSEnableFMChipMenuItem";
this.SMSEnableFMChipMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSEnableFMChipMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSEnableFMChipMenuItem.Text = "&Enable FM Chip";
this.SMSEnableFMChipMenuItem.Click += new System.EventHandler(this.SmsEnableFmChipMenuItem_Click);
//
// SMSOverclockMenuItem
//
this.SMSOverclockMenuItem.Name = "SMSOverclockMenuItem";
this.SMSOverclockMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSOverclockMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSOverclockMenuItem.Text = "&Overclock when Known Safe";
this.SMSOverclockMenuItem.Click += new System.EventHandler(this.SMSOverclockMenuItem_Click);
//
// SMSForceStereoMenuItem
//
this.SMSForceStereoMenuItem.Name = "SMSForceStereoMenuItem";
this.SMSForceStereoMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSForceStereoMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSForceStereoMenuItem.Text = "&Force Stereo Separation";
this.SMSForceStereoMenuItem.Click += new System.EventHandler(this.SMSForceStereoMenuItem_Click);
//
// SMSSpriteLimitMenuItem
//
this.SMSSpriteLimitMenuItem.Name = "SMSSpriteLimitMenuItem";
this.SMSSpriteLimitMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSSpriteLimitMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSSpriteLimitMenuItem.Text = "Sprite &Limit";
this.SMSSpriteLimitMenuItem.Click += new System.EventHandler(this.SMSSpriteLimitMenuItem_Click);
//
// SMSDisplayOverscanMenuItem
//
this.SMSDisplayOverscanMenuItem.Name = "SMSDisplayOverscanMenuItem";
this.SMSDisplayOverscanMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSDisplayOverscanMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSDisplayOverscanMenuItem.Text = "Display Overscan";
this.SMSDisplayOverscanMenuItem.Click += new System.EventHandler(this.SMSDisplayOverscanMenuItem_Click);
//
// SMSFix3DGameDisplayToolStripMenuItem
//
this.SMSFix3DGameDisplayToolStripMenuItem.Name = "SMSFix3DGameDisplayToolStripMenuItem";
this.SMSFix3DGameDisplayToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSFix3DGameDisplayToolStripMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSFix3DGameDisplayToolStripMenuItem.Text = "Fix 3D Game Display";
this.SMSFix3DGameDisplayToolStripMenuItem.Click += new System.EventHandler(this.SMSFix3DDisplayMenuItem_Click);
//
// ShowClippedRegionsMenuItem
//
this.ShowClippedRegionsMenuItem.Name = "ShowClippedRegionsMenuItem";
this.ShowClippedRegionsMenuItem.Size = new System.Drawing.Size(241, 22);
this.ShowClippedRegionsMenuItem.Size = new System.Drawing.Size(277, 22);
this.ShowClippedRegionsMenuItem.Text = "&Show Clipped Regions";
this.ShowClippedRegionsMenuItem.Click += new System.EventHandler(this.ShowClippedRegionsMenuItem_Click);
//
// HighlightActiveDisplayRegionMenuItem
//
this.HighlightActiveDisplayRegionMenuItem.Name = "HighlightActiveDisplayRegionMenuItem";
this.HighlightActiveDisplayRegionMenuItem.Size = new System.Drawing.Size(241, 22);
this.HighlightActiveDisplayRegionMenuItem.Size = new System.Drawing.Size(277, 22);
this.HighlightActiveDisplayRegionMenuItem.Text = "&Highlight Active Display Region";
this.HighlightActiveDisplayRegionMenuItem.Click += new System.EventHandler(this.HighlightActiveDisplayRegionMenuItem_Click);
//
// SMSGraphicsSettingsMenuItem
//
this.SMSGraphicsSettingsMenuItem.Name = "SMSGraphicsSettingsMenuItem";
this.SMSGraphicsSettingsMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSGraphicsSettingsMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSGraphicsSettingsMenuItem.Text = "&Graphics Settings...";
this.SMSGraphicsSettingsMenuItem.Click += new System.EventHandler(this.SMSGraphicsSettingsMenuItem_Click);
//
// toolStripSeparator24
//
this.toolStripSeparator24.Name = "toolStripSeparator24";
this.toolStripSeparator24.Size = new System.Drawing.Size(238, 6);
this.toolStripSeparator24.Size = new System.Drawing.Size(274, 6);
//
// SMSVDPViewerToolStripMenuItem
//
this.SMSVDPViewerToolStripMenuItem.Name = "SMSVDPViewerToolStripMenuItem";
this.SMSVDPViewerToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
this.SMSVDPViewerToolStripMenuItem.Size = new System.Drawing.Size(277, 22);
this.SMSVDPViewerToolStripMenuItem.Text = "&VDP Viewer";
this.SMSVDPViewerToolStripMenuItem.Click += new System.EventHandler(this.SmsVdpViewerMenuItem_Click);
//
// GGGameGenieMenuItem
//
this.GGGameGenieMenuItem.Name = "GGGameGenieMenuItem";
this.GGGameGenieMenuItem.Size = new System.Drawing.Size(241, 22);
this.GGGameGenieMenuItem.Size = new System.Drawing.Size(277, 22);
this.GGGameGenieMenuItem.Text = "&Game Genie Encoder/Decoder";
this.GGGameGenieMenuItem.Click += new System.EventHandler(this.GGGameGenieMenuItem_Click);
//
@ -2699,26 +2701,26 @@
this.AtariSettingsToolStripMenuItem.Size = new System.Drawing.Size(125, 22);
this.AtariSettingsToolStripMenuItem.Text = "Settings...";
this.AtariSettingsToolStripMenuItem.Click += new System.EventHandler(this.AtariSettingsToolStripMenuItem_Click);
//
// A7800SubMenu
//
this.A7800SubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.A7800ControllerSettingsMenuItem});
this.A7800SubMenu.Name = "A7800SubMenu";
this.A7800SubMenu.Size = new System.Drawing.Size(56, 19);
this.A7800SubMenu.Text = "&A7800";
this.A7800SubMenu.DropDownOpened += new System.EventHandler(this.A7800SubMenu_DropDownOpened);
//
// A7800SettingsToolStripMenuItem
//
this.A7800ControllerSettingsMenuItem.Name = "A7800ControllerSettingsMenuItem";
this.A7800ControllerSettingsMenuItem.Size = new System.Drawing.Size(125, 22);
this.A7800ControllerSettingsMenuItem.Text = "Settings...";
this.A7800ControllerSettingsMenuItem.Click += new System.EventHandler(this.A7800SettingsToolStripMenuItem_Click);
//
// GBSubMenu
//
this.GBSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
//
// A7800SubMenu
//
this.A7800SubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.A7800ControllerSettingsMenuItem});
this.A7800SubMenu.Name = "A7800SubMenu";
this.A7800SubMenu.Size = new System.Drawing.Size(51, 19);
this.A7800SubMenu.Text = "&A7800";
this.A7800SubMenu.DropDownOpened += new System.EventHandler(this.A7800SubMenu_DropDownOpened);
//
// A7800ControllerSettingsMenuItem
//
this.A7800ControllerSettingsMenuItem.Name = "A7800ControllerSettingsMenuItem";
this.A7800ControllerSettingsMenuItem.Size = new System.Drawing.Size(125, 22);
this.A7800ControllerSettingsMenuItem.Text = "Settings...";
this.A7800ControllerSettingsMenuItem.Click += new System.EventHandler(this.A7800SettingsToolStripMenuItem_Click);
//
// GBSubMenu
//
this.GBSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.GBcoreSettingsToolStripMenuItem,
this.LoadGBInSGBMenuItem,
this.toolStripSeparator28,
@ -3522,7 +3524,7 @@
this.ShowMenuContextMenuSeparator,
this.ShowMenuContextMenuItem});
this.MainFormContextMenu.Name = "contextMenuStrip1";
this.MainFormContextMenu.Size = new System.Drawing.Size(217, 512);
this.MainFormContextMenu.Size = new System.Drawing.Size(217, 490);
this.MainFormContextMenu.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.MainFormContextMenu_Closing);
this.MainFormContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.MainFormContextMenu_Opening);
//

View File

@ -1189,7 +1189,6 @@ namespace BizHawk.Client.EmuHawk
Atari7800CoreSubMenu.Visible = VersionInfo.DeveloperBuild;
GBInSGBMenuItem.Checked = Global.Config.GB_AsSGB;
allowGameDBCoreOverridesToolStripMenuItem.Checked = Global.Config.CoreForcingViaGameDB;
}
@ -1227,8 +1226,8 @@ namespace BizHawk.Client.EmuHawk
private void GbaCoreSubMenu_DropDownOpened(object sender, EventArgs e)
{
VbaNextCoreMenuItem.Checked = Global.Config.GBA_UsemGBA;
MgbaCoreMenuItem.Checked = !Global.Config.GBA_UsemGBA;
VbaNextCoreMenuItem.Checked = !Global.Config.GBA_UsemGBA;
MgbaCoreMenuItem.Checked = Global.Config.GBA_UsemGBA;
}
private void GbaCorePick_Click(object sender, EventArgs e)

View File

@ -415,7 +415,7 @@
//
this.OpenGameGenieEncoderDecoderMenuItem.Name = "OpenGameGenieEncoderDecoderMenuItem";
this.OpenGameGenieEncoderDecoderMenuItem.Size = new System.Drawing.Size(233, 22);
this.OpenGameGenieEncoderDecoderMenuItem.Text = "Game Genie Encoder/Decoder";
this.OpenGameGenieEncoderDecoderMenuItem.Text = "Code Converter";
this.OpenGameGenieEncoderDecoderMenuItem.Click += new System.EventHandler(this.OpenGameGenieEncoderDecoderMenuItem_Click);
//
// OptionsSubMenu
@ -615,8 +615,8 @@
this.LoadGameGenieToolbarItem.ImageTransparentColor = System.Drawing.Color.Magenta;
this.LoadGameGenieToolbarItem.Name = "LoadGameGenieToolbarItem";
this.LoadGameGenieToolbarItem.Size = new System.Drawing.Size(75, 22);
this.LoadGameGenieToolbarItem.Text = "Game Genie";
this.LoadGameGenieToolbarItem.ToolTipText = "Open the Game Genie Encoder/Decoder";
this.LoadGameGenieToolbarItem.Text = "Code Converter";
this.LoadGameGenieToolbarItem.ToolTipText = "Open the Cheat Code Converter";
this.LoadGameGenieToolbarItem.Click += new System.EventHandler(this.OpenGameGenieEncoderDecoderMenuItem_Click);
//
// TotalLabel

View File

@ -3187,8 +3187,9 @@ namespace BizHawk.Client.EmuHawk
//Is this correct?
if (GameGenie == true)
{
var watch = Watch.GenerateWatch(MemoryDomains["CARTROM"], long.Parse(RAMAddress, NumberStyles.HexNumber), WatchSize.Byte, Common.DisplayType.Hex, false, txtDescription.Text);
Global.CheatList.Add(new Cheat(watch, int.Parse(RAMValue, NumberStyles.HexNumber)));
MessageBox.Show("Game genie codes are not currently supported for SNES", "SNES Game Genie not supported", MessageBoxButtons.OK, MessageBoxIcon.Error);
////var watch = Watch.GenerateWatch(MemoryDomains["CARTROM"], long.Parse(RAMAddress, NumberStyles.HexNumber), WatchSize.Byte, Common.DisplayType.Hex, false, txtDescription.Text);
////Global.CheatList.Add(new Cheat(watch, int.Parse(RAMValue, NumberStyles.HexNumber)));
}
else if (GameGenie == false)
{

View File

@ -1,36 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@ -44,6 +32,7 @@
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
@ -56,7 +45,7 @@
</Reference>
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\References\$(Platform)\SlimDX.dll</HintPath>
<HintPath>..\References\x64\SlimDX.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

View File

@ -14,41 +14,26 @@
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />

View File

@ -1,42 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Emulation.Common.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Emulation.Common.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>

View File

@ -33,44 +33,31 @@
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE;VS2010</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Emulation.Cores.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="ELFSharp">

View File

@ -11904,6 +11904,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80
}
}
bool int_triggered = false;
// Process interrupt requests.
if (nonMaskableInterruptPending)
@ -11923,6 +11924,7 @@ namespace BizHawk.Emulation.Cores.Components.Z80
}
else if (iff1 && interrupt && Interruptable)
{
int_triggered = true;
Halted = false;
@ -11952,11 +11954,12 @@ namespace BizHawk.Emulation.Cores.Components.Z80
if (EI_pending > 0)
{
EI_pending--;
if (EI_pending == 0)
if (EI_pending == 0 && !int_triggered)
{
IFF1 = IFF2 = true;
}
}
}
}

View File

@ -17,16 +17,24 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
private LibPizza _pizza;
private readonly bool _sgb;
[CoreConstructor("GB")]
[CoreConstructor("SGB")]
public Pizza(byte[] rom, CoreComm comm)
:base(comm, new Configuration
:this(rom, comm, true)
{ }
[CoreConstructor("GB")]
public Pizza(CoreComm comm, byte[] rom)
:this(rom, comm, false)
{ }
public Pizza(byte[] rom, CoreComm comm, bool sgb)
: base(comm, new Configuration
{
DefaultWidth = 160,
DefaultHeight = 144,
MaxWidth = 256,
MaxHeight = 224,
MaxSamples = 1024,
SystemId = "SGB",
DefaultFpsNumerator = TICKSPERSECOND,
DefaultFpsDenominator = TICKSPERFRAME
})
@ -41,8 +49,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
MmapHeapSizeKB = 0
});
var spc = comm.CoreFileProvider.GetFirmware("SGB", "SPC", true);
_sgb = true;
var spc = sgb ? comm.CoreFileProvider.GetFirmware("SGB", "SPC", true) : new byte[0];
_sgb = sgb;
if (!_pizza.Init(rom, rom.Length, _sgb, spc, spc.Length))
{
throw new InvalidOperationException("Core rejected the rom!");
@ -77,23 +85,32 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
#region Controller
private static readonly ControllerDefinition _definition;
public override ControllerDefinition ControllerDefinition => _definition;
private static readonly ControllerDefinition _gbDefinition;
private static readonly ControllerDefinition _sgbDefinition;
public override ControllerDefinition ControllerDefinition => _sgb ? _sgbDefinition : _gbDefinition;
static Pizza()
private static ControllerDefinition CreateControllerDefinition(int p)
{
_definition = new ControllerDefinition { Name = "Gameboy Controller" };
for (int i = 0; i < 4; i++)
var ret = new ControllerDefinition { Name = "Gameboy Controller" };
for (int i = 0; i < p; i++)
{
_definition.BoolButtons.AddRange(
ret.BoolButtons.AddRange(
new[] { "Up", "Down", "Left", "Right", "A", "B", "Select", "Start" }
.Select(s => $"P{i + 1} {s}"));
}
return ret;
}
private static LibPizza.Buttons GetButtons(IController c)
static Pizza()
{
_gbDefinition = CreateControllerDefinition(1);
_sgbDefinition = CreateControllerDefinition(4);
}
private LibPizza.Buttons GetButtons(IController c)
{
LibPizza.Buttons b = 0;
for (int i = 4; i > 0; i--)
for (int i = _sgb ? 4 : 1; i > 0; i--)
{
if (c.IsPressed($"P{i} Up"))
b |= LibPizza.Buttons.UP;
@ -139,5 +156,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
public bool IsCGBMode() => _pizza.IsCGB();
public bool IsSGBMode() => _sgb;
public override string SystemId => _sgb ? "SGB" : "GB";
}
}

View File

@ -404,6 +404,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
}
Board.Dispose();
Board = newboard;
ppu.HasClockPPU = Board.GetType().GetMethod(nameof(INESBoard.ClockPPU)).DeclaringType != typeof(NESBoardBase);
}

View File

@ -8,6 +8,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
{
public int cpu_step, cpu_stepcounter;
public bool HasClockPPU = false;
// this only handles region differences within the PPU
int preNMIlines;
int postNMIlines;
@ -308,7 +310,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
nes.RunCpuOne();
// decay the ppu bus, approximating real behaviour
ppu_open_bus_decay(0);
PpuOpenBusDecay(DecayType.None);
// Check for NMIs
if (NMI_PendingInstructions > 0)
@ -333,7 +335,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
Reg2002_vblank_clear_pending = false;
}
nes.Board.ClockPPU();
if (HasClockPPU)
{
nes.Board.ClockPPU();
}
}
}
}

View File

@ -365,7 +365,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
// update the open bus here
ppu_open_bus = ret;
ppu_open_bus_decay(2);
PpuOpenBusDecay(DecayType.High);
return ret;
}
byte peek_2002()
@ -468,7 +468,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
}
ppu_open_bus = ret;
ppu_open_bus_decay(1);
PpuOpenBusDecay(DecayType.All);
return ret;
}
byte peek_2004() { return OAM[reg_2003]; }
@ -595,10 +595,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
ppu_open_bus = ret;
if (bus_case==0)
{
ppu_open_bus_decay(1);
} else
PpuOpenBusDecay(DecayType.All);
}
else
{
ppu_open_bus_decay(3);
PpuOpenBusDecay(DecayType.Low);
}
return ret;
@ -671,6 +672,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
default: throw new InvalidOperationException();
}
}
public byte PeekReg(int addr)
{
switch (addr)
@ -680,6 +682,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
default: throw new InvalidOperationException();
}
}
public void WriteReg(int addr, byte value)
{
PPUGenLatch = value;
@ -709,55 +712,54 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
}
}
public void ppu_open_bus_decay(byte action)
private enum DecayType
{
// if there is no action, decrement the timer
if (action==0)
{
for (int i = 0; i < 8; i++)
{
if (ppu_open_bus_decay_timer[i] == 0)
{
ppu_open_bus = (byte)(ppu_open_bus & (0xff - (1 << i)));
ppu_open_bus_decay_timer[i] = 1786840; // about 1 second worth of cycles
}
else
{
ppu_open_bus_decay_timer[i]--;
}
}
}
None = 0, // if there is no action, decrement the timer
All = 1, // reset the timer for all bits (reg 2004 / 2007 (non-palette)
High = 2, // reset the timer for high 3 bits (reg 2002)
Low = 3 // reset the timer for all low 6 bits (reg 2007 (palette))
// reset the timer for all bits (reg 2004 / 2007 (non-palette)
if (action==1)
{
for (int i=0; i<8; i++)
{
ppu_open_bus_decay_timer[i] = 1786840;
}
}
// reset the timer for high 3 bits (reg 2002)
if (action == 2)
{
ppu_open_bus_decay_timer[7] = 1786840;
ppu_open_bus_decay_timer[6] = 1786840;
ppu_open_bus_decay_timer[5] = 1786840;
}
// reset the timer for all low 6 bits (reg 2007 (palette))
if (action == 3)
{
for (int i = 0; i < 6; i++)
{
ppu_open_bus_decay_timer[i] = 1786840;
}
}
// other values of action are reserved for possibly needed expansions, but this passes
// ppu_open_bus for now.
}
}
private void PpuOpenBusDecay(DecayType action)
{
switch (action)
{
case DecayType.None:
for (int i = 0; i < 8; i++)
{
if (ppu_open_bus_decay_timer[i] == 0)
{
ppu_open_bus = (byte)(ppu_open_bus & (0xff - (1 << i)));
ppu_open_bus_decay_timer[i] = 1786840; // about 1 second worth of cycles
}
else
{
ppu_open_bus_decay_timer[i]--;
}
}
break;
case DecayType.All:
for (int i = 0; i < 8; i++)
{
ppu_open_bus_decay_timer[i] = 1786840;
}
break;
case DecayType.High:
ppu_open_bus_decay_timer[7] = 1786840;
ppu_open_bus_decay_timer[6] = 1786840;
ppu_open_bus_decay_timer[5] = 1786840;
break;
case DecayType.Low:
for (int i = 0; i < 6; i++)
{
ppu_open_bus_decay_timer[i] = 1786840;
}
break;
}
}
}
}

View File

@ -759,14 +759,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
Read_bgdata(ref bgdata[xt]);
}
// this sequence is tuned to pass 10-even_odd_timing.nes
runppu(1);
runppu(1);
runppu(1);
runppu(1);
// this sequence is tuned to pass 10-even_odd_timing.nes
runppu(4);
bool evenOddDestiny = PPUON;
// After memory access 170, the PPU simply rests for 4 cycles (or the

View File

@ -81,5 +81,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
[BizImport(CC)]
public abstract void HardReset();
[BizImport(CC)]
public abstract void PredictFrameSize([In, Out]FrameInfo frame);
}
}

View File

@ -1,29 +1,29 @@
using BizHawk.Common;
using BizHawk.Common.BizInvoke;
using BizHawk.Common.BufferExtensions;
using BizHawk.Emulation.Common;
using BizHawk.Emulation.Cores.Waterbox;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
{
[CoreAttributes("Virtual Boyee", "Ryphecha", true, true, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class VirtualBoyee : WaterboxCore, ISettable<VirtualBoyee.Settings, VirtualBoyee.SyncSettings>
{
private LibVirtualBoyee _boyee;
[CoreConstructor("VB")]
public VirtualBoyee(CoreComm comm, byte[] rom, Settings settings, SyncSettings syncSettings)
using BizHawk.Common;
using BizHawk.Common.BizInvoke;
using BizHawk.Common.BufferExtensions;
using BizHawk.Emulation.Common;
using BizHawk.Emulation.Cores.Waterbox;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
{
[CoreAttributes("Virtual Boyee", "Ryphecha", true, true, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class VirtualBoyee : WaterboxCore, ISettable<VirtualBoyee.Settings, VirtualBoyee.SyncSettings>
{
private LibVirtualBoyee _boyee;
[CoreConstructor("VB")]
public VirtualBoyee(CoreComm comm, byte[] rom, Settings settings, SyncSettings syncSettings)
:base(comm, new Configuration
{
DefaultFpsNumerator = 20000000,
@ -34,220 +34,226 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
MaxHeight = 1024,
MaxSamples = 8192,
SystemId = "VB"
})
{
_settings = settings ?? new Settings();
_syncSettings = syncSettings ?? new SyncSettings();
// TODO: the way settings work in this core, changing the non-sync ones will invalidate savestates
var nativeSettings = LibVirtualBoyee.NativeSettings.FromFrontendSettings(_settings, _syncSettings);
_boyee = PreInit<LibVirtualBoyee>(new PeRunnerOptions
{
Filename = "vb.wbx",
SbrkHeapSizeKB = 256,
SealedHeapSizeKB = 4 * 1024,
InvisibleHeapSizeKB = 256,
PlainHeapSizeKB = 256
});
if (!_boyee.Load(rom, rom.Length, nativeSettings))
})
{
_settings = settings ?? new Settings();
_syncSettings = syncSettings ?? new SyncSettings();
// TODO: the way settings work in this core, changing the non-sync ones will invalidate savestates
var nativeSettings = LibVirtualBoyee.NativeSettings.FromFrontendSettings(_settings, _syncSettings);
_boyee = PreInit<LibVirtualBoyee>(new PeRunnerOptions
{
Filename = "vb.wbx",
SbrkHeapSizeKB = 256,
SealedHeapSizeKB = 4 * 1024,
InvisibleHeapSizeKB = 256,
PlainHeapSizeKB = 256
});
if (!_boyee.Load(rom, rom.Length, nativeSettings))
throw new InvalidOperationException("Core rejected the rom");
PostInit();
}
// do a quick hack up for frame zero size
var tmp = new LibVirtualBoyee.FrameInfo();
_boyee.PredictFrameSize(tmp);
BufferWidth = tmp.Width;
BufferHeight = tmp.Height;
PostInit();
}
protected override LibWaterboxCore.FrameInfo FrameAdvancePrep(IController controller, bool render, bool rendersound)
{
if (controller.IsPressed("Power"))
if (controller.IsPressed("Power"))
_boyee.HardReset();
return new LibVirtualBoyee.FrameInfo { Buttons = GetButtons(controller) };
}
#region Controller
private LibVirtualBoyee.Buttons GetButtons(IController c)
{
var ret = 0;
var val = 1;
foreach (var s in CoreButtons)
{
if (c.IsPressed(s))
ret |= val;
val <<= 1;
}
return (LibVirtualBoyee.Buttons)ret;
}
private static readonly string[] CoreButtons =
{
"A", "B", "R", "L",
"R_Up", "R_Right",
"L_Right", "L_Left", "L_Down", "L_Up",
"Start", "Select", "R_Left", "R_Down"
};
private static readonly Dictionary<string, int> _buttonOrdinals = new Dictionary<string, int>
{
["L_Up"] = 1,
["L_Down"] = 2,
["L_Left"] = 3,
["L_Right"] = 4,
["R_Up"] = 5,
["R_Down"] = 6,
["R_Left"] = 7,
["R_Right"] = 8,
["B"] = 9,
}
#region Controller
private LibVirtualBoyee.Buttons GetButtons(IController c)
{
var ret = 0;
var val = 1;
foreach (var s in CoreButtons)
{
if (c.IsPressed(s))
ret |= val;
val <<= 1;
}
return (LibVirtualBoyee.Buttons)ret;
}
private static readonly string[] CoreButtons =
{
"A", "B", "R", "L",
"R_Up", "R_Right",
"L_Right", "L_Left", "L_Down", "L_Up",
"Start", "Select", "R_Left", "R_Down"
};
private static readonly Dictionary<string, int> _buttonOrdinals = new Dictionary<string, int>
{
["L_Up"] = 1,
["L_Down"] = 2,
["L_Left"] = 3,
["L_Right"] = 4,
["R_Up"] = 5,
["R_Down"] = 6,
["R_Left"] = 7,
["R_Right"] = 8,
["B"] = 9,
["A"] = 10,
["L"] = 11,
["R"] = 12,
["Select"] = 13,
["Start"] = 14
};
private static readonly ControllerDefinition VirtualBoyController = new ControllerDefinition
{
Name = "VirtualBoy Controller",
BoolButtons = CoreButtons
.OrderBy(b => _buttonOrdinals[b])
.Concat(new[] { "Power" })
.ToList()
};
public override ControllerDefinition ControllerDefinition => VirtualBoyController;
#endregion
#region ISettable
public class SyncSettings
{
[DefaultValue(false)]
[Description("Reduce input latency. Works with all known commercial games, may have homebrew issues.")]
public bool InstantReadHack { get; set; }
[DefaultValue(false)]
[Description("Disable parallax for rendering.")]
public bool DisableParallax { get; set; }
public SyncSettings Clone()
{
return (SyncSettings)MemberwiseClone();
}
public static bool NeedsReboot(SyncSettings x, SyncSettings y)
{
return !DeepEquality.DeepEquals(x, y);
}
public SyncSettings()
{
SettingsUtil.SetDefaultValues(this);
}
}
public class Settings
{
public enum ThreeDeeModes : int
{
Anaglyph = 0,
CyberScope = 1,
SideBySide = 2,
//OverUnder,
VerticalInterlaced = 4,
HorizontalInterlaced = 5
}
[DefaultValue(ThreeDeeModes.Anaglyph)]
[Description("How to display the 3d image. Use whichever method works with your VR hardware.")]
public ThreeDeeModes ThreeDeeMode { get; set; }
[DefaultValue(false)]
[Description("Swap the left and right views.")]
public bool SwapViews { get; set; }
public enum AnaglyphPresets : int
{
Custom,
RedBlue,
RedCyan,
RedElectricCyan,
RedGreen,
GreenMagneto,
YellowBlue
}
[DefaultValue(AnaglyphPresets.RedBlue)]
[Description("Color preset for Anaglyph mode.")]
public AnaglyphPresets AnaglyphPreset { get; set; }
[DefaultValue(typeof(Color), "Green")]
[Description("Left anaglyph color. Ignored unless Preset is Custom.")]
public Color AnaglyphCustomLeftColor { get; set; }
[DefaultValue(typeof(Color), "Purple")]
[Description("Right anaglyph color. Ignored unless Preset is Custom.")]
public Color AnaglyphCustomRightColor { get; set; }
[DefaultValue(typeof(Color), "White")]
[Description("Display color for all of the non-anaglyph modes. Real hardware was red, but other colors may be easier on your eyes.")]
public Color NonAnaglyphColor { get; set; }
[DefaultValue(1750)]
[Range(1000, 2000)]
[Description("LED gamma ramp. Range of 1000 to 2000")]
public int LedOnScale { get; set; }
[DefaultValue(2)]
[Range(1, 10)]
public int InterlacePrescale { get; set; }
[DefaultValue(0)]
[Range(0, 1024)]
[Description("How many pixels to put between views in Side By Side mode")]
public int SideBySideSeparation { get; set; }
public Settings Clone()
{
return (Settings)MemberwiseClone();
}
public static bool NeedsReboot(Settings x, Settings y)
{
return !DeepEquality.DeepEquals(x, y);
}
public Settings()
{
SettingsUtil.SetDefaultValues(this);
}
}
private Settings _settings;
private SyncSettings _syncSettings;
public Settings GetSettings()
{
return _settings.Clone();
}
public SyncSettings GetSyncSettings()
{
return _syncSettings.Clone();
}
public bool PutSettings(Settings o)
{
var ret = Settings.NeedsReboot(_settings, o);
_settings = o;
return ret;
}
public bool PutSyncSettings(SyncSettings o)
{
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
_syncSettings = o;
return ret;
}
#endregion
}
}
["R"] = 12,
["Select"] = 13,
["Start"] = 14
};
private static readonly ControllerDefinition VirtualBoyController = new ControllerDefinition
{
Name = "VirtualBoy Controller",
BoolButtons = CoreButtons
.OrderBy(b => _buttonOrdinals[b])
.Concat(new[] { "Power" })
.ToList()
};
public override ControllerDefinition ControllerDefinition => VirtualBoyController;
#endregion
#region ISettable
public class SyncSettings
{
[DefaultValue(false)]
[Description("Reduce input latency. Works with all known commercial games, may have homebrew issues.")]
public bool InstantReadHack { get; set; }
[DefaultValue(false)]
[Description("Disable parallax for rendering.")]
public bool DisableParallax { get; set; }
public SyncSettings Clone()
{
return (SyncSettings)MemberwiseClone();
}
public static bool NeedsReboot(SyncSettings x, SyncSettings y)
{
return !DeepEquality.DeepEquals(x, y);
}
public SyncSettings()
{
SettingsUtil.SetDefaultValues(this);
}
}
public class Settings
{
public enum ThreeDeeModes : int
{
Anaglyph = 0,
CyberScope = 1,
SideBySide = 2,
//OverUnder,
VerticalInterlaced = 4,
HorizontalInterlaced = 5
}
[DefaultValue(ThreeDeeModes.Anaglyph)]
[Description("How to display the 3d image. Use whichever method works with your VR hardware.")]
public ThreeDeeModes ThreeDeeMode { get; set; }
[DefaultValue(false)]
[Description("Swap the left and right views.")]
public bool SwapViews { get; set; }
public enum AnaglyphPresets : int
{
Custom,
RedBlue,
RedCyan,
RedElectricCyan,
RedGreen,
GreenMagneto,
YellowBlue
}
[DefaultValue(AnaglyphPresets.RedBlue)]
[Description("Color preset for Anaglyph mode.")]
public AnaglyphPresets AnaglyphPreset { get; set; }
[DefaultValue(typeof(Color), "Green")]
[Description("Left anaglyph color. Ignored unless Preset is Custom.")]
public Color AnaglyphCustomLeftColor { get; set; }
[DefaultValue(typeof(Color), "Purple")]
[Description("Right anaglyph color. Ignored unless Preset is Custom.")]
public Color AnaglyphCustomRightColor { get; set; }
[DefaultValue(typeof(Color), "White")]
[Description("Display color for all of the non-anaglyph modes. Real hardware was red, but other colors may be easier on your eyes.")]
public Color NonAnaglyphColor { get; set; }
[DefaultValue(1750)]
[Range(1000, 2000)]
[Description("LED gamma ramp. Range of 1000 to 2000")]
public int LedOnScale { get; set; }
[DefaultValue(2)]
[Range(1, 10)]
public int InterlacePrescale { get; set; }
[DefaultValue(0)]
[Range(0, 1024)]
[Description("How many pixels to put between views in Side By Side mode")]
public int SideBySideSeparation { get; set; }
public Settings Clone()
{
return (Settings)MemberwiseClone();
}
public static bool NeedsReboot(Settings x, Settings y)
{
return !DeepEquality.DeepEquals(x, y);
}
public Settings()
{
SettingsUtil.SetDefaultValues(this);
}
}
private Settings _settings;
private SyncSettings _syncSettings;
public Settings GetSettings()
{
return _settings.Clone();
}
public SyncSettings GetSyncSettings()
{
return _syncSettings.Clone();
}
public bool PutSettings(Settings o)
{
var ret = Settings.NeedsReboot(_settings, o);
_settings = o;
return ret;
}
public bool PutSyncSettings(SyncSettings o)
{
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
_syncSettings = o;
return ret;
}
#endregion
}
}

View File

@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.SNK
{
[CoreAttributes("NeoPop", "Thomas Klausner", true, false, "0.9.44.1",
[CoreAttributes("NeoPop", "Thomas Klausner", true, true, "0.9.44.1",
"https://mednafen.github.io/releases/", false)]
public class NeoGeoPort : WaterboxCore,
ISaveRam, // NGP provides its own saveram interface

View File

@ -171,6 +171,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
_core.SetControllerData(_controllerDeck.Poll(controller));
SetVideoParameters();
return new LibSaturnus.FrameInfo { ResetPushed = controller.IsPressed("Reset") ? 1 : 0 };
}
@ -180,9 +182,22 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
public class Settings
{
// extern bool setting_ss_correct_aspect;
[DefaultValue(true)]
public bool CorrectAspectRatio { get; set; }
public enum ResolutionModeTypes
{
[Display(Name = "Pixel Pro")]
PixelPro,
[Display(Name = "Hardcode Debug")]
HardcoreDebug,
[Display(Name = "Mednafen (5:4 AR)")]
Mednafen,
[Display(Name = "Tweaked Mednafen (5:4 AR)")]
TweakedMednafen,
}
[DisplayName("Resolution Mode")]
[DefaultValue(ResolutionModeTypes.PixelPro)]
[Description("Method for managing varying resolutions")]
public ResolutionModeTypes ResolutionMode { get; set; }
// extern bool setting_ss_h_blend;
[DisplayName("Horizontal Blend")]
@ -425,9 +440,12 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
{
var ret = Settings.NeedsReboot(_settings, s);
_settings = s;
var sls = _isPal ? s.ScanlineStartPal + 16 : s.ScanlineStartNtsc;
var sle = _isPal ? s.ScanlineEndPal + 16 : s.ScanlineEndNtsc;
_core.SetVideoParameters(s.CorrectAspectRatio, s.HBlend, s.HOverscan, sls, sle);
//todo natt - is this safe? this is now called before every frameadvance
//(the correct aspect ratio is no longer an option for other reasons)
//_core.SetVideoParameters(s.CorrectAspectRatio, s.HBlend, s.HOverscan, sls, sle);
return ret;
}
@ -443,6 +461,19 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
return ret;
}
private void SetVideoParameters()
{
var s = _settings;
var sls = _isPal ? s.ScanlineStartPal + 16 : s.ScanlineStartNtsc;
var sle = _isPal ? s.ScanlineEndPal + 16 : s.ScanlineEndNtsc;
bool correctAspect = true;
if (_settings.ResolutionMode == Settings.ResolutionModeTypes.PixelPro)
correctAspect = false;
_core.SetVideoParameters(correctAspect, _settings.HBlend, _settings.HOverscan, sls, sle);
}
#endregion
#region IStatable
@ -461,6 +492,12 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
_nextDiskSignal = reader.ReadBoolean();
// any managed pointers that we sent to the core need to be resent now!
SetCdCallbacks();
//todo natt: evaluate the philosophy of this.
//i think it's sound: loadstate will replace the last values set by frontend; so this should re-assert them.
//or we could make sure values from the frontend are stored in a segment designed with the appropriate waterboxing rules, but that seems tricky...
//anyway, in this case, I did it before frameadvance instead, so that's just as good (probably?)
//PutSettings(_settings);
}
#endregion
@ -564,5 +601,110 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
private const int NtscFpsDen = 61 * 455 * 1051;
public override int VsyncNumerator => _isPal ? PalFpsNum : NtscFpsNum;
public override int VsyncDenominator => _isPal ? PalFpsDen : NtscFpsDen;
private int _virtualWidth;
private int _virtualHeight;
public override int VirtualWidth => _virtualWidth;
public override int VirtualHeight => _virtualHeight;
protected override void FrameAdvancePost()
{
//TODO: can we force the videoprovider to add a prescale instead of having to do it in software here?
//TODO: if not, actually do it in software, instead of relying on the virtual sizes
//TODO: find a reason why relying on the virtual sizes is actually not good enough?
//TODO: export VDP2 display area width from emulator and add option to aggressively crop overscan - OR - add that logic to core
//mednafen, for reference:
//if (PAL)
//{
// gi->nominal_width = (ShowHOverscan ? 365 : 354);
// gi->fb_height = 576;
//}
//else
//{
// gi->nominal_width = (ShowHOverscan ? 302 : 292);
// gi->fb_height = 480;
//}
//gi->nominal_height = LineVisLast + 1 - LineVisFirst;
//gi->lcm_width = (ShowHOverscan ? 10560 : 10240);
//gi->lcm_height = (LineVisLast + 1 - LineVisFirst) * 2;
//if (!CorrectAspect)
//{
// gi->nominal_width = (ShowHOverscan ? 352 : 341);
// gi->lcm_width = gi->nominal_width * 2;
//}
bool isHorz2x = false, isVert2x = false;
//note: these work with PAL also
//these are all with CorrectAR.
//with IncorrectAR, only 352 and 341 will show up
//that is, 330 is forced to 352 so mednafen's presentation can display it pristine no matter what mode it is
//(it's mednafen's equivalent of a more debuggish mode, I guess)
if (BufferWidth == 352) { } //a large basic framebuffer size
else if (BufferWidth == 341) { } //a large basic framebuffer size with overscan cropped
else if (BufferWidth == 330) { } //a small basic framebuffer
else if (BufferWidth == 320) { } //a small basic framebuffer with overscan cropped
else isHorz2x = true;
int slStart = _isPal ? _settings.ScanlineStartPal : _settings.ScanlineStartNtsc;
int slEnd = _isPal ? _settings.ScanlineEndPal : _settings.ScanlineEndNtsc;
int slHeight = (slEnd - slStart) + 1;
if (BufferHeight == slHeight) { }
else isVert2x = true;
switch (_settings.ResolutionMode)
{
case Settings.ResolutionModeTypes.HardcoreDebug:
_virtualWidth = BufferWidth;
_virtualHeight = BufferHeight;
break;
case Settings.ResolutionModeTypes.Mednafen:
//this is mednafen's "correct AR" case.
//note that this will shrink a width from 330 to 302 (that's the nature of mednafen)
//that makes the bios saturn orb get stretched vertically
//note: these are never high resolution (use a 2x window size if you want to see high resolution content)
if (_isPal)
{
_virtualWidth = (_settings.HOverscan ? 365 : 354);
_virtualHeight = slHeight;
}
else
{
_virtualWidth = (_settings.HOverscan ? 302 : 292);
_virtualHeight = slHeight;
}
break;
case Settings.ResolutionModeTypes.TweakedMednafen:
//same as mednafen but stretch up
//base case is 330x254
if (_isPal)
{
//this can be the same as Mednafen mode? we don't shrink down in any case, so it must be OK
_virtualWidth = (_settings.HOverscan ? 365 : 354);
_virtualHeight = slHeight;
}
else
{
//ideally we want a height of 254, but we may have changed the overscan settings
_virtualWidth = (_settings.HOverscan ? 330 : 320);
_virtualHeight = BufferHeight * 254 / 240;
}
break;
case Settings.ResolutionModeTypes.PixelPro:
//mednafen makes sure we always get 352 or 341 (if overscan cropped)
//really the only thing we do
//(that's not the best solution for us [not what psx does], but it will do for now)
_virtualWidth = BufferWidth * (isHorz2x ? 1 : 2); //not a mistake, we scale to make it bigger if it isn't already
_virtualHeight = BufferHeight * (isVert2x ? 1 : 2); //not a mistake
break;
}
}
}
}

View File

@ -45,11 +45,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx64
{
Path = comm.CoreFileProvider.DllPath(),
Filename = "gpgx.wbx",
SbrkHeapSizeKB = 256,
SbrkHeapSizeKB = 512,
SealedHeapSizeKB = 36 * 1024,
InvisibleHeapSizeKB = 4 * 1024,
PlainHeapSizeKB = 64,
MmapHeapSizeKB = 512
MmapHeapSizeKB = 1 * 1024
});
using (_elf.EnterExit())

View File

@ -243,7 +243,7 @@ namespace BizHawk.Emulation.Cores.Waterbox
protected readonly BasicServiceProvider _serviceProvider;
public IEmulatorServiceProvider ServiceProvider => _serviceProvider;
public string SystemId { get; }
public virtual string SystemId { get; }
public bool DeterministicEmulation { get; protected set; } = true;
public IInputCallbackSystem InputCallbacks { get; } = new InputCallbackSystem();
public virtual ControllerDefinition ControllerDefinition { get; protected set; } = NullController.Instance.Definition;
@ -374,7 +374,7 @@ namespace BizHawk.Emulation.Cores.Waterbox
protected readonly int[] _videoBuffer;
public virtual int VirtualWidth => BufferWidth;
public virtual int VirtualHeight => BufferWidth;
public virtual int VirtualHeight => BufferHeight;
public int BufferWidth { get; protected set; }
public int BufferHeight { get; protected set; }
public virtual int VsyncNumerator { get; protected set; }

View File

@ -1,42 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Emulation.DiscSystem.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Emulation.DiscSystem.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>

View File

@ -62,70 +62,70 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BizHawk.Client.ApiHawk", "B
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|x64.ActiveCfg = Debug|x64
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|x64.Build.0 = Debug|x64
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|x64.ActiveCfg = Release|x64
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|x64.Build.0 = Release|x64
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|x64.ActiveCfg = Debug|x64
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|x64.Build.0 = Debug|x64
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|x64.ActiveCfg = Release|x64
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|x64.Build.0 = Release|x64
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|x64.ActiveCfg = Debug|x64
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|x64.Build.0 = Debug|x64
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|x64.ActiveCfg = Release|x64
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|x64.Build.0 = Release|x64
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|x64.ActiveCfg = Debug|x64
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|x64.Build.0 = Debug|x64
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|x64.ActiveCfg = Release|x64
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|x64.Build.0 = Release|x64
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|x64.ActiveCfg = Debug|x64
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|x64.Build.0 = Debug|x64
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|x64.ActiveCfg = Release|x64
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|x64.Build.0 = Release|x64
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|x64.ActiveCfg = Debug|x64
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|x64.Build.0 = Debug|x64
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|x64.ActiveCfg = Release|x64
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|x64.Build.0 = Release|x64
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|x64.ActiveCfg = Debug|x64
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|x64.Build.0 = Debug|x64
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|x64.ActiveCfg = Release|x64
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|x64.Build.0 = Release|x64
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|x64.ActiveCfg = Debug|x64
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|x64.Build.0 = Debug|x64
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|x64.ActiveCfg = Release|x64
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|x64.Build.0 = Release|x64
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|x64.ActiveCfg = Debug|x64
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|x64.Build.0 = Debug|x64
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|x64.ActiveCfg = Release|x64
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|x64.Build.0 = Release|x64
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|x64.ActiveCfg = Debug|x64
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|x64.Build.0 = Debug|x64
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|x64.ActiveCfg = Release|x64
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|x64.Build.0 = Release|x64
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|x64.ActiveCfg = Debug|x64
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|x64.Build.0 = Debug|x64
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|x64.ActiveCfg = Release|x64
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|x64.Build.0 = Release|x64
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|x64.ActiveCfg = Debug|x64
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|x64.Build.0 = Debug|x64
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|x64.ActiveCfg = Release|x64
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|x64.Build.0 = Release|x64
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|x64.ActiveCfg = Debug|x64
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|x64.Build.0 = Debug|x64
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|x64.ActiveCfg = Release|x64
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|x64.Build.0 = Release|x64
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|x64.ActiveCfg = Debug|x64
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|x64.Build.0 = Debug|x64
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|x64.ActiveCfg = Release|x64
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|x64.Build.0 = Release|x64
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|x64.ActiveCfg = Debug|x64
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|x64.Build.0 = Debug|x64
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|x64.ActiveCfg = Release|x64
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|x64.Build.0 = Release|x64
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0CE8B337-08E3-4602-BF10-C4D4C75D2F13}.Release|Any CPU.Build.0 = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|Any CPU.Build.0 = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Any CPU.Build.0 = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD448B37-BA3F-4544-9754-5406E8094723}.Release|Any CPU.Build.0 = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4366030-6D03-424B-AE53-F4F43BB217C3}.Release|Any CPU.Build.0 = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F51946EA-827F-4D82-B841-1F2F6D060312}.Release|Any CPU.Build.0 = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1A23168-B571-411C-B360-2229E7225E0E}.Release|Any CPU.Build.0 = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}.Release|Any CPU.Build.0 = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}.Release|Any CPU.Build.0 = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5160CFB1-5389-47C1-B7F6-8A0DC97641EE}.Release|Any CPU.Build.0 = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D2890A8-C338-4439-AD8B-CB9EE85A94F9}.Release|Any CPU.Build.0 = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Debug|Any CPU.Build.0 = Debug|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|Any CPU.ActiveCfg = Release|Any CPU
{337CA23E-65E7-44E1-9411-97EE08BB8116}.Release|Any CPU.Build.0 = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E6B436B1-A3CD-4C9A-8F76-5D7154726884}.Release|Any CPU.Build.0 = Release|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B95649F5-A0AE-41EB-B62B-578A2AFF5E18}.Release|Any CPU.Build.0 = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E2F11F2-3955-4382-8C3A-CEBA1276CAEA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -14,38 +14,25 @@
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Bizware.BizwareGL.GdiPlus.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Bizware.BizwareGL.GdiPlus.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">

View File

@ -14,43 +14,29 @@
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Bizware.BizwareGL.OpenTK.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Bizware.BizwareGL.OpenTK.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">

View File

@ -14,47 +14,33 @@
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Bizware.BizwareGL.SlimDX.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Bizware.BizwareGL.SlimDX.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\References\OpenTK.dll</HintPath>
</Reference>
<Reference Include="SlimDX, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\References\$(Platform)\SlimDX.dll</HintPath>
<Reference Include="SlimDX">
<HintPath>..\..\References\x64\SlimDX.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
@ -72,7 +58,7 @@
<Name>BizHawk.Common</Name>
</ProjectReference>
<ProjectReference Include="..\BizHawk.Bizware.BizwareGL\BizHawk.Bizware.BizwareGL.csproj">
<Project>{9F84A0B2-861E-4EF4-B89B-5E2A3F38A465}</Project>
<Project>{9f84a0b2-861e-4ef4-b89b-5e2a3f38a465}</Project>
<Name>BizHawk.Bizware.BizwareGL</Name>
</ProjectReference>
</ItemGroup>

View File

@ -14,43 +14,29 @@
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Bizware.BizwareGL.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Bizware.BizwareGL.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">

View File

@ -17,7 +17,7 @@ for /f "skip=2 tokens=2,*" %%A in ('reg.exe query "HKLM\SOFTWARE\Microsoft\MSBui
IF NOT EXIST %MSBUILDDIR%nul goto MISSINGMSBUILD
IF NOT EXIST %MSBUILDDIR%msbuild.exe goto MISSINGMSBUILD
call "%MSBUILDDIR%msbuild.exe" ..\BizHawk.sln /p:Configuration=Release /p:Platform="x64" /t:rebuild
call "%MSBUILDDIR%msbuild.exe" ..\BizHawk.sln /p:Configuration=Release /p:Platform="Any Cpu" /t:rebuild
@if errorlevel 1 goto MSBUILDFAILED

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -16,39 +16,26 @@
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\Version.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\Version.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -454,30 +454,30 @@ GPGX_EX const char* gpgx_get_memdom(int which, void **area, int *size)
GPGX_EX void gpgx_write_m68k_bus(unsigned addr, unsigned data)
{
unsigned char *base = m68k.memory_map[addr >> 16 & 0xff].base;
if (base)
base[addr & 0xffff ^ 1] = data;
cpu_memory_map m = m68k.memory_map[addr >> 16 & 0xff];
if (m.base && !m.write8)
m.base[addr & 0xffff ^ 1] = data;
}
GPGX_EX void gpgx_write_s68k_bus(unsigned addr, unsigned data)
{
unsigned char *base = s68k.memory_map[addr >> 16 & 0xff].base;
if (base)
base[addr & 0xffff ^ 1] = data;
cpu_memory_map m = s68k.memory_map[addr >> 16 & 0xff];
if (m.base && !m.write8)
m.base[addr & 0xffff ^ 1] = data;
}
GPGX_EX unsigned gpgx_peek_m68k_bus(unsigned addr)
{
unsigned char *base = m68k.memory_map[addr >> 16 & 0xff].base;
if (base)
return base[addr & 0xffff ^ 1];
cpu_memory_map m = m68k.memory_map[addr >> 16 & 0xff];
if (m.base && !m.read8)
return m.base[addr & 0xffff ^ 1];
else
return 0xff;
}
GPGX_EX unsigned gpgx_peek_s68k_bus(unsigned addr)
{
unsigned char *base = s68k.memory_map[addr >> 16 & 0xff].base;
if (base)
return base[addr & 0xffff ^ 1];
cpu_memory_map m = s68k.memory_map[addr >> 16 & 0xff];
if (m.base && !m.read8)
return m.base[addr & 0xffff ^ 1];
else
return 0xff;
}

View File

@ -45,7 +45,7 @@ char cartridge_load(const void *data, size_t sz)
if (rom[0x143] == 0xC0 || rom[0x143] == 0x80)
{
utils_log("Gameboy Color cartridge\n");
global_cgb = 1;
global_cgb = global_sgb ? 0 : 1;
}
else
{

@ -1 +1 @@
Subproject commit 06a2bc83c9288c5efd5872d5d2e4b94f03d6e4b7
Subproject commit 6d1d6dc591cb1cbb183760d2783dd37f0d8bf773

View File

@ -779,6 +779,11 @@ EXPORT void FrameAdvance(MyFrameInfo* frame)
VB_V810->ResetTS(0);
}
EXPORT void PredictFrameSize(MyFrameInfo* frame)
{
VIP_CalcFrameSize(frame);
}
EXPORT void HardReset()
{
VB_Power();

View File

@ -864,18 +864,8 @@ MDFN_FASTCALL void VIP_Write16(int32 &timestamp, uint32 A, uint16 V)
static MDFN_Surface real_surface;
static MDFN_Surface *surface;
void VIP_StartFrame(MyFrameInfo* frame)
void VIP_CalcFrameSize(MyFrameInfo* frame)
{
// puts("Start frame");
if (VidSettingsDirty)
{
MakeColorLUT();
Recalc3DModeStuff();
VidSettingsDirty = false;
}
switch (VB3DMode)
{
default:
@ -903,6 +893,22 @@ void VIP_StartFrame(MyFrameInfo* frame)
frame->Height = 224;
break;
}
}
void VIP_StartFrame(MyFrameInfo* frame)
{
// puts("Start frame");
if (VidSettingsDirty)
{
MakeColorLUT();
Recalc3DModeStuff();
VidSettingsDirty = false;
}
VIP_CalcFrameSize(frame);
surface = &real_surface;
real_surface.pixels = frame->VideoBuffer;

View File

@ -38,6 +38,7 @@ v810_timestamp_t MDFN_FASTCALL VIP_Update(const v810_timestamp_t timestamp);
void VIP_ResetTS(void);
void VIP_StartFrame(MyFrameInfo* frame);
void VIP_CalcFrameSize(MyFrameInfo* frame);
MDFN_FASTCALL uint8 VIP_Read8(v810_timestamp_t &timestamp, uint32 A);
MDFN_FASTCALL uint16 VIP_Read16(v810_timestamp_t &timestamp, uint32 A);