MIDI in DOS games used to work in IBMulator v0.16. However, when I upgraded to IBMulator v0.17, DOS games started refusing to detect a MIDI device, regardless of whether or not the MPU401 is enabled.
Here's the screenshots of the issue:
Here are the options that I've tried in ibmulator.ini:
[midi]
; enabled: Enable MIDI output.
; device: MIDI device to use. See the README for more info.
; sysex_delay: Minimum amount of delay in milliseconds for SysEx messages. See the README for more info.
; Possible values: auto, or an integer number (0 to disable all delays).
enabled=yes
device=3
sysex_delay=auto
[pcspeaker]
; volume: Audio volume.
; balance: Audio balance.
; filters: DSP filters (see README for more info).
; reverb: Reverb effect (see README for more info).
; chorus: Chorus effect (see README for more info).
volume=100
balance=0
filters=pc-speaker-1
reverb=no
chorus=no
[ps1audio]
; enabled: Install the PS/1 Audio/Joystick Card.
; dac_volume: Audio volume of the DAC.
; dac_balance: Audio balance of the DAC.
; dac_filters: DSP filters for the DAC.
; Possible values: auto, a preset name, or a list of filter definitions (see the README for more info).
; dac_reverb: Reverb effect for the DAC.
; dac_chorus: Chorus effect for the DAC (see README for more info).
; dac_resampling: The resampling method used.
; Possible values: sinc, linear, hold (default)
; sinc: a bandlimited interpolator derived from the sinc function (SNR of 97dB, bandwidth of 90%).
; linear: linear converter.
; hold: Zero Order Hold converter (interpolated value is equal to the last value).
; psg_volume: Audio volume of the PSG.
; psg_balance: Audio balance of the PSG.
; psg_filters: DSP filters for the PSG.
; Possible values: auto, a preset name, or a list of filter definitions (see the README for more info).
; psg_reverb: Reverb effect for the PSG (see README for more info).
; psg_chorus: Chorus effect for the PSG (see README for more info).
enabled=yes
dac_volume=100
dac_balance=0
dac_filters=auto
dac_reverb=auto
dac_chorus=no
dac_resampling=hold
psg_volume=100
psg_balance=0
psg_filters=auto
psg_reverb=auto
psg_chorus=no
[adlib]
; enabled: Install the AdLib Audio Card (cannot be installed with Sound Blaster).
; volume: Audio volume.
; balance: Audio balance.
; filters: DSP filters (see README for more info).
; reverb: Reverb effect (see README for more info).
; chorus: Chorus effect (see README for more info).
enabled=no
filters=
volume=100
balance=0
reverb=no
chorus=no
[sblaster]
; enabled: Install the Sound Blaster audio card.
; model: The type of the Sound Blaster card.
; Possible values: sb2, sbpro, sbpro2
; sb2: Sound Blaster 2.0 (DSP 2.01)
; sbpro: Sound Blaster Pro (DSP 3.00)
; sbpro2: Sound Blaster Pro 2 (DSP 3.02)
; iobase: The I/O base address, as an hexadecimal number.
; Possible values: 0x220, 0x240.
; irq: The IRQ line number.
; Possible values: 3, 5, 7.
; dma: The DMA channel number.
; Possible values: 0, 1, 3.
; dac_resampling: The resampling method used.
; Possible values: auto, sinc, linear, hold
; auto: the method depends on the Sound Blaster model.
; sinc: a bandlimited interpolator derived from the sinc function (SNR of 97dB, bandwidth of 90%).
; linear: linear converter.
; hold: Zero Order Hold converter (interpolated value is equal to the last value).
; dac_volume: DAC's MASTER audio volume.
; Possible values: auto, or a positive real number.
; auto: let the Sound Blater's Mixer adjust the level (SBPro+ only).
; dac_balance: DAC's audio balance.
; dac_filters: DAC's audio filters.
; Possible values: auto, a preset, or a list of filter definitions (see the README for more info).
; dac_reverb: Reverb effect for PCM audio (see README for more info).
; dac_chorus: Chorus effect for PCM audio (see README for more info).
; dac_crossfeed: Crossfeed for PCM audio (see README for more info).
; opl_volume: The OPL chip(s) MASTER audio volume.
; Possible values: auto, or a positive real number.
; auto: let the Sound Blater's Mixer adjust the level (SBPro or later only).
; opl_balance: The OPL chip(s) audio balance.
; opl_filters: Audio filters for the OPL chip(s)
; Possible values: auto, a preset, or a list of filter definitions (see the README for more info).
; opl_reverb: Reverb effect for FM audio (see README for more info).
; opl_chorus: Chorus effect for FM audio (see README for more info).
; opl_crossfeed: Crossfeed for FM audio (see README for more info).
enabled=yes
model=sbpro2
iobase=0x220
dma=1
irq=7
dac_resampling=auto
dac_filters=auto
dac_volume=auto
dac_balance=0
dac_reverb=no
dac_chorus=no
dac_crossfeed=no
opl_filters=auto
opl_volume=auto
opl_balance=0
opl_reverb=no
opl_chorus=no
opl_crossfeed=no
[mpu401]
; enabled: Install the MPU-401 interface card.
; iobase: The I/O base address, as an hexadecimal number.
; Possible values: 0x330, 0x300
; irq: The IRQ line number.
; Possible values: 3, 5, 7
; mode: Mode of operation.
; Possible values: intelligent, uart.
enabled=yes
iobase=0x330
irq=3
mode=intelligent
Thank you for reporting.
I can confirm, the MPU-401 interface is not working properly in v0.17.
I will do a 0.17.1 version to fix this problem (already fixed in unstable).
MIDI in DOS games used to work in IBMulator v0.16. However, when I upgraded to IBMulator v0.17, DOS games started refusing to detect a MIDI device, regardless of whether or not the MPU401 is enabled.
Here's the screenshots of the issue:
![image](https://github.com/barotto/IBMulator/assets/97134802/8ad246c8-55b8-4eca-ba5b-e84edb24467e)
Here are the options that I've tried in ibmulator.ini: