Re: [stella] New to 2600 Programming

Subject: Re: [stella] New to 2600 Programming
From: Ben Larson <wazzapfool@xxxxxxxxx>
Date: Thu, 8 Nov 2001 06:47:24 -0800 (PST)
--- core dump <core_dump_000@xxxxxxxxx> wrote:
> Hi,
> I've been playing the Atari 2600 since I was a kid
> and
> the other night decided to get into programming.
> I've
> sort of touched Intel ASM before. I downloaded
> several
> manuals and text files, the DASM assembler, and a
> sample program (How to Draw a Playfield). I've been
> goofing around with the code and doing different
> things. I noticed that the drawing of the playfield
> occurs with .byte commands. What do the hex codes
> mean, and how does the .byte command work, so I can
> customize with my own colors and drawings?
> -core_dump

I'm not sure exactly how familiar you are with
assembly language programming, so sorry in advance if
any of this sounds condescending. :)

The '.byte' command you're seeing isn't an actual
assembly instruction, it's just an instruction to the
assembler itself.  It tells the assembler that you
want to reserve space at that location for one or more
8-bit values.  In this way, you can allocate memory
for data, although since this data is in read only
memory, it can't be changed.  Anyway, the values
following the '.byte' directive tell the assembler
what you want stored in these bytes you're allocating.

In 'How To Draw a Playfield', the '.byte' command is
used to store the data both for the playfield itself,
and the playfield colors.  The playfield data is just
a series of monochrome bitmaps, more or less.  Each
byte of the playfield data holds a single line of data
for either one or two of the letters that get
displayed on-screen.  Each byte of the color data, on
the other hand, holds the color for an entire
half-line of the playfield that gets displayed on
screen.  'Stella.txt', which can be found on Nick
Bensema's web site, explains the concepts behind this further...

Do You Yahoo!?
Find a job, post your resume.
Archives (includes files) at
Unsub & more at

Current Thread