Skip to main content

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.