Re: [stella] Programming for Credit

Subject: Re: [stella] Programming for Credit
From: crackers@xxxxxxxxxxxxxxxxxxxxxx
Date: Sun, 23 Mar 1997 12:14:02 -0500 (EST)
In article <Pine.GSO.3.95.970322151451.15990A-100000@xxxxxxxxxxxxxxxx>, you wrote:

>1.)  is STA  TIM64T some sort of timer?
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Yepper.

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>2.)  What does the STA mean?
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Store Accumulator (the accumulator is the special location where most of the
math is carried out).

STA  $xx

Stores whatever is in the accumulator to location xx.

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>3.)  LDY #$08 ;how many scanlines is each block? 
>     LDX  #$17 ;number of blocks of data. LDY * LDX = 192!
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Oops! Another typo, this time in the annotations. That should read

LDY * (LDX+1) = 192.

Sorry. And remember those numbers are in Hex.

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>	Are these height and width values?  I tried messing
>around with them and ended up with  some pretty strange stuff.
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

The LDY is the height of each block, and the LDX is the number of verticle
blocks per screen. So in the data section be sure that the number of 
bytes you have for the screen data equals LDX+1 (because it counts backwards
to zero)

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>4.)  Is JMP essentially just a goto?
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Yepper!

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>5.) LDX  PF0 
>	What does this code do?
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Well, it loads whatever is at location PF0 into the X address.

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>6.)  In the values function, are all the .BYTE $00 code lines used to
>store your graphics?  How does this work?
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Yep it's the graphics data for each playfield section. It's a hex 
representation of the screen binary. PF0 is 4 bits wide and reads
from left to right from bit 4 to bit 7. PF1 is 8-bits wide and
reads left to right from bit 7 to bit 0. PF2 is also 8 bits wide but
reads left to right from bit 0 to bit 7.

This is the really wierd part of playfield graphics. 

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>7.) Crackers, didn't you say you had a small program that would
>let you create graphics for the 2600 instead of having to use graph paper?
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Nope, all I've created is a special graph paper that will let me design
playfield graphics more easily as different block groupings are represented
by differnt coloured graph lines. If anyone wants, I could make a .GIF of
this graph paper available on my webpage. If you print it out landscape 
on a sheet of paper it is quite effective. It aslo has an 8-bit grid along
the side for sprite design. You'll probably need a colour printer to print it
out.

However, if my method of drawing playfield graphics can modified so that it
incorporates well into game design (eg. will interact well with sprite and
sound controlling subroutines) then it would be possible to build a game
template where game graphics could be modified with a specially written
graphics editor for a home computer.

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>Well, if anyone can shed some light on these questions, I would be most
>grateful.  Thanks.
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

No problem. The whole purpose of the Stella list is to help. And I never
would have likely gotten this far if Nick hadn't shown me how to do a
verticle blanking pulse. And it won't be the last time I'll be getting help
from another user on this list. Good luck with your programming endevours
and don't hesitate to call upon any of us for assistance.

                                   CRACKERS
                     (Life is but a playfield from hell!!)
-- 

Accordionist - Wethifl Musician - Atari 2600 Collector | /\/\
http://www.freenet.hamilton.on.ca/~ad329/Profile.html  | \^^/
Bira Bira Devotee - FES Member - Samurai Pizza Cats Fan| =\/=


--
Archives available at http://www.biglist.com/lists/stella/archives/
E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.

Current Thread