How to prevent buffer overflow with a Rev.0 MT-32

Forum for discussion of bugs, code, and other aspects of SoftMPU.

How to prevent buffer overflow with a Rev.0 MT-32

Postby bjt » 2013-6-21 @ 10:51

Some games with Roland sound support suffer from buffer overflows with the Rev.0 MT-32. The symptoms are incorrect sound and the message "EXC. BUFFER OVERFLOW" on the MT-32's display.

SoftMPU 1.1 includes a feature that prevents these problems by adding small delays in MIDI transmission. Further info here: http://www.vogons.org/viewtopic.php?t=36023
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: How to prevent buffer overflow with a Rev.0 MT-32

Postby Kahenraz » 2013-11-04 @ 05:58

From what I understand, the MT-32's buffer overflow (too fast) is different from the digital overflow (16-bit data rolling over).

Can you confirm that this fix corrects only the buffer overflow, which can cause the unit to lock up, as opposed to the digital overflow which is what Sierra games used to make special sounds?

I'm not 100% certain that these two overflows are mutually exclusive.
User avatar
Kahenraz
Member
 
Posts: 490
Joined: 2004-1-22 @ 04:57

Re: How to prevent buffer overflow with a Rev.0 MT-32

Postby keropi » 2013-11-04 @ 07:13

I tested some time ago, with an MPU401AT+MT32 on my p200mmx machine, softmpu did not help cure the buffer overflow message
http://queststudios.com/smf/index.php/topic,3609.0.html
User avatar
keropi
l33t++
 
Posts: 6341
Joined: 2003-9-08 @ 06:45
Location: Greece

Re: How to prevent buffer overflow with a Rev.0 MT-32

Postby bjt » 2013-11-04 @ 12:29

This feature of SoftMPU is sorely in need of testing so I'm glad you tried it. It does work with the one test-case I have (Populous).

I'll try to get hold of a copy of Gods and see what's going on.
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: How to prevent buffer overflow with a Rev.0 MT-32

Postby keropi » 2013-11-04 @ 14:13

^ maybe it's related to the fact that softmpu uses the SB mpu and not the mpu401AT one?
User avatar
keropi
l33t++
 
Posts: 6341
Joined: 2003-9-08 @ 06:45
Location: Greece

Re: How to prevent buffer overflow with a Rev.0 MT-32

Postby bjt » 2013-11-04 @ 15:34

That depends whether you gave the port address of the MPU-401AT or the SB's MPU when starting SoftMPU.
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: How to prevent buffer overflow with a Rev.0 MT-32

Postby keropi » 2013-11-04 @ 16:48

nope, gave it the roland mpu address.
I am almost 99% sure though that I also needed to enable the sb16 mpu in order to get softmpu going... When tested I gave it the sb's 220 port, sb's irq 5 and roland's 330 port
User avatar
keropi
l33t++
 
Posts: 6341
Joined: 2003-9-08 @ 06:45
Location: Greece

Re: How to prevent buffer overflow with a Rev.0 MT-32

Postby bjt » 2013-12-12 @ 23:12

Finally got round to testing this. SoftMPU 1.7, two configs:

- Yamaha YMF71x -> MT-32 Rev.0
- SB Pro 2 (SBMIDI) -> MT-32 Rev.0

On both configs I get the buffer overflow message when starting Gods. However with both the message goes away if I specify /DELAYSYSEX when loading SoftMPU. It seems like things are working as intended.
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK


Return to SoftMPU

Who is online

Users browsing this forum: No registered users and 1 guest