VOGONS

Common searches


First post, by Thunder

User metadata
Rank Newbie
Rank
Newbie

Hi, Not sure if this is the right forum or not to post this.

Anyway, for a while now I've been wanting a program to play back, extract, convert and record midi sequences from old dos games. I've been unable to find a decent program to do any of those the way I want, so I decided to write my own.

It's in a pretty early state of development yet. I'll add to it later as I get time / ideas. It's a command line driven app, but if you're a retro gamer that shouldn't be much of a problem 😀

Screenshot:
ubermid.png
Download:http://users.tpg.com.au/~gbtyson/ubermid.zip

It plays back normal midi files, Miles XMI files, .M32 files from Dune by Cryo (speed is not quite right however) and has some wonky support for sierra SCI0 games.

Any suggestions / comments about the program please let me know
If anyone has some game formats they want added, I can do so if they have enough documentation about the format.

Readme.txt in the archive should explain the program operation well enough.

Any thoughts or comments, please let me know.

Reply 2 of 20, by WhiteFalcon

User metadata
Rank Member
Rank
Member

I see you too share the partiality to the text mode like I do 😉
The program works just fine, it is a good start to a multi-format player. Good luck! 😀

Olivetti M4 P75, 32MB RAM, 4GB HDD, 8GB CF, CD-ROM, SoundBlaster AWE 64, Gravis Ultrasound MAX, Roland SCC-1, Roland MT-32, Roland CM-64
Intel 486DX2/66Mhz, 16MB RAM, VGA Trident 512kB, 1.6GB HDD WD, CD-ROM, 256MB CF, SoundBlaster 16 Pro (CT2910)

Reply 3 of 20, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
Thunder wrote:

I've been wanting a program to play back, extract, convert and record midi sequences from old dos games.

The extract and convert functions are most interesting.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 4 of 20, by Thunder

User metadata
Rank Newbie
Rank
Newbie

Cheers!

Most of the reason I started this is because I wanted to play the XMI midi music from Wing Commander: Privateer. I'd extracted the XMI files out of the .TRE files, but the only program I could find to convert them was XMI2MID by some dude called Marcus Hein(sp?) and it gets the timing completly wrong.

WhiteFalcon:
I'm a UNIX/C programmer by day and do no GUI coding at all, command line and ncurses is what i'm most familar with 😀

Kreshna:
Extracting and converting was only a trivial extension to the program. If the format can be reverse engineered for playback, then saving it out as a .MID does not require any extra code to be written.

Reply 5 of 20, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
Thunder wrote:

I'm a UNIX/C programmer by day <snip>

And it shows 😀 --file=xxxxx

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 6 of 20, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
Thunder wrote:

Kreshna:
Extracting and converting was only a trivial extension to the program. If the format can be reverse engineered for playback, then saving it out as a .MID does not require any extra code to be written.

Just wonder: have you tried the opening song of Cobra Mission?

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 8 of 20, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
Thunder wrote:
Kreshna Aryaguna Nurzaman wrote:

Just wonder: have you tried the opening song of Cobra Mission?

No, I've never heard of that game.

It's a hentai game, and the opening theme is a typical anime soundtrack, but it's quite nice.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 10 of 20, by Thunder

User metadata
Rank Newbie
Rank
Newbie

WolverineDK:
Thanks.
If I can figure out how to type in the U with an umlaut I'll stick that in.

Kreshna:
If I can find a copy of the game then I can give it a go. Is it an MT32 or GM track?

Last edited by Thunder on 2007-12-21, 06:43. Edited 1 time in total.

Reply 11 of 20, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
Thunder wrote:

If I can find a copy of the game then I can give it a go. Is it an MT32 or GM track?

It's not MT-32 for sure.... I think it's a GM track, but the game doesn't support anything other than AdLib and SB Pro --it doesn't support GM. Probably it's AdLib track?

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 12 of 20, by Thunder

User metadata
Rank Newbie
Rank
Newbie
Kreshna Aryaguna Nurzaman wrote:

It's not MT-32 for sure.... I think it's a GM track, but the game doesn't support anything other than AdLib and SB Pro --it doesn't support GM. Probably it's AdLib track?

Oh, I can't do anything with that then.

The game has to support either General Midi, Roland or MPU-401 as a sound card option. Adlib isn't a midi device and does not accept midi commands.

Reply 13 of 20, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
Thunder wrote:
Kreshna Aryaguna Nurzaman wrote:

