VOGONS


First post, by jiyunomegami

User metadata
Rank Newbie
Rank
Newbie

It outputs MIDI data to a serial port, which you can connect to your Roland/Yamaha/... devices.
EXE file attached, source is here: https://github.com/jiyunomegami/SBEMU
Tested with JEMM, QPIEMU ,and HDMPI32I. Intelligent mode is not supported, but you can use SoftMPU for that, on different port.

Games tested:
Doom
Duke Nukem 3D
Descent
Circuit's Edge
Monkey Island
Monkey Island 2

Usage if your serial port COM1 is at 3F8: sbemu.exe /MCOM1
If you want a different MPU-401 address, say 320: sbemu.exe /MCOM1 /P320

There are some other options for debug messages to another serial port.
/MDBG2 will output a hex dump of the MIDI data at 115200 baud.

Added or changed command line options:
/DBG : Debug output (0=console, 1=COM1, 2=COM2, 3=COM3, 4=COM4, 8=D040, 9=D050, or base address >= 400), default: 0.
/P : UART mode MPU-401 IO address (default 330) [*], default: 330.
/MCOM : UART mode MPU-401 COM port (1=COM1, 2=COM2, 3=COM3, 4=COM4, 8=D040, 9=D050, or base address >= 400), default: 0.
/MDBG : Enable MPU-401 debugging (0 to disable, 1 or 2 to enable), default: 0.

If you use softmpu at the same time, be careful to use a different MPU-401 address.

EDIT 2024/01/21:
Original version renamed to oldmpu401sbemu.exe
The MPU-401 emulation now in the latest version of SBEMU on github.
Here you can download a version that works with the YMF744/YMF754 hardware FM OPL3 and MPU-401.
You can try this on modern platforms, when the Yamaha drivers do not work.
For sound effects, you need to use another sound card. If you have intel HDA or another sound card, this version of sbemu will use that for sound effects, and use the YMF card for FM and MPU.

Last edited by jiyunomegami on 2024-01-21, 17:53. Edited 1 time in total.

Reply 1 of 13, by ajacocks

User metadata
Rank Member
Rank
Member

Nice work!

- Alex

Reply 3 of 13, by vico

User metadata
Rank Member
Rank
Member

What kind of cables and other hardware is needed to use this with and without SOFTMPU?
If anyone could add some photos, I would appreciate it.

Reply 4 of 13, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
vico wrote on 2024-01-12, 17:06:

What kind of cables and other hardware is needed to use this with and without SOFTMPU?
If anyone could add some photos, I would appreciate it.

One needs a 8-pin Mini-DIN to DE9 cable like Hosa DBK-103 which is compatible with Roland, Yamaha and Korg synthesizers.
Details of the cable https://hosatech.com/wp-content/uploads/2013/ … -100_Pinout.pdf

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 5 of 13, by Pickle

User metadata
Rank Member
Rank
Member

Serial can to sent direct to an mt32-pi
I’ve used it with softmpu

Reply 6 of 13, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

Would it be possible to implement port remapping for real OPL and MPU-401 interfaces like RemapCMI does?

This would be useful for when using a sound card like the CMI 8738 or the Yamaha YMF744 on a PCI bus not supporting subtractive decoding.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 7 of 13, by jiyunomegami

User metadata
Rank Newbie
Rank
Newbie

Would it be possible to implement port remapping for real OPL and MPU-401 interfaces like RemapCMI does?

Yes, I got it working with a YMF744. It probably isn't possible with a 724.

Try the attached SBEMU.EXE (for YMF744/YMF754 only)
You should try a lower volume than usual, since the volume setting only works for your other card (usually HDA)
Something like this:
sbemu /MCOM1 /I7 /VOL5

Analog out isn't working, but S/PDIF out is!
You can mix (externally) the normal SBEMU sound effects from HDA with the hardware FM output from the YMF744.
MIDI will be output through the game port, but you might still need an actual serial port or sbemu won't start.
EDIT: you can use FM (but not MIDI) without a serial port, if you omit the /MCOM option

Reply 8 of 13, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
jiyunomegami wrote on 2024-01-17, 23:07:

