A7800 Emulator

From 8BitDev.org - Atari 7800 Development Wiki
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

A7800.188-02.Win.zip download

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

  • Unzip the provided file to a directory, such as C:\MAME.
  • Create a ROMS directory for the a7800.zip (NTSC) or a7800p.zip (PAL) BIOS ROMs, such as C:\MAME\ROMS.
  • Create a Software directory to contain A78 game ROMs, such as C:\MAME\SOFTWARE\A7800 or C:\MAME\SOFTWARE\A7800P.

Be sure to put your A7800 BIOS zip file(s) in your ROMS directory, A78 game files in your SOFTWARE directory, and don't forget to make sure your ROMS directory is listed in your mame.ini file.


OS X

A7800.188-02.OSX.zip download

64-bit binary has 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.188-02.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.188-02.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

Create a directory to hold your a7800.zip (NTSC) or a7800p.zip (PAL) BIOS ROMs...

 # sudo mkdir -p /usr/local/mame/roms

Create a directory to hold your A78 game ROMs...

 # sudo mkdir -p /usr/local/mame/software/a7800

Edit your configuration file to tell A7800/MAME where you've put BIOS ROMS. 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 zip file(s) in your ROMS directory, A78 game files in your SOFTWARE directory, and don't forget to make sure your ROMS directory is listed in your mame.ini file.


Linux

A7800.188-02.Linux.zip download

A 64-bit binary has 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.188-02.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.188-02.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

Create a directory to hold your a7800.zip (NTSC) or a7800p.zip (PAL) BIOS ROMs...

 # sudo mkdir -p /usr/local/mame/roms

Create a directory to hold your A78 game ROMs...

 # sudo mkdir -p /usr/local/mame/software/a7800

Edit your configuration file to tell A7800/MAME where you've put BIOS ROMS. 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 zip file(s) in your ROMS directory, A78 game files in your SOFTWARE directory, and don't forget to make sure your ROMS directory is listed in your mame.ini file.


Source Code

A7800.0188-02.src.zip download

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. Browse to your SOFTWARE directory containing your A78 files.


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


Examples of Running from Command-Line

NTSC examples are provided. To change to PAL, switch the "a7800" argument to "a7800p".

To run an a78 ROM located in the current directory...

 a7800 a7800 -cart myfilename.a78

To run an a78 ROM located in the current directory, with HiScore support...

 a7800 a7800 -cart1 hiscore -cart2 myfilename.a78

To run an a78 ROM located in the current directory, with XM support...

 a7800 a7800 -cart1 xm -cart2 myfilename.a78

To run an a78 ROM located somewhere else...

 a7800 a7800 -cart /path/to/myfilename.a78


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.


  • 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.