It's not MT-32 for sure.... I think it's a GM track, but the game doesn't support anything other than AdLib and SB Pro --it doesn't support GM. Probably it's AdLib track?

Oh, I can't do anything with that then.

The game has to support either General Midi, Roland or MPU-401 as a sound card option. Adlib isn't a midi device and does not accept midi commands.

I see. Fortunately, many old games do support either GM or MPU-401, like Sierra and Origin games. I think Cobra Mission is quite a rarity.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 14 of 20, by taiken7

User metadata
Rank Member
Rank
Member

Can we get a console only version (something that can run in dosbox)?
Depending on required resources, it should compile through Msys/MinGW.
Additionally, I am getting a few seg-faults (most likely mem-allocations
not being deallocated before exit)

Reply 15 of 20, by Thunder

User metadata
Rank Newbie
Rank
Newbie
taiken7 wrote:
Can we get a console only version (something that can run in dosbox)? Depending on required resources, it should compile through […]
Show full quote

Can we get a console only version (something that can run in dosbox)?
Depending on required resources, it should compile through Msys/MinGW.
Additionally, I am getting a few seg-faults (most likely mem-allocations
not being deallocated before exit)

Porting it to dos? I'm not really keen on that, since it would be quite a bit of work. besides, there are other dos programs that will do that. google for a program called Megamid.

If you could let me know how to replicate the segvs you are getting (supply the midi file you're using and what version of windows etc) I'll fix them. There is minimal sanity checking on the midi files, so if it's corrupt or badly formed then my program will behave unpredictably (ie, crash).

Reply 16 of 20, by taiken7

User metadata
Rank Member
Rank
Member

Tested with all the supplied midi's. (I'm driving an SB Xfi ElitePro).
It seems to consistently crash on exit (or if I use the MT32 option without
my MT32 connected).

The error message is
''Unhandled exception in UberMid.exe (NTDLL.DLL): 0xc0000005: Access Violation''
http://support.microsoft.com/kb/826220

Using 32bit depth, so it must be something about office components.
(Too tired to troubleshoot at the moment though)
Have read forcing 2000 compatibility option may fix it.. but again its only
a console app (?!).

[Also of note is that it displays only ANSI instrument names, unlike
the bars that appear in the screenshot as well; it's a tidy app otherwise
.. if only I could use Dosbox to drive emulated MT32]

Reply 17 of 20, by Thunder

User metadata
Rank Newbie
Rank
Newbie
taiken7 wrote:
Tested with all the supplied midi's. (I'm driving an SB Xfi ElitePro). It seems to consistently crash on exit (or if I use the […]
Show full quote

Tested with all the supplied midi's. (I'm driving an SB Xfi ElitePro).
It seems to consistently crash on exit (or if I use the MT32 option without
my MT32 connected).

The error message is
''Unhandled exception in UberMid.exe (NTDLL.DLL): 0xc0000005: Access Violation''
http://support.microsoft.com/kb/826220

Using 32bit depth, so it must be something about office components.
(Too tired to troubleshoot at the moment though)
Have read forcing 2000 compatibility option may fix it.. but again its only
a console app (?!).

[Also of note is that it displays only ANSI instrument names, unlike
the bars that appear in the screenshot as well; it's a tidy app otherwise
.. if only I could use Dosbox to drive emulated MT32]

Crashing on exit seems odd. I've never had that happen to me. I've developed it on 64 bit windows XP but recently switched over to Vista x64 bit and it runs fine there too.

I don't think it's related to that link you posted. It looks more like I tried to dereference null somewhere along the way.

All the --mt32 option does is load the mt32.txt file which contains the MT32 instrument names (as opposed to the default general midi names in gm.txt)

I don't know what you mean by the ANSI instrument names and bars though? are the bars not in colour?

Reply 18 of 20, by taiken7

User metadata
Rank Member
Rank
Member

Ah, so that might be a hint; there are only instrument names the rest (bars/lines etc) do not appear (it expands to a largish black mostly
unused window).
[Tested on XP-SP2, .NET 1, 1.1 and 2]

Reply 19 of 20, by Thunder

User metadata
Rank Newbie
Rank
Newbie
taiken7 wrote:

Ah, so that might be a hint; there are only instrument names the rest (bars/lines etc) do not appear (it expands to a largish black mostly
unused window).
[Tested on XP-SP2, .NET 1, 1.1 and 2]

Hmm, interesting. I still can't replicate the crash.
I might try a few other systems if i can get the chance.

Has anyone else had those problems?