v0.91, June 2009
Mike Murphy, mimurphy@users.sourceforge.net
EMU7800 releases can be downloaded from SourceForge here.
Click here to jump to the Keyboard Mappings.
Click here to jump to the Screenshot Gallery.
1.0 Introduction
1.1 Copyright Notice, Disclaimer, License
1.2 Release Notes
1.3 Acknowledgements
1.4 Known Issues
2.0 Installation
2.1 Prerequisites
2.2 Installing the Distribution
2.3 Rebuilding from Source
2.4 Game Cartridge Information Database (a.k.a. ROMProperties)
3.0 Running the Emulator
3.1 Keyboard Mappings
3.2 Game Controller/Joysticks
3.3 Paddle and Lightgun Emulation via Mouse
3.4 User Interface
3.4.1 Game Select Tab
3.4.2 Settings Tab
3.4.3 Console Tab
3.4.4 Help Tab
 3.5 External Command-line Options
4.0 Screenshot Gallery
This is a release of EMU7800, an Atari 7800 emulator implemented using Microsoft's .NET platform. Most VCS (2600) and ProSystem (7800) titles work well, with 2600 support featuring authentic HMOVE emulation, per Andrew Tower's paper "A Small Opus on the TIA." The stars in Cosmic Ark appear without emulation cheats!
EMU7800 runs on Windows 2000 and higher systems. Performance is excellent on recent hardware.
Send me a note if you have questions or feedback. Enjoy!
EMU7800 is Copyright © 2003-2009 Mike Murphy.
THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY EXPRESSED OR IMPLIED WARRANTY. IN NO EVENT WILL THE AUTHOR BE HELD LIABLE FOR ANY DAMAGES ARISING FROM THE USE OF THIS SOFTWARE. PLEASE SEE THE ENCLOSED "LICENSE.TXT" FILE FOR THE COMPLETE LICENSING TERMS.
For all things Atari, including game manuals, tips, and community, be sure to visit AtariAge!
To run EMU7800, you will need to have .NET 3.5 installed onto your Windows-based computer. You can do this for free via Windows Update. To have the capability to build from the included source code, you'll either need the .NET 3.5 software development kit (SDK) or Visual Studio 2008. EMU7800 was originally developed on a machine with a Pentium 4 Celeron 1.7 GHZ processor (a seven year-old system as of this writing.) This was adequate for emulator performance.
The distribution is made available as an Windows Installer .MSI file. Simply launch it to deploy the software to your machine. A single shortcut will be placed on your desktop to launch the emulator.
For the curious, the complete source code is included in the distribution and is located in the src/ folder. The solution and project files are in Visual Studio 2008 format. DirectX dependencies needed by EMU7800.DirectX.vcproj must be copied from the DirectX SDK (freely downloadable.) Helper scripts, COPYDEPS.cmd, are located under EMU7800\Host\DirectX\EMU7800.DirectX\DirectXDependencies to help with this.
In EMU7800, recognized game ROM files have associated properties that determine the proper execution configuration of the emulator. These attributes are stored in the ROMProperties.CSV file, located in the same directory as the executable. Any editor that can work with .CSV files (e.g. NOTEPAD.EXE and Excel™), can be used to update the file.
| Key | Windows Host (GDI) | DirectX (DX9) | DirectX FullScreen (DX9) | Function |
|---|---|---|---|---|
| ESC | • | • | • | Escape (quit) from the currently running machine/game |
| Q | • | • | Swap Stelladaptor paddles P1/P2 on device 0 | |
| W | • | • | Swap game controller/joystick devices 0/1 | |
| E | • | • | Swap Stelladaptor paddles P3/P4 on device 1 | |
| P | • | • | • | Pause the emulator, any other key resumes |
| M | • | • | • | Sound mute toggle |
| F | • | • | • | Show frame rate, emulator execution statistics |
| R | • | • | • | Game Reset Console Switch |
| S | • | • | • | Game Select Console Switch |
| C | • | • | • | Toggle between Color and B/W Console Switch settings |
| 1 | • | • | • | Toggle between A/B difficulty for left player |
| 2 | • | • | • | Toggle between A/B difficulty for right player |
| F1 | • | • | • | Set keyboard/mouse to player 1 control |
| F2 | • | • | • | Set keyboard/mouse to player 2 control |
| F3 | • | • | • | Set keyboard/mouse to player 3 control |
| F4 | • | • | • | Set keyboard/mouse to player 4 control |
| F5 | • | • | • | Pan display left |
| F6 | • | • | • | Pan display right |
| F7 | • | • | • | Pan display up |
| F8 | • | • | • | Pan display down |
| F11 | • | • | • | Save machine state to desktop |
| F12 | • | • | • | Save Screenshot to desktop |
| Up Arrow | • | • | • | Move up: joystick, booster grip |
| Left Arrow | • | • | • | Move left: joystick, booster grip, paddles, driving |
| Right Arrow | • | • | • | Move right: joystick, booster grip, paddles, driving |
| Down Arrow | • | • | • | Move down: joystick, booster grip |
| Z | • | • | • | Trigger |
| X | • | • | • | Booster |
| NUMPAD7 | • | • | • | Keypad 7 |
| NUMPAD8 | • | • | • | Keypad 8 |
| NUMPAD9 | • | • | • | Keypad 9 |
| NUMPAD4 | • | • | • | Keypad 4 |
| NUMPAD5 | • | • | • | Keypad 5 |
| NUMPAD6 | • | • | • | Keypad 6 |
| NUMPAD1 | • | • | • | Keypad 1 |
| NUMPAD2 | • | • | • | Keypad 2 |
| NUMPAD3 | • | • | • | Keypad 3 |
| NUMPAD* | • | • | • | Keypad * |
| NUMPAD0 | • | • | • | Keypad 0 |
| NUMPAD/ | • | • | • | Keypad # |
Up to two game controllers (e.g. joysticks) can be used, where the first two found in the device list will be selected for use.
For game ROMs that use the paddle controller, the mouse will be used as input unless the Stelladaptor controller is detected as one of the selected game controllers. In this case, mouse input will be automatically deactivated and the Stelladaptor device will be leveraged for paddle input.
The paddle swapping keys (Q and E) are useful when you are using a set of original Atari paddles, where the "player 1" potentiometer is excessively worn and delivers non-uniform or erratic resistances. Chances are the "player 2" dial has not seen as much action and will perform better.
On paddle games, the mouse can be used as the paddle controller. Sensitivity is currently not configurable. The mouse is also be used for lightgun games. Look for a small white dot that indicates where on the screen the "lightgun" is pointed at.
The number of ROMs recognized in the roms/ directory is displayed in the lower left corner. To select a new directory, click the Select ROM File button, and navigate to the ROM directory of your choice. When a ROM file is selected, the rest of the directory contents will be scanned and will be presented for subsequent selection.
By default, .bin files will be displayed in the Open File dialog. To show .a78 files, use the File Type drop-down.
There are several settings that can be adjusted on this tab. Settings will saved, so they will not need to be set again every time the program is launched.
Events pertinate to the execution of the emulator are logged to the Console. Commands may also be issued here to access features not available via the GUI. To see what is available, enter ?.
The Help tab features an integrated web browser control. Two link controls are available, located at the bottom of the control. The README link references this README file on the local system. The Game Help link varies dependent upon the currently selected game, and is intended to reference original game instruction manuals, available online. At the time of this writing, not all games have help URLs defined. URLs can be specified in the ROMProperties.csv file, and more will be included in subsequent EMU7800 verisons. Standard web browser features, like the Back button and Refresh, are available by right-clicking in the browser window.
Note that when the Game Help link is clicked, it will "disable" to indicate the page is loading. It will "re-enable" once loading is complete. If no Game Help URL is available, the link will not be visible.
To support various emulator front-end programs, EMU7800 can be launched with a full filename provided as a command-line argument:
EMU7800.exe "EMU7800 installation directory\roms\OYSTR29.BIN" "DirectX (DX9)"
Should the ROM file not be found, be unreadable, or not recognized, the GUI interface will be launched as normal.
Clicking on the Console Tab will show the reason for the failure.
Otherwise, the ROM will be run immediately.
Atari VCS (2600) Titles:
Atari ProSystem (7800) Titles: