Old Mac ITE not supported

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
Vlcice
Posts: 16
Joined: Wed Nov 09, 2005 3:54 am

Old Mac ITE not supported

Post by Vlcice »

I found my old Mac ITE disc recently and decided to give it a try under ScummVM 0.8.0a. However, it tells me that it cannot find a game in the folder on my hard drive that I copied the contents of the CD's "ITE Data" folder to. The commandline doesn't offer any md5sums to report, even on -d9.
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

<sigh> You will need to copy files in MacBinary format as described in README.


Eugene
Vlcice
Posts: 16
Joined: Wed Nov 09, 2005 3:54 am

Post by Vlcice »

I have in fact read the README, which does not describe how to copy them in MacBinary format; the document for playing Mac games describes only how to copy them on Windows.

I'm using Mac OS X, and the only readme for old Mac games on Mac OS X applies to SCUMM games only. Mac OS X should be copying the files with both data and resource forks, at any rate.
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

Well, I would gladly add that section to README if someone contribute it. I.e. how to deal with such games on MacOS.

Try to play with game data files so

MD5 (ITE Resources.bin) = 07445043409e3a2d822e97adea53d2ee

And tell me how to reproduce it.


Eugene
Vlcice
Posts: 16
Joined: Wed Nov 09, 2005 3:54 am

Post by Vlcice »

I'm sorry I haven't responded for so long; university classes murdered me this term and buried the body fairly thoroughly, so it's taken me awhile to dig myself out.

After doing some research, I've found that the MacBinary format is something created by third-party software to let non-HFS filesystems to deal with multiple-fork files, either to use them on non-Mac computers or for transferring over the Internet. It copies together both the data fork and resource fork of the files, and prefaces them with a 128-byte header.

I think it may be possible to convert these on Mac OS X, but the software I've tried so far creates files that ScummVM won't recognize. The better option, I think, would be for ScummVM to support them in their native format when running on HFS+.
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

Vlcice wrote:The better option, I think, would be for ScummVM to support them in their native format when running on HFS+.
I agree with you that this would be better option. However.
  • * I don't have Mac to implement that
    * Our current file class does not support that because:
    * for some files we need resource fork, for other we need data fork
All of that makes it very close to impossible.


Eugene
Chewbecca
Posts: 3
Joined: Sat Feb 27, 2010 5:45 am

did this get solved?

Post by Chewbecca »

Hey,
I realize this post is very old but i have checked recent posts for an answer unsuccessfully.
Im also trying to play old CD on my Mac Os X 10.4 intel, the data files from the old cd have no file extn.
Did you find anyway to do it?
Thanks.
User avatar
Red_Breast
Posts: 775
Joined: Tue Sep 30, 2008 10:33 pm
Location: The Bar Of Gold, Upper Swandam Lane.

Post by Red_Breast »

I came up with a couple of links that might help you (I don't know much about Mac stuff apart from it's Unix similarities)

Do you have the re-release Wyrmkeep CD which has Windows, Mac and Linux executables of the game (hybrid version)?
I don't know if the game was released for Mac originally.
If you're worried about file extensions then I'll add I have the Wyrmkeep version and I've run it with the Linux executable and also using ScummVM and it doesn't matter.

http://wiki.scummvm.org/index.php/HOWTO-Mac_Games

The ScummVM readme. Check section 3.11.

http://scummvm.svn.sourceforge.net/view ... iew=markup
User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Post by clone2727 »

We currently don't directly support Mac resource forks as said above. I do however have a patch sitting on the tracker that does. After that is accepted, it could be adapted for the SAGA code for this purpose.

In the meantime, you can create MacBinary files using the "macbinary" terminal command. I have never used it myself, but it should work here.
Chewbecca
Posts: 3
Joined: Sat Feb 27, 2010 5:45 am

Post by Chewbecca »

I have the original CD for mac from 1994, the files in the ITE data folder have no extn....see above
Since i want to play the game on a mac not on windows, would converting the files to macbinary help scummvm recognise the game?
User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Post by clone2727 »

Chewbecca wrote:I have the original CD for mac from 1994, the files in the ITE data folder have no extn....see above
Since i want to play the game on a mac not on windows, would converting the files to macbinary help scummvm recognise the game?
Yes.
Chewbecca
Posts: 3
Joined: Sat Feb 27, 2010 5:45 am

Post by Chewbecca »

ok thanks, i will give it a go...
im off to read up on how to use terminal :?

cheers.
boredzo
Posts: 2
Joined: Sat Apr 17, 2010 7:26 pm
Contact:

Post by boredzo »

I'm having the same problem (except that I do get output on the command line, but I'll get to that) with ScummVM 1.1 on Mac OS X 10.6.3. Here's what I did:
  1. Put in the ITE for Mac OS CD. (Get Info on the “Inherit the Earth™” executable reveals that it is version 1.0d1. It's the US version, as best I can tell; the game was in English when I played it originally, but the CD doesn't explicitly say anything like “US version” on it.)
  2. Copied the entire thing to my hard drive.
  3. In xterm, cd'd into the directory containing the ITE files.
  4. MacBinaried everything with this command:

    Code: Select all

    for x in *; &#40;macbinary encode -t 3 $x &&#41;
