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 2286E2150CD7EF3B880AD6937CA3B2A1E2980526 Orbizone (1989)(Pangea Software)(SW)(Disk 3 of 3)[graphics 2] AppleII
FB0C887C7902106A72327F9797CDD14A254E3228 Oregon Trail (1985)(MECC)(US)(Side A) AppleII FB0C887C7902106A72327F9797CDD14A254E3228 Oregon Trail (1985)(MECC)(US)(Side A) AppleII
8CA19D02C1B3EB35061B97F8640CC338BA129B9F Oregon Trail (1985)(MECC)(US)(Side B) 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 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 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 693F40BF0424B1F512189796C25D8837FD34BF12 Out of This World (1992)(Interplay)(Disk 2 of 2)[non boot] AppleII
7B41C9339F47E314830A98957C4785CFCE5646C6 Outliner v1.0 (1988)(MECC)(US)[no 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 0DD5A4F87B6F109966A5FCED114F39F450EE8C40 ZZZ-UNK-Basic Programs - Hellos - D02s2 (19xx)(-)[Name unknown] AppleII
F9C291D3E167B0F693261C6634ACE5504103A4A0 ZZZ-UNK-Bbshow Deltadrawii Ezdraw Graphicstoolbox Jln AppleII F9C291D3E167B0F693261C6634ACE5504103A4A0 ZZZ-UNK-Bbshow Deltadrawii Ezdraw Graphicstoolbox Jln AppleII
99AA686AA7D145A4A8132E27BF924D733B75065C ZZZ-UNK-Blackstone (Wizardry 1 Mod)[PASCAL] 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 67F5D6AA79E18905D540F7B8E01CE90E40696D44 ZZZ-UNK-Bolo - cheat version, Pest Patrol, Serpentine AppleII
A43AC3294FDCD4E26956792C8A8E65D5BA11E37C ZZZ-UNK-Boot62f0 (19xx)(-)[nb] AppleII A43AC3294FDCD4E26956792C8A8E65D5BA11E37C ZZZ-UNK-Boot62f0 (19xx)(-)[nb] AppleII
B7C43C1F58FD0FC16F805A53072D3A670C11BE68 ZZZ-UNK-Boot62f1 (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 500CD3C79352C49AD029BD6843F2B0957FBD8857 ZZZ-UNK-Looney Tunes Graphics Disk O4b (19xx)(-) AppleII
D8D30398A32B5046B1E568A030BE64E0D5B401E2 ZZZ-UNK-Main Hall & Beginners Cave (-) AppleII D8D30398A32B5046B1E568A030BE64E0D5B401E2 ZZZ-UNK-Main Hall & Beginners Cave (-) AppleII
8D58456CE81AF53F2E798450FE3A55F71DFB9414 ZZZ-UNK-Mario Bros [nb] AppleII 8D58456CE81AF53F2E798450FE3A55F71DFB9414 ZZZ-UNK-Mario Bros [nb] AppleII
67D88DDE7389FB5092C7F7826DBBE2B6D73BC2AF ZZZ-UNK-Mario [compil] AppleII
67D88DDE7389FB5092C7F7826DBBE2B6D73BC2AF ZZZ-UNK-mario [compil] AppleII 67D88DDE7389FB5092C7F7826DBBE2B6D73BC2AF ZZZ-UNK-mario [compil] AppleII
C6BBD0DB1E2E05987CC752547ADDF8827C4BF29D ZZZ-UNK-Misc Catdialers AppleII C6BBD0DB1E2E05987CC752547ADDF8827C4BF29D ZZZ-UNK-Misc Catdialers AppleII
58F6DD77A9376AB49ABC3CE39705F6258C21268D ZZZ-UNK-Misc Disk Utils (19xx)(-) 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 846BD4D89BD034AC5346CBC559752635AD2BDA6B Juno First (Japan)" MSX1
4991DC097E248436506ED5C8BC3F367A65267EE7 Jyan Friend (Japan)" MSX1 4991DC097E248436506ED5C8BC3F367A65267EE7 Jyan Friend (Japan)" MSX1
17E1111B1D6AA80E8BC525BE345C25E3B00ED504 Jyankyo (Japan)" MSX1 17E1111B1D6AA80E8BC525BE345C25E3B00ED504 Jyankyo (Japan)" MSX1
C6227431BFBC3AA921120EC3DA7F6429A1A799A0 Jyanyuu (Japan)" MSX1
666E82D8A8E5D2672A9B7159ADCDC861A31C8FA1 Kage no Densetsu - Legend of Kage, The (Japan) (Alt 1)" MSX1 666E82D8A8E5D2672A9B7159ADCDC861A31C8FA1 Kage no Densetsu - Legend of Kage, The (Japan) (Alt 1)" MSX1
FFC8C57B26F2F495BD77EFAC5B815EFE9C25336C Kage no Densetsu - Legend of Kage, The (Japan)" MSX1 FFC8C57B26F2F495BD77EFAC5B815EFE9C25336C Kage no Densetsu - Legend of Kage, The (Japan)" MSX1
632EF250C76B222158BA90DFC68B9E004DBAFE3A Kakikukekon (Japan) (Program)" 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 ;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 (?) ;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 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 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. ;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. ;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 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. ;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: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: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: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 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: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: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: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:C1F7AD0A347078B9213B2748D4ADFF33305A6647 O Mississippi Satsujin Jiken (J) [h2][o1] NES board=MAPPER066
sha1:4BBD4C55C37F531031177DE51F007B10418AD760 O Pyramid (AVE) (PRG1) [o1] NES board=MAPPER000 sha1:4BBD4C55C37F531031177DE51F007B10418AD760 O Pyramid (AVE) (PRG1) [o1] NES board=MAPPER000
sha1:BAF860940369C54B3FF547DA7E759515015B1131 O Pyramid (AVE) (PRG1) [o2] 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: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: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: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: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: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 sha1:DEE958845DC528BED899557FB2A8A3B61F1BA7D1 Bao Xiao San Guo (Ch) [a4] NES board=WAIXINGMAPPER176
@ -289,7 +288,6 @@ sha1:B5C4E5E858113F5AA5E063BC79A12D7F6B856E6C Contra (Konami Collection 2002) N
;chinese shit ;chinese shit
sha1:BFA31777E077E64AF0E274B5A22B57C6765D36E1 Fan Kong Jing Ying (Unl) (Ch) NES board=MAPPER241;MIR=H 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: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: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 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"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <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> <DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\dll\</OutputPath> <OutputPath>..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>..\output\dll\BizHawk.Client.ApiHawk.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath> <OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<DocumentationFile>..\output\dll\BizHawk.Client.ApiHawk.XML</DocumentationFile>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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> </PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>

View File

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

View File

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

View File

@ -16,24 +16,23 @@ namespace BizHawk.Client.Common
#region Structs #region Structs
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
private class Bitmapfileheader private class BITMAPFILEHEADER
{ {
public readonly uint bfSize;
public ushort bfType; public ushort bfType;
public uint bfSize;
public ushort bfReserved1; public ushort bfReserved1;
public ushort bfReserved2; public ushort bfReserved2;
public uint bfOffBits; public uint bfOffBits;
public Bitmapfileheader() public BITMAPFILEHEADER()
{ {
bfSize = (uint)Marshal.SizeOf(this); bfSize = (uint)Marshal.SizeOf(this);
} }
public static Bitmapfileheader FromStream(Stream s) public static BITMAPFILEHEADER FromStream(Stream s)
{ {
var ret = GetObject<Bitmapfileheader>(s); var ret = GetObject<BITMAPFILEHEADER>(s);
if (ret.bfSize != Marshal.SizeOf(typeof(Bitmapfileheader))) if (ret.bfSize != Marshal.SizeOf(typeof(BITMAPFILEHEADER)))
{ {
throw new InvalidOperationException(); throw new InvalidOperationException();
} }
@ -42,10 +41,11 @@ namespace BizHawk.Client.Common
} }
} }
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
private class Bitmapinfoheader private class BITMAPINFOHEADER
{ {
public readonly uint biSize; public uint biSize;
public int biWidth; public int biWidth;
public int biHeight; public int biHeight;
public ushort biPlanes; public ushort biPlanes;
@ -57,15 +57,15 @@ namespace BizHawk.Client.Common
public uint biClrUsed; public uint biClrUsed;
public uint biClrImportant; public uint biClrImportant;
public Bitmapinfoheader() public BITMAPINFOHEADER()
{ {
biSize = (uint)Marshal.SizeOf(this); biSize = (uint)Marshal.SizeOf(this);
} }
public static Bitmapinfoheader FromStream(Stream s) public static BITMAPINFOHEADER FromStream(Stream s)
{ {
var ret = GetObject<Bitmapinfoheader>(s); var ret = GetObject<BITMAPINFOHEADER>(s);
if (ret.biSize != Marshal.SizeOf(typeof(Bitmapinfoheader))) if (ret.biSize != Marshal.SizeOf(typeof(BITMAPINFOHEADER)))
{ {
throw new InvalidOperationException(); throw new InvalidOperationException();
} }
@ -244,8 +244,8 @@ namespace BizHawk.Client.Common
public static unsafe bool Load(IVideoProvider v, Stream s) public static unsafe bool Load(IVideoProvider v, Stream s)
{ {
var bf = Bitmapfileheader.FromStream(s); var bf = BITMAPFILEHEADER.FromStream(s);
var bi = Bitmapinfoheader.FromStream(s); var bi = BITMAPINFOHEADER.FromStream(s);
if (bf.bfType != 0x4d42 if (bf.bfType != 0x4d42
|| bf.bfOffBits != bf.bfSize + bi.biSize || bf.bfOffBits != bf.bfSize + bi.biSize
|| bi.biPlanes != 1 || bi.biPlanes != 1
@ -295,8 +295,8 @@ namespace BizHawk.Client.Common
public static unsafe void Save(IVideoProvider v, Stream s, int w, int h) public static unsafe void Save(IVideoProvider v, Stream s, int w, int h)
{ {
var bf = new Bitmapfileheader(); var bf = new BITMAPFILEHEADER();
var bi = new Bitmapinfoheader(); var bi = new BITMAPINFOHEADER();
bf.bfType = 0x4d42; bf.bfType = 0x4d42;
bf.bfOffBits = bf.bfSize + bi.biSize; 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 = "-"; 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 /// Get a string representation of difference
/// between current value and the previous one /// between current value and the previous one
/// </summary> /// </summary>
public override string Diff => FormatValue(_previous - _value); public override string Diff => (_previous - _value).ToString();
/// <summary> /// <summary>
/// Get the maximum possible value /// Get the maximum possible value

View File

@ -229,7 +229,7 @@ namespace BizHawk.Client.Common
diff = "-"; 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"> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<StartupObject /> <StartupObject />
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\</OutputPath> <OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants> <DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\</OutputPath> <OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants> <DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>

View File

@ -42,42 +42,28 @@
<PropertyGroup> <PropertyGroup>
<ApplicationIcon>discohawk.ico</ApplicationIcon> <ApplicationIcon>discohawk.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\</OutputPath> <OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants> <DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\</OutputPath> <OutputPath>..\output\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants> <DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> <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> <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- 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> <PublishUrl>publish\</PublishUrl>
<Install>true</Install> <Install>true</Install>
<InstallFrom>Disk</InstallFrom> <InstallFrom>Disk</InstallFrom>
<Prefer32Bit>false</Prefer32Bit>
<UpdateEnabled>false</UpdateEnabled> <UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode> <UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval> <UpdateInterval>7</UpdateInterval>
@ -35,47 +36,32 @@
<ApplicationVersion>1.0.0.%2a</ApplicationVersion> <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled> <BootstrapperEnabled>true</BootstrapperEnabled>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<NoWin32Manifest>true</NoWin32Manifest> <NoWin32Manifest>true</NoWin32Manifest>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\</OutputPath> <OutputPath>..\output\</OutputPath>
<DefineConstants>WINDOWS;DEBUG</DefineConstants> <DefineConstants>WINDOWS;DEBUG</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\</OutputPath> <OutputPath>..\output\</OutputPath>
<DefineConstants>WINDOWS</DefineConstants> <DefineConstants>WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> <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>
<ItemGroup> <ItemGroup>
<Reference Include="GongShell"> <Reference Include="GongShell">
@ -84,9 +70,8 @@
<Reference Include="ICSharpCode.SharpZipLib"> <Reference Include="ICSharpCode.SharpZipLib">
<HintPath>..\References\ICSharpCode.SharpZipLib.dll</HintPath> <HintPath>..\References\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference> </Reference>
<Reference Include="LuaInterface, Version=2.0.4.35439, Culture=neutral, processorArchitecture=x86"> <Reference Include="LuaInterface">
<SpecificVersion>False</SpecificVersion> <HintPath>..\References\x64\LuaInterface.dll</HintPath>
<HintPath>..\References\$(Platform)\LuaInterface.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.VisualBasic" Condition=" '$(OS)' == 'Windows_NT' " /> <Reference Include="Microsoft.VisualBasic" Condition=" '$(OS)' == 'Windows_NT' " />
@ -97,9 +82,8 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\References\OpenTK.dll</HintPath> <HintPath>..\References\OpenTK.dll</HintPath>
</Reference> </Reference>
<Reference Include="SlimDX, Version=4.0.10.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86"> <Reference Include="SlimDX">
<SpecificVersion>False</SpecificVersion> <HintPath>..\References\x64\SlimDX.dll</HintPath>
<HintPath>..\References\$(Platform)\SlimDX.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core"> <Reference Include="System.Core">
@ -2158,7 +2142,8 @@
</Target> </Target>
--> -->
<PropertyGroup> <PropertyGroup>
<PostBuildEvent>..\Build\BizHawk.Build.Tool.exe LARGEADDRESS --value 1 --target "$(TargetPath)"</PostBuildEvent> <PostBuildEvent>
</PostBuildEvent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">"$(SolutionDir)subwcrev.bat" "$(ProjectDir)"</PreBuildEvent> <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; XIS = OutputSize.Width / state.SurfaceFormat.Size.Width;
YIS = OutputSize.Height / state.SurfaceFormat.Size.Height; YIS = OutputSize.Height / state.SurfaceFormat.Size.Height;
if (XIS == 0) XIS = 1;
if (YIS == 0) YIS = 1;
OutputSize = state.SurfaceFormat.Size; OutputSize = state.SurfaceFormat.Size;
if (XIS <= 1 && YIS <= 1) if (XIS <= 1 && YIS <= 1)

View File

@ -188,7 +188,7 @@ namespace BizHawk.Client.EmuHawk
if (attachedConsole) if (attachedConsole)
{ {
Console.WriteLine(); 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

@ -1825,12 +1825,14 @@
this.QuicknesCoreMenuItem.Name = "QuicknesCoreMenuItem"; this.QuicknesCoreMenuItem.Name = "QuicknesCoreMenuItem";
this.QuicknesCoreMenuItem.Size = new System.Drawing.Size(152, 22); this.QuicknesCoreMenuItem.Size = new System.Drawing.Size(152, 22);
this.QuicknesCoreMenuItem.Text = "QuickNES"; this.QuicknesCoreMenuItem.Text = "QuickNES";
this.QuicknesCoreMenuItem.Click += new System.EventHandler(this.NesCorePick_Click);
// //
// NesCoreMenuItem // NesCoreMenuItem
// //
this.NesCoreMenuItem.Name = "NesCoreMenuItem"; this.NesCoreMenuItem.Name = "NesCoreMenuItem";
this.NesCoreMenuItem.Size = new System.Drawing.Size(152, 22); this.NesCoreMenuItem.Size = new System.Drawing.Size(152, 22);
this.NesCoreMenuItem.Text = "NesHawk"; this.NesCoreMenuItem.Text = "NesHawk";
this.NesCoreMenuItem.Click += new System.EventHandler(this.NesCorePick_Click);
// //
// CoreSNESSubMenu // CoreSNESSubMenu
// //
@ -1845,14 +1847,14 @@
// Coresnes9xMenuItem // Coresnes9xMenuItem
// //
this.Coresnes9xMenuItem.Name = "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.Text = "Snes9x";
this.Coresnes9xMenuItem.Click += new System.EventHandler(this.CoreSnesToggle_Click); this.Coresnes9xMenuItem.Click += new System.EventHandler(this.CoreSnesToggle_Click);
// //
// CorebsnesMenuItem // CorebsnesMenuItem
// //
this.CorebsnesMenuItem.Name = "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.Text = "BSNES";
this.CorebsnesMenuItem.Click += new System.EventHandler(this.CoreSnesToggle_Click); this.CorebsnesMenuItem.Click += new System.EventHandler(this.CoreSnesToggle_Click);
// //
@ -2487,7 +2489,7 @@
this.SMSregionJapanToolStripMenuItem, this.SMSregionJapanToolStripMenuItem,
this.SMSregionAutoToolStripMenuItem}); this.SMSregionAutoToolStripMenuItem});
this.SMSregionToolStripMenuItem.Name = "SMSregionToolStripMenuItem"; 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"; this.SMSregionToolStripMenuItem.Text = "Region";
// //
// SMSregionExportToolStripMenuItem // SMSregionExportToolStripMenuItem
@ -2518,7 +2520,7 @@
this.SMSdisplayPalToolStripMenuItem, this.SMSdisplayPalToolStripMenuItem,
this.SMSdisplayAutoToolStripMenuItem}); this.SMSdisplayAutoToolStripMenuItem});
this.SMSdisplayToolStripMenuItem.Name = "SMSdisplayToolStripMenuItem"; 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"; this.SMSdisplayToolStripMenuItem.Text = "Display Type";
// //
// SMSdisplayNtscToolStripMenuItem // SMSdisplayNtscToolStripMenuItem
@ -2545,94 +2547,94 @@
// SMStoolStripMenuItem2 // SMStoolStripMenuItem2
// //
this.SMStoolStripMenuItem2.Name = "SMStoolStripMenuItem2"; this.SMStoolStripMenuItem2.Name = "SMStoolStripMenuItem2";
this.SMStoolStripMenuItem2.Size = new System.Drawing.Size(238, 6); this.SMStoolStripMenuItem2.Size = new System.Drawing.Size(274, 6);
// //
// SMSenableBIOSToolStripMenuItem // SMSenableBIOSToolStripMenuItem
// //
this.SMSenableBIOSToolStripMenuItem.Name = "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.Text = "Enable BIOS (Must be Enabled for TAS)";
this.SMSenableBIOSToolStripMenuItem.Click += new System.EventHandler(this.SmsBiosMenuItem_Click); this.SMSenableBIOSToolStripMenuItem.Click += new System.EventHandler(this.SmsBiosMenuItem_Click);
// //
// SMSEnableFMChipMenuItem // SMSEnableFMChipMenuItem
// //
this.SMSEnableFMChipMenuItem.Name = "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.Text = "&Enable FM Chip";
this.SMSEnableFMChipMenuItem.Click += new System.EventHandler(this.SmsEnableFmChipMenuItem_Click); this.SMSEnableFMChipMenuItem.Click += new System.EventHandler(this.SmsEnableFmChipMenuItem_Click);
// //
// SMSOverclockMenuItem // SMSOverclockMenuItem
// //
this.SMSOverclockMenuItem.Name = "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.Text = "&Overclock when Known Safe";
this.SMSOverclockMenuItem.Click += new System.EventHandler(this.SMSOverclockMenuItem_Click); this.SMSOverclockMenuItem.Click += new System.EventHandler(this.SMSOverclockMenuItem_Click);
// //
// SMSForceStereoMenuItem // SMSForceStereoMenuItem
// //
this.SMSForceStereoMenuItem.Name = "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.Text = "&Force Stereo Separation";
this.SMSForceStereoMenuItem.Click += new System.EventHandler(this.SMSForceStereoMenuItem_Click); this.SMSForceStereoMenuItem.Click += new System.EventHandler(this.SMSForceStereoMenuItem_Click);
// //
// SMSSpriteLimitMenuItem // SMSSpriteLimitMenuItem
// //
this.SMSSpriteLimitMenuItem.Name = "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.Text = "Sprite &Limit";
this.SMSSpriteLimitMenuItem.Click += new System.EventHandler(this.SMSSpriteLimitMenuItem_Click); this.SMSSpriteLimitMenuItem.Click += new System.EventHandler(this.SMSSpriteLimitMenuItem_Click);
// //
// SMSDisplayOverscanMenuItem // SMSDisplayOverscanMenuItem
// //
this.SMSDisplayOverscanMenuItem.Name = "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.Text = "Display Overscan";
this.SMSDisplayOverscanMenuItem.Click += new System.EventHandler(this.SMSDisplayOverscanMenuItem_Click); this.SMSDisplayOverscanMenuItem.Click += new System.EventHandler(this.SMSDisplayOverscanMenuItem_Click);
// //
// SMSFix3DGameDisplayToolStripMenuItem // SMSFix3DGameDisplayToolStripMenuItem
// //
this.SMSFix3DGameDisplayToolStripMenuItem.Name = "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.Text = "Fix 3D Game Display";
this.SMSFix3DGameDisplayToolStripMenuItem.Click += new System.EventHandler(this.SMSFix3DDisplayMenuItem_Click); this.SMSFix3DGameDisplayToolStripMenuItem.Click += new System.EventHandler(this.SMSFix3DDisplayMenuItem_Click);
// //
// ShowClippedRegionsMenuItem // ShowClippedRegionsMenuItem
// //
this.ShowClippedRegionsMenuItem.Name = "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.Text = "&Show Clipped Regions";
this.ShowClippedRegionsMenuItem.Click += new System.EventHandler(this.ShowClippedRegionsMenuItem_Click); this.ShowClippedRegionsMenuItem.Click += new System.EventHandler(this.ShowClippedRegionsMenuItem_Click);
// //
// HighlightActiveDisplayRegionMenuItem // HighlightActiveDisplayRegionMenuItem
// //
this.HighlightActiveDisplayRegionMenuItem.Name = "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.Text = "&Highlight Active Display Region";
this.HighlightActiveDisplayRegionMenuItem.Click += new System.EventHandler(this.HighlightActiveDisplayRegionMenuItem_Click); this.HighlightActiveDisplayRegionMenuItem.Click += new System.EventHandler(this.HighlightActiveDisplayRegionMenuItem_Click);
// //
// SMSGraphicsSettingsMenuItem // SMSGraphicsSettingsMenuItem
// //
this.SMSGraphicsSettingsMenuItem.Name = "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.Text = "&Graphics Settings...";
this.SMSGraphicsSettingsMenuItem.Click += new System.EventHandler(this.SMSGraphicsSettingsMenuItem_Click); this.SMSGraphicsSettingsMenuItem.Click += new System.EventHandler(this.SMSGraphicsSettingsMenuItem_Click);
// //
// toolStripSeparator24 // toolStripSeparator24
// //
this.toolStripSeparator24.Name = "toolStripSeparator24"; this.toolStripSeparator24.Name = "toolStripSeparator24";
this.toolStripSeparator24.Size = new System.Drawing.Size(238, 6); this.toolStripSeparator24.Size = new System.Drawing.Size(274, 6);
// //
// SMSVDPViewerToolStripMenuItem // SMSVDPViewerToolStripMenuItem
// //
this.SMSVDPViewerToolStripMenuItem.Name = "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.Text = "&VDP Viewer";
this.SMSVDPViewerToolStripMenuItem.Click += new System.EventHandler(this.SmsVdpViewerMenuItem_Click); this.SMSVDPViewerToolStripMenuItem.Click += new System.EventHandler(this.SmsVdpViewerMenuItem_Click);
// //
// GGGameGenieMenuItem // GGGameGenieMenuItem
// //
this.GGGameGenieMenuItem.Name = "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.Text = "&Game Genie Encoder/Decoder";
this.GGGameGenieMenuItem.Click += new System.EventHandler(this.GGGameGenieMenuItem_Click); this.GGGameGenieMenuItem.Click += new System.EventHandler(this.GGGameGenieMenuItem_Click);
// //
@ -2705,11 +2707,11 @@
this.A7800SubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.A7800SubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.A7800ControllerSettingsMenuItem}); this.A7800ControllerSettingsMenuItem});
this.A7800SubMenu.Name = "A7800SubMenu"; this.A7800SubMenu.Name = "A7800SubMenu";
this.A7800SubMenu.Size = new System.Drawing.Size(56, 19); this.A7800SubMenu.Size = new System.Drawing.Size(51, 19);
this.A7800SubMenu.Text = "&A7800"; this.A7800SubMenu.Text = "&A7800";
this.A7800SubMenu.DropDownOpened += new System.EventHandler(this.A7800SubMenu_DropDownOpened); this.A7800SubMenu.DropDownOpened += new System.EventHandler(this.A7800SubMenu_DropDownOpened);
// //
// A7800SettingsToolStripMenuItem // A7800ControllerSettingsMenuItem
// //
this.A7800ControllerSettingsMenuItem.Name = "A7800ControllerSettingsMenuItem"; this.A7800ControllerSettingsMenuItem.Name = "A7800ControllerSettingsMenuItem";
this.A7800ControllerSettingsMenuItem.Size = new System.Drawing.Size(125, 22); this.A7800ControllerSettingsMenuItem.Size = new System.Drawing.Size(125, 22);
@ -3522,7 +3524,7 @@
this.ShowMenuContextMenuSeparator, this.ShowMenuContextMenuSeparator,
this.ShowMenuContextMenuItem}); this.ShowMenuContextMenuItem});
this.MainFormContextMenu.Name = "contextMenuStrip1"; 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.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.MainFormContextMenu_Closing);
this.MainFormContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.MainFormContextMenu_Opening); this.MainFormContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.MainFormContextMenu_Opening);
// //

