Table of Content

Introduction

This Project is now abandoned

This page is dedicated to the Steem Emulator developed by Anthony & Russell Hayward.

Steem in now a Freeware under GNU GPL V3 license available from Google Code.

Here I publish works that I have done on the Steem source.

For questions & feedback please use this Atari-Forum thread or this one

I think that the original source code has three problems:

Back to the top

Recommended Tools to Build Steem on Windows

C++ Compiler

My recommendation for the C++ compiler on Widows is Visual Studio from Microsoft. It includes a long list of features: powerful text editor with syntax coloring, browser for functions/variables, on-line C function help, etc. The intellisense technology automatically displays function and structure parameters (calltips) as you type and it provides auto-completion… and of course it provides a powerful debugging environment. It is available for free.

Note: Some people are still people using the compilers VC6 from Microsoft and BCC5 from Borland to build Steem!
This is really not a good choice! VC6 and BCC5 were released in the past millennium before final definition of ANSI/ISO C++ and are no more available/maintained. Therefore compared to modern C++ compilers they are not only missing features and checking, but more importantly they do not generate optimized code for recent processors architecture. This is the reason why I am using the freely available Visual C++ 2012 .

I provide Visual Studio solution files for all my releases. Therefore after installing Visual Studio you just need to double click the provided solution file (for example Steem32B.sln) to open the Steem solution. You are now ready to build the solution for example by using the F6 key.

Back to the top

NASM Intel x86 Assembler

Steem scan-line drawing routines are duplicated in x86 assembler for greater speed. This macro-heavy code compiles with the Netwide Assembler, NASM. The Netwide Assembler, NASM, is an 80x86 and x86−64 assembler designed for portability and modularity. It supports a range of object file formats, including Linux and *BSD a.out, ELF, COFF, Mach−O, Microsoft 16−bit OBJ, Win32 and Win64. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel’s but less complex. It supports all currently known x86 architectural extensions, and has strong support for macros. Documentation can be found here

Back to the top

Version Control System

It is always a good practice to keep track of the modifications you do on a project. So you can reverse to previous version of a project. Many open source repositories are using Apache Subversion (SVN). This is the case for the Original Steem code on Google code as well as for Steven Seagal version on Soundforge. Therefore on Windows I recommend to install the TurtoiseSVN client which is the de-facto standard for SVN. TustoiseSVN is fully integrated in Windows Explorer and this is all you need to manage revision of the Steem project. However if you are using any of the retail versions of Visual Studio (i.e. not one the free version) I recommend that you also use VisualSVN Visual Studio plug-in. With this plug-in you can perform all the Subversion operations directly within Visual Studio and it is free for personal usage.

You may also need to create a Subversion server on your machine if you want to create personal versions of Steem. Installing a Subversion server used to be relatively complex but now you can use the free VirtualSVN server to easily setup an Apache Subversion server.

Back to the top

Project Documentation

For documentation of the project and the documentation of the code I use the fabulous and free Doxygen. Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#... It produces a very complete set of HTML documents. Doxygen can also produce a .hpp command file that allows to process the HTML files by the free HTML Help workshop from Microsoft in order to produce one compiled and compressed HTML file (.chm) that is easy to transmit and read under windows.

The installation of Doxygen is easy. You also have to install the Doxygen GUI frontend. All my Doxygen command file have the extension .dcf (Doxygen command files) so I can directly start Doxygen GUI just by double clicking any of them.

The project documentation is also done under Doxygen. For that matter the text documentation of the project uses Doxygen commands to produce nice HTML documentation. The files used for documentation uses the .dox extension (so it is easy to recognize them). I also have .css (HTML style sheet) files to better control the look of the output.

Back to the top

DrCoolZic Releases: Steem-DCZ

Note : I have limited knowledge about emulation techniques and so it is difficult for me to understand the Steem code. Therefore I have created “cleaned-up” versions of the code. This includes a clean separation of the code in .h .cpp files and removal of obscure code like ONEGAME which are totally useless. The ultimate cleanup also remove all Unix code for which I am not interested. At this stage these releases are only of interest for developers as no new features are introduced. As Steem is an open sources under GNU GPL3 the source code modified by myself is available for download along with Windows executable.

See the following documents:

Back to the top

3.2B-DCZ

This is a major release where my 3.2A source code has been completely reorganized in cleanly separated .h and .cpp file. This was a huge work but the result is nice especially for debug under Visual C++.

Hopefully the 3.2B source tree is now organized as it should have been in the first place. The .h files only contain the declarations for the corresponding .cpp files that only contain the implementation. I have also started to add some Doxygen documentation and GNU GPL information.

Back to the top

3.2A-DCZ

This release is based on the official 3.2 version that I have downloaded in December 2011 from Google Code. In this release I have made as little modifications as possible to the source so that Steem compiles successfully with Microsoft VC++ 2010. The tree contains an extra directory called VC2010 that contains the VC++ 2010 project files.

Back to the top

Steven Seagal Realease: Steem-SSE

Steven Seagal has revived the Steem project as Steem SSE. This new version is released on a regular basis (V3.5.3 at time of this writing) and brings a lot of new features like for example support of IPF files. One of the problem is that the program could only be build on Windows using VC6 or BCC. I have modified the source code so that it now compiles using Visual Studio 2012 and I have created the VS2012 configurations files to build Steem. Steven Seagal has allowed me to modify his source tree so that anyone can build with VS2012. The modification have been placed in the source tree starting with revision 132 of the repository. I will try to update at any new official release.

The complete procedure to build Steam SSE is described in this document:

The source tree is kept in a subversion directory on Soundforge. It can be accessed at either:

Personally I use TortoisSVN for getting the latest source code.

Back to the top

Steem & Tools Related Links

Back to the top