Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!ncar!oddjob!gargoyle!att!rutgers!bellcore!u1100a!krohn
From: krohn@u1100a.UUCP (Eric Krohn)
Newsgroups: comp.lang.c
Subject: Re: Self-modifying code (really Blit graphics)
Message-ID: <2079@u1100a.UUCP>
Date: 13 Jul 88 15:57:18 GMT
References: <12330@ut-sally.UUCP> <225800044@uxe.cso.uiuc.edu> <8239@brl-smoke.ARPA>
Reply-To: krohn@u1100a.UUCP (Eric Krohn)
Organization: Bell Communications Research, Piscataway, NJ
Lines: 18

In article <8239@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) writes:
] As a significant example of C's efficiency for graphics programming,
] virtually all the code in the Blit, DMD (5620), and MTG (630)
] bitmapped terminals was written in C, and their graphics operations
] are extremely fast.  No self-modifying code was necessary.

Virtually all?  Yes.  The most critical?  No.
The bottom-most level of all screen updates is the infamous
bitblt function.  A 1982 BTL memo by John Reiser tells about the on-the-fly
code generation done by bitblt to achieve rather good performance on the
original Blit.  I've assumed that similar code was carried forward to the 630
and the 5620 (even with the CPU switch).
My 630's host is down for hardware upgrade now, so I can't disassemble the
firmware to see what code is really there.
-- 
--
Eric J. Krohn
krohn@ctt.ctt.bellcore.com  or  {bcr,bellcore}!u1100a!krohn
Bell Communications Research,	444 Hoes Ln,    Piscataway, NJ 08854