View File

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

View File

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

View File

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

View File

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

View File

@ -14,41 +14,26 @@
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>..\output\dll\</OutputPath> <OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants> <DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>..\output\dll\</OutputPath> <OutputPath>..\output\dll\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants> <DefineConstants>TRACE;WINDOWS</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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> <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> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />

View File

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

View File

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

View File

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

View File

@ -17,8 +17,17 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
private LibPizza _pizza; private LibPizza _pizza;
private readonly bool _sgb; private readonly bool _sgb;
[CoreConstructor("GB")] [CoreConstructor("SGB")]
public Pizza(byte[] rom, CoreComm comm) public Pizza(byte[] rom, CoreComm comm)
: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 : base(comm, new Configuration
{ {
DefaultWidth = 160, DefaultWidth = 160,
@ -26,7 +35,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
MaxWidth = 256, MaxWidth = 256,
MaxHeight = 224, MaxHeight = 224,
MaxSamples = 1024, MaxSamples = 1024,
SystemId = "SGB",
DefaultFpsNumerator = TICKSPERSECOND, DefaultFpsNumerator = TICKSPERSECOND,
DefaultFpsDenominator = TICKSPERFRAME DefaultFpsDenominator = TICKSPERFRAME
}) })
@ -41,8 +49,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
MmapHeapSizeKB = 0 MmapHeapSizeKB = 0
}); });
var spc = comm.CoreFileProvider.GetFirmware("SGB", "SPC", true); var spc = sgb ? comm.CoreFileProvider.GetFirmware("SGB", "SPC", true) : new byte[0];
_sgb = true; _sgb = sgb;
if (!_pizza.Init(rom, rom.Length, _sgb, spc, spc.Length)) if (!_pizza.Init(rom, rom.Length, _sgb, spc, spc.Length))
{ {
throw new InvalidOperationException("Core rejected the rom!"); throw new InvalidOperationException("Core rejected the rom!");
@ -77,23 +85,32 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
#region Controller #region Controller
private static readonly ControllerDefinition _definition; private static readonly ControllerDefinition _gbDefinition;
public override ControllerDefinition ControllerDefinition => _definition; 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" }; var ret = new ControllerDefinition { Name = "Gameboy Controller" };
for (int i = 0; i < 4; i++) for (int i = 0; i < p; i++)
{ {
_definition.BoolButtons.AddRange( ret.BoolButtons.AddRange(
new[] { "Up", "Down", "Left", "Right", "A", "B", "Select", "Start" } new[] { "Up", "Down", "Left", "Right", "A", "B", "Select", "Start" }
.Select(s => $"P{i + 1} {s}")); .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; 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")) if (c.IsPressed($"P{i} Up"))
b |= LibPizza.Buttons.UP; b |= LibPizza.Buttons.UP;
@ -139,5 +156,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
public bool IsCGBMode() => _pizza.IsCGB(); public bool IsCGBMode() => _pizza.IsCGB();
public bool IsSGBMode() => _sgb; 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.Dispose();
Board = newboard; 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 int cpu_step, cpu_stepcounter;
public bool HasClockPPU = false;
// this only handles region differences within the PPU // this only handles region differences within the PPU
int preNMIlines; int preNMIlines;
int postNMIlines; int postNMIlines;
@ -308,7 +310,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
nes.RunCpuOne(); nes.RunCpuOne();
// decay the ppu bus, approximating real behaviour // decay the ppu bus, approximating real behaviour
ppu_open_bus_decay(0); PpuOpenBusDecay(DecayType.None);
// Check for NMIs // Check for NMIs
if (NMI_PendingInstructions > 0) if (NMI_PendingInstructions > 0)
@ -333,8 +335,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
Reg2002_vblank_clear_pending = false; Reg2002_vblank_clear_pending = false;
} }
if (HasClockPPU)
{
nes.Board.ClockPPU(); nes.Board.ClockPPU();
} }
} }
} }
} }
}

