#7269 closed feature request (fixed)
MI1VGA Roland support
Reported by: | SF/logicdeluxe | Owned by: | SF/jamieson630 |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Monkey Island 1 |
Description
Only Adlib emulations works in the current version. E.g. '-e windows' has no effect on this game. The MT32-MIDIs should be translatable to GM like ScummVM already does it in later games.
Ticket imported from: #742249. Ticket imported from: feature-requests/85.
Change History (16)
comment:1 by , 21 years ago
comment:2 by , 21 years ago
Owner: | set to |
---|---|
Resolution: | → invalid |
Status: | new → closed |
comment:3 by , 21 years ago
Status: | closed → new |
---|
comment:4 by , 21 years ago
You are wrong. In fact there ARE Roland MIDI's with the VGA disk version, though they are a bit hidden. They are included in disk04.lec in the very last room there is a bunch of Roland-MIDI's also called RO hence they can be easily mistaken for rooms. Check this out with ScummRV. Also noticable when playing directly from disk (despite it is not recommended in the readme) you have to insert disk 4 every time a music is to be loaded.
For Monkey EGA and Loom EGA there are free upgrades at LucasArts for download, which add MT-32 support for those versions, too. There the MIDI's are stored in separate files as well. This is disk09.lec for Monkey EGA and several further lfl files for Loom EGA. (Yes, those old Interpreters do have an undocumented '-r' switch! Try it without those upgrates and you will see a file not found error.)
Since you want to know: ScummVM 0.5.0pre-cvs Windows Built on Jul 5 2003 21:59:31 But there is no different since the first version supported monkeyvga with music anyway, since there is simply no MT-32 support implemented in ScummVM yet, hence I did not write those information in the opening post earlier. Btw. "-e windows" has no effect with monkeyvga.
comment:5 by , 21 years ago
Owner: | changed from | to
---|
comment:6 by , 21 years ago
"Check this out with ScummRV" assumes that a) I own that game and b) I can use ScummRev, neither is true.
Maybe Jamieson wants to say something on this matter <shrug>
comment:7 by , 21 years ago
I think, that logicdeluxe is right!
Go to: http://support.lucasarts.com/patches/monkey- 1.htm#Roland%20Upgrade
There you can get the Roland-Upgrade for MonkeyEGA (DISK09.LEC), if you compare the only room in this file with the last room in DISK04.LEC of MonkeyEGA, you'll find, that they are identical!
And in fact, tha Roland-Sounds-Ressources have thje Header "RO".
comment:8 by , 21 years ago
Well, I downloaded the disk09.lec and ran a hex dump on the non-room "RO" resources from ScummRev. One "RO" looks like a valid room resource (albeit without any real useful information, but there ARE child elements in there), while the rest look like they COULD possibly pass as MIDI data. If I were to write a parser off the top of my head, here's how I would interpret the file:
Music starts at address + 6 bytes (just past the two- character "RO" header, though it might start a few bytes later).
Events seem to follow SMF closely. Cx (program change, 1 byte data); Bx (control change, 2 bytes data); 9x (note on, 2 bytes data); and 8x (note off, 2 bytes data); all look to match up fine. Ax appears numerous time, with no data, and so far all I've found is 0xA0 (i.e. x == 0 every time). Could probably be ignored in a first-pass parser.
Events stream one right after another, and are assumed to occur at the same point in time unless F0 xx is encountered. This is a delay marker where xx == ticks (presumably) to delay. xx == 0 means end of track. Also, FF is sometimes used instead of F0 00 at end of track. Whether this type of EOT should be treated separately (e.g. does it mean loop to beginning instead?) is unknown.
So... yeah, I could throw together a parser for this format. What I'm not so sure about is (1) whether an attempt is made to load these songs in the MonkeyVGA scripts, and (2) how we distinguish the music "RO" resources from the room "RO" resources.
If somebody else can look at the resource loading/identification issue, I'll see what I can do for parser code.
Fingolfin, I will leave this tracker item's resolution and status for you decide upon.
comment:9 by , 21 years ago
on a similiar note the afore mentioned roland patch for loom (adds some LFLs), it would be nice if that could be supported as well :)
http://support.lucasarts.com/patches/loom.htm
It is a self extracting zip file.
comment:10 by , 21 years ago
Is this a true patch for loom game files or just an updated interpreter?
comment:11 by , 21 years ago
Actually this is no patch at all. The archive just contains some additional LFL files. No changes applie to any of the existing files. You can try "loom.exe r" without the upgrate, and the interpreter fails the attempt to load those extra files. And after upgrading you can still play like befor without the 'r' parameter and use Adlib or PC-Speaker and play without the ouverture. That 'r' must influens the script behavior in some way. The same goes for monkeyega and monkeyvga.
comment:12 by , 21 years ago
Some notes for future reference: The roland RO resources can be found when VAR_SOUNDCARD is set to 4. The roland resources in monkeyega/vga appear to be exactly the same. The roland resources in loom are tagless.
comment:13 by , 21 years ago
So if we set up VAR_SOUNDCARD with the right number, instead of 3 every time (presumably 3 is for Adlib), some older games use that to reference different music resources, including the Roland RO resources. Okay, working on a parser now. First-pass parser will probably not support Loom until we can fudge a header for it.
comment:14 by , 21 years ago
Resolution: | invalid → fixed |
---|---|
Status: | new → closed |
comment:15 by , 21 years ago
Roland support for loom (ega), monkeyega and monkeyvga is now in ScummVM cvs. Unfortunately monkeyega and monkeyvga don't seem to have roland sfx, only music. So you will miss out on sound effects.
comment:16 by , 6 years ago
Component: | → Engine: SCUMM |
---|---|
Game: | → Monkey Island 1 |
There is no MT32 midi in MonkeyVGA. And anyway, did you actually try with latest CVS? For the problem with "-e windows" not working with MonkeyVGA was only present for a few days, and was fixed some time ago. Feel free to reopen this if you really think there is some justification, but this time please include at least your specs (what ScummVM version etc.)