VOGONS


First post, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Hi there,

most old PC-Games work just fine with a roland/midiquest etc. Hardware MPU401 interface that supports "intelligent-mode".
Later machines which have a faster CPU 386+ and EMM-Memory can be patched via softmpu to support those games via
the midi-port of the soundcard or other solutions.

So what about a 286 or even a XT class computer with no hardmpu and no support for softmpu?

There are some patches for e.g. AGI/SCI games that do work on a midi-port of a soundcard on a 286.
But there are hundreds of games that would work performancewise with a hardmpu on these slow systems.

How is the patching be done, is that "complex" and what is the process of doing it?

I am using a SC1630 on a 286/8 and want to check out what games can be used with MT32/CM32L/SC55 on that machine.

Doc

Retro-Gamer 😀 ...on different machines

Reply 3 of 8, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie

Many of the sound drivers/routines that seemingly "require" an intelligent-mode MPU interface leverage it as little more than a basic UART with MIDI message filtering, which makes modification for either UART-only MPU or serial-port output less-complicated than one would assume. Early Sierra and Electronic Arts titles fall into this category.

Two concerns that need to be addressed when dealing with UART-only MPU interfaces is that most only acknowledge the "Reset" and "Enter UART mode" commands, and most need to be put into UART mode for the interface to accept and send MIDI data. (Interfaces based on the SB16 architecture become terminally "busy" if you attempt to send MIDI data outside of UART mode.)

Ideally, the drivers-in-question would be modified or rewritten to appropriately initialize and support UART-only MPU interfaces. As a simpler alternative though, and as specifically concerns some of the aforementioned, "dumb" intelligent-mode support, the "send command" routine of a relevant driver just needs to be bypassed, and the non-intelligent MPU put into UART mode prior to starting the game.

So, using Electronic Arts' early MIDI driver as an example, it's a single-byte change:

- Budokan
DOJO.DAT
507E5: 52 > C3

- Ski or Die
MTSKI.SMB
59A: 91 > 00

Reply 4 of 8, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Thx Cloudschatze!!
What would you recommend for changing the vaules in these files an that machine (286/8) ?
I thought about Norton Disk-Doctor or something like that, afair this could load files and can be used to edit them.

Retro-Gamer 😀 ...on different machines

Reply 5 of 8, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie

I like uHex.

In case it helps, I'm attaching a COM file that can be used to set the MPU to UART mode prior to gameplay.

Also, regarding the other two titles you'd mentioned, the MIDI routine for Gods is in a compressed file. I need to look into this a bit more. Overkill, on the other hand, should work as-is, and without any workarounds. What behavior are you experiencing with it?

Attachments

  • Filename
    UARTMPU.zip
    File size
    166 Bytes
    Downloads
    63 downloads
    File license
    Fair use/fair dealing exception

Reply 8 of 8, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie

Here's a demonstration video (that no-one asked for), showing a non-exhaustive selection of "intelligent-mode" titles working in the described manner on a Tandy 1000 SL (V30 @ 8MHz) with a Sound Blaster 16 providing MPU services. Oh, boy.

  • The Bard's Tale III
  • Budokan
  • The Immortal
  • Indianapolis 500
  • Keef the Thief
  • John Madden Football II
  • Lakers versus Celtics
  • Low Blow
  • Populous
  • Ski or Die
  • Sierra On-Line Christmas Card 1988
  • Zeliard

https://youtu.be/Gsoha3ztwG4

I have all of these patched for serial output as well, just as another option, because who really needs an MPU anyway? 😉