                                                                      Oct 2022

    Hi all Atari users,

this is the Atari 8-bit computer emulator for Atari TT/Falcon range of
computers. It should run on any computer with 68030 or higher CPU and a graphics
capable of resolution 320x240 (or higher) in 256 colors. Atari800 contains
special routines for direct VIDEL programming (for achieving 336x240 resolution
on RGB/VGA monitors) and also dedicated NOVA (ISA ATI Mach64) and SuperVidel
graphics support. For proper sound output on the TT it requires installation
of an XBIOS sound emulator like STFA or X-Sound.

Atari800 had originally been developed by David Firth though it's been a
community project for more than 15 years already. The Falcon port was initially
done by Petr Stehlik and more or less updated up until 2008. Empty Head (=
Karel Rous) and Gerhard Janka wrote the 65C02 emulation in pure MC68030
assembler. Douglas Little's assembler routines for VIDEL and IKBD from his
game/demo Bad Mood (a DOOM clone) were used for achieving maximum possible speed
and compatibility.

I have been aware of Atari800 since its early 0.x versions, I still remember how
fascinated I was to see it running on a friend's CT2 equipped Falcon. Since ever
the CT60 had been released (2003) I wanted to recompile the latest sources and
see this amazing piece of software on my Falcon as well! It took 14 long years
to finally make this happen. One of the reasons was that everybody just assumed
that all the new Atari800 features are simply too slow even for 68060 powered
Falcons... and guess what, they are not! And then there's ARAnyM. ;-) And the
FireBee. So I have cleaned up the source code, added a feature or two and here
we are.

Another common misbelief was that the new cycle exact CPU emulation has drifted
from the original CPU implementation so much that it will be super hard to sync
with our m68k assembler core. Wrong again! Right now, all the features from its
C counter part are available for the assembler core as well. That is also the
reason why all executables (except the FireBee, naturally) have the fast
assembler core included! No more dilemmas about speed vs. compatibility.

===========================================================================
All m68k versions are built with following switches:

--host=m68k-atari-mint --enable-veryslow --disable-monitorbreak \
--disable-monitorhints --disable-crashmenu --disable-monitorasm \
--disable-eventrecording --disable-pokeyrec --disable-videorecording \
--disable-screenshots --disable-audiorecording --disable-monitorutf8 \
--disable-monitoransi --disable-pbi_bb --disable-pbi_mio --disable-riodevice \
--with-readline=no

Then specifically:

ATARI800.GTP (XBIOS audio, GEM/Videl video, cycle exact 6502/ANTIC)
--target=falcon --enable-falconcpuasm

ATARIFST.GTP (XBIOS audio, GEM/Videl video, inexact 6502/ANTIC)
--target=falcon --enable-falconcpuasm --disable-newcycleexact
(fastest version, you can gain a few % by adding --without-sound)

ATARISDL.GTP (XBIOS audio, SDL video, cycle exact 6502/ANTIC)
# point to -m68020-60 aware `sdl-config`
PATH=$(m68k-atari-mint-gcc -print-sysroot)/usr/bin/m68020-60:$PATH
--target=default --enable-falconcpuasm

ATARI_CF.GTP (ATARISDL.GTP for the FireBee, without asm emulation core)
# point to -mcpu=5475 aware `sdl-config`
PATH=$(m68k-atari-mint-gcc -print-sysroot)/usr/bin/m5475
--target=firebee --enable-pagedattrib --enable-cyclesperopcode

Then for all versions:

m68k-atari-mint-stack --fix=256k atari800
m68k-atari-mint-flags -S atari800
m68k-atari-mint-strip -s atari800

The `flags` command is needed to run properly on machines with memory protection
enabled because atari800 hooks on the system keyboard vector and in case of the
SDL version maybe also a few others.
===========================================================================

Keyboard emulation works just like in other Atari800 flavors:

F1 = Configuration menu
F2 = Option key
F3 = Select key
F4 = Start key
F5 = Reset key (warm start)
Shift+F5 = Switch Atari off and on (cold start)
F6 = Help key
F7 = Break key
F8 = Invoke monitor
F9 = Exit emulator
F10 = Save screenshot
Shift+F10 = Save interlaced screenshot
Help = Help key

Joystick emulation works fine. Both real joysticks (CX-40 type) can be
connected.

Several special command line parameters were introduced in this Falcon port. Use "-help" to learn more.

For bugreports of Falcon port please write to me (Miro Kropacek)

e-mail    miro.kropacek@gmail.com
WWW       http://atari800.github.io/
