VOGONS


First post, by kegepet

User metadata
Rank Newbie
Rank
Newbie

Subject says it all, really. Is there any reason this could not be done? I want to connect, via null modem cable, a dos machine using SoftMPU's serial out feature to my linux machine running fluidsynth/mod-ttymidi -- or something similar. I haven't figured out all the details yet. According to this site, the baud rate for serial midi (which is a specific thing) is 38400, but for some reason, this page suggests you need a module, such as an SC-55mkII, which supports serial midi, and which would then connect to a modern pc using a usb-midi adapter. This seems like an impractical and unsustainable arrangement, since these modules are becoming more scarce and more expensive by the day. Is the author of this article just wrong? Perhaps he doesn't know about null modem cables? Am i missing something--or are they?

Reply 1 of 18, by matze79

User metadata
Rank l33t
Rank
l33t

why not ? it also works with Roland SC-7 Module or with a Raspi and MUNT.

Using MUNT on a second PC will not need a special Baudrate.
if you use a USB to RS232 Interface on the Second PC the Baudrate can be specified by hand so you can get everything running together.
(Note this will work only with Some Converters.. not all.)

Hopefully now its correct.

Alternate you can try a Software Solution:

https://www.spikenzielabs.com/learn/ser ... .html[code]

The Serial - MIDI converter (SM = Serial MIDI Converter) is a software solution to get your computer’s serial port (or virtual serial port over USB) talking with your MIDI software and hardware.
[/code]

Some time already passed since i played around with..

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 2 of 18, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

You can use the "Hairless MIDI<->Serial Bridge" for this task. If you need to pipe the MIDI commands received into another program you can use loopMIDI if you're running Windows.

Edit: If your MIDI box are running Windows 95/98/Me/2000/XP you can use the "Roland Serial MIDI Driver" instead of Hairless.

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

Reply 3 of 18, by kegepet

User metadata
Rank Newbie
Rank
Newbie

Thanks guys.

matze79, I'm curious what you mean when you say that munt will not need a special baudrate. Both serial ports need to be in sync, no? Also, munt still needs a serial-midi driver of some kind, doesn't it? Unless it has that built-in or something. Also, is MUNT compatible with JACK, since that's what the ttymidi module I'll be using works with?

I'm a little unclear about why softmpu has no option to set the baudrate of the serial output. I assume it's because "Serial MIDI" is a standardized thing that operates at 38400, so other baudrates are simply unsupported. But I don't know.

Reply 4 of 18, by Tiido

User metadata
Rank Oldbie
Rank
Oldbie

Serial MIDI as seen on old Roland and other devices is indeed 38400 baud, but you are not going to be using any such device but another computer, so you set the baud rate to highest possible and same thing on both sides. On the receiving side the data coming off the COM port is used as MIDI data and fed to the softsynths you want to use.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 6 of 18, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

There's also a serial MIDI kernel driver out there, never tried it myself. I wonder if it takes native MIDI bit rate since I have done some experiments using a FTDI serial to USB adapter for MIDI.

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

Reply 7 of 18, by kegepet

User metadata
Rank Newbie
Rank
Newbie

OK, well I've been experimenting today and did get it working--for the most part. First of all, I think softmpu is trying to use an unsupported baudrate or something, since after loading softmpu in autoexec.bat, I have to manually set the mode (using the 'mode' command) to a specific rate. For some reason, setting the mode in autoexec.bat does not seem to work, whether the line is before or after the one that loads softmpu. Not sure what that's about. Also, the mode command does not seem to support any rate higher than 19200, as opposed to windows, which goes much higher. Why is that? I also tried setting it to something slower, but at 9600, the midi coming from the linux machine sounds drunk.

Here's the setup:

dos machine: intel pd440fx motherboard with a pentium 2 266 and 128MB or ram, onboard opl3-sax and running softmpu
linux machine: ubuntu 18.04 with JACK audio server and mod-ttymidi and fluidsynth/arachno 1.0 soundfont as JACK clients.

They are connected via null modem cable at DOS's apparent maximum baudrate of 19200 (and believe me, you need that max speed)

