OFFICIAL FAQ
7.1.8) Why do some programs run only on the XL/XE (not the 400/800)?
Section started by Konrad M. Kokoszkiewicz.
Software designed for the Atari XL/XE won't work on the 400/800 if:
1) It uses shadow RAM at $C000-$CFFF (4KiB) or $D800-$FFFF (10KiB). In other
words, it requires 64KiB RAM.
2) It uses RAM expansions at $4000-$7FFF controlled by PORTB $D301. In other
words, it requires at least 128KiB total RAM, 130XE compatible.
3) It uses XL OS vectors (routines) not present in the 400/800 OS. Some of
these correspond to XL/XE specific hardware, such as the [HELP] key or the
PBI/ECI interface.
4) Rather than using documented OS vectors, it "illegally" uses OS routines
directly for routines that were located at different memory addresses in
the 400/800 OS.
5) It uses the International Character Set.

