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 10, by ajacocks

User metadata
Rank Member
Rank
Member

Nice work!

- Alex

Reply 3 of 10, by vico

User metadata
Rank Newbie
Rank
Newbie

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 10, 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 10, 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 10, 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 10, 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 10, 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 10, 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 10, 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.