Re: R: [stella] a thing that doesn't let me sleep...

Subject: Re: R: [stella] a thing that doesn't let me sleep...
From: Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx (Eckhard Stolberg)
Date: Sun, 24 Aug 1997 13:56:54 +0200
>> Short answer: lots and lots of code :)  It's an 8k game... disassembling
>> the code
>> shows about half of the second bank to be mostly the same section of code
>> repeated over and over, except with small differences.  May even be as
>> much
>> as a different routine for each possible combination of aliens present on
>> any
>> particular row.... either that or a different routine for each possible
>> number of
>> pixels for the leftmost alien to be offset from the left edge of the
>> screen.

Since the code snippet, that Eric posted, can draw most combinations of
aliens but not move the whole row, I think it's the second possibility.

>> So, pparently,
>> hitting RESP0 every 11 cycles and writing different values to NUSIZ
>> allows multiple
>> copies of objects (?)  The vertical delay is also set, if that matters.
>
>Well, this seems a technique that we haven't yet examined closely (and
>neither used in our games/demos).
>
>Can one draw multiple copies of a sprite hitting RESPx more than once in
>the same scanline? From the source code above it seems something like that,
>but I wouldn't be so sure.

I have just tried it out. As far as I can say, the trick seems to be the 
STA NUSIZ0. If you store a value in there, that would turn on multiple
copies of player0, and then do a STA RESP0 before the last copy is drawn,
the VCS would reset it's counter and keep drawing copies of player0.

You could do the next STA RESP0 right after a STA NUSIZ0, but since you
have to store to NUSIZ anyway, it's better to wait untill the second copy
has been drawn.

With the code from Galaxians you can do eight enemies in a row, if you put
#3 into all variables. Doing a 9th copy might be possible, if you move
the output a bit to the left and add another RESP0/NUSIZ0.


Ciao, Eckhard Stolberg


--
Archives updated once/day at http://www.biglist.com/lists/stella/archives/
Unsubscribing and other info at http://www.biglist.com/lists/stella/stella.html

Current Thread