🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.ibm.pc.games.misc
4 messages
4 total messages Started by PetroffHeroj Tue, 13 Jan 2004 07:05
Deciphering Myst .DATs, especially images.
#82060
Author: PetroffHeroj
Date: Tue, 13 Jan 2004 07:05
100 lines
6080 bytes
* This message was cross-posted to a number of conferences, if you feel it's
off-topic here, please notify me. Thank you.

Hello friends.

The message is quite long, but if you were interested by its subject, may be
you can read it until the end. I believe in your patience :) Thank you.

Recently I decided to attempt to decipher the data files of my favourite
game of all times, in its very own genre: Myst by Cyan Software. The point
was to _try_ to write a DOS version of the game shell (don't ask me why DOS
*smile*), and also dig up information for people who might possibly want to
make *NIX ports of Myst.

Unfortunately, I soon realised my brains were not enough :( Except for
finding out several directory tables with pointers to resources, some PCM
WAVE data, and some data chunks with their sizes, which definitely had to
be pictures, I didn't progress much. No need to mention the Motorola
beg-endian byte order.

Since the shell for a slide-show game such as Myst is not the _hardest_
thing in life to implement, it was decided that what the basic shell needs
in the first place is the pictures:

 * QuickTime animations are located in separate files (in the MPC release at
least they are), and code for playing them is available.

 * WAVE files are stored as uncompressed 8-bit unsigned PCM inside the
.DATs, not a problem to play it too, if it's all stored like that.

 * Hence the corner-stone is the pictures. It's undoubtedly the main part in
a slide-show game, and while the shell may be a piece of cake, the work put
in the _images_ is inarguably the diamond of the game! :)

And that diamond is where I got stuck completely. Based on the information
in the directory of the .DAT file, I took several chunks from the .DAT that
definitely had to be the pictures and tried running them through various
graphics viewing/editing/converting programs, but none of them recognised
the format. That was when I though it's the end to it all. Without the
pictures there's not going to be anything for sure.

The pictures' headers didn't look familiar to me either -- and it's no
wonder after several powerful programs supporting a hell of a lot of formats
all gave up. To tell the truth, my last hope was Mac PICT/JPEG: PICT seems
to have a very loose and hard-to-identify format, and Myst was made on Macs
after all. But it appearred it's not even that: I tried several programs
that support many PICT variations including PICT/JPEG, and they didn't
recognise the format either...

In the Making of Myst one of the creators said: "...We used QuickTime
compression, not only for the movies, but even for the still images...".
This suggests QuickTime JPEG.

However, somewhere in the movie it goes like: "...We used adaptive
palette...", "...To drop them down to 8-bit... So they look like 24-bit
images...", thus suggesting that the images are 8-bit -- and _not_ 24-bit
truecolour, reproduced by colour JPEG.

Even the very look of the chunks suggests simple RLE compression, or a
Lempel-Ziv variation _at most_, because it doesn't get even closer to the
"noise" of JPEG's packed DCT transform, if you know what I mean :) So I
dared to exclude JPEG possibility completely, be it PICT/JPEG or JFIF.

This are all the hints and ideas I have about the pictures. This, and the
fact that Cyan used HyperCard on Macs as a shell, and a different
third-party shell for Myst MPC, which may or may not be a HyperCard PC
analog. Have no idea though if this can help any.

It's correct that without first deciphering the .DAT format completely, the
rest is not worth the game, but IMHO the .DAT format is deciphered _enough_
to determine image start/length/end, so the task to recognise or decipher
the picture format seemed to prevail over .DAT deciphering.

Other issues, such as playing the movies, mixing background music and
effects, and actually interpreting or re-creating the link that connects all
this together -- the scripts that drive Myst -- seem relatively minor.
Playing QuickTime MOVs is out of question, mixing several 8-bit PCM streams
is less than a problem, and re-creation of the gameplay process, albeit not
being an easy task, isn't something impossible.

That's why the subject says "especially images".

If you have the will and the skills to help, if you're interested in trying
to port Myst to whatever platform you like, or if you'd like to do that all
just for fun, or -- a pure miracle! ;) -- if you have disassembled Myst
.DATs to tiny bits already, or finally *smile* if your name is Rand, or
Robyn, or Chuck -- please, write back! May be we can do it together?

If you need any more information, just write back, I'll try to do my best to
explain anything that wasn't explained here.

If you can _suggest_ where to seek help and information, or just have any
clues on this -- don't hesitate to write back too!

And remember: the goal is to let people running in environments other than
MacOS or Windows to be able to play Myst. Isn't it worth that?

