THE BLITTER CHIP - RUMOURS DISCARDED by Wilfred Kilwinger
A lot of sence and non-sence has already been written about the
blitter. The first messages told of higher graphical resolutions
and even stereo sound. It took a while before people finally
began to realise what the blitter was all about. I'd like to talk
about the actual IC now.
The name 'blitter' is derived from 'Bit-BLT', which stands for
'Bit Block Transfer'. If we look at this term, we see what the
blitter chip actually does - it moves pieces of memory around.
Early computer used to be character-oriented (Like the Commodore
64, ED) and that's why graphical presentations were almost
impossible. I hereby think about CP/M, Mainframes and (though a
little less) MS/DOS machines (with the latter, one can achieve
quite something when adding the right cards). Later, one got
graphical oriented systems like the Apple MacIntosh, Amiga and of
course our own ST. These machines also have characters, but these
are drawn on the screen. A system like that is commonly referred
to as being a bit-mapped system, while it doesn't work with
characters on the screen but with groups of bits that represent
these characters.
Transferring memory.
A bit-mapped system is busy all the time to move and process bits
that are used for the screen and needs soft-and hardware
solutions to manage that. The ST has software solutions for that
as well as (since a short time) a piece of hardware. The software
is known under the name 'Line A routines' and the hardware is now
known as the blitter. Thus, the blitter is there to move and
process pieces of graphical memory. By moving, I mean that a
piece of graphical memory is placed to another piece of graphical
memory. For example: Every time you place a character on the
screen. Somewhere in your computer there is a character set, and
the software copies a part of that character memory to the
appropriate place on the screen so that the character becomes
visible.
Bit by bit.
The moving, copying and processing is done in a special way.
Instead of being done byte by byte, it is done bit by bit by
which logical operations can be performed on every bit. By doing
this, a bit can change its value. Byte by byte operation actually
can be performed, but these are a lot more coarse because one
byte (8 bits) can contains several screen pixels. If we conclude
something now, we can assume that the blitter is an IC that can
move groups of bits around (or copy them) and that can perform a
series of logical operations on these bits.
Like I said, the ST used to do this all in a software way,
through the Line A routines. The disadvantage of this method is
that the 68000 itself has to be used to perform these operations
- and it can't perform any other operation while doing that. This
causes loss of speed. Because the 68000 cannot simply use all its
time for Line A routines (it has to do several other tasks as
well, that take up a few microseconds), these routines are
consequently not performed as fast as they can. By using an IC
that does nothing else than this (like the blitter), we can use
the CPU for other tasks which results in faster screen processing
and a bit more time for the processor to do its work a bit
faster as well.
Little changed.
For programmers that'd like to start using the blitter, there's
really not much to tell. In the early days, one simply used VDI
and/or Line A routines and one wrote his own Bit BLT routines.
Nothing has changed here: One still cannot use VDI or Line A
routines, though not within an interrupt (because the chance is
there that an operation might clash with a blitter instruction,
which results in bombs or a system crash). To minimize the
trouble with existing software, Atari made the blitter
switchable, so that one can still make the old software work as
it should. So we can say that all software that uses the VDI/Line
A interfaces still works with the blitter (unless they are used
in interrupts). The number of blitter calls per second determines
the speed increase factor when compared with the old situation.
The programmer that used a bit BLT routine of his own will not
notice a speed increase, unless he will still switch to the Line
A routines.
The people at Atari have surely delivered a terrific piece of
work, by including blitter definitions in the Line A routines
several years back already.
Nonsense.
It is said that the new blitter routines can only be called from
assembler, but this is not the case: Use from e.g. C, Pascal,
Modula 2 and GfA Basic are also possible. In assembler,
everything goes faster, but it isn't necessary to use it!
Disclaimer
The text of the articles is identical to the originals like they appeared
in old ST NEWS issues. Please take into consideration that the author(s)
was (were) a lot younger and less responsible back then. So bad jokes,
bad English, youthful arrogance, insults, bravura, over-crediting and
tastelessness should be taken with at least a grain of salt. Any contact
and/or payment information, as well as deadlines/release dates of any
kind should be regarded as outdated. Due to the fact that these pages are
not actually contained in an Atari executable here, references to scroll
texts, featured demo screens and hidden articles may also be irrelevant.