VOGONS


Reply 20 of 26, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie
AppleSauce wrote on 2023-03-26, 13:06:

I think until EmuSC gives the community a munt like program for the Sound Canvas everyone's going to be playing the waiting game since I'm not really aware of any real absolute solution to the SC emulation problem at the moment.

I really would like a project like this to start at some point because I hate trying to use VST under Linux, Wine makes everything cumbersome in that regard. Roland can't really go after anybody legally for making emulation of their synths, only if they distribute the copyrighted ROM's which people can just dump out of their own SC-55's at that point.

Jo22 wrote on 2023-03-29, 18:11:

Unfortunately, Windows Vista and later no longer have Direct Music. That's why Windows XP is the last OS real soft synths can run on.

What does DirectMusic have to do with soft synths? Soft synths are literally user mode drivers you add via a registry key. I was using BASSMidi Synth just fine on Windows past 7. The only annoyance is even getting programs to select the driver itself.

DirectMusic was simply just a component of DirectX designed completely around "Microsoft Synthesizer" which, again... is instanced via a usermode driver. (it's inside of wdmaud.drv I think?) The precursor to it known as the "Interactive Music Architecture" also used the same exact "Microsoft Synthesizer" but as a standalone DLL, not a usermode driver. Even though DirectMusic could let you select other devices, everything breaks if you're not literally using "Microsoft Synthesizer" itself.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 21 of 26, by Jo22

User metadata
Rank l33t++
Rank
l33t++
DracoNihil wrote on 2023-03-30, 05:15:
Jo22 wrote on 2023-03-29, 18:11:

Unfortunately, Windows Vista and later no longer have Direct Music.
That's why Windows XP is the last OS real soft synths can run on.

What does DirectMusic have to do with soft synths?

Nothing. Except that it relates to MIDI in a similar way like Direct Sound 3D relates to wave audio.
"Music can be synthesized either in hardware, in the Microsoft GS Wavetable SW Synth, or in a custom synthesizer. "
https://en.wikipedia.org/wiki/DirectMusic

Using MCI API or an VSTi plug-in to play back MIDI data (*.MID) is similar to using Win 3x/95 MME API to play back wave audio (*.WAV).
Sure it works, but it's also a bit limited. In comparison to more modern technologies.
https://en.wikipedia.org/wiki/Windows_legacy_ … udio_components

Here's a little story for you guys, an analogy if you will:
Back in the late 90s/early 2000s, some people used Media Player with a command line parameter to play back all kind of sounds, including the Windows startup sound.

I knew a person which did that, instead of using the Windows dialog box and just changing the welcome sound.
If I remember correctly, he somehow disabled the startup sound in Windows, then added a shortcut of Media Player (w/ the command line option) to start up group.

I think that's not much unlike using a VST host + VSTi plug-in, a loop back cable and so on vs just using a native soft synth driver (VSC3, S-YXG50, etc) that's directly available.

I assume it's also possible writing computer games that rely on Media Player for their sound effects and music playback, rather than using specialized APIs.
Personally, I really wonder if there are any out there. 😀

Edit: Checked the VSC3 manual, but it wasn't very helpful. This one line gives an idea, though.
"VSC is compatible with DirectSound, thus allowing synchronization of game sound effects and other sounds with on-screen action (available only with applications compatible with DirectSound.)"
DirectMusic sits a top of DirectSound, as Wikipedia says "DirectMusic is a high-level set of objects, built on top of DirectSound [..]".
And some games, apparently, try to talk to a soft synth via this DirectX API rather than the old plain MCI API + MME API or an MPU-401 device in device manager.

Edit: My apologies for the bad wording here. It's way too much text, also. Long story short:
Stand alone MIDI soft synths were implemented as drivers - not too different from the OPL3 FM or AWE synth drivers that were popular before.
And in the Windows 95/98 and 2000/XP era, they had dependencies with DirectX/DirectMusic. And native DirectX API support, in addition to MME API.
Making them run on Windows Vista+ would either require a complete re-write or heavy modifications, since MIDI support in general had been de-evolved since.
There's no longer a MIDI applet, anymore, which allows selecting default MIDI-In/MIDI-Out. A third-party utility is required.

Second, the MIDI mapper was most functional in Windows 3.x. In Windows 95, it's merely a shadow of its former self.
As you can see, MIDI support in Windows as a whole has been on the decline since the 90s.
DirectX kind of was an exception here, since it allowed many technologies to sync with each others.

Last edited by Jo22 on 2023-03-30, 19:46. Edited 1 time in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 22 of 26, by stamasd

User metadata
Rank l33t
Rank
l33t

FWIW, the VSC 3.2 from TechTangents works great for me on a XP retro machine I setup recently. Since the other options like SC-VA can't run on a 32-bit host, and the others (VSC 1.12 and Yamaha softsynth, both 32-bit) run but cannot have their input connected to something else because LoopMIDI is for Win7 and up only, and I haven't found an equivalent for XP. But VSC 3.2 shows up like an output MIDI device in control panel and can have any program direct its MIDI output through it.
I set it up as a system-wide MIDI output device, and now all games that give a MIDI out go through it. It works beautifully on this 1GHz single-core Via Nano C7, no significant CPU slowdown. And that is at high quality settings, 44.1kHz etc

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 23 of 26, by stanwebber

User metadata
Rank Member
Rank
Member

midiyoke can be used in place of loopmidi on win9x/xp, but you don't necessarily need it. falcosoft midi player can connect different midi in and midi out ports (including system midi mapper) plus it can run 32/64bit vsti synths on win9x/xp-10. unfortunately, the roland 32bit sc-va vsti has other windows requirements that prevent it running on win9x, but it should work under xp (64bit works for me on xp64).

midiox is also supposed to do the same thing as falcosoft with midi ports, but it crashes my win98se system.

i know of the following roland/yamaha soft synths (all run under win9x except sc-va):
roland vsc 3.2
edirol vsc vsti 1.6
roland sc-va vsti 1.0.3
yamaha s-yxg100 1.12.05 configured with 4mb samples from microsoft (s-yxg50/70 also out there)
yamaha s-yxg50 vsti (third party)

Reply 24 of 26, by stamasd

User metadata
Rank l33t
Rank
l33t
sndwv wrote on 2023-03-26, 21:33:
Sure! I wanted to make a portable retro 'party box', and went with a used Dell OptiPlex 3050 Micro (Intel i5-7500T @2.5GHz, 16GB […]
Show full quote

Sure! I wanted to make a portable retro 'party box', and went with a used Dell OptiPlex 3050 Micro (Intel i5-7500T @2.5GHz, 16GB, VGA & HDMI out) and added fast SSD storage for boot, and an external drive for games. Currently it dual boots Windows 10 and Batocera, and it connects to the NAS at home to copy software and games to it.

In Windows it can do anything I want regarding DOSBox and ScummVM, and some PCem (I think I got up to a Pentium 100/66 out of it). I use Batocera for most console emulation, and it does anything up to PS2, Xbox and GameCube/Wii, where most games work, but some of the more demanding titles start to trail off. Ideally I would have had just that bit of extra horsepower for those games (as I have zero interest in emulating anything newer anyway), but considering the price I paid I'm more than happy with it, and somewhat hopeful future emulator developments might improve the situation a bit 😉

Batocera curently provides a pretty good out-of-the box lightgun experience if that's your thing by the way- I've been having a lot of fun with the Sinden Lightgun. I used to hate these EmulationStation front end-based OSes, but Batocera has been so sleek and easy to use I even started 'bundling up' a couple of DOS and ScummVM titles for it, which work absolutely fine with Munt emulation and other bells and whistles.

Haven't tried booting MSDOS from it yet, but might be a future project!

FWIW, I looked up the 3050m and liked it, so I got myself one too. 😀 Mine came without a CPU but I had a i5-6600T laying around so I installed that, and a 256G SSD.
Made it dual-boot DOS and win10. To do that, I booted from a FreeDOS USB, used fdisk to make a 2G partition (careful to not enable LBA during partitioning or else it'll be marked FAT32 and MSDOS6 won't be able to boot from it), formatted but not installed anything, leaving the rest of the disk unpartitioned. Next I installed win10, and after that was done I used the disk management control panel to assign a letter to the DOS drive (because apparently FAT16 disks don't get one by default in win10) and copied onto it from a DOS 6.22 disk image: IO.SYS, MSDOS.SYS and COMMAND.COM in that order, then with EasyBCD I made the machine dual-boot DOS and win10. It works fine.

SC-VA for some reason does not work in win10 on that machine. I had to install the VC2008 redist to make savihost start, but even then the SC-VA plugin only appears to work but doesn't generate any sound. I don't know why, because the exact same setup on my main laptop works fine. OTOH the VSC and the Yamaha XG50 softsynths work fine.

And I found a way to make one of the above softsynths work as the default MIDI output device in win10. 😀 After the VSTi plugin is installed and working with savihost, and you map it with LoopMIDI, you can install a piece of software called "CoolSoft MIDIMapper" which acts as a control panel, and in it you can switch the default MIDI output device OS-wise. It works great. and allows you to have games in which you can't select MIDI out device and would otherwise run through the Microsoft synth, use instead either the Roland or the Yamaha synths.

One question though about the 3050m (and this is off topic, I admit): does yours with that CPU actually run at its rated speed of 2.5GHz?Mine should go from 800MHz to 2.7GHz and then boost up to 3.5GHz if under load. But for some reason, mine seems stuck at the lowest possible speed (800MHz) and never goes above that even if I put a 100% load on all 4 cores. On one hand it keeps it cool and it never gets above 30C; but in win10 it seems laggy and slow at times. I've looked through the BIOS and the OS power settings and adjusted all I thought was relevant, but I still can't get it to run at any other speed than 800MHz.

(edit) I figured out the CPU frequency problem. I'm not using a "genuine" Dell power supply, and apparently when you don't use their proprietary crap the BIOS will throttle the CPU to the lowest possible speed it will run at.
I found an actual Dell power adapter, and now the CPU boosts as expected.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 25 of 26, by sndwv

User metadata
Rank Member
Rank
Member
stamasd wrote on 2023-03-31, 11:13:
FWIW, I looked up the 3050m and liked it, so I got myself one too. :) Mine came without a CPU but I had a i5-6600T laying around […]
Show full quote

FWIW, I looked up the 3050m and liked it, so I got myself one too. 😀 Mine came without a CPU but I had a i5-6600T laying around so I installed that, and a 256G SSD.
Made it dual-boot DOS and win10. To do that, I booted from a FreeDOS USB, used fdisk to make a 2G partition (careful to not enable LBA during partitioning or else it'll be marked FAT32 and MSDOS6 won't be able to boot from it), formatted but not installed anything, leaving the rest of the disk unpartitioned. Next I installed win10, and after that was done I used the disk management control panel to assign a letter to the DOS drive (because apparently FAT16 disks don't get one by default in win10) and copied onto it from a DOS 6.22 disk image: IO.SYS, MSDOS.SYS and COMMAND.COM in that order, then with EasyBCD I made the machine dual-boot DOS and win10. It works fine.

SC-VA for some reason does not work in win10 on that machine. I had to install the VC2008 redist to make savihost start, but even then the SC-VA plugin only appears to work but doesn't generate any sound. I don't know why, because the exact same setup on my main laptop works fine. OTOH the VSC and the Yamaha XG50 softsynths work fine.

And I found a way to make one of the above softsynths work as the default MIDI output device in win10. 😀 After the VSTi plugin is installed and working with savihost, and you map it with LoopMIDI, you can install a piece of software called "CoolSoft MIDIMapper" which acts as a control panel, and in it you can switch the default MIDI output device OS-wise. It works great. and allows you to have games in which you can't select MIDI out device and would otherwise run through the Microsoft synth, use instead either the Roland or the Yamaha synths.

One question though about the 3050m (and this is off topic, I admit): does yours with that CPU actually run at its rated speed of 2.5GHz?Mine should go from 800MHz to 2.7GHz and then boost up to 3.5GHz if under load. But for some reason, mine seems stuck at the lowest possible speed (800MHz) and never goes above that even if I put a 100% load on all 4 cores. On one hand it keeps it cool and it never gets above 30C; but in win10 it seems laggy and slow at times. I've looked through the BIOS and the OS power settings and adjusted all I thought was relevant, but I still can't get it to run at any other speed than 800MHz.

(edit) I figured out the CPU frequency problem. I'm not using a "genuine" Dell power supply, and apparently when you don't use their proprietary crap the BIOS will throttle the CPU to the lowest possible speed it will run at.
I found an actual Dell power adapter, and now the CPU boosts as expected.

Hey, good catch re. the power supply- mine came with one, and I never would have guessed that would be the issue.

I know about MIDIMapper, I took a look at it for my main PC, where I wanted some Windows games to use my MIDI hardware via an UM-ONE, which I think is indeed not possible otherwise if the game or program doesn't offer an option to choose a device.

So far I've only played around with the VA and VSTs on my laptop and main PC, not on the mini-PC yet. But I'll see if it works there when I work on it again. Strange that it doesn't work for you, must be the Realtek chip or driver then? Would have to look up the exact type, but it should be similar to the one my laptop has.

Reply 26 of 26, by sndwv

User metadata
Rank Member
Rank
Member
sndwv wrote on 2023-03-29, 15:42:

[...] The 7th Guest, in both DOSBox and ScummVM, the initial music in the foyer is clearly 'off', and Descent in DOSBox also has noticeable issues. It's the drum section, the wrong drum sounds are playing. I noticed the VA starts with Rhythm Part - Drum1 set to Part10. I need to set it to the same value after the game loads, so from Part10 to Part10 to get the right drum sounds.

Is this a quirk of the game? Of SAVIhost or the VA itself? I read somewhere unwarranted reset commands can mess up the VA, is there anything I can do to prevent this issue?[...]

So, I've not been able to fix this issue yet. Anyone? Can someone confirm the issue? I was limited to SC VA 1.03 or 1.1.6 for my tests (without having to purchase the Cloud version), if this is something that was resolved in later versions at least I know.

To summarize: if I don't manually set Rhythm Part 'Drum1' to 'Part10' (the value it seemingly already has by default) *after* a game has initialized, the ryhtm section sounds 'borked'. After doing this however, everything is perfect. Until I start another game or program, which immediately re-borks the drums.