android READY
LOAD "D:ROID"â–‡

About

Colleen, the official port for Android of the Atari800 emulator is up on the android play store. Scan this QR code to get it (or search for 'Atari800' on Google Play):

Manual

Emulator starts even without images of the ROM chips used in the original machines thanks to Altirra reimplementation of the operating system and BASIC but it's always better if you can get the images of the original ROM. The different Atari machines used distinct ROM chips. They have been dumped and are available on the internet. For example, you can find the Atari XL ROMs at the Atari800 project site -- check out the ROM files link. The standard names for each type of ROM are:

atariosa.rom - OS/A,
atariosb.rom - OS/B,
atarixl.rom - XL,
ataribas.rom - XL Basic, and
5200.rom - 5200

The emulator does not require all of them to work. For example you can only have the 2 XL images and the emulator will work just fine for any XL-class machine. You just won't be able to switch to older machines. Note also that these are the exact file names which the emulator will look for when trying to boot the intended machine.

You can import the Operating System and BASIC ROM images using the built-in import feature. Tap the Preferences icon on the top bar, then under Emulation tap Import OS ROM. A file picker will open, allowing you to select the ROM files from any location on your device. The emulator will copy them to its private storage automatically. ROMs are detected automatically after import.

Menu bar

Colleen's menu is always accessible via a transparent icon bar at the top of the screen. Three buttons are provided from left to right: Open (folder icon) to load disk images, Keyboard (keyboard icon) to show the soft keyboard, and Preferences (gear icon) to access all emulator settings. The bar is always visible and does not need to be summoned.

Console keys
The atari's console keys are provided in an overlay on the screen. To show the overlay, touch near the top-right of the device's screen. The console keys overlay will popup. It will disappear after a few seconds of inactivity to declutter the screen. In portrait orientation the console keys stay visible at all times. Console keys work as usual with the exception of the Reset key. To prevent accidental resets, the reset key must be held down for half a second and released to perform a warm reset (this is the reset key's normal operation on the atari). Keeping it held down for a total of 1 second and then releasing it will result in a cold reset, equivalent to power cycling the atari.

Opening a disk image

Once the emulator is up and running, tap the Open icon on the top bar to bring up the file selector. Navigate to the required folder on touch an item to auto boot it. The emulator supports the following file formats: atr, atz, xfd, dcm, xfz, xex, cas, rom, bin, car, a8s, com, exe. These are the extensions of the filenames supported and range from compressed/uncompressed disk images to cartridges and cassettes.

Save state load/save

The emulator supports saving the entire contents of the ROM+RAM to a state file. This can be loaded later; emulation will resume where it left off. Saved states can be used as means f.ex. saving a game and reloading it later. To save the current emulator state, open Preferences and tap Save Current State under the Emulation section. A dialog will pop up where you can enter a name for this state. The .a8s extension will be appended to the name you type. To load a previously saved state, tap the Load State option in the same section. A list of available states will be shown; tap the one you want to load. State files are stored in the app's private storage, no manual path selection is needed.

Input

Joystick
Central to the oldskool fun is the emulation of the joystick input methods of the Atari. The emulator features several ways to generate joystick input. The on-screen joystick is probably the easiest. The screen is divided horizontally into the joystick side and the fire button side. Touching the joystick side will result in joystick action and respectively for the fire button side. Normally, the left portion of the screen is mapped to the joystick side and the right portion to the fire button side, but this allocation can be inverted by ticking the Right-Handed Joystick option in the emulator Preferences. The percentage of the screen area allocated to either side is also configurable via the Joystick Screen Split option in the Preferences. The fire button, as well as all joystick input, can further be remapped to other keys through the Keyboard joystick preference.

The joystick area is marked by a transparent rectangle. Touches registered within the joystick area (joystick deflections) will cause input to the joystick in port 0. A dead band area is also observed, the size of which is configurable at the Joystick Deadband preference. A dead band of 30% for instance means that joystick deflections within a 30% margin around the center will not register at all. The joystick area can also be dragged around by keeping pressed the joystick touch and dragging outside the joystick area. This comes in handy when there is too much action on screen to keep an eye on where your finger is positioned. This feature can be turned off however (why? :-)) via the Anchor Joystick preference. The joystick area can be repositioned in another way as well: When the joystick is idle (no touches) a touch outside the joystick area but within the joystick side of the screen will recenter the joystick area around the touch point. The Joystick Grace Area preference allows a leniency to this rule: it extends (virtually, not shown) the joystick area by some amount. Any touches within this virtual area will result in joystick movement and small drag-through repositioning, rather than a full joystick area repositioning centered around the touch point. The joystick area's visibility, size and transparency strength can all be tweaked in the emulator preferences.