Thank you very much in advance!

        Leonid
Re: Deciphering Myst .DATs, especially images.
#82061
Author: Daniel Carter
Date: Thu, 22 Jan 2004 03:34
141 lines
7713 bytes
Hi,

On Tue, 13 Jan 2004, PetroffHeroj wrote:

> * This message was cross-posted to a number of conferences, if you feel it's
> off-topic here, please notify me. Thank you.

I'm replying to them all also, but only since you haven't shown your email
address (grrr) and I have no idea which ones you visit.

> The message is quite long, but if you were interested by its subject, may be
> you can read it until the end. I believe in your patience :) Thank you.

I'm interested, that's for sure :)

> Recently I decided to attempt to decipher the data files of my favourite
> game of all times, in its very own genre: Myst by Cyan Software. The point
> was to _try_ to write a DOS version of the game shell (don't ask me why DOS
> *smile*), and also dig up information for people who might possibly want to
> make *NIX ports of Myst.

I'm _very_ interested in making a *nix port.  Ports of MMC & Riven
wouldn't go astray either.

> Unfortunately, I soon realised my brains were not enough :( Except for
> finding out several directory tables with pointers to resources, some PCM
> WAVE data, and some data chunks with their sizes, which definitely had to
> be pictures, I didn't progress much. No need to mention the Motorola
> beg-endian byte order.

Well, you've progressed more than I probably would have if I'd tried...

> Since the shell for a slide-show game such as Myst is not the _hardest_
> thing in life to implement, it was decided that what the basic shell needs
> in the first place is the pictures:
>
>  * QuickTime animations are located in separate files (in the MPC release at
> least they are), and code for playing them is available.
>
>  * WAVE files are stored as uncompressed 8-bit unsigned PCM inside the
> .DATs, not a problem to play it too, if it's all stored like that.
>
>  * Hence the corner-stone is the pictures. It's undoubtedly the main part in
> a slide-show game, and while the shell may be a piece of cake, the work put
> in the _images_ is inarguably the diamond of the game! :)
>
> And that diamond is where I got stuck completely. Based on the information
> in the directory of the .DAT file, I took several chunks from the .DAT that
> definitely had to be the pictures and tried running them through various
> graphics viewing/editing/converting programs, but none of them recognised
> the format. That was when I though it's the end to it all. Without the
> pictures there's not going to be anything for sure.
>
> The pictures' headers didn't look familiar to me either -- and it's no
> wonder after several powerful programs supporting a hell of a lot of formats
> all gave up. To tell the truth, my last hope was Mac PICT/JPEG: PICT seems
> to have a very loose and hard-to-identify format, and Myst was made on Macs
> after all. But it appearred it's not even that: I tried several programs
> that support many PICT variations including PICT/JPEG, and they didn't
> recognise the format either...

One thing I might suggest is decompiling the Mac version of Myst, which
AFAIK is just a compiled HyperCard stack, and HyperCard stacks are
relatively easy to decompile.  You might get some clues that way.  Dunno
if this would break any laws where you are.

I'd suggest that the Mac version is the easiest one to work with, for that
reason...

> In the Making of Myst one of the creators said: "...We used QuickTime
> compression, not only for the movies, but even for the still images...".
> This suggests QuickTime JPEG.
>
> However, somewhere in the movie it goes like: "...We used adaptive
> palette...", "...To drop them down to 8-bit... So they look like 24-bit
> images...", thus suggesting that the images are 8-bit -- and _not_ 24-bit
> truecolour, reproduced by colour JPEG.

hehe, they don't look at all like 24-bit images; yup, they're definitely
8-bit.  I'd say you're right, they're probably not JPEG...

> Even the very look of the chunks suggests simple RLE compression, or a
> Lempel-Ziv variation _at most_, because it doesn't get even closer to the
> "noise" of JPEG's packed DCT transform, if you know what I mean :) So I
> dared to exclude JPEG possibility completely, be it PICT/JPEG or JFIF.
>
> This are all the hints and ideas I have about the pictures. This, and the
> fact that Cyan used HyperCard on Macs as a shell, and a different
> third-party shell for Myst MPC, which may or may not be a HyperCard PC
> analog. Have no idea though if this can help any.
>
> It's correct that without first deciphering the .DAT format completely, the
> rest is not worth the game, but IMHO the .DAT format is deciphered _enough_
> to determine image start/length/end, so the task to recognise or decipher
> the picture format seemed to prevail over .DAT deciphering.

