There have been a few attempts at implementing the original engine for Myst, but most have not gotten very far at all. ClanMyst has many of the features implemented, and will hopefully be a playable game some time in the future.

Implementation Status

Here are a list of features, and their current state:
Read Mohawk archivesDone
Read VIEW filesDone
Read RLST filesDone
Read EXIT filesDone
Read INIT filesDone
Read PICT filesMostly Done
Read WDIB filesDone
Read MSND filesDone
Read MJMP filesDone
Read CLRC filesNot Started
Read HINT filesNot Started
Read HELP filesNot Started
Read RSFL filesUseless, so Not Started
Read bitmap (BMP) filesStarted
Read jpeg (JPEG) filesDone
Changing cardDone
Changing ageHalf Done
Videos (MOV)Not Started
SoundsMostly Done
Region types and their actionsHalf Done
Script commandsPartially Done
Slide transitionsMostly Done
Variable StorageMostly Done
Save file saving/loadingNot Started
Slide transitionsMostly Done
Image scaling
(Not a feature of Myst)
Debugging console
(Not a feature of Myst)
Press Tab to activate

Script Commands

There are a lot of script commands, many of which have been implemented, and many of which are unknown as to to what action they perform yet.

Implemented script commands (description taken from comments in code):
Here are the current implemented global commands:
0: Toggle variable args[0] from 1 to 0
1: Set variable to args[0]
17: Change card (maybe?)
18: Go back to previous tile, not sure about the value
19: Enable hotspots
20: Enable hotspots
24: Play sound, non blocking
27: Play sound, blocking
28: Update screen rectangle. Example args[4]: 216, 78, 333, 214
29: Copy picture over hotspot (add it to the picture list)
33: Draw picture (add it to the picture list)
34: Change card (maybe?)
35: Draw picture args[0], wait for args[2]*10 milliseconds, Change card to args[1]
39: Wait for args[0] 40: Change age
41: Change card (maybe?) With transition
42: Slide transition

Here are the current implemented age-specific commands:
100: Change age?
105: Used in Myst to play sound when ship is raised
109: Used in Myst to add args[0] to the variable, limited between 0 and 9
114: Update screen when some vars are set. There are 8 marker switches on the island. They use vars 2-9
117: Play sound args[0] and do something else?
119: Unknown. Example args[1]: 1 (play video?)
121: Used in Myst island to count from 0 to 9