Yes, I got it working with a YMF744. It probably isn't possible with a 724.

Thanks! Now I have to pick up one of me YMF744 cards from storage.

You are right about the YMF724, it doesn't seem to make OPL3 and MPU-401 available in the PCI address range when I tested. No mention of it in the datasheet either.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 9 of 13, by jiyunomegami

User metadata
Rank Newbie
Rank
Newbie

Analog Line-out works now, and you can use /MCOM9 to not use a serial port.

Reply 10 of 13, by jiyunomegami

User metadata
Rank Newbie
Rank
Newbie

I made some improvements:
(1) Now the S/PDIF status bits are set correctly. The copyright bit is set
to OFF, so you should not have any trouble recording.
(2) Enabled the ADC for the analog inputs.
(3) Unmuted Mic, Video, and Aux analog inputs.

On my card, Mic, CD, Video, and Aux all get mixed into the digital S/PDIF output, although the volume is rather low.
When mixing in the SBEMU sound blaster output from HDA, I use the maximum SBEMU volume /vol9 for S/PDIF, and /vol6 for analog.

Analog input volume levels are set as below.
On my card, Line-in doesn't get mixed into the output.

Microphone 70% (mono)
Line-in 70% but may not work
CD 70% (stereo)
Video 100% (stereo)
Aux 100% (stereo)

BTW, don't try and use the Yamaha drivers with this.
They won't work with QPIEMU.DLL loaded.

Reply 11 of 13, by charlie5

User metadata
Rank Newbie
Rank
Newbie

Hello, can you help me? I have old laptop IBM ThinkPad 760E and I want to use sbumu only for redirecting MIDI to COM port for protected mode games (DOOM ....)
When I execute hdpmi32i and then sbemu /mcom2 or sbemu /mcom:2 I see, No supported sound card and qemm not installed, disabling real mode support

Is it problem only in qemm or I must have some compatible PCI sound card, even if I want only redirect MIDI to COM port?

BTW, my toolchain EMM386 + softmpu /mpu:330 /output:com2 + non protected mode games like lost vikings is working perfect.

Thank you.

My Roland for this setup is small nice device Roland PMA-5 (GM/GS compatible)

Reply 12 of 13, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
jiyunomegami wrote on 2024-01-21, 17:44:
I made some improvements: (1) Now the S/PDIF status bits are set correctly. The copyright bit is set to OFF, so you should n […]
Show full quote

I made some improvements:
(1) Now the S/PDIF status bits are set correctly. The copyright bit is set
to OFF, so you should not have any trouble recording.
(2) Enabled the ADC for the analog inputs.
(3) Unmuted Mic, Video, and Aux analog inputs.

On my card, Mic, CD, Video, and Aux all get mixed into the digital S/PDIF output, although the volume is rather low.
When mixing in the SBEMU sound blaster output from HDA, I use the maximum SBEMU volume /vol9 for S/PDIF, and /vol6 for analog.

Analog input volume levels are set as below.
On my card, Line-in doesn't get mixed into the output.

Microphone 70% (mono)
Line-in 70% but may not work
CD 70% (stereo)
Video 100% (stereo)
Aux 100% (stereo)

BTW, don't try and use the Yamaha drivers with this.
They won't work with QPIEMU.DLL loaded.

I second the question above. Would be very useful to have the ability to redirect only the MIDI portion on computers without a sound card compatible with sbemu

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 13 of 13, by digger

User metadata
Rank Oldbie
Rank
Oldbie

@jiyunomegami would it be okay if we added you as a maintainer/developer to the SBEMU project on GitHub?

I admit, the project has gone quite neglected lately, since @crazii went off the radar again.

I should really be taking a look at any pending Pull Requests. But I've also tried to set up a reliable CI/CD pipeline and got stuck at some point there. Maybe I should dust that off and help breathe new life into the project.

To be honest, however, @baron-von-riedesel has been doing a lot of good work on VSBHDA in the meantime. It made me wonder what added value SBEMU might still have.

But it would be a shame if your improvements went unmerged.

Let me know, and thank you for your work on improving SBEMU!