Hmm, when/if you email me, tell me what you know about the .DAT format -
are you building on the work of others or are you just referring to your
own examination of the format?

> Other issues, such as playing the movies, mixing background music and
> effects, and actually interpreting or re-creating the link that connects all
> this together -- the scripts that drive Myst -- seem relatively minor.
> Playing QuickTime MOVs is out of question, mixing several 8-bit PCM streams
> is less than a problem, and re-creation of the gameplay process, albeit not
> being an easy task, isn't something impossible.

Indeed.  If ports were made, we could even do fancy things eventually,
like decent-quality software scaling, dinterlacing & stuff like that.

> That's why the subject says "especially images".

hehe

> If you have the will and the skills to help, if you're interested in trying
> to port Myst to whatever platform you like, or if you'd like to do that all
> just for fun, or -- a pure miracle! ;) -- if you have disassembled Myst
> .DATs to tiny bits already, or finally *smile* if your name is Rand, or
> Robyn, or Chuck -- please, write back! May be we can do it together?

Can't say I have the skills, but I have the will (though perhaps not the
time) :)

> If you need any more information, just write back, I'll try to do my best to
> explain anything that wasn't explained here.

Yup, explain what you know of the .DAT format...

> If you can _suggest_ where to seek help and information, or just have any
> clues on this -- don't hesitate to write back too!
>
> And remember: the goal is to let people running in environments other than
> MacOS or Windows to be able to play Myst. Isn't it worth that?

It certainly is; although I can say that Myst & Riven work perfectly under
WINE nowadays :-D

Anyhow, email me back

Cheers,
Dan
Re: Deciphering Myst .DATs, especially images.
#82062
Author: hackin... Jerry R. Laws
Date: Fri, 23 Jan 2004 08:41
32 lines
2421 bytes
> > Other issues, such as playing the movies, mixing background music and
> > effects, and actually interpreting or re-creating the link that connects all
> > this together -- the scripts that drive Myst -- seem relatively minor.
> > Playing QuickTime MOVs is out of question, mixing several 8-bit PCM streams
> > is less than a problem, and re-creation of the gameplay process, albeit not
> > being an easy task, isn't something impossible.
> 
> Indeed.  If ports were made, we could even do fancy things eventually,
> like decent-quality software scaling, dinterlacing & stuff like that.
> 
> > That's why the subject says "especially images".
> 
> hehe
> 
> > If you have the will and the skills to help, if you're interested in trying
> > to port Myst to whatever platform you like, or if you'd like to do that all
> > just for fun, or -- a pure miracle! ;) -- if you have disassembled Myst
> > .DATs to tiny bits already, or finally *smile* if your name is Rand, or
> > Robyn, or Chuck -- please, write back! May be we can do it together?
> 
> Can't say I have the skills, but I have the will (though perhaps not the
> time) :)
> 

I know this may be of no help, but the people @  
http://pyzzle.sourceforge.net/features.html have an open source
Myst/Riven interface engine.  It's based on Python and SDL through
Pygame so it should port pretty well.  Perhaps this will be of some
small use after you decipher the data.  I'm a total newbie, but I'll
help as much as I can with the project.

Jerry.
Re: Deciphering Myst .DATs, especially images.
#82063
Author: Michael Mendelsohn
Date: Fri, 23 Jan 2004 09:35
31 lines
2505 bytes
Daniel Carter schrieb:
> On Tue, 13 Jan 2004, PetroffHeroj wrote:
> > * This message was cross-posted to a number of conferences, if you feel it's
> > off-topic here, please notify me. Thank you.

[Followup reduced to *.adventure and alt.games.myst]

> > And that diamond is where I got stuck completely. Based on the information
> > in the directory of the .DAT file, I took several chunks from the .DAT that
> > definitely had to be the pictures and tried running them through various
> > graphics viewing/editing/converting programs, but none of them recognised
> > the format. That was when I though it's the end to it all. Without the
> > pictures there's not going to be anything for sure.

Wild guess: it could be not a still image format, but a video format;
i.e. the pictures could be stored as single-frame (?) movies and
displayed the same way the animations are.

> hehe, they don't look at all like 24-bit images; yup, they're definitely
> 8-bit.  I'd say you're right, they're probably not JPEG...

Myst Masterpiece Edition has better quality pictures.
Yes,it also has .DAT files... :(

Feel free to email me what you've got so far (use Reply-To address in
header) if you want me to have a closer look (no certain it's going to
helpany, but one can try).

mendel
-- 
Feel the stare of my burning hamster and stop smoking!
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads