VOGONS


HardMPU, anyone?

Topic actions

Reply 420 of 608, by aquishix

User metadata
Rank Member
Rank
Member
jsp wrote:

I just bought a SC-55 from ebay, and was planning to use it from the game port of my current sound card. After reading a while, I'm not sure whether the problem with intelligent mode and game ports is only an issue with the MT-32 or I would also need to make use of a mpu-401 clone, such as hardmpu. Do you guys know?

The user "jesolo" essentially answered this question here: Game in Mt-32 mode connected to Sound Canvas SC-55

But the basic answer to your question is: The SC-55 does not support intelligent mode even if you have a true MPU-401 or equivalent feeding it, so there's no point in using it that way. Feed it any MIDI connection you feel like.

That being said, if a game is designed to work with the MT-32, it's *really* designed to work with the MT-32 ONLY and will sound like utter garbage if you try using any other synth, including the SC-55. The SC-55 has the ability to emulate the MT-32 by playing a special .mid file through it first which sets it up for such emulation, but even then it doesn't sound like a true MT-32. Just close enough for some people's tastes.

Very few games support the SC-55 specifically, but generic MIDI options or General MIDI were basically written with the SC-55 in mind. (And after a few years, towards the end of the DOS era, the SC-88.)

Reply 421 of 608, by ab0tj

User metadata
Rank Member
Rank
Member
aquishix wrote:

But the basic answer to your question is: The SC-55 does not support intelligent mode even if you have a true MPU-401 or equivalent feeding it, so there's no point in using it that way. Feed it any MIDI connection you feel like.

Well, being pedantic here, but the MIDI module (SC-55 or MT-32) neither care nor know if they're being used via intelligent mode or not. But I agree with the general premise that you're not really going to gain anything using an intelligent interface with a SC-55, because the combination doesn't really make any sense.

Reply 422 of 608, by bjwil1991

User metadata
Rank l33t
Rank
l33t

There are certain games that don't require intelligent mode, such as Doom, or King's Quest VI (requires a slow down) for that matter. The SC-55 isn't really 100% compatible with the MT-32 (I tried, yet it didn't work too well), but my Sound Blaster Live! 5.1 Platinum almost sounds like the MT-32 (extremely close).

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser

Reply 423 of 608, by aquishix

User metadata
Rank Member
Rank
Member
ab0tj wrote:
aquishix wrote:

But the basic answer to your question is: The SC-55 does not support intelligent mode even if you have a true MPU-401 or equivalent feeding it, so there's no point in using it that way. Feed it any MIDI connection you feel like.

Well, being pedantic here, but the MIDI module (SC-55 or MT-32) neither care nor know if they're being used via intelligent mode or not. But I agree with the general premise that you're not really going to gain anything using an intelligent interface with a SC-55, because the combination doesn't really make any sense.

Enlighten me/us, since you've worked so much with this. What *exactly* is Intelligent Mode? Every time I try to google for this I get conflicting and incomplete information. I suppose that what you're saying makes sense since I've daisy-chained an SC-55 and SC-88 from an MT-32 and the MIDI spec says that it's supposed to be a straight electrical daisy-chain with no processing in between. But I'm curious about the implementation of Intelligent Mode. Other than digging up the Roland specs that you must've learned from, I don't see how to get this information.

Reply 424 of 608, by ab0tj

User metadata
Rank Member
Rank
Member
aquishix wrote:

Enlighten me/us, since you've worked so much with this. What *exactly* is Intelligent Mode? Every time I try to google for this I get conflicting and incomplete information. I suppose that what you're saying makes sense since I've daisy-chained an SC-55 and SC-88 from an MT-32 and the MIDI spec says that it's supposed to be a straight electrical daisy-chain with no processing in between. But I'm curious about the implementation of Intelligent Mode. Other than digging up the Roland specs that you must've learned from, I don't see how to get this information.

Heh, ok.

UART/non-intelligent mode is where the computer sends bytes to the interface (HardMPU, sound card, etc) and the interface spits them directly out the MIDI port to whatever device is attached to it. All the processing is done in the game or application and the interface doesn't have to do much at all, it basically just acts like a serial port. (Ok, technically it IS a serial port, just using a different electrical spec and baud rate than the one you attach a modem to.)

Intelligent mode is where the interface is more involved in processing of the MIDI data. It could be as simple as acting as a clock for the game, telling it when to send the next note, or it could be a lot more complex where the game kind of describes the music to the interface and the interface is what generates the bytes to send out to the MIDI device. In the old 8088 days, this took a lot of load off the CPU so it could focus on running the game instead.

In both cases, the data that is sent to the MIDI device is essentially just "play this note using this instrument at this time" and the format is no different whether or not it was generated via intelligent mode.

Reply 425 of 608, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

I'm not sure, but I think intelligent mode can generate interrupts to be serviced as well.

All hail the Great Capacitor Brand Finder

Reply 426 of 608, by jsp

User metadata
Rank Newbie
Rank
Newbie

Thank you all for your responses, despite the slightly offtopic question. My main use for the sc-55 will be for general midi games, although I may try mt-32 emulation from time to time. Guess I can postpone getting one of this cool hardmpu ISAs, but it's definitely in my buy list at some point.

Reply 428 of 608, by ab0tj

User metadata
Rank Member
Rank
Member
villeneuve wrote:

But what about bugs like the hanging note bug etc.. That would affect the SC-55.

That is a good point. HardMPU would be a good option if you have a sound card that have the hanging note bug (and you want to keep that sound card)

Reply 429 of 608, by aquishix

User metadata
Rank Member
Rank
Member
ab0tj wrote:
Heh, ok. […]
Show full quote
aquishix wrote:

Enlighten me/us, since you've worked so much with this. What *exactly* is Intelligent Mode? Every time I try to google for this I get conflicting and incomplete information. I suppose that what you're saying makes sense since I've daisy-chained an SC-55 and SC-88 from an MT-32 and the MIDI spec says that it's supposed to be a straight electrical daisy-chain with no processing in between. But I'm curious about the implementation of Intelligent Mode. Other than digging up the Roland specs that you must've learned from, I don't see how to get this information.

Heh, ok.

UART/non-intelligent mode is where the computer sends bytes to the interface (HardMPU, sound card, etc) and the interface spits them directly out the MIDI port to whatever device is attached to it. All the processing is done in the game or application and the interface doesn't have to do much at all, it basically just acts like a serial port. (Ok, technically it IS a serial port, just using a different electrical spec and baud rate than the one you attach a modem to.)

Intelligent mode is where the interface is more involved in processing of the MIDI data. It could be as simple as acting as a clock for the game, telling it when to send the next note, or it could be a lot more complex where the game kind of describes the music to the interface and the interface is what generates the bytes to send out to the MIDI device. In the old 8088 days, this took a lot of load off the CPU so it could focus on running the game instead.

In both cases, the data that is sent to the MIDI device is essentially just "play this note using this instrument at this time" and the format is no different whether or not it was generated via intelligent mode.

Perfect. Thank you for clearing that up! =)

I do have one more question, though -- how exactly are new voices uploaded to the MT-32? Does that require intelligent mode, or are those simply MIDI messages that can be sent to the MT-32 via the basic UART mode?

Reply 430 of 608, by ab0tj

User metadata
Rank Member
Rank
Member
aquishix wrote:

I do have one more question, though -- how exactly are new voices uploaded to the MT-32? Does that require intelligent mode, or are those simply MIDI messages that can be sent to the MT-32 via the basic UART mode?

They are uploaded through SysEx messages, which absolutely does not require intelligent mode. KQV, for example, uploads custom sounds but uses UART mode to do it.
One reason to use Soft- or Hard-MPU with the MT32 is the ability to leave a gap between these SysEx messages, which can help alleviate errors and lockups of the MT32 on faster systems. The original MT32 needs a little time to process these messages before the next one is sent.

Reply 431 of 608, by aquishix

User metadata
Rank Member
Rank
Member
ab0tj wrote:
aquishix wrote:

I do have one more question, though -- how exactly are new voices uploaded to the MT-32? Does that require intelligent mode, or are those simply MIDI messages that can be sent to the MT-32 via the basic UART mode?

