Articles

 
Thumb

Monkey Island in Mono

Benny recounts how he joined elTee in a hunt for the elusive hercules monochrome mode in Monkey Island 2.

Here at Mixnmojo we are no stranger to quixotic quests. The following is a story about a 30 year old game, a 40 year old mono display standard and the tiny differences between SCUMM interpreters. In other words it's a good representation of a typical week in the Mojo slack.

It begins with Mojo staffer elTee. For the authentic retro experience he had abandoned ScummVM and was playing games using Dosbox. That meant the full old school experience of mounting disks, installing from floppies and of course using command line switches to launch games.

Here we need to turn aside and remind readers that pretty much every pc SCUMM game prior to Monkey Island 3 was run through dos. That is, you had to type commands to launch it and to choose your options. What you’d typically do is run the game with the /? Flag - that would make it spit out all the different options you could use to start the game. This is where you’d choose your sound mode, graphics mode and even whether you were using a mouse…or a joystick. So for Monkey Island 1 a typical command line might be “MONKEY.EXE e a”. This would run the game with EGA graphics and adlib sounds.

Our hero used the /? switch on Monkey Island 2 and noticed that the game offered EGA and internal speaker options, he’d never seen MI2 in either of those modes and they weren't listed on the box. When he tried them, he was astonished to find that they worked. So he recorded a video of it and tweeted it out. So far so good, people were surprised, no-one on twitter tried to cancel him for excluding fans of CGA graphics, all was well. Then Dave Grossman threw a monkey wrench spanner in the works - there was apparently a hidden mono graphics mode in some versions of the interpreter. To elTee this was irresistible and so his quest began.

The logical thing to do was to just try it and so of course he did, but both the cd and floppy versions of MI2 refused to yield a hidden hercules monochrome mode. That dead end is where the story stopped, for eight years. Of course elTee wasn't going to leave it at that, a total lack of evidence wasn't going to stop him, Dave Grossman himself had said it existed. Earlier this year he returned to the task and I joined him as we stopped the pretence of ever being anything but massive geeks. We looked through lots of SPUTM interpreters in search of the fabled one that supported hercules mode in MI2. It didn't exist. However we remembered that both Monkey Island 2 and Fate of Atlantis use V5 of the SCUMM engine, the interpreters for both games are very similar and sometimes interchangeable. So we looked at interpreters for Fate of Atlantis and it was while testing a cracked, Spanish version of the game that something weird happened.(Yes dear reader, something even weirder than someone willingly spending time trying a cracked, Spanish copy of Fate of Atlantis).

When run in EGA mode the game was in black and white, monochrome, like hercules mode. There was much excitement, the mystery was finally solved, videos were recorded, screenshots were taken. We tried the interpreter in Monkey Island 2 and EGA mode worked the same there - the game was monochrome. Unfortunately there was a problem - the games looked awful. Check it out yourself, gaze at those screenshots, wince at the video - that is not the crisp graphics of monochrome mode that you find in other SCUMM games. What was going on with that interpreter and why was it producing such horrors in EGA mode?

"Jesus that intro hanging scene" -Thrik's real time reaction to the above recording.

Looking at the interpreter with “/?” revealed that it was version 5.2.21, compiled on Sep 01 1992. This makes it slightly newer than the interpreter that shipped with the English floppy version of the game (5.2.20 Apr 17 1992). The atlantis.exe we had was cracked - someone had disabled the copy protection, so our working theory was that the cracker had somehow broken EGA mode. If we could track down an original copy of the interpreter then we could really see what was going on. This proved to be difficult, none of our copies of MI2 or FOA were version 5.2.21. We delved into other languages, Italian, Spanish, German - none of them had the magic version.

Finally our careful searching came good, we found what we were looking for, not on some abandonware site or buried on an old magazine coverdisk but on Disney’s website. Amazingly it transpires that Disney still hosts old Lucasarts game patches and our missing interpreter was an update to Monkey Island 2 and Fate of Atlantis to “cure color palette problems on some older computers”. The official interpreter was identical to the one we had, it worked fine in VGA mode but exhibited mono madness when run in EGA and as an official Lucasarts exe it obviously wasn't cracked to remove copy protection. What was going on?

We worked out that the crack to remove copy protection was in the resource files of the game, not the executable - the cracker had modified the scripts in the copy protection room. To solve the mystery of the bizarre colours we turned to Jimmi (nee Serge) famed author of SCUMM Revisited. After looking at the interpreter he formed the following theory:

The update added code to fix something in the VGA palette. On a VGA machine the colours for EGA are obtained by grabbing a colour from the VGA palette. So changes to the VGA palette could also mess with the colours used for EGA.

Or in short - Lucasarts changed something in the VGA code that broke the EGA code badly causing it to grab black, white or grey for the different EGA colours. On an EGA pc it's fine, but if you try to run it in EGA mode on a VGA pc (the default Dosbox setup) horrors ensue.

So where does this leave us, other than with a strong impression that we need to get a life? Well, we now know that there’s a version of the Monkey Island 2 and Fate of Atlantis interpreter that is very very broken in EGA mode; Disney are hosting patches for a 30 year old game and there’s still no way to activate hercules monochrome mode in Monkey Island 2. Our search continues.