Styx: the amazing game that tickles the imagination

             
Home: Welcome to Styx Home

      

The Styx Story The Styx Story
How to play Styx How to Play
Screen Shots Screen Shots
Levels of Styx Levels
Strategies to play Styx Strategy
Hall of Fame with high scores Hall of Fame
Reactions of players Players' Reactions
Games that are similar to Styx Similar Games
Help us discovering more about Styx Help Us ...
    
Command line options and switches Command Line
Platforms Styx runs on and other technical aspects Platforms
Downloadable files Downloads
Links to Styx related sites Links
Frequently Asked Questions FAQ
    
About Windmill Software, the creators of Styx Windmill Software
How the original Styx was remastered to run on all screens About Remastering
AJ Software, the creator of Styx Remastered AJ Software
    
What's new on this web site What's New
Styx mailing list to inform and get informed about Styx Styx Mailing Lists
Contact us with anything about Styx Contact Us
    
    
    
    

Updated:  July 8, 2002
About Remastering

Andrew Jenner, who remastered Styx, explains here how he managed the job. In the future Andrew plans to rewrite Styx in C, including new options.

Andrew:

"Remastering is a very long and complicated process, involving a deep understanding of both C and assembly language, and how one is translated into the other.

There are four main stages to the process:

  • Disassemble
  • Decompile
  • Deshroud
  • Rewrite

The disassembly stage is reasonably automatic. I use Microsoft's DEBUG utility to dump the code and data segments into a text file, and lots of QEdit macros to make the code more reasonable. I don't use a more complicated disassembler such as Sourcer because the extra layer of complexity it uses actually makes the code more difficult to understand at a fundamental level.

The decompilation stage is slow and boring, and I haven't yet worked out how to do it automatically, so I use a "wetware" decompiler - i.e. my brain. I am currently experimenting with automatic decompilation techniques which may open up whole new realms of Remastering possibilities.

After the decompilation stage, the program is in the form of C source, but all the information about variable and function names has been lost - this is effectively "shrouded" source. The next stage is deshrouding, which is sometimes extremely satisfying and sometimes extremely frustrating. During this stage you get to find out all the hidden secrets of the program and exactly how it works.

The rewriting part is the most fun bit. As PC technology has changed so much, huge sections of the code have been made redundant and can be deleted or substituted with much simpler lines. For example, the high scores are now saved in an actual file, STYX.SCO, and *not* on an arbitrary sector of the disk in drive A:, as the original did. This is also where new features get added and bugs eliminated. This is also the part that is never quite finished...

The other tools I use are Borland's Turbo C 2.0 to write simple utilities for mundane tasks such as extract the graphics data and putting it into a format I could use with CHARDES , my personal favourite sprite editor. I used this program to redraw all the graphics in glorious 16 colour 640x400 VGA. Some parts of Styx are still written in Assembler, and these are assembled with A86.

I am always on the lookout for the next game to remaster, but it has to have some particular properties:

  • It must be free or abandoned by it's copyright owner.
  • There has to be a good reason for remastering. In the case of Styx and Digger, it was to get the game working again. In the case of Sopwith, it is to get the network game working. Updating the graphics isn't a good reason if I don't actually have any replacement graphics (I'm not good enough at drawing to do them myself).
  • It has to be a real unique or the definitive version of the game. For example, if you were to ask me to remaster Pacman I wouldn't even know exactly which game you are referring to because there were so many versions. There are also lots of good versions which work on modern machines, so I would refuse anyway.
  • I have to enjoy playing the game! Since I don't have much patience with games, it therefore has to be one that I can pick up and don't have to learn - it must be fun to play straight away.
  • It must not be too big or remastering will take forever!"

This concludes Andrew's explanation. If you have a good idea for remastering a game, contact us.