Game/Custom
--------------
As well as `IsDebuggerPresent`, winpthreads also uses `SetProcessAffinityMask`
& `TryEnterCriticalSection` which are missing in kernel32.dll, and the latter
can't be removed.
Now I understand that the 'win32' threading support in mingw-w64 is the
original one and supports all 32-bit Windows, while 'posix' threading
(winpthreads) is a recent addition [which is necessary to
support](https://stackoverflow.com/questions/17242516/mingw-w64-threads-posix-vs-win32/30390278#30390278)
C++11 mutexes and threads, but has higher system requirements. (It's pulled in
by libmodplug which is C++. BTW in our C++ code I used FB mutexes wrapped in a
C++ class rather than C++11 <mutex>, see `mutex.hpp`) That's why mxe switched
to posix threads by default in 2019. I compiled the previous SDL_mixer.dll that
worked on Win95 with mxe back in 2017. Also, back then, official FreeBASIC 1.06
builds were built with a mingw-w64 toolchain that also used win32 threads,
although Fufluns didn't use them.
mxe can be compiled with win32 rather than posix threads with `make
MXE_TARGETS=i686-w64-mingw32.static.win32`.
It doesn't feel like a brilliant idea to mix libraries built with two
toolchains that use different ABIs but we were already doing it anyway. It
seems it would only be an issue if attempting to link together C++ code or code
that passed around pthread objects compiled with different toolchains. (Note
SDL_mixer itself doesn't use libpthread, it uses SDL's mutex functions, which
are directly implemented on winapi. It should be fine to use multiple threading
libraries in the same executable like that).
So I recompiled SDL_mixer.dll with a `i686-w64-mingw32.static.win32` mxe
toolchain but found that on Win95 it froze when switching away from a MIDI
track. That was caused by the fix for #1060 which [I
backported](https://github.com/rversteegen/SDL_mixer/commit/12c46b1d8361a58c6eb1d19aa354ba6f7a92785e)
from SDL_mixer 2.6 to 1.2, so I've backed that out. Disappointing. I wonder
whether the fix is wrong, or it needs changes for SDL_mixer 1.2, or it's caused
by my custom MIDI synthesizer, ...
hspeak
---------
As for hspeak not running, [Windows 9x
Notes](https://rpg.hamsterrepublic.com/ohrrpgce/Windows_9x_Notes) on the wiki
mentions that it runs on Win 98 and later Win 95 versions, but not the one I
have (I misspoke earlier, I have "4.00.950 C" not OSR2). So I'll ignore that.
--
Reply to this email directly or view it on GitHub:
https://github.com/ohrrpgce/ohrrpgce/issues/1241#issuecomment-1232960187
You are receiving this because you are subscribed to this thread.
Message ID: <ohrrpgce/ohrrpgce/issues/1241/1232960...@github.com>
_______________________________________________
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org