View File

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

View File

@ -760,13 +760,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
} }
// this sequence is tuned to pass 10-even_odd_timing.nes // this sequence is tuned to pass 10-even_odd_timing.nes
runppu(1); runppu(4);
runppu(1);
runppu(1);
runppu(1);
bool evenOddDestiny = PPUON; bool evenOddDestiny = PPUON;
// After memory access 170, the PPU simply rests for 4 cycles (or the // 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)] [BizImport(CC)]
public abstract void HardReset(); public abstract void HardReset();
[BizImport(CC)]
public abstract void PredictFrameSize([In, Out]FrameInfo frame);
} }
} }

View File

@ -53,6 +53,12 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
if (!_boyee.Load(rom, rom.Length, nativeSettings)) if (!_boyee.Load(rom, rom.Length, nativeSettings))
throw new InvalidOperationException("Core rejected the rom"); throw new InvalidOperationException("Core rejected the rom");
// do a quick hack up for frame zero size
var tmp = new LibVirtualBoyee.FrameInfo();
_boyee.PredictFrameSize(tmp);
BufferWidth = tmp.Width;
BufferHeight = tmp.Height;
PostInit(); PostInit();
} }

View File

@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace BizHawk.Emulation.Cores.Consoles.SNK 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)] "https://mednafen.github.io/releases/", false)]
public class NeoGeoPort : WaterboxCore, public class NeoGeoPort : WaterboxCore,
ISaveRam, // NGP provides its own saveram interface 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)); _core.SetControllerData(_controllerDeck.Poll(controller));
SetVideoParameters();
return new LibSaturnus.FrameInfo { ResetPushed = controller.IsPressed("Reset") ? 1 : 0 }; return new LibSaturnus.FrameInfo { ResetPushed = controller.IsPressed("Reset") ? 1 : 0 };
} }
@ -180,9 +182,22 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
public class Settings public class Settings
{ {
// extern bool setting_ss_correct_aspect; public enum ResolutionModeTypes
[DefaultValue(true)] {
public bool CorrectAspectRatio { get; set; } [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; // extern bool setting_ss_h_blend;
[DisplayName("Horizontal Blend")] [DisplayName("Horizontal Blend")]
@ -425,9 +440,12 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
{ {
var ret = Settings.NeedsReboot(_settings, s); var ret = Settings.NeedsReboot(_settings, s);
_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; return ret;
} }
@ -443,6 +461,19 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
return ret; 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 #endregion
#region IStatable #region IStatable
@ -461,6 +492,12 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
_nextDiskSignal = reader.ReadBoolean(); _nextDiskSignal = reader.ReadBoolean();
// any managed pointers that we sent to the core need to be resent now! // any managed pointers that we sent to the core need to be resent now!
SetCdCallbacks(); 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 #endregion
@ -564,5 +601,110 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
private const int NtscFpsDen = 61 * 455 * 1051; private const int NtscFpsDen = 61 * 455 * 1051;
public override int VsyncNumerator => _isPal ? PalFpsNum : NtscFpsNum; public override int VsyncNumerator => _isPal ? PalFpsNum : NtscFpsNum;
public override int VsyncDenominator => _isPal ? PalFpsDen : NtscFpsDen; 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(), Path = comm.CoreFileProvider.DllPath(),
Filename = "gpgx.wbx", Filename = "gpgx.wbx",
SbrkHeapSizeKB = 256, SbrkHeapSizeKB = 512,
SealedHeapSizeKB = 36 * 1024, SealedHeapSizeKB = 36 * 1024,
InvisibleHeapSizeKB = 4 * 1024, InvisibleHeapSizeKB = 4 * 1024,
PlainHeapSizeKB = 64, PlainHeapSizeKB = 64,
MmapHeapSizeKB = 512 MmapHeapSizeKB = 1 * 1024
}); });
using (_elf.EnterExit()) using (_elf.EnterExit())

View File

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

View File

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

View File

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

View File

@ -14,38 +14,25 @@
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath> <OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Bizware.BizwareGL.GdiPlus.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\x64\Release\</OutputPath> <OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Bizware.BizwareGL.GdiPlus.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<ItemGroup> <ItemGroup>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL"> <Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">

View File

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

View File

@ -14,47 +14,33 @@
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath> <OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Bizware.BizwareGL.SlimDX.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\x64\Release\</OutputPath> <OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Bizware.BizwareGL.SlimDX.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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>
<ItemGroup> <ItemGroup>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL"> <Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\References\OpenTK.dll</HintPath> <HintPath>..\..\References\OpenTK.dll</HintPath>
</Reference> </Reference>
<Reference Include="SlimDX, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL"> <Reference Include="SlimDX">
<SpecificVersion>False</SpecificVersion> <HintPath>..\..\References\x64\SlimDX.dll</HintPath>
<HintPath>..\..\References\$(Platform)\SlimDX.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@ -72,7 +58,7 @@
<Name>BizHawk.Common</Name> <Name>BizHawk.Common</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\BizHawk.Bizware.BizwareGL\BizHawk.Bizware.BizwareGL.csproj"> <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> <Name>BizHawk.Bizware.BizwareGL</Name>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>

View File

@ -14,43 +14,29 @@
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath> <OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\BizHawk.Bizware.BizwareGL.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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> <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\x64\Release\</OutputPath> <OutputPath>..\..\output\dll\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\BizHawk.Bizware.BizwareGL.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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> <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL"> <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%nul goto MISSINGMSBUILD
IF NOT EXIST %MSBUILDDIR%msbuild.exe 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 @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> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Debug\Version.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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> <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>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\x64\Release\</OutputPath> <OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisLogFile>bin\Release\Version.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <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> <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules> <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup> <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) GPGX_EX void gpgx_write_m68k_bus(unsigned addr, unsigned data)
{ {
unsigned char *base = m68k.memory_map[addr >> 16 & 0xff].base; cpu_memory_map m = m68k.memory_map[addr >> 16 & 0xff];
if (base) if (m.base && !m.write8)
base[addr & 0xffff ^ 1] = data; m.base[addr & 0xffff ^ 1] = data;
} }
GPGX_EX void gpgx_write_s68k_bus(unsigned addr, unsigned data) GPGX_EX void gpgx_write_s68k_bus(unsigned addr, unsigned data)
{ {
unsigned char *base = s68k.memory_map[addr >> 16 & 0xff].base; cpu_memory_map m = s68k.memory_map[addr >> 16 & 0xff];
if (base) if (m.base && !m.write8)
base[addr & 0xffff ^ 1] = data; m.base[addr & 0xffff ^ 1] = data;
} }
GPGX_EX unsigned gpgx_peek_m68k_bus(unsigned addr) GPGX_EX unsigned gpgx_peek_m68k_bus(unsigned addr)
{ {
unsigned char *base = m68k.memory_map[addr >> 16 & 0xff].base; cpu_memory_map m = m68k.memory_map[addr >> 16 & 0xff];
if (base) if (m.base && !m.read8)
return base[addr & 0xffff ^ 1]; return m.base[addr & 0xffff ^ 1];
else else
return 0xff; return 0xff;
} }
GPGX_EX unsigned gpgx_peek_s68k_bus(unsigned addr) GPGX_EX unsigned gpgx_peek_s68k_bus(unsigned addr)
{ {
unsigned char *base = s68k.memory_map[addr >> 16 & 0xff].base; cpu_memory_map m = s68k.memory_map[addr >> 16 & 0xff];
if (base) if (m.base && !m.read8)
return base[addr & 0xffff ^ 1]; return m.base[addr & 0xffff ^ 1];
else else
return 0xff; return 0xff;
} }

