Re: [stella] Aspiring 2600 developer

Subject: Re: [stella] Aspiring 2600 developer
From: Mark De Smet <de-smet@xxxxxxxxxxxxxxx>
Date: Tue, 2 May 2000 21:18:14 -0500 (CDT)
> > > The main problem is that I don't have a background
> > > in computer programming, and I want to know if it
> > > would be easier to learn assembly by writing a few
> > > games/demos for the C64, Apple II, or other 6502
> > > based systems before getting started on the 2600?
> 
> First, welcome to the group.  My personal answer to
> the above is, "No."  The basic 6502 commands seem to
> be pretty straightforward, and they can be grasped
> with just a little experimentation.

IMHO, If you have completely zero experience, you may start with another
language/system, but all you really need is the basic concepts of
programming.  Make the call based on how easily you think you can get
these concepts.  The advantage of using another language is you can mess
around easily, regularly printing stuff to the screen etc, where-as on the
2600 you have to go quite a way to get _anything_ happening. 

> The pain in the butt is learning those commands
> peculiar only to the 2600.  I glanced through a C64
> programming book, and saw no reference to WSYNC
> commands or cycle counting.  Those are the commands
> you really need to learn, since that is where you are
> going to get strung up.  The best approach is to
> practice with the 2600 stuff, methinks.

As a point of clarification, WSYNC or VBLANK (etc) are not commands, but
instead register writes(in this case, simply strobes).  If you understand
nothing of registers, or computer architecture, here is the jist.  The
TIA(graphics etc chip) is 'kinda' like a little block of special memory. 
Most of it you cannot read however(and the parts you can read, you cannot
write to).  Think of it as magic inside the TIA that reads the memory and
does stuff.  In the case of the WSYNC, you write to this memory, and the
TIA does the WSYNC.

> > > I also would like to know what tools/information
> > > other list users found most useful to them when
> > > they first started programming.  Any
> > > recommendations would be very helpful.

Programming in general:  A good programming reference, and an
IDE(integrated development environment; compiler, assembler, breakpoints,
etc). 

Programming the VCS: DASM, emulator(pcae, or other.  I personally like
pcae's debugging features.), Book that covers 6502 instructions(I liked
"Microprocessor-Microcomputer technology" by Frederick Driscoll, 1983. 
ISBN 0442218273.  I liked it because it is system independant, and simply
explains the processor), Stella manual, **"How to draw a playfield"**(get
from Nick's page), and most importantly, **this list**(or a friend who has
experience). 

> First, expect this to take a while, depending on what
> you have going on in your life.  Besides my 9 to 5,

Yes.  If you are experienced in assembly, but not 6502(the situation I was
in), and knowledgeable about computer architecture, you can probably do
something meaningful with the howtodrawaplayfield demo in a couple hours.
I had initial versions of my Video Simon in 2 days.  However, without that
background, you could be a couple weeks until you can make your own demo
out of the howtodrawaplayfield demo.

> Second, alter your perceptions of what games can do. 
> Remember, you only have 4K for commands, and 128 bytes
> of RAM to work with.  This is why games are usually so
> simplistic for the 2600.  It's like building with only
> a partial set of Lego blocks.  If you want to
> accomplish more with your programs, be prepared to get
> very creative.

Start with something simple.(graphically)  I would recommend initially
only planning on using the blocky playfield, 2 player/missle and ball
sprites.

Mark


--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread