Browse Prior Art Database

Software Sprite Control

IP.com Disclosure Number: IPCOM000038611D
Original Publication Date: 1987-Feb-01
Included in the Prior Art Database: 2005-Jan-31
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Beaven, PA: AUTHOR [+2]

Abstract

A sprite or graphical marker is normally moved by a user around a graphics display screen interactively via dedicated hardware. In this disclosure, hardware provided for updating bit planes is controlled by software to provide sprite function. This enables sprites of any size or shape, multiple sprites or compound sprites of selected colors to be implemented. A sprite is a graphical entity which can be moved around the viewing area of a graphics terminal. A user controls the position of the sprite by means of an input device, such as a keyboard, mouse or graphics tablet, using the sprite to point to areas on the display. Typically, a sprite is a fixed size area which overlays the screen image that would normally be displayed at the position occupied by the sprite.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Software Sprite Control

A sprite or graphical marker is normally moved by a user around a graphics display screen interactively via dedicated hardware. In this disclosure, hardware provided for updating bit planes is controlled by software to provide sprite function. This enables sprites of any size or shape, multiple sprites or compound sprites of selected colors to be implemented. A sprite is a graphical entity which can be moved around the viewing area of a graphics terminal. A user controls the position of the sprite by means of an input device, such as a keyboard, mouse or graphics tablet, using the sprite to point to areas on the display. Typically, a sprite is a fixed size area which overlays the screen image that would normally be displayed at the position occupied by the sprite. Each sprite pel (picture element) may be ON when the sprite's color is displayed or OFF when the graphics image is displayed. Sprites of fixed size are usually implemented in hardware such that their position on the display screen is controlled by X and Y position registers. The image that the sprite displays is defined in an area of bit-mapped memory that is dedicated for this purpose. This memory is often only one pel "deep" so that there is no possibility of defining displayed sprite pels as other than ON or OFF (i.e., the sprite is limited to one color). This article describes a way in which some of the drawbacks of a purely hardware-generated sprite can be overcome with software assisted by hardware originally designed to provide a fast way of updating a graphics bit plane. This feature is commonly called bit-blt hardware after its function, which is bit boundary block transfer. Basically, this hardware provides a way to copy one area of a graphics buffer to another area. Sprites with the following features are provided. Multiple sprites. OE Sprites are not constrained by hardware to a given size or shape. OE Multilayer sprites may be "assembled" to overcome the

limitations of hardware sprites in displays with a color

palette. The method used is to maintain a copy of the required sprite image in an unused area of the graphics buffer. This image is then written into the correct position of the graphics buffer using the bit-blt hardware. This bit-blt hardware may be a one-dimensional move (i.e., the software has to set up the hardware to move each horizontal or vertical slice of the sprite) or a two-dimensional move, in which case the software only has to set the hardware up once to copy the rectangular area containing the sprite. There is a performance implication to using this sprite control. With the pure hardware sprite, the software has merely to change the value of the sprite position registers to move the sprite around the graphics screen. With the above scheme, the software has to wait for the bit-blt hardware to complete its function each time the sprite is to ...