A7800 Emulator

From 8BitDev.org - Atari 7800 Development Wiki
Revision as of 18:54, 1 August 2017 by MSaarna (talk | contribs) (Created page with "==A7800 - the Atari 7800 Emulator== A7800 is a fork of the MAME Atari 7800 driver, with several enhancements added. * Support for emulation of Proline Joysticks, VCS Joystic...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A7800 - the Atari 7800 Emulator

A7800 is a fork of the MAME Atari 7800 driver, with several enhancements added.

  • Support for emulation of Proline Joysticks, VCS Joysticks, Lightguns, Paddles, Driving Controllers, Keypads, Trak-Balls, Amiga Mice, and ST Mice.
  • Maria DMA timing has been improved further, with the addition of accurate DMA hole penalties.
  • Improved saturated/normalized 'factory set' default palette colors.
  • A bug in the existing RIOT emulation has been fixed.

MAME compatibility and syntax has been maintained, to allow for the reuse of MAME configuration files and front-ends.


Download and Installation Notes

Download and follow the instructions for your platform of choice, below. A7800 is provided under the GPL v2 license, with no warranty of support or fitness of any kind.


Windows

A Windows 32-bit binary has been provided, which should be compatible with most modern Windows OSes.


OS X

64-bit binaries been provided, which should be compatible with recent versions of the OS. You will need SDL2 runtime libraries installed. If the provided binary doesn't work on your platform, you can try building your own from source code.

To install A7800, download one of the packages, and from a terminal execute the commands that follow.

Unzip the zip file...

 # unzip ~/Downloads/a7800.178-01.OSX.zip

Ensure that the /usr/local/bin common binary directory exists. This can be skipped if it does exist, or performed without harm if you're not sure...

 # sudo mkdir /usr/local/bin

Copy the executable to /usr/local/bin, ensuring all can execute it...

 # sudo cp a7800.178-01.OSX/a7800.OSX-x86_64 /usr/local/bin/a7800
 # sudo chmod 755 /usr/local/bin/a7800

If you haven't run A7800 or MAME before, create a directory for the configuration, and generate a default configuration...

 # mkdir ~/.mame
 # mame -cc
 # mv mame.ini ~/.mame

Edit your configuration file to tell A7800/MAME where you've put ROM. You may also wish to change "mouse 0" to "mouse 1" under "CORE INPUT OPTIONS", to enable using the mouse with paddle, trackball, driving controller, and mouse emulation...

 # nano ~/.mame/mame.ini

Be sure to put your A7800 BIOS file(s) in your ROM directory, under the "a7800" directory, or in an a7800.zip file. Don't forget to make sure your ROM directory is listed in your mame.ini file.


Linux

64-bit binaries been provided, which should be compatible with recent versions of the OS. You will need SDL2 runtime libraries installed. If the provided binary doesn't work on your platform, you can try building your own from source code.

To install A7800, download one of the packages, and from a terminal execute the commands that follow.

Unzip the zip file...

 # unzip ~/Downloads/a7800.178-01.Linux.zip

Ensure that the /usr/local/bin common binary directory exists. This can be skipped if it does exist, or performed without harm if you're not sure...

 # sudo mkdir /usr/local/bin

Copy the executable to /usr/local/bin, ensuring all can execute it...

 # sudo cp a7800.178-01.Linux/a7800.Linux-x86_64 /usr/local/bin/a7800
 # sudo chmod 755 /usr/local/bin/a7800

If you haven't run A7800 or MAME before, create a directory for the configuration, and generate a default configuration...

 # mkdir ~/.mame
 # mame -cc
 # mv mame.ini ~/.mame

Edit your configuration file to tell A7800/MAME where you've put ROM. You may also wish to change "mouse 0" to "mouse 1" under "CORE INPUT OPTIONS", to enable using the mouse with paddle, trackball, driving controller, and mouse emulation...

 # nano ~/.mame/mame.ini

Be sure to put your A7800 BIOS file(s) in your ROM directory, under the "a7800" directory, or in an a7800.zip file. Don't forget to make sure your ROM directory is listed in your mame.ini file.


Source Code

To build A7800 you'll need the SDL version 2 developer libraries to compile it. For details, you can research how to build MAME on your platform of choice. Once you have the tools and libraries to build MAME on your platform, building A7800 should just be a matter of issuing the "make" command in the A7800 source directory.


Emulator Usage

Run the A7800 executable, and you'll get the graphical version of the emulator running.

How To Select A Game

01. Having a system already started, press 'Tab' key. 02. Arrow key down to highlight "File Manager" and press 'Enter' key. 03. Arrow key down to highlight "cartridge (cart)" and press 'Enter' key. 04. Arrow key down and up to select ROM [path] and press 'Enter' key to select.

How To Select A Different Controller

01. Having a system already started, press 'Tab' key. 02. Arrow key down to highlight "Slot Devices" and press 'Enter' key. 03. Arrow key down and up to select controller port and Arrow key left or right to select controller option*. 04. Arrow key down to "Reset" and press 'Enter' key after controller setup complete


FAQs

  • Q: What else do I need to run this emulator?
  • A: At a minimum you'll need to obtain an Atari 7800 BIOS image. You may also wish to obtain the Hi-Score Cart BIOS image as well. ROM and BIOS images aren't provided with A7800. Check out the
  • Q: Why not just contribute this work to the MAME team, so I don't have to download this thing?
  • A: This work was initially submitted to MAME team and rejected. MAME devs wish to have Proline 2-button controllers (and any other new DB-9 controllers) assigned directly to the VCS. Since this would involve integration, testing, and changes to the VCS driver and other drivers that may use it, the extra work involved wasn't worth it to us. In the end, MAME devs have broader wishes, and 7800.8bitdev.org is focused on the 7800.