Skip to content

Commit

Permalink
cpp: fix for the iret instruction
Browse files Browse the repository at this point in the history
  • Loading branch information
danoon2 committed Feb 12, 2020
1 parent b497411 commit d25b938
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 2 deletions.
4 changes: 3 additions & 1 deletion changeLog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ Known game fixes
* GOG's Diablo + Hellfire - https://www.gog.com/game/diablo
The installer works, the launcher works and Diablo works. Hellfire does not work (same as Wine).
* Half-Life Uplink Demo installer and game work with Wine 4 now. Wine 1.7 has color issue with intro and game is a blank screen.
* Final Reality Benchmark. Works with Wine 1.7 and OpenGL (need to delete HKEY_CURRENT_USER\Software\Wine\Direct3D\DirectDrawRenderer key from registry)
* Final Reality Benchmark. Works with Wine 1.7 and OpenGL (need to delete HKEY_CURRENT_USER\Software\Wine\Direct3D\DirectDrawRenderer key from registry)
* MechWarrior 3 with Wine 4.0
* Tomb Raider 3 from GOG.com, need to add -setup to the command line and hit enter at the first black screen
3 changes: 3 additions & 0 deletions project/vs2013/BoxedWine/BoxedWine.sln
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
EndGlobal
2 changes: 2 additions & 0 deletions project/vs2013/BoxedWine/BoxedWine/BoxedWine.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,7 @@
<ItemGroup>
<ClInclude Include="..\..\..\..\include\boxedwine.h" />
<ClInclude Include="..\..\..\..\include\bufferaccess.h" />
<ClInclude Include="..\..\..\..\include\cpuinfo.h" />
<ClInclude Include="..\..\..\..\include\crc.h" />
<ClInclude Include="..\..\..\..\include\devdsp.h" />
<ClInclude Include="..\..\..\..\include\devfb.h" />
Expand Down Expand Up @@ -645,6 +646,7 @@
<ClCompile Include="..\..\..\..\source\kernel\kunixsocket.cpp" />
<ClCompile Include="..\..\..\..\source\kernel\loader\loader.cpp" />
<ClCompile Include="..\..\..\..\source\kernel\proc\bufferaccess.cpp" />
<ClCompile Include="..\..\..\..\source\kernel\proc\cpuinfo.cpp" />
<ClCompile Include="..\..\..\..\source\kernel\proc\meminfo.cpp" />
<ClCompile Include="..\..\..\..\source\kernel\proc\self.cpp" />
<ClCompile Include="..\..\..\..\source\kernel\syscall.cpp" />
Expand Down
6 changes: 6 additions & 0 deletions project/vs2013/BoxedWine/BoxedWine/BoxedWine.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,9 @@
<ClCompile Include="..\..\..\..\source\kernel\sys\cpuscalingmaxfreq.cpp">
<Filter>source\kernel\sys</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\source\kernel\proc\cpuinfo.cpp">
<Filter>source\kernel\proc</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\include\bufferaccess.h">
Expand Down Expand Up @@ -834,6 +837,9 @@
<ClInclude Include="..\..\..\..\include\syscpuscalingmaxfreq.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\include\cpuinfo.h">
<Filter>include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="include">
Expand Down
2 changes: 1 addition & 1 deletion source/emulation/cpu/common/cpu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -649,7 +649,7 @@ void CPU::iret(U32 big, U32 oldeip) {

if (big) {
n_eip = this->peek32(0);
n_cs_sel = this->peek32(1);
n_cs_sel = this->peek32(1) & 0xffff;
n_flags = this->peek32(2);

if ((n_flags & VM) && (this->cpl==0)) {
Expand Down

0 comments on commit d25b938

Please sign in to comment.