Most of us know what the Atari 2600 looks like.
But what does it's execution look like?
And why might someone want to see what it's
execution looks like?
Well, for one, the 2600 is painful to program. Really
painful to program.
So, for those individuals with
an interest in writing games for it, anything
that helps understand how the system works is going to be useful.
And yes, there are people still writing Atari 2600 games.
While I can make no claims to the objective utility of the current
tool I've written,
I have shown it to old school Atari programmers that have found
it to reveal
things about the hardware that they hadn't before
considered.
The work shown here is a first pass implementation, to be
modified as I see fit.
I modified the Stella Atari 2600 emulator source to provide me with various
types
of visual information, subsequently displayed alongside the running emulation.
Here's an example:
The image above is a snapshot of the active execution of the Atari 2600 game
Pitfall. As the Atari 2600 reads data from the Pitfall cartridge (ROM
data), the
location of the read is displayed visually.
As it turns out, the Atari 2600 reads some ROM data often (nearly every
frame
update). To represent the relationship between frequently
read and seldom
read ROM
visually, two colors were used. When data is read from ROM, the
read
frequency is monitored, which, when high, displays as the color blue. The seldom
read data is
displayed in red, and unread data remains black. In addition to these
color differences, for seldom read data, the
amount of red displayed represents
how recently the data was read by the Atari
2600. This allows the viewer to
visualize the direction
of data reads as well.
The end result is a dynamic display of data reads by the Atari 2600 as
a game is
played. The visuals throb with the display of each frame, producing what could be
called the heartbeat of the Atari 2600.
In addition to this data, other types of data are able to be
visualized as well. For
example, register reads and
writes to the
TIA (Television Interface Adaptor)
component of the 2600 can
be displayed, along with the static ROM cartridge data.
Click on the following thumbnails for screen captures of these
data sets for different
Atari 2600 games (all of which I do own). ROM data is in grey,
and TIA reads and
writes are displayed in blue and green, respectively.
Or if you prefer, take a look at a highly compressed video.