The Stella project always welcomes new developers, either on a full-time basis or just to fix your favorite bug. Feel free to email Stephen Anthony if you wish to contribute in any way to the Stella project.

The first major hurdle for new developers is setting up a build environment, checking out the code, and in general actually compiling the project for the first time. The following is a description of how to do this for the three major platforms.

Linux/UNIX

  1. Getting the required tools:

    Stella needs g++ 4.8 or Clang++ 3.5 (with up-to-date C++11 support), make and SDL2 development libraries installed. ZLib and PNG libraries are optional; Stella will use built-in versions if none are installed system-wide. These packages are likely available through your distribution repository. Consult your specific distribution for an explanation of installing new packages.

    Other packages may be needed depending on the distribution you use. The best thing to do is try the compile, note any missing packages, and then install them through your distribution repository.

  2. Downloading the source code:

    The source for the latest release can always be found under "Stable Releases" on the main webpage. However, you'd be better off working with the most recent code, located in the GitHub repository. The following command will checkout this code:

    git clone https://github.com/stella-emu/stella.git

    This will checkout from the master branch for local modifications. Please see below for instructions on how to contribute changes back to Stella.

    Note: You may be more familiar with graphical Git clients; these will work fine as well.


  3. Compiling the source code:

    1. Generic build — When testing changes or creating personal builds, it's best to use the generic configure/make cycle:

      cd 'location of stella source code' ./configure (--help for list of options) make make install (if you want to install locally)
    2. Debian-based distributions:

      cd 'location of stella source code' dpkg-buildpackage
    3. RPM-based distributions:

      cd 'location of stella source code'/src/unix rpmbuild -ba stella.spec

  4. Contributing

    If you'd like to contribute to Stella, create a fork of the repository on github and make your changes there. After you are done, place a pull request against the Stella repository. This process is described in detail in the github docs.

    If you do not want to create a github account, you can also create a diff of your changes using

    git diff
    and send it to the email address above. Please check out the git documentation on how to select particular commits for diffing.

    Before you start modifying code, it's best to update your local copy of the source code (so that you can see changes that others have made). To do this, use the following command:

    git pull


Macintosh OSX

  1. Getting the required tools:

    Stella needs Xcode 5/6 for compilation. You will also need the SDL2 development libraries, located at libsdl.org. You will need to download SDL2-2.0.4.dmg (or newer, if available).

  2. Downloading the source code:

    The source for the latest release can always be found under "Stable Releases" on the main webpage. However, you'd be better off working with the most recent code, located in the GitHub repository. The following command will checkout this code:

    git clone https://github.com/stella-emu/stella.git

    This will checkout from the master branch for local modifications. Please see below for instructions on how to contribute changes back to Stella.

    Note: You may be more familiar with graphical Git clients; these will work fine as well.


  3. Compiling the source code:

    1. The Xcode project is located at src/macosx/stella.xcodeproj and is for 64-bit Intel-only machines running 10.7 or greater. There is currently no support for older OSX versions or for PPC builds.
    2. Place the SDL.framework bundle (located in the SDL2-2.0.4.dmg file you downloaded earlier) into the /Library/Frameworks directory.

    3. Open the project file using Xcode 5/6.

    4. Build the project by pressing Cmd-b, and run by pressing Cmd-r.

    5. Optional: creating a DMG for release:

      cd 'location of stella source code'/src/macosx ./Create_build.sh 'version #'

      This will create a DMG installation archive on your desktop.

      The Stella.app bundle can be copied to your Applications folder, or wherever you like on your system.

  4. Contributing

    If you'd like to contribute to Stella, create a fork of the repository on github and make your changes there. After you are done, place a pull request against the Stella repository. This process is described in detail in the github docs.

    If you do not want to create a github account, you can also create a diff of your changes using

    git diff
    and send it to the email address above. Please check out the git documentation on how to select particular commits for diffing.

    Before you start modifying code, it's best to update your local copy of the source code (so that you can see changes that others have made). To do this, use the following command:

    git pull


Windows 7/8/10

  1. Getting the required tools:

    Stella needs Visual Studio C++ 2015. You will also need the SDL2 development libraries, located at libsdl.org.

    You will also need a Git client; the following assumes you are using TortoiseGit.

  2. Downloading the source code:

    The source for the latest release can always be found under "Stable Releases" on the main webpage. However, you'd be better off working with the most recent code, located in the GitHub repository. To checkout this code, you will need to install TortoiseGit, which you downloaded above.

    Once TortoiseGit is installed, you should right-click somewhere in Windows Explorer where you wish to download the files, right-click and select Git Clone... This will produce a window as follows:

    The URL of repository must be the same, but the Checkout directory will be specific to your system.

    This will checkout from the master branch for local modifications. Please see below for instructions on how to contribute changes back to Stella.

  3. Compiling the source code:

    Before compiling the code for the first time, Visual Studio must be set up as follows:

    1. Open the Visual Studio 2015 project, located in REPO_DIR\src\windows, as in the following:

    2. Unzip the SDL2-devel-2.0.4-VC.zip file you downloaded above somewhere on your system. Make note of where these files are located.

    3. Go to "PROJECT -> Stella Properties" menu (or click Alt-F7); this will create a window as follows:

    4. Notice the bolded text "C:\Users\stephen\Source\sdl\include" and "C:\Users\stephen\Source\sdl\lib\x64"? You will need to add locations specific to your system which points to the SDL files. These locations are to directories within the SDL2 zip archive, which you unzipped earlier.

    5. For building and running the 32-bit version you need the path to point at lib\x86 in both the Debug and Release versions.

    6. For building and running the 64-bit version you need the path to point at lib\x64 in both the Debug and Release versions.

    7. Build the project; it should run to completion, perhaps with some warnings.

    8. If you try to run at this point, it will probably complain that it can't find SDL2.dll. Manually copy this file from SDL2 zip archive to one of the following locations:

      For the 32-bit version, you have to copy lib\x86\SDL2.dll into the Release and Debug folders.
      For the 64-bit version, you have to copy lib\x64\SDL2.dll into the x64\Release and x64\Debug folders.
      
    9. You may also get an error that the libraries msvcp140.dll and/or msvcr140.dll are not available. If so, you will need to download them from Visual C++ Redistributable Packages for Visual Studio 2015
  4. Contributing

    If you'd like to contribute to Stella, create a fork of the repository on github and make your changes there. After you are done, place a pull request against the stella repository. This process is described in detail in the github docs.

    If you do not want to create a github account, you can also create a diff of your changes and send it to the email address above. To do this, right-click on the local repository directory and select TortoiseGit -> Create Patch Serial...

    Before you start modifying code, it's best to update your local copy of the source code (so that you can see changes that others have made). To do this, right-click on the local repository directory and select TortoiseGit -> Pull...

 
Stelladaptor

2600-daptor

Bliss-Box