Re: [stella] New 2600 programmer

Subject: Re: [stella] New 2600 programmer
From: Piero Cavina <p.cavina@xxxxxxxxxxxxx>
Date: Wed, 30 Apr 1997 11:51:55 +0200 (METDST)
At 15.17 28/04/97 -0400, Robin Harbron wrote:

>Hey, I'm new to 2600 programming -

You're welcome... :-)

>I plan on using DASM
>on my A500, and then using makewave and
>playing it through to my 2600 for testing.

Don't you have a 2600 emulator for the Amy? I've started programming for the
2600 using a Mac+Superchager setup as developement system, then I realized
that it's very, very much faster to use an emulator _with integrated
debugger_ like PC Atari. You can go to the Supercharger only once in a while
to test the real 'feel' of the game and to be sure that it can run on the 2600.

>to experiment with.  Perhaps display a bit
>of a background, and put an object or two
>on the screen, like a player & missile.

Check the "How to draw a playfield" text, then the Comabat and SoundX sources...


1 - Initialize the machine
2 - Do the VSYNC, start the VBLANK
3 - do game logic now (not very much in simple demos). Sprites, ball and
missiles that are not re-used during the kernel are usually horizontally
positioned during VBLANK ('Combat' does it). Soon you will realize that any
graphically advanced game makes use of sprite repositioning; however, learn
this technique only when you'll have more experience.
4 - wait til the end of VBLANK
5 - kernel: draw 192 lines of playfield.
Please note that it's not absolutely necessary to do a 0-191 loop (thought
that could be useful in your first attempts), it is important that you have
_in mind_ exactly how many lines you've already drawn and how many are still
to be drawn!
For example, my latest demo doesn't do a 0-191 loop, but a 0-9 loop drawing
16 lines for each iteration; then 192-(16x10) blank lines are drawn to
complete the screen.
6 - draw 30 blank lines for overscan and go to 2.

After all, it's not so difficult as some say ;-)


Archives available at
E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.

Current Thread