The source for Spacewar http://www.atariage.com/users/ericball/spacewar.zip has a routine to take a list of sprite positions and develop a the display lists. It's a little strange because SPRDL2 has to create the 16x16 ship sprites from the 16x8 graphics. SPRDL1 handles the 8x8 sprites and may be easier to understand. It also handles top to bottom and side to side wrap around. There are two ways to determine which display lists a sprite belongs in. Either have the Y position map to a memory address directly (which restricts the size of the display lists), or use a lookup table (see Spacewar). Then you will need to have an index pointer to the end of the list, again either a separate table or embeded in the list (again see Spacewar). As you can guess, one of the objectives for Spacewar is to fill that sample code gap. So if there is something in there which needs to be explained better, let me know so I can update the comments.