Cursor 8.0 Cursor VIDC20 has a hardware cursor 32 pixels wide and any number of pixels high. Its 2 bits/pixel allow 4 colours, which include "transparent" plus three other colours from a selection oŁ 2Z4. It is possible to display the cursor in the horizontal border, but not in the vertical border. The cursor has a 3 entry palette which is 28 bits wide, allowing each cursor logical colour to be any physical colour. In addition, there is a 28 bit wide border colour register. At the start of every frame, 16 bytes of cursor data are transferred to VIDC20 during the horizontal retrace period. This is enough data for two raster's worth of cursor. After they have been displayed, a request is made for another 16 bytes. Thus, in normal mode, requests are made on every other raster on which there is cursor, and enough data is transferred for two rasters each. in Hi-Res mode, a request is made every raster. Note that the cursor data is always transferred in bursts of four words, and is always presented to VIDC20 on the lower 32 data bits, irrespective of the memory configuration chosen. Note that even when a cursor is not being displayed, VIDC20 will still make a request for cursor data at the start of every frame. The memory controller may choose to ignore this, or may satisfy the request with arbitrary data. 8.1 Cursor in HiRes Mode In order to allow micro-pixel resolution of the cursor in Hi-Res mode when operating at 4 micro-pixels per normal pixel, it is necessary to define 2 bits per micro-pixel, or 8 bits per normal pixel. The 16 bytes of cursor data available for each raster can thus generate 64p-pixels of cursor. In Hi-Res mode the cursor palette is not used (though the border may be programmed). Refer to Chapter 9.0 Hi-Res Support. The cursor is always positioned to align with a normal pixel. In order to position the cursor to a 4-pixel horizontally, four different copies of the cursor are required: each copy defines the cursor offset by a single p-pixel. It is possible to define transparency to a resolution of a IL-pixel, so by selecting the correct cursor image, the required position can be achieved. 8.2 Cursor in Interlace Mode As stated earlier, VIDC20 and a suitable memory controller can generate true interlace displays, where the data in memory is contiguous irrespective of whether interlace is selected or not. The cursor however needs special treatment. A description of how the cursor is handled with an ARM memory controller follows. VIDC20 can only display a cursor starting on an even field, and there must be the same number oŁ rasters of cursor in each field. The cursor data consists of a linear buffer, and the ARM memory controller only reinitialises the cursor pointer during the retrace period of every even frame. Thus when the cursor is required to start on an even field the cursor buffer consists of the data for the even field, followed by the data for the odd field. When the cursor is required to start on an odd field the cursor buffer consists of a transparent raster followed by the data for the odd field, followed by the data for the even field, ending with a transparent raster. It is simplest therefore to have two cursor buffers as described. Depending on whether the cursor is required to start on an even or odd field, the cursor buffer pointer in the memory controller is 35