F Put Block BLOCK,X,Y : This a highly optimised general purpose block routine. The X coordinate is chopped to ly on a 16 bit boundary, and only partial clipping is supported. It can handle Blocks of variable size. Masking is supported ! If X < 0 no Block is displayed. If Y < 0 no Block is displayed. If X > width of screen, no Block is displayed. If Y > height of screen, no Block is displayed. If X < width of screen but X+width of Block > width of screen, the Block is partially displayed. (clipped) If Y < height of screen but Y+height of Block > heigth of screen, the Block is partially displayed. (clipped) Due to the way the Blocks are stored, a linked list actually, you will not experience a tremendous speedup. The processor has to search through the list to find the address of the block to be displayed. So, if you are using a lot of blocks you will speedup things by about 20-180 % . These timings may vary because of the type of Cpu you are using and also depend on the size of the Block and his depth. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! Use the instructions below with great care, they work well. ! ! But they are not finished yet ! I must include some more testing. ! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Reserve Static Block X : Reserves X*8 bytes of memory for converting the linked block-list into a static block-list. (4 bytes for address block data and 4 bytes for it's mask) Be sure that you reserve enough memory for all entries ! Static Block Erase : Returns the memory back to the system used by the static block-list. Build Static Block : Converts the linked block-list into a static block-list. Be sure that you have reserved enough memory for all entries ! Ex.: you grabbed 50 blocks from a picture, so you should reserve memory for at least 50 entries. F Put Static Block BLOCK,X,Y : This a highly optimised general purpose block routine. The X coordinate is chopped to ly on a 16 bit boundary, and only partial clipping is supported. It can handle Blocks of variable size. Masking is supported ! If X < 0 no Block is displayed. If Y < 0 no Block is displayed. If X > width of screen, no Block is displayed. If Y > height of screen, no Block is displayed. If X < width of screen but X+width of Block > width of screen, the Block is partially displayed. (clipped) If Y < height of screen but Y+height of Block > heigth of screen, the Block is partially displayed. (clipped) Due to the way the Blocks are stored, a static list actually, you will have better timings ! The processor doesn't has to search through the list to find the address of the block to be displayed. So, if you are using a lot of blocks you will speedup things by about 40-260 % and more... These timings may vary because of the type of Cpu you are using and also depend on the size of the Block and his depth