They are uploaded through SysEx messages, which absolutely does not require intelligent mode. KQV, for example, uploads custom sounds but uses UART mode to do it.
One reason to use Soft- or Hard-MPU with the MT32 is the ability to leave a gap between these SysEx messages, which can help alleviate errors and lockups of the MT32 on faster systems. The original MT32 needs a little time to process these messages before the next one is sent.

Right. I knew what SysEx messages are (in a vague sense) and I knew about the gen 1 vs. gen 2 MT-32 buffer overflow issues, the need for SysEx delay on faster systems, etc. In fact, I just swapped out the Gen 1 guts of a rack-mounted MT-32 for Gen 2 guts, specifically to avoid that problem. I just didn't know that SysEx messages could carry THAT kind of information. Since the MT-32 is a unique beast -- especially in how its voices are generated/processed, I thought that perhaps there was also a non-standard way of delivering the necessary information to the MT-32 when uploading new ones.

I'm imagining that the SysEx standard was made general enough that a more specialized device like the MT-32 can interpret the payload of the messages however it feels like, instead of only a certain pre-defined set of message types being available. (That's how I would do it, and have done it, when I've designed messaging systems.)

One thing I've wondered about in regards to the SysEx Delay feature of SoftMPU and HardMPU is this -- will certain games sound wrong with SysEx delay enabled? For instance, is it possible that some games emit those messages at precise times in order to have the various tracks of the music line up correctly in time? Or is the time at which they're supposed to be played always included in the SysEx messages when notes are emitted to a MIDI synth?

Even if that is the case, it seems like turning on the delay feature could cause a message not to get there in time if its specified note time is in the very near future -- something that would impact a game like Prince of Persia, for instance -- because of sound effects being outputted via the MT-32 as well as the music.

Thanks again!

Reply 432 of 608, by aquishix

User metadata
Rank Member
Rank
Member
ab0tj wrote:
aquishix wrote:

But the basic answer to your question is: The SC-55 does not support intelligent mode even if you have a true MPU-401 or equivalent feeding it, so there's no point in using it that way. Feed it any MIDI connection you feel like.

Well, being pedantic here, but the MIDI module (SC-55 or MT-32) neither care nor know if they're being used via intelligent mode or not. But I agree with the general premise that you're not really going to gain anything using an intelligent interface with a SC-55, because the combination doesn't really make any sense.

Btw, you were NOT being pedantic; I just had a misunderstanding and you corrected it. I really appreciate it. 😉

Reply 433 of 608, by ab0tj

User metadata
Rank Member
Rank
Member
aquishix wrote:

I just didn't know that SysEx messages could carry THAT kind of information. Since the MT-32 is a unique beast -- especially in how its voices are generated/processed, I thought that perhaps there was also a non-standard way of delivering the necessary information to the MT-32 when uploading new ones.

I'm imagining that the SysEx standard was made general enough that a more specialized device like the MT-32 can interpret the payload of the messages however it feels like, instead of only a certain pre-defined set of message types being available. (That's how I would do it, and have done it, when I've designed messaging systems.)

You're right on the money with that one. SysEx stands for "System Exclusive", as in, specific to the device in question. It is a part of the MIDI standard but the hardware designer has free reign to define the content of the SysEx messages and what actions they trigger in the MIDI device. (Though I'm sure there's nuances to it I'm glossing over, that is the general idea.) A SC-55 will ignore SysEx messages meant for the MT32, because they have no meaning to the SC-55.

aquishix wrote:

One thing I've wondered about in regards to the SysEx Delay feature of SoftMPU and HardMPU is this -- will certain games sound wrong with SysEx delay enabled? For instance, is it possible that some games emit those messages at precise times in order to have the various tracks of the music line up correctly in time? Or is the time at which they're supposed to be played always included in the SysEx messages when notes are emitted to a MIDI synth?

Even if that is the case, it seems like turning on the delay feature could cause a message not to get there in time if its specified note time is in the very near future -- something that would impact a game like Prince of Persia, for instance -- because of sound effects being outputted via the MT-32 as well as the music.

