Subject: Re: [stella] Phase Two From: Robin Harbron <macbeth@xxxxxxxxxxx> Date: Sun, 21 Feb 1999 21:59:47 -0500 |
Pete Holland wrote: > 1) What is a "sprite"? From the hype around my SMS, NES, Genesis, > and SNES, I was under the impression that a sprite is like a > Colorforms sticker, an image that the computer can move around over > the background. If that's right, how can the Atari, which, from my > preliminary reading, needs to draw the entire screen, have sprites? > Does it have sprites, or are they things that act like them? How much > of this do I have wrong? If you want to think of them as sprites, that's fine. They're just very limited in what they can do. Essentially, you have 5 sprites. 2 of them are 8 "dots" wide, the other 3 are just 1 "dot" wide. I refrain from using the word pixel instead of "dot" because you can define how wide each dot is - 1,2 or 4 pixels, I believe. The sprites are as tall as the screen - but if you want them to look like something other than a vertical line (or collection of lines of possibly varying thickness) you have to change the register as the screen is being drawn. You can give the appearance of more than 5 sprites by shifting their horizontal location as the screen draws (from top to bottom) and storing a 0 in their graphics register. The sprites can be re-used, so to speak. > The next 192 lines are where the picture is drawn, and since the > computer has to read the info, this is where you leave it alone to do > its job. The next thirty lines are blank like the top forty, and more Rather, this is when your program is extremely busy. Your program has to feed the appropriate graphics registers information as the screen is drawn. Otherwise, the screen will just look like a series of vertical stripes. > game decisions can be made here. How can you tell how much time you > have to do these things? Do some commands take more time to execute > than others, and if they do, how long so that you can make it do the > calculations without disrupting the flow of the scan? All 65xx instructions take between 2 and 7 cycles each. The 2600 runs at about 1.19mhz, so it can peform approximately 1,190,000 cycles worth of instructions per second. An NTSC Atari 2600 updates the screen 60 times per second, so that gives it about 19,833 cycles per frame. Each frame has 262 lines, and each line allows 76 cycles worth of instructions. Besides the small memory restrictions, the greatest art on the 2600 is knowing what to do with those 76 cycles per line to achieve what seems impossible. Exactly 3 "clock counts" occur per processor cycle - in other words, the Atari 2600 puts out 3 "screen pixels" for every cycle that goes by in the processor. Disclaimer: I've only written 2 Atari 2600 programs ever, and neither is very fancy - but I hope I've spread more truth than lies :) -- Robin Harbron macbeth@xxxxxxxxxxx http://www.tbaytel.net/macbeth -- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[stella] Phase Two, Pete Holland | Thread | Re: [stella] Phase Two, Erik Mooney |
[stella] The ol' Playfield Swap, Schwerin | Date | Re: [stella] The ol' Playfield Swap, Erik Mooney |
Month |