Only question I have is, is softmpu attempting to set the mode for the serial port at all, or does it expect users to do that manually. It is not documented. As I mentioned earlier in this thread, the baudrate for "serial midi" is 38400, so perhaps softmpu is trying to set the serial port to that. But that wouldn't really make sense, since the max supported by dos is 19200. I'm confused.

Lastly, the sound comes through just fine, but it doesn't sound right. This may have to do with the arachno sound font, but I did try to use one of the GM sound fonts that came with fluidsynth, and that did not sound much better. I'm running monkey island 2 with the 'monkey2 r' command, which just says roland, but nothing more specific than that.

Anyway, that's what I got so far. Any more information would be helpful.

Reply 8 of 18, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

You need Munt for Monkey Island 2 since it's uses the MT-32 synth and will not sound right with a General MIDI compatible one. The "serial MIDI kernel driver" I mentioned earlier uses ALSA and I got it working with Xubuntu 18.04 running Munt today.

The /delaysysex switch for SoftMPU might solve some speed related issues.

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

Reply 10 of 18, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

I'm running a FTDI serial to USB adapter connected directly to the game port of the DOS computer. The FTDI adapter is set up to 31250 bps in Xubuntu, but that doesn't matter in your case.

I've successfully run serial to serial with SoftMPU before, but the MIDI box ran Windows in that experiment. Don't remember if I had to change the speed of the COM port on the DOS computer.

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

Reply 11 of 18, by kegepet

User metadata
Rank Newbie
Rank
Newbie

Wait, you have a serial adapter on one pc hooked up to the gameport on the other? I did not know you could do that. I see you are running at 31250 which is the midi speed, but i assumed the signalling would be different, unless the kernel driver you mentioned changes the signalling on the serial port.

Reply 12 of 18, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

Yes, that's how I connected it. I'm changing the serial speed with the "setserial" utility mentioned in the page linked in my last post. In Windows you can modify the FTDI driver for the same purpose. Also note that the serial to USB adapter I'm using have TTL voltage levels on the serial side, not the standard RS-232 ones. Connecting a standard COM port directly to the game port will probably fry something.

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

Reply 13 of 18, by kegepet

User metadata
Rank Newbie
Rank
Newbie

OK yeah. I'm guessing the TTL uses 5V signaling, and so does the game/midi port. The serial port, however, seems to use 12V. I still don't know why DOS is keeping me at 19200bps though. I read in another forum that it might have something to do with the BIOS pnp os setting. Tomorrow, I'll change it to 'non-pnp os' and see if that allows for higher speeds.

Reply 14 of 18, by M-HT

User metadata
Rank Newbie
Rank
Newbie
kegepet wrote:

Only question I have is, is softmpu attempting to set the mode for the serial port at all, or does it expect users to do that manually. It is not documented. As I mentioned earlier in this thread, the baudrate for "serial midi" is 38400, so perhaps softmpu is trying to set the serial port to that. But that wouldn't really make sense, since the max supported by dos is 19200. I'm confused.

From reading the source code, softmpu (for "serial midi") sets the serial port baud rate to 38400.
Maximum serial port baud rate is 115200 - if mode command can't set higher speeds than 19200, then that's the limitation of mode command.

Reply 15 of 18, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

Tried connecting two serial ports and with SoftMPU running on the DOS machine. Used this command on my Xubuntu MIDI box: "stty -F /dev/ttyS0 38400 cs8 -cstopb -parenb" and then it just worked. 😀

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

Reply 16 of 18, by kegepet

User metadata
Rank Newbie
Rank
Newbie

funny, I tried this and it's not working for me. On the dos side, I'm starting softmpu as normal with output:com1, and on the linux side, I set my port settings same as you. Can you show me what you have when you run

stty -a -F /dev/ttyS0

Thanks.

Reply 17 of 18, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
speed 38400 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

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

Reply 18 of 18, by kegepet

User metadata
Rank Newbie
Rank
Newbie

Yeah those are the same settings I've got. In any case, everything seems to be working now. Somehow, my blaster variable got changed and the mpu bit was missing. I'm no longer using the mode command and 38400 is working fine.