The hardware keyboard can also serve as a joystick input for joystick port 0. The option Keyboard Joystick must be enabled in the preferences. The sub-menu Configure Keyboard in the preferences can be used to remap the keys used to perform the joystick actions. There are two kinds of actions: fixed and remappable. Fixed actions are those whose input can be changed but their effect cannot be changed. Fixed actions are: Up, Down, Left, Right and Fire. Remappable actions are those that the input (what you press) is configurable but also their effect (what gets done) is configurable too. There are up to three generic mappable actions, divided by the fixed actions by their own heading in the keyboard configuration screen. Remappable actions can be used to input keycodes, for example, when using a controller (when I press the X button, I want the spacebar to be pressed). To change the mapping for an action, touch the action and a dialog will pop up, waiting for input. At this time, you can press the key to assign the action or touch Cancel to abandon the mapping. If the action is fixed, as soon as a key is sensed the dialog is dismissed and the new mapping is registered. If the action is a generic mappable one, a second dialog will show up which allows you to enter the key you want to be pressed. Some keys are reserved for the system and cannot be mapped at this time, including: the shift keys, volume up/down, the menu, search back and home keys, power, call and end call keys. Pressing these while mapping will result in no action (as if nothing was pressed).

A short note with respect to the Xperia Play devices: The square, triangle, X, and both left and right triggers are supported. They can be configured within the Configure Keyboard preference. The circle key cannot be remapped as it is always mapped to the Back key (which exits the emulator).

