Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build for Windows 95 #43

Open
4 tasks
nmlgc opened this issue Jul 22, 2023 · 1 comment
Open
4 tasks

Build for Windows 95 #43

nmlgc opened this issue Jul 22, 2023 · 1 comment
Labels
Portability Porting the game away from 32-bit Windows

Comments

@nmlgc
Copy link
Owner

nmlgc commented Jul 22, 2023

Just in case someone wants to actually order it…

Thanks to KernelEx and Kstub822.zip, all my Shuusou Gyoku builds up to P0256 work on Windows 98 without any modifications. Here's a copy of Kstub822.zip, since it's getting increasingly hard to find.

However, KernelEx has never supported Windows 95, so we'd have to do some actual work:

  • Link to unicows.lib to wrap all Unicode functions
  • Set the MajorOperatingSystemVersion and MajorSubsystemVersion to 4, as part of the build process
  • Compile with:
  • Reimplement anything from the Visual C++ standard library that makes use of newer Win32 API functions
    If we're lucky and Clang's or MinGW's libc makes less use of these newer functions, it might make sense to wait for the Linux port where we change compilers.

-Tom-'s ShimAPI project might also come in handy here.

@nmlgc nmlgc added the Portability Porting the game away from 32-bit Windows label Jul 22, 2023
@nmlgc
Copy link
Owner Author

nmlgc commented Oct 1, 2023

Recent Visual Studio compiler versions also need the /Zc:threadSafeInit- flag to avoid any references to the *SRWLockExclusive() functions, since those are not wrapped by KernelEx or Kstub822.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Portability Porting the game away from 32-bit Windows
Projects
None yet
Development

No branches or pull requests

1 participant