Yes this can be an issue, but I haven't yet encountered any situations where it has thrown a whole sound track off course. Rather it manifests itself as notes being cut off at the beginning of a song. X-Wing illustrates this pretty well, SysEx delay is necessary on faster machines, and the game send a lot of SyxEx when it starts up. The added delays cause the first few notes to be cut off because they are buffered during the delays and then sent all at once after the SysEx messages finish. Note that this isn't an issue with SoftMPU because it effectively locks up the computer during the delays which forces the game to not get ahead of the MIDI stream. However, I have noticed that causes the opening animations to get "choppy" which is not a problem with the HardMPU. Pick your poison, I guess 😁

Reply 435 of 608, by hard1k

User metadata
Rank Oldbie
Rank
Oldbie

And I would be interested in an assembled one.

Fortex, the A3D & XG/OPL3 accelerator (Vortex 2 + YMF744 combo sound card)
AWE64 Legacy
Please have a look at my wishlist (hosted on Amibay)

Reply 436 of 608, by jbenam

User metadata
Rank Newbie
Rank
Newbie

@ab0tj

Looks like I have some slight trouble in replying to your PM since I haven't got enough posts to be able to send out PMs yet. Would you mind sending me your email address thru PM so that I can reply using that instead?

Thanks again 😀

Reply 437 of 608, by ZarK-eh

User metadata
Rank Newbie
Rank
Newbie
jbenam wrote:

@ab0tj

Looks like I have some slight trouble in replying to your PM since I haven't got enough posts to be able to send out PMs yet. Would you mind sending me your email address thru PM so that I can reply using that instead?

Thanks again 😀

I to am having this problem, and have *just* joined and cannot PM anyone... 🙁 Last week, I sawed a HardMPU on ebay and missed it and now is gone and can I ask to have some kits placed there? or msg me on ebay, zarky_poo I would be interested in two kits. Thank you! <3 all

Reply 438 of 608, by ab0tj

User metadata
Rank Member
Rank
Member
ZarK-eh wrote:

I to am having this problem, and have *just* joined and cannot PM anyone... 🙁 Last week, I sawed a HardMPU on ebay and missed it and now is gone and can I ask to have some kits placed there? or msg me on ebay, zarky_poo I would be interested in two kits. Thank you! <3 all

Try <my username> at delorted.com

eBay is sooo restrictive on what they let you send in messages 😊

Reply 439 of 608, by tpowell.ca

User metadata
Rank Member
Rank
Member
keropi wrote:
This is why I mentioned earlier that p1 is the absolute max for gaming with MPUs and MT-32 and even that needs some tricks like […]
Show full quote

This is why I mentioned earlier that p1 is the absolute max for gaming with MPUs and MT-32 and even that needs some tricks like L1 cache disabling.
95% of the time it's the game's drivers that crap out due to speed.

You might get lucky and have MI work OK with the Roland card but not HardMPU but if you try more games you might find the exact opposite situation .
Also keep in mind that ACPI is hardcoded at IRQ9 and some games don't like sharing and love their IRQ2/port330 setting. You might get lucky and have a slot1 mobo that ACPI can be disabled but they are rare AFAIK.

Has this been known to cause an issue in DOS ?

I feel like I'm hitting the same problem as aquishix. I just find it odd that Monkey Island and other games I tried worked perfectly with my MT-32 and SC-55, except for Wing Commander II.
Even more interesting was that I was able to load SoftMPU on TOP* of HardMPU and solved my problems in Wing Commander II.
Note, I have that exact ACPI hardcoded on IRQ2/9 issue.

* The soundcards installed had the MPU-401 ports disabled. I'm guessing that I just overrode the HardMPU's card intelligent mode.

  • Merlin: MS-4144, AMD5x86-160 32MB, 16GB CF, ZIP100, Orpheus, GUS, S3 VirgeGX 2MB
    Tesla: GA-6BXC, VIA C3 Ezra-T, 256MB, 120GB SATA, YMF744, GUSpnp, Quadro2
    Newton: K6XV3+/66, AMD K6-III+500, 256MB, 32GB SSD, AWE32, Voodoo3