Paddle
Some games support and/or are better with a paddle controller. Paddle emulation is provided by interpreting the x axis of the touch/mouse input as the amount of paddle deflection. To switch on paddle emulation check the Paddle mode option in the preferences. The joystick area will be replaced by a slim rectangle as a visual reminder of the horizontal space which will be used for paddle emulation. Drag from left to right to provide paddle input (and don't forget to toggle paddle mode off in the preferences to go back to joystick input :-).

Keyboard
The device's hardware keyboard is used for keyboard input in the emulator. If the Keyboard Joystick option has been selected in the preferences, then the respective keys are muted; their inputs serve as joystick inputs. The directional pad (DPAD) keys emit the atari arrow keycodes ('Control' + '-', '=', '+', '*'). DPAD Center sends the Break key code. The tilde key ('~') is mapped to the Escape key. The backquote ('`') is mapped to the capslock key. The left-curly-bracket ('{') is mapped to the Atari key. The left shift of the keyboard is used as the atari's shift key, while the right shift is used as atari's control key.

External keyboards can also be used. Android seems to rotate the external keyboard's arrow keys in the same fashion as the built-in DPAD keys. And although this rotation makes sense for the built in arrows, it wreaks havoc with the external keyboard. To address this, use the Derotate Arrow Keys preference. Set this to either Left or Right to manually derotate the keyboard's arrow keys.

For keyboard-less devices, a virtual keyboard is provided. To show it, tap the keyboard icon on the top bar. To hide it, press the Back key on the device.

Breakdown by function

Menu

Open
Shows the file selector. Back to cancel. Touch to mount and boot. Use the keyboard to filter filenames.
Keyboard
Show the virtual keyboard. Back to hide it. Keyboard won't show if the device has a hardware keyboard, or at least if it is exposed (slided out).
Preferences
Show the preferences screen for the emulator.
Preferences
Graphics
NTSC TV Mode
When checked, NTSC mode is enabled; when unchecked PAL mode is enabled. NTSC mode requires mode CPU power for emulation.
Aspect
Scale the screen while maintaining correct aspect. None is no aspect enforced (fill whole screen), portrait & landscape means only scale aspect corrected for the respective orientation (the other just fills the screen) and both means always perform aspect correct scaling (in either orientation). Special Note: For devices without keyboard, you might find handy to set this preference to 'Portrait': The soft-keyboard should fit in the bottom part of the screen, not obstructing the playfield (BASIC, text adventures etc.)
Bilinear Scaling
Use bilinear filtering when scaling the atari screen. Some like it, I don't. Also should be slower (in principle) when bilinear scaling is on.
Artifacting
Set artifacting on/off and colors.
Frameskip
How frequently the atari screen is repainted to the device. If you're getting less optimal atari speeds, set this to higher values. Set to auto to have the emulator adjust the frameskip value in real time to maintain 100% of Atari speed.
Accurate Collisions
Disable this to gain more emulation speed. Also, games may be broken by this.
Crop Horizontally, Vertically
Use this to get rid of the borders around the atari screen. Sane values are 320x200.
Portrait Padding
Add extra space at the top of the screen in portrait orientation, useful for devices with a notch or cutout.
Console Key Fade-out
Controls how quickly the console key overlay fades away after inactivity. Set to "Disabled" to keep them always visible.
Emulation
Machine Type
Select emulated machine type and size of RAM. You must have the required ROM images, as described above, or the machine won't boot. Forces a cold reset if changed.
Import OS ROM
Opens a file picker to select ROM images from any location on your device. They are copied to the app's private storage and detected automatically.
Save Current State
Saves the current emulator state with a filename you provide. State files are stored in the app's private storage.
Load State
Lists all saved states in the app's private storage. Tap one to load it and resume emulation from that point.
Disable BASIC
When checked, this is like holding down the option atari key when booting.
Show Atari Speed, Drive Access, Sector Access
These toggle on off indicators. The atari speed indicator shows how fast the emulated machine runs. If this is significantly lower than 100% consider increasing the frameskip, disabling collisions, disabling the high quality sound, lowering the sound mixing frequency and so on.
Allow Web Browser
By checking this option the B: device gets generated in the emulated machine, to be used when the emulated program wants web access. Uncheck this to ignore browser requests.
Atari800-compatible Function Keys
When checked, the function keys follow Atari800 convention: F2=Option, F3=Select, F4=Start, F5=Reset, F6=Help. When unchecked they use the older mapping: F1=Help, F2=Start, F3=Select, F4=Option, F5=Reset.
Input
Keyboard Joystick
If checked, the keys defined in the next option will control the joystick. This also has to be checked for the Wii controller to work.
Configure Keyboard
Shows a separate preference screen where the joystick keys can be remapped. Select the action you need to reassign then press a key on the device or the Wii controller to change the mapping. Don't forget to use the Wiimote controller application first for the Wii controller.
Derotate Arrow Keys
Use this option to fix the arrow keys on external keyboards, when switching from portrait to landscape and vice versa.
Joystick Visible
Toggle visibility of the joystick overlays. The on-screen joystick still works, you just don't see it.
Joystick Opacity
Set the transparency level of the joystick overlays. Higher is less transparent.
Joystick Area Size
Set the size of the on-screen joystick. Depends on the thumb, really.
Right-Handed Joystick
Swap the areas the emulator assigns to joystick and fire button. Normally (unchecked) a portion of the screen (defined by the joystick screen split preference below) on the left hand side is allocated to the joystick. The rest is allocated to the fire button. This preference inverts these areas, allocating the percentage defined by screen split on the right hand side while the rest is allocated to the fire button.
Anchor Joystick
Stop the joystick area slide-around action. This pins the joystick area to the current position.
Joystick Screen Split
Define the percentage of screen allocated to the joystick. 50% means down the middle. It is implied that any touch event in the joystick side is a joystick event and vice versa for the fire button. The allocation is inverted if the right-handed joystick option is checked.
Joystick Deadband
Percentage of the joystick area around its center within which no joystick input will be generated. Increase if the joystick seems too sensitive.
Joystick Grace Area
Virtually extends the joystick area by set amount to prevent joystick recenters for closeby touches.
Paddle Mode
When checked, paddle input will be provided instead of joystick.
Koala Pad Mode
Enables full-screen touch input for koala pad / light pen style control. When checked, all other on-screen joystick/paddle input modes are disabled.
Sound
Sound
Switch sound off to gain performance.
Mix Rate
Lower the mix rate to increase emulator performance. Does not make that much of an impact to lower this.
Sound Buffer Size
Lower size is lower latency. Lower size though could lead to clicks in sound audible during emulation (and not during pausing/unpausing, entering the menu preferences, etc. These are normal). Higher size means higher latency which is not desirable but gets rid of sound clicks in less powerful devices.
16bit Sound
Using 16bit sound with high quality sound disabled (below) makes no difference, apart from straining the cpu more. Note: Android documentation recommends using 16bit sound, as it is more compatible.
High Quality Sound
When enabled, high quality low pass filtering is used for POKEY emulation. Apart from increased cpu load (not too much though) this also leads to a delay of a few seconds when the emulator starts up, while the filter coefficients are calculated.
Force Legacy Playback
On devices with android version greater than 2.3, the native OpenSL ES audio driver will be used for accurate sound playback. Setting this option will override this automatic selection and force sound playback through the legacy android audio (use for potential compatibility issues).
About
About
Shows version information, credits, and license.
Help
Opens the online manual in a browser.
Quit
Exits the emulator cleanly. Also works by pressing the Back key twice.

Changelogs

4.1
Changes for version 4.1:

* Real Joysticks connected to your Android device are supported natively now.
* MultiJoy emulation allows you to play specially developed games with up to four joysticks.
* Upgrade to atari800 core v6.0.0.

4.0
Changes for version 4.0:

* Upgrade to atari800 core v5.2.0+.
* Removed MANAGE_EXTERNAL_STORAGE permission requirement.
* OS ROM files imported via SAF picker, stored in private app directory.
* Save states stored in private directory with new Load State feature.
* New always-visible transparent menu bar replaces hidden ActionBar.
* Material Design vector icons for a clean modern look.
* Console keys always visible in portrait mode and properly scaled on high-DPI screens.
* Fixed anchored joystick position after screen rotation.
* Package renamed to cz.pstehlik.colleen.
* Updated about dialog with current maintainer credits.
* Various bug fixes and improvements.

3.0
Changes for version 3.0:

* Native Open SL ES sound for perfect playback for > 2.3 devices.
* Fix for no sound for NTSC machines under certain circumstances.
* Various other bugfixes.
* Upgrade to atari800 core v. 3.1.0.

2.0
Changes for version 2.0:

* Free game included: Planetary Defense 2012. Find it in the Preferences.
* UI overhaul for Honeycomb+ devices
* When aspect correction is portrait, make room for the soft keyboard
* Bugfix: Crashes while loading ROMs
* Bugfix: Won't load OSB ROMs
* Bugfix: Crashes in keyboard-joystick remapping
* Warning: State saves from previous version are incompatible (sorry)
* Numerous bug fixes and improvements

Thank you for your continued support and bug/feature reports

1.4
Changes for version 1.4:

* Android port renamed to Colleen
* Implemented paddle emulation
* Allow file selector to roam outside the directory provided by the OS (allows for weird mount points on some devices)
* Support for saving and loading the emulator state
* Various small bug fixes and improvements

1.3
Changes for version 1.3:

* New NTSC/PAL preference
* New keyboard action mapping preferences
* Added support for Xperia Play fire buttons
* DPAD-CENTER now mapped to Break key
* Atari800 core version 2.2.1
* Several bug fixes and improvements

Thank you for your continued support and bug/feature reports :-)

1.2
Changes for version 1.2:

* New disk management menu (long press in the file selector)
* New screen cropping preferences
* New arrow key derotation preference for external keyboards
* DPAD-CENTER and tilde (~) now map to Escape key
* Atari800 core version 2.2.0
* Fix rare sound-related crashes
* Various fixes and improvements

Thanks to the bug/feature reporters!

1.1a

This version is a quick fix for a regression to the Anchor Joystick preference, introduced in v1.1.

1.1

* Fix a crash when sound was switched off
* Added support for .com and .exe files
* Added the auto frameskip option
* Added the new Joystick Grace Area preference
Thanks to the bug/feature reporters!






Copyright © 1998-2026 Atari800 Development Team