View File

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

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

View File

@ -779,6 +779,11 @@ EXPORT void FrameAdvance(MyFrameInfo* frame)
VB_V810->ResetTS(0); VB_V810->ResetTS(0);
} }
EXPORT void PredictFrameSize(MyFrameInfo* frame)
{
VIP_CalcFrameSize(frame);
}
EXPORT void HardReset() EXPORT void HardReset()
{ {
VB_Power(); 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 real_surface;
static MDFN_Surface *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) switch (VB3DMode)
{ {
default: default:
@ -903,6 +893,22 @@ void VIP_StartFrame(MyFrameInfo* frame)
frame->Height = 224; frame->Height = 224;
break; break;
} }
}
void VIP_StartFrame(MyFrameInfo* frame)
{
// puts("Start frame");
if (VidSettingsDirty)
{
MakeColorLUT();
Recalc3DModeStuff();
VidSettingsDirty = false;
}
VIP_CalcFrameSize(frame);
surface = &real_surface; surface = &real_surface;
real_surface.pixels = frame->VideoBuffer; 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_ResetTS(void);
void VIP_StartFrame(MyFrameInfo* frame); void VIP_StartFrame(MyFrameInfo* frame);
void VIP_CalcFrameSize(MyFrameInfo* frame);
MDFN_FASTCALL uint8 VIP_Read8(v810_timestamp_t &timestamp, uint32 A); MDFN_FASTCALL uint8 VIP_Read8(v810_timestamp_t &timestamp, uint32 A);
MDFN_FASTCALL uint16 VIP_Read16(v810_timestamp_t &timestamp, uint32 A); MDFN_FASTCALL uint16 VIP_Read16(v810_timestamp_t &timestamp, uint32 A);