I also tried -t 1 and -t 2. The -t option sets the version of MacBinary encoding to use.

All of these give the same result: When trying to add the game to my ScummVM library, it says “ScummVM could not find any game in the specified directory!”.

All three also give wrong MD5 values (relative to what sev said early in this thread). Here's what I get for -t 1 (MacBinary I):

Code: Select all

MD5 &#40;About ITE.bin&#41; = 032c2244208c8e30b4979890f7054525
MD5 &#40;ITE Music.bin&#41; = 105e38e61cb566f51c81ec886eb56de6
MD5 &#40;ITE Resources.bin&#41; = 476ee9153440da4bc48e360b8514235b
MD5 &#40;ITE Scripts.bin&#41; = 137dd85f670a2775f0023336813478d5
MD5 &#40;ITE Sounds.bin&#41; = d815ec4e70e97a7456914619d832bea3
MD5 &#40;Inherit the Earth™.bin&#41; = 1d2622dc4e99a21ce3280d77ec9fb5c7
-t 2 (MacBinary II):

Code: Select all

MD5 &#40;About ITE.bin&#41; = 4ccf885cfdeef6d9a2c5e937f570babc
MD5 &#40;ITE Music.bin&#41; = a2e32320d1a3f1c18309e9b9cd3d996f
MD5 &#40;ITE Resources.bin&#41; = b9df66774c633341bf7e195fc4a01533
MD5 &#40;ITE Scripts.bin&#41; = ef1f66527386c7a05ac15ffa8a097120
MD5 &#40;ITE Sounds.bin&#41; = 95fb141ed0dea2f93ca7938ca971aa74
MD5 &#40;Inherit the Earth™.bin&#41; = baee3a4e93308ba5723b8003713aedc3
-t 3 (MacBinary III):

Code: Select all

MD5 &#40;About ITE.bin&#41; = bc7774c25e0c760c133bc222538680b3
MD5 &#40;ITE Music.bin&#41; = 47b6496c95d4111560f40dc373d8b444
MD5 &#40;ITE Resources.bin&#41; = f990e9f2e3a1f066baf7b23efa826f5c
MD5 &#40;ITE Scripts.bin&#41; = 4f4926c2509ffa8aba86d45964773f23
MD5 &#40;ITE Sounds.bin&#41; = 004c2511d0249e659f5f3e4302ebe9b6
MD5 &#40;Inherit the Earth™.bin&#41; = 600abc97e02e4e1cba3e278f40c1e183
If I try to run scummvm from xterm, I get this:

Code: Select all

/Volumes/Applications/Emulators/ScummVM\ 1.1/ScummVM.app/Contents/MacOS/scummvm -p . ite
2010-04-17 12&#58;38&#58;53.849 scummvm&#91;2545&#58;903&#93; Warning once&#58; This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
WARNING&#58; Could not find theme 'modern' falling back to builtin!
User picked target 'ite' &#40;gameid 'ite'&#41;...
  Looking for a plugin supporting this gameid... Saga engine &#91;ITE, IHNM&#93;
  Starting 'Inherit the Earth&#58; Quest for the Orb'
WARNING&#58; Target upgraded from ite to saga!
WARNING&#58; Target came from command line. Skipping save!
The game in '/Volumes/Applications/Games/Inherit the Earth' seems to be unknown.
Please, report the following data to the ScummVM team along with name
of the game you tried to add and its version/language/etc.&#58;
  "ite resources.bin", "e2b89a89df9d6868000146b720ef096d", 8865024
  "ite music.bin", "5964ff67fabae5e87e81a285414016fa", 3146112
  "ite scripts.bin", "54f0778574cea532241d67fb360b572c", 338944
  "ite sounds.bin", "cdcde1889aed1402c0a6b2a0dc37684a", 3683584

WARNING&#58; Saga engine &#91;ITE, IHNM&#93; failed to instantiate engine&#58; Unable to locate game data &#40;target 'ite', path '/Volumes/Applications/Games/Inherit the Earth'&#41;!
That's with the MacBinary III files. With the MacBinary II files, the output says:

Code: Select all

  "ite resources.bin", "2eb11d76d094b9f3adad9322af39f631", 8865024
  "ite music.bin", "ceb674fc6edaa5cfc8d6da0e3dc255fd", 3146112
  "ite scripts.bin", "19b956f69dd96a3517e050155305f294", 338944
  "ite sounds.bin", "b698c433bb49d92bba4e2fd76bd5069c", 3683584
What should I try next?
boredzo
Posts: 2
Joined: Sat Apr 17, 2010 7:26 pm
Contact:

Post by boredzo »

