I became a bit nostalgia this Christmas weekend and decided to revive my childhood game: Vantage Master Japan on openSUSE Tumbleweed. This post describes how I did that.
First, the game checks a few registry keys upon start. Specifically, it won’t start if the following key is missing:
Windows Registry Editor Version 5.00
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Falcom]
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Falcom\Fsetup]
"DisplayName"="Fsetup"
"Path"="[YOUR_VMJP_LOCATION]"
"VMJ"="[YOUR_VMJP_LOCATION]\\VMJ\\"
"VMJP"="[YOUR_VMJP_LOCATION]\\VMJP\\"
After adding the registry keys, I was be able to start the game with wine, and everything in the game works except there was no background music. The version of wine is wine-5.0-rc2.
After checking the wine output, I noticed the following error log:
0009:fixme:adpcm:ADPCM_StreamOpen We don’t support encoding yet
This log is printed by the file msadp32.c, which is related to audio output. This file corresponds to the WINEPREFIX/drive_c/windows/system32/msadp32.acm binary, which is essentially a DLL file.
It looks like wine hasn’t implemented this function in their built-in DLL. So we can replace it with a native one bundled in Windows. I downloaded one from here. Its sha256 checksum is fc836f9e08e8879ea3d3bb9bd6ecc7404af810399ec7dead6d72d70b6a4df6a0.
So I simply replace the msadp32.acm in the WINEPREFIX and use winecfg to prioritize native msadp32.acm over the built-in one. Thereafter, the game is able to play the background music on Wine.