<p></p>
<h2 dir="auto">Game/Custom</h2>
<p dir="auto">As well as <code class="notranslate">IsDebuggerPresent</code>, winpthreads also uses <code class="notranslate">SetProcessAffinityMask</code> & <code class="notranslate">TryEnterCriticalSection</code> which are missing in kernel32.dll, and the latter can't be removed.</p>
<p dir="auto">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 <a href="https://stackoverflow.com/questions/17242516/mingw-w64-threads-posix-vs-win32/30390278#30390278" rel="nofollow">which is necessary to support</a> 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 , see <code class="notranslate">mutex.hpp</code>) 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.</p>
<p dir="auto">mxe can be compiled with win32 rather than posix threads with <code class="notranslate">make MXE_TARGETS=i686-w64-mingw32.static.win32</code>.</p>
<p dir="auto">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).</p>
<p dir="auto">So I recompiled SDL_mixer.dll with a <code class="notranslate">i686-w64-mingw32.static.win32</code> mxe toolchain but found that on Win95 it froze when switching away from a MIDI track. That was caused by the fix for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="581264824" data-permission-text="Title is private" data-url="https://github.com/ohrrpgce/ohrrpgce/issues/1060" data-hovercard-type="issue" data-hovercard-url="/ohrrpgce/ohrrpgce/issues/1060/hovercard" href="https://github.com/ohrrpgce/ohrrpgce/issues/1060">#1060</a> which <a href="https://github.com/rversteegen/SDL_mixer/commit/12c46b1d8361a58c6eb1d19aa354ba6f7a92785e">I backported</a> 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, ...</p>
<h2 dir="auto">hspeak</h2>
<p dir="auto">As for hspeak not running, <a href="https://rpg.hamsterrepublic.com/ohrrpgce/Windows_9x_Notes" rel="nofollow">Windows 9x Notes</a> 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.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/ohrrpgce/ohrrpgce/issues/1241#issuecomment-1232960187">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AMWGWZVRQXKFWUMSTEU555TV35OYFANCNFSM52O5ACTQ">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AMWGWZXLLTFSXHHIAETYWYTV35OYFA5CNFSM52O5ACT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOJF6XVOY.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><ohrrpgce/ohrrpgce/issues/1241/1232960187</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/ohrrpgce/ohrrpgce/issues/1241#issuecomment-1232960187",
"url": "https://github.com/ohrrpgce/ohrrpgce/issues/1241#issuecomment-1232960187",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>