7.1.7) What programs run only on the 400/800 (not the XL/XE) and why?

Fandal site search for games requiring 400/800 OS Rev.B:
http://a8.fandal.cz/search.php?search=os-b&butt_details_x=x

Fandal site search for games requiring 400/800 OS Rev.A:
http://a8.fandal.cz/search.php?search=os-a&butt_details_x=x

Utilities reported to require the 400/800 OS:
Atari Word Processor           Atari
File Manager 800+              Synapse
Letter Perfect (before v6)     LJK (all version 6.x releases OK on XL/XE)
Mac/65 [ver. 1.00, orange]     OSS (all releases after 1.00 OK on XL/XE)
Monkey Wrench                  Eastern House
Synassembler                   Synapse
Text Wizard                    Datasoft
VT-10-Squared                  Dave Bailey

Note that while some 400/800 programs fail to run on the XL/XE at all, others,
such as Atari's own Missile Command and Space Invaders cartridges, run on the
XL/XE with only minor problems such as sound glitches.

Many 400/800 programs incompatible with XL/XE computers can nevertheless be
made to run flawlessly on the XL/XE using the Atari Translator (or equivalent)
which is described in another section of this FAQ list.

Also, modern programmers have hacked many of the above titles and released
fixed versions for use with XL/XE computers.

Thomas Richter contributes the following (16 Jan 2004):

There are a couple of reasons why some games don't run on the XL/XE
models.  I try to order them by "likeliness", of course biased by my
personal observations:

1) The printer buffer of the XL Operating System in page 3 is a couple
of bytes shorter.  The additional bytes are used for extended OS
variables not available in the 800 series.  Most prominent is the $3FA
location, holding a shadow register of GTIA's TRIG3 signal.  While a
true joystick trigger line in the 400/800 series, this signal is used
as "cartridge inserted" signal for XL/XE models.  Unfortunately, the OS
compares GTIA TRIG3 with the shadow register at $3FA in each vertical
blank, running into an endless loop if the register contents don't
match.  This causes hangs for games using page 3 either as copy-buffer
or for player-missile graphics.  (Hangs by Ms. Pac-Man and
Bacterion! are caused by this, and many others...)  This is "fixable"
either by the translator disk, or by a quick hack into the game,
replacing the OS vertical blank or poking TRIG3 frequently into its
shadow.  The reason for the OS behavior might be that Atari wanted to
prevent crashes if the cartridge is inserted or removed while the
machine is running.  The 400/800 is powered down when a cartridge is
inserted, the XL/XE lacks the cover of the older models that triggered
a little switch to interrupt the power line.

2) Similar to the above, writes to $3F8.  This OS equate defines
whether on a warm start, the BASIC ROM shall be mapped back in.  If
its contents are altered, a program triggering a reset as part of its
initialization will find itself then with 8KiB less RAM occupied by
a BASIC ROM, making it crash.  Similarly, writes to the cartridge checksum
$3EB could cause a cold-start on a "reset initialization".  This is
fixable by the translator disk.

3) Some games use a four-joystick setup, or at least initialize
PIA itself.  If this happens inadequately, PIA Port B, bit 0 gets changed,
disabling the ROM, and thus crashing the machine.  This is not fixable
by the translator since it is a hardware issue.

4) Direct jumps into the OS ROM, not using the documented vectors in
the $E450 area.  Interestingly, this fault is not as common as it may
sound since games hardly ever use the OS.  It causes failures of
some "serious applications", most notably "QS Forth" and applications
compiled by it.  This is fixable by the translator disk.
About Us - Contact - Credits - Powered with Webdev - © Atarimania 2003-2024