[PATCH 0/1] MR11568: midimap: Create c:\windows\system\midimap.cfg.
This file was shipped with the DOS-based versions of Windows. Its default contents in Windows 98SE are a single zero byte. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=60122 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11568
From: Alex Henrie <alexhenrie24@gmail.com> This file was shipped with the DOS-based versions of Windows. Its default contents in Windows 98SE are a single zero byte. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=60122 --- dlls/midimap/Makefile.in | 3 ++- dlls/midimap/midimap.cfg | Bin 0 -> 1 bytes dlls/midimap/rsrc.rc | 22 ++++++++++++++++++++++ loader/wine.inf.in | 6 +++++- 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 dlls/midimap/midimap.cfg create mode 100644 dlls/midimap/rsrc.rc diff --git a/dlls/midimap/Makefile.in b/dlls/midimap/Makefile.in index 35ae704386f..2585840ce57 100644 --- a/dlls/midimap/Makefile.in +++ b/dlls/midimap/Makefile.in @@ -2,4 +2,5 @@ MODULE = midimap.dll IMPORTS = winmm user32 advapi32 SOURCES = \ - midimap.c + midimap.c \ + rsrc.rc diff --git a/dlls/midimap/midimap.cfg b/dlls/midimap/midimap.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/dlls/midimap/rsrc.rc b/dlls/midimap/rsrc.rc new file mode 100644 index 00000000000..1c31c770d60 --- /dev/null +++ b/dlls/midimap/rsrc.rc @@ -0,0 +1,22 @@ +/* + * Resources for midimap.dll + * + * Copyright 2026 Alex Henrie + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* @makedep: midimap.cfg */ +1 WINE_DATA_FILE midimap.cfg diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 738e98f4a83..d57feb78a3d 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -54,7 +54,7 @@ AddService=MountMgr,0x800,MountMgrService RegisterDlls=RegisterDllsSection WineFakeDlls=FakeDlls UpdateInis=SystemIni -CopyFiles=ColorFiles,EtcFiles,InfFiles,NlsFiles,SortFiles,WinmdFiles +CopyFiles=ColorFiles,EtcFiles,InfFiles,MidiFiles,NlsFiles,SortFiles,WinmdFiles AddReg=\ Classes,\ ContentIndex,\ @@ -1239,6 +1239,9 @@ winehid.inf,"@%12%\winehid.sys,-1" wineusb.inf,"@%12%\wineusb.sys,-1" winexinput.inf,"@%12%\winexinput.sys,-1" +[MidiFiles] +midimap.cfg,"@%11%\midimap.dll,-1" + [NlsFiles] c_037.nls c_10000.nls @@ -1340,6 +1343,7 @@ WinmdFiles = winmd,include ColorFiles = 23 EtcFiles = 12,etc InfFiles = 17 +MidiFiles = 50 NlsFiles = 11 SortFiles = 10,globalization\sorting WinmdFiles = 11,winmetadata -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11568
Jinoh Kang (@iamahuman) commented about loader/wine.inf.in:
wineusb.inf,"@%12%\wineusb.sys,-1" winexinput.inf,"@%12%\winexinput.sys,-1"
+[MidiFiles] +midimap.cfg,"@%11%\midimap.dll,-1" This one's 11 (DIRID_SYSTEM), but the destination dir is 50 (DIRID_SYSTEM16). Is this intentional?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11568#note_148989
On Sat Aug 15 14:59:59 2026 +0000, Jinoh Kang wrote:
This one's 11 (DIRID_SYSTEM), but the destination dir is 50 (DIRID_SYSTEM16). Is this intentional? That is correct. midimap.dll does not exist on Windows 98 and is in C:\windows\system32 on Windows XP. midimap.cfg is in C:\windows\system on Windows 98 and does not exist on Windows XP. It doesn't hurt to create midimap.cfg on NT-based versions of Windows; in fact that is the recommended solution on [WineVDM issue 1168](https://github.com/otya128/winevdm/issues/1165#issuecomment-1157849177) for getting Super Solvers games to run. midimap.dll is just the most convenient place for the static midimap.cfg resource to be in the Wine source code.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11568#note_148990
Is there a reason you assigned yourself to this PR? AFAIK that sometimes means "draft." -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11568#note_149022
On Mon Aug 17 16:41:44 2026 +0000, Jinoh Kang wrote:
Is there a reason you assigned yourself to this PR? AFAIK that sometimes means "draft." I originally started assigning all of my MRs to myself to make them appear in my [GitLab to-do list](https://gitlab.winehq.org/dashboard/todos). However, in practice I haven't been using the to-do list feature. If people are interpreting the presence of an assignee to mean that the MR is a draft, I'll stop doing it.
Conceptually, it seems to me that the absence of an assignee _should_ indicate that the MR's author has abandoned the MR and would like someone else to take it over. In other words, in my mind having an assignee means that the author believes that the MR is ready or that the author is working through feedback, and not having an assignee means that the MR is more like a draft. But since GitLab doesn't set the assignee automatically, most people don't ever set it, and in practice we can't use the absence of an assignee to infer that an MR is orphaned. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11568#note_149073
On Mon Aug 17 19:17:25 2026 +0000, Alex Henrie wrote:
I originally started assigning all of my MRs to myself to make them appear in my [GitLab to-do list](https://gitlab.winehq.org/dashboard/todos). However, in practice I haven't been using the to-do list feature. If people are interpreting the presence of an assignee to mean that the MR is a draft, I'll stop doing it. Conceptually, it seems to me that the absence of an assignee _should_ indicate that the MR's author has abandoned the MR and would like someone else to take it over. In other words, in my mind having an assignee means that the author believes that the MR is ready or that the author is working through feedback, and not having an assignee means that the MR is more like a draft. But since GitLab doesn't set the assignee automatically, most people don't ever set it, and in practice we can't use the absence of an assignee to infer that an MR is orphaned. FWIW you can also use the "add to-do item" button just below the PR subject line.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11568#note_149095
participants (3)
-
Alex Henrie -
Alex Henrie (@alexhenrie) -
Jinoh Kang (@iamahuman)