Going on two years later, I had another hankering to play ITE, this time in ScummVM 1.4. Of course, I encountered the same problem, Googled around, and found this thread—this time with my reply from last time already in it. :)

Once again, I tried all three type options (-t1, -t2, -t3) to the macbinary encode command, and as before, none of them worked and all three gave different MD5 hashes from the one sev said is valid (I didn't check whether they're the same as the hashes I got two years ago).

This time, though, I plugged at it some more.

And I got it working.

First, I want to be very clear about something: I have the CD version of Inherit the Earth for classic Mac OS, not Mac OS X. As far as I know, you should be able to use the Mac OS X version without having to go through any of this.

So here's what you need to do.

First, download hfsutils. It shouldn't take too long, but while that's downloading…

Create the folder where you'll put your ITE data files. Open a Terminal window and cd into that folder (easiest to type “cd” and a space, then drag the folder into the Terminal window, then switch back to the Terminal window and press return).

Next, insert your ITE CD, and type “diskutil list” into the Terminal. You'll get something like this:

Code: Select all

&#40;snip&#41;
/dev/disk5
   #&#58;                       TYPE NAME                    SIZE       IDENTIFIER
   0&#58;        CD_partition_scheme                        *342.6 MB   disk5
   1&#58;     Apple_partition_scheme                         298.3 MB   disk5s1
   2&#58;        Apple_partition_map                         1.0 KB     disk5s1s1
   3&#58;                  Apple_HFS Inherit the Earth™      298.3 MB   disk5s1s2
There will be at least two of these, one for each volume that's mounted. Find the one for the Inherit the Earth CD—it won't necessarily be disk5—and find its “Apple_partition_scheme”. Note the identifier. In my case, it was disk5s1.

By now, the hfsutils archive should have finished downloading. Expand it, create another Terminal window, cd into the hfsutils folder, and do the following:

Code: Select all

./configure
make
Now, power users can choose to install hfsutils or temporarily add the hfsutils folder to their search path.

For the rest of you, the simplest way that doesn't involve installing hfsutils to your system is to do something like this:
  1. Close the hfsutils terminal window, leaving only the ITE terminal window.
  2. Type “ln -s” (that's Lima November, not India November) and a space.
  3. Drag the hfsutils folder into your ITE terminal window.
  4. Type a space, then “hfs”, then press return.
I'll assume you did that. This means that, in your ITE terminal window, you can refer to the hfsutils as “hfs/hcopy”, “hfs/hmount”, etc. If you chose instead to install hfsutils or modify your search path, then they'll just be “hcopy”, “hmount”, etc.

OK, so you've got the hfsutils within easy reach. Now it's time to use 'em.

The CD is already mounted in Mac OS X, but now you'll mount it in hfsutils' world:

Code: Select all

hfs/hmount /dev/disk5s1
Replace “disk5s1” with the identifier you found in diskutils' output above.

Next, you need to cd (again, in hfsutils-land) into the original ITE data files folder:

Code: Select all

hfs/hcd 'ITE Data Files'
Now you can copy-and-MacBinary(-in-a-way-that-ScummVM-likes) the data files into your current directory:

Code: Select all

hfs/hcopy -m 'ITE Music' .
hfs/hcopy -m 'ITE Resources' .
hfs/hcopy -m 'ITE Scripts' .
hfs/hcopy -m 'ITE Sounds' .
hfs/hcopy -m 'ITE Voices' .
That should be all of the files as listed on the ScummVM wiki.

Now for some clean-up.

First, unmount the CD from hfsutils' world:

Code: Select all

hfs/humount
(Yes, that's umount, with only one 'n', and it takes no arguments.)

You don't need the CD anymore, so now you can eject it for real.

Next, you need to fix up the data files' filenames. hcopy changes spaces to underscores, so you'll need to change them back. If you've previously installed NameChanger or sednames, you can use that; otherwise, do it manually in the Finder. The correct names are:
  • ITE Music.bin
  • ITE Resources.bin
  • ITE Scripts.bin
  • ITE Sounds.bin
  • ITE Voices.bin
Now you should be able to add the data files folder that you've created and populated to ScummVM's games list.

I hope this helps someone, and if I missed or screwed up anything in writing all of this down, please let me know.
User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Post by clone2727 »

boredzo wrote:Once again, I tried all three type options (-t1, -t2, -t3) to the macbinary encode command, and as before, none of them worked and all three gave different MD5 hashes from the one sev said is valid (I didn't check whether they're the same as the hashes I got two years ago).
That's because ITE is rolling out its own MacBinary code that does a hash of the whole file which has so many problems associated with it. The common MacBinary code used by the other engines in ScummVM handles the hashing much better (and able to use AppleDouble and directly on OS X too). Eventually SAGA will switch to using that, but the SAGA resource manager does not make that easy at the moment.

Eventually, most of the files will not need to be MacBinary either since they're just using the data fork (except for the music file).
Post Reply