[stella] Studying River Raid Source.

SeaGtGruff at aol.com SeaGtGruff at aol.com
Thu Mar 15 22:34:41 CDT 2007


 
In a message dated 3/15/2007 9:13:48 PM Eastern Daylight Time,  
thom.cherryhomes at gmail.com writes:

I am in  the middle of studying the River Raid source code, and I am
wondering on  something maybe relatively simple, but I do have to
ask....

I see  the following in the graphic segment data:

...

; the data is  stored for interlaced display:
FuelA:
.byte  $FE ; |XXXXXXX |
.byte $DE ; |XX XXXX  |
.byte $DE ; |XX XXXX |

...

what  is meant by "interlaced display" in this case? I know what an
interlaced  picture is, but i'm not sure of the details for what is
being done in this  context?

-Thom



I've never looked at this disassembly before. Wow! :)
 
If you look carefully at the data for FuelA and FuelB, you'll notice that  
they must be combined in order to get the complete image (I added the commented  
numbers to the side):
 
; the data is stored for interlaced  display:
FuelA:
.byte $FE ; |XXXXXXX  | ; A01
.byte $DE ; |XX XXXX | ;  A02
.byte $DE ; |XX XXXX | ;  A03
.byte $FE ; |XXXXXXX | ;  A04
.byte $DE ; |XX XXXX | ;  A05
.byte $DE ; |XX XXXX | ;  A06
.byte $FE ; |XXXXXXX | ;  A07
.byte $D6 ; |XX X XX | ;  A08
.byte $D6 ; |XX X XX | ;  A09
.byte $DE ; |XX XXXX | ;  A10
.byte $CE ; |XX  XXX | ;  A11
FuelB:
.byte $C6 ;  |XX   XX | ; B01
.byte $DE ;  |XX XXXX | ; B02
.byte $DE ; |XX XXXX |  ; B03
.byte $C6 ; |XX   XX | ;  B04
.byte $CE ; |XX  XXX | ;  B05
.byte $C6 ; |XX   XX | ;  B06
.byte $C6 ; |XX   XX |  ; B07
.byte $D6 ; |XX X XX | ;  B08
       .byte $FE ;  |XXXXXXX | ; B09
.byte $DE ; |XX XXXX |  ; B10
.byte $DE ; |XX XXXX | ;  B11
.byte $7C ; | XXXXX  | ;  B12
 
And here's a blowup of the actual image to help us understand:
 
 



By examining the image and the data-- and noticing that FuelB has one more  
line of data than FuelA does-- we see that the image is drawn as follows:
 
       .byte $7C ; |  XXXXX  | ; B12
       .byte $C6 ;  |XX   XX | ; B01 <-- Think of this as A12 :)
.byte $DE ; |XX XXXX | ;  B11
.byte $CE ; |XX  XXX | ;  A11
.byte $DE ; |XX XXXX | ;  B10
.byte $DE ; |XX XXXX | ; A10
.byte $FE ;  |XXXXXXX | ; B09
.byte $D6 ; |XX X XX |  ; A09
.byte $D6 ; |XX X XX | ;  B08
       .byte $D6 ; |XX X XX | ;  A08
.byte $C6 ; |XX   XX |  ; B07
.byte $FE ; |XXXXXXX | ;  A07
.byte $C6 ; |XX   XX | ;  B06
.byte $DE ; |XX XXXX | ;  A06
.byte $CE ; |XX  XXX | ;  B05
.byte $DE ; |XX XXXX | ;  A05
.byte $C6 ; |XX   XX | ;  B04
.byte $FE ; |XXXXXXX | ;  A04
.byte $DE ; |XX XXXX | ;  B03
.byte $DE ; |XX XXXX | ;  A03
.byte $DE ; |XX XXXX | ;  B02
.byte $DE ; |XX XXXX | ;  A02
.byte $C6 ; |XX   XX | ;  B01

.byte $FE ; |XXXXXXX | ; A01
 
So in this case, "interlaced" means the data in table FuelA is interleaved  
with the data in table FuelB to get the complete image. It has nothing to do  
with interlacing (or interleaving) two fields to get a complete frame.
 
Michael
 



************************************** AOL now offers free email to everyone. 
 Find out more about what's free from AOL at http://www.aol.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.atariage.com/pipermail/stella/attachments/20070315/e02a372b/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 1476 bytes
Desc: not available
Url : http://www.atariage.com/pipermail/stella/attachments/20070315/e02a372b/attachment.gif 


More information about the Stella mailing list