Re: [stella] Player data loading...semi newbie

Subject: Re: [stella] Player data loading...semi newbie
From: "Glenn Saunders" <cybpunks@xxxxxxxxxxx>
Date: Wed, 17 Oct 2001 11:21:41 -0700
<<
would appear vertically on the screen, right?  Kind of
like positioning a foosball soccer man with the metal
stick. :)


The way the designers of the Atari 2600 solved this dilemma in the Atari 400/800 was to devote a strip of memory to sprites for the entire screen and to move the sprite up and down you move the memory up and down the strip of RAM. So there is no conditional logic involved for the kernel, which in the 400/800 is automatically handled by ANTIC/GTIA.


I believe you can change the starting address pointer for Player Missile graphics (PMBASE) but since all the sprite RAM is stored in a block, in order to move sprites vertically independently of one another you still have to move blocks of RAM up and down.

On the 2600 everything is done manually so you wouldn't have to move bytes up and down so you could leave it in ROM and have separate start addresses for each strip. You could pad a strip of ROM with zeroes. But in order to move it up and down you'd have to have a maximum of 192+8 bytes above and below the player. In my game I only have 88 scanlines (actually scanline pairs) so I could store the whole thing in one page of ROM.

The problem with this approach is that it's extremely wasteful of ROM in most cases. If the sprite needs to be taller than 8 pixels the ROM requirements keep on growing if you want the sprite to be able to scroll off screen. You can only store one frame of animation padded with zeroes. If you had a 16K or 32K banked ROM you could probably get away with it.

This approach would work really well, however, with the Supercharger. You could devote a page of RAM for all five graphics objects if necessary, taking up 1.5K of space. Then you could copy the current frame of animation from ROM during VBLANK.

But then if you wanted to reposition sprites or change their color values and stuff, RAM usage would increase even more. You'd need a color table and a horizontal positioning table. What you'd be doing is building what amounts to an a display list in Supercharger RAM.






_________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


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

Current Thread