$ od -c -N 50000 [Indigo]<AltoSource>RSILSOURCES.DM!2>CursorStream.bcpl
0000000    /   /   C   u   r   s   o   r   S   t   r   e   a   m   .   b
0000020    c   p   l       u   t   i   l   i   t   y       f   o   r    
0000040    s   e   n   d   i   n   g       "   s   t   r   e   a   m   "
0000060        o   u   t   p   u   t       t   o       t   h   e       c
0000100    u   r   s   o   r  \r  \r   g   e   t       "   s   t   r   e
0000120    a   m   s   .   d   "  \r   g   e   t       "   a   l   t   o
0000140    d   e   f   s   .   d   "  \r  \r   e   x   t   e   r   n   a
0000160    l       [       I   n   i   t   C   u   r   s   o   r   ;    
0000200    W   r   i   t   e   C   u   r   s   o   r   ;       C   u   r
0000220    s   o   r   S       ]  \r   e   x   t   e   r   n   a   l    
0000240    [       C   r   e   a   t   e   D   i   s   p   l   a   y   S
0000260    t   r   e   a   m   ;       S   e   t   B   i   t   P   o   s
0000300    ;       Z   e   r   o   ;       M   o   v   e   B   l   o   c
0000320    k   ;       P   u   t   s       ]  \r  \r   s   t   a   t   i
0000340    c       C   u   r   s   o   r   S   =   0  \r  \r   /   /   T
0000360    h   i   s       p   r   o   c   e   e   d   u   r   e       m
0000400    u   s   t       b   e       c   a   l   l   e   d       f   i
0000420    r   s   t  \r   /   /   I   t       c   r   e   a   t   s    
0000440    a       s   m   a   l   l       S   t   r   e   a   m       D
0000460    C   B       f   o   r       t   e   x   t       t   o       b
0000500    e       p   l   a   c   e   d  \r   /   /   i   t       r   e
0000520    t   u   r   n   s       t   h   e       s   t   r   e   a   m
0000540        i   n       c   a   s   e       y   o   u       w   a   n
0000560    t       t   o       o   u   t   p   u   t       t   o       t
0000600    h   e       s   t   r   e   a   m       w   i   t   h   o   u
0000620    t       W   r   i   t   e   C   u   r   s   o   r  \r   /   /
0000640    T   h   e       t   h   r   e   e       p   a   r   a   m   e
0000660    t   e   r   s       a   r   e       p   o   i   n   t   e   r
0000700        t   o       a       b   u   f   f   e   r   ,       l   e
0000720    n   g   t   h       o   f       b   u   f   f   e   r   ,    
0000740    m   u   s   t       b   e       5   0       w   o   r   d   s
0000760        o   r       m   o   r   e  \r   /   /   p   o   i   n   t
0001000    e   r       t   o       a       f   o   n   t   ,       0    
0001020    f   o   r       s   y   s   f   o   n   t   ,       a   n   d
0001040        p   o   i   n   t   e   r       t   o       z   o   n   e
0001060    ,       s   y   s   z   o   n   e       i   f       z   e   r
0001100    o  \r  \r   l   e   t       I   n   i   t   C   u   r   s   o
0001120    r   (   b   u   f   f   ,   l   e   n   g   t   h   ,   f   n
0001140    t   ,   z   n   e   )       =   v   a   l   o   f  \r  \t   [
0001160   \r  \t   C   u   r   s   o   r   S       =       C   r   e   a
0001200    t   e   D   i   s   p   l   a   y   S   t   r   e   a   m   (
0001220    1   ,   b   u   f   f   ,   l   e   n   g   t   h   ,   f   n
0001240    t   ,   2   ,   D   S   s   t   o   p   r   i   g   h   t   ,
0001260    z   n   e   )  \r  \t   l   e   t       d   c   b       =    
0001300    C   u   r   s   o   r   S   >   >   D   S   .   f   d   c   b
0001320   \r  \t   /   /   Z   e   r   o   (   d   c   b   >   >   D   C
0001340    B   .   b   i   t   m   a   p   ,   3   2   )  \r  \t   S   e
0001360    t   B   i   t   P   o   s   (   C   u   r   s   o   r   S   ,
0001400    0   )  \r  \t   /   /   W   r   i   t   e   C   u   r   s   o
0001420    r   (   0   )  \r  \t   r   e   s   u   l   t   i   s       C
0001440    u   r   s   o   r   S  \r  \t   ]  \r  \r  \r  \r   /   /   t
0001460    h   i   s       p   r   o   c   e   e   d   u   r   e       s
0001500    e   n   d   s       "   p   a   r   a   m   "       t   o    
0001520    r   o   u   t   i   n   e   ,       a   n   d       c   o   p
0001540    i   e   s       t   h   e       r   e   s   u   l   t   i   n
0001560    g       b   i   t   m   a   p       i   n       t   h   e  \r
0001600    /   /   d   c   b       i   n   t   o       t   h   e       c
0001620    u   r   s   o   r  \r   /   /   e   x   a   m   p   l   e    
0001640    W   r   i   t   e   C   u   r   s   o   r   (   W   s   s   ,
0001660    "   H   i   "   )       d   i   s   p   l   a   y   s       H
0001700    i  \r   /   /   e   x   a   m   p   l   e       W   r   i   t
0001720    e   C   u   r   s   o   r   (   W   n   s   ,   c   n   t   )
0001740        d   i   s   p   l   a   y   s       c   n   t       r   i
0001760    g   h   t       j   u   s   t   i   f   i   e   d       i   n
0002000        d   e   c   i   m   a   l  \r   /   /   e   x   a   m   p
0002020    l   e       W   n   s   (   S   ,   v   a   l   ,   0   ,   8
0002040    )   ;       W   r   i   t   e   C   u   r   s   o   r   (   0
0002060    ,   0   )       d   i   s   p   l   a   y   s       w   h   a
0002100    t       y   o   u       w   a   n   t  \r   /   /   e   x   a
0002120    m   p   l   e       W   r   i   t   e   C   u   r   s   o   r
0002140    (   $   i   )       d   i   s   p   l   a   y   s       s   m
0002160    a   a   l   l       "   i   n   "       i   n       b   o   t
0002200  364   o   m       4       s   c   a   n       l   i   n   e   s
0002220        o   f       t   h   e       c   u   r   s   o   r  \r   /
0002240    /   e   x   a   m   p   l   e       W   r   i   t   e   C   u
0002260    r   s   o   r   (   $   o   )       d   i   s   p   l   a   y
0002300    s       s   m   a   a   l   l       "   o   u   t   "       i
0002320    n       b   o   t   t 357   m       4       s   c   a   n    
0002340    l   i   n   e   s       o   f       t   h   e       c   u   r
0002360    s   o   r  \r  \r   a   n   d       W   r   i   t   e   C   u
0002400    r   s   o   r   (   r   o   u   t   i   n   e   ,   p   a   r
0002420    a   m   )       b   e  \r  \t   [  \r  \t   l   e   t       I
0002440    n       =       t   a   b   l   e       [       #   2   2   6
0002460    0   ;       #   2   3   1   0   ;       #   2   2   1   0   ;
0002500        #   2   2   1   0       ]  \r  \t   l   e   t       O   u
0002520    t       =       t   a   b   l   e       [       #   7   4   4
0002540    4   7   ;       #   4   4   4   4   2   ;       #   4   4   4
0002560    4   2   ;       #   7   4   3   0   2       ]  \r  \t   i   f
0002600        r   o   u   t   i   n   e       e   q       $   i       t
0002620    h   e   n       [       M   o   v   e   B   l   o   c   k   (
0002640    #   4   4   5   ,   I   n   ,   4   )   ;       r   e   t   u
0002660    r   n       ]   /   /   i   n  \r  \t   i   f       r   o   u
0002700    t   i   n   e       e   q       $   o       t   h   e   n    
0002720    [       M   o   v   e   B   l   o   c   k   (   #   4   4   5
0002740    ,   O   u   t   ,   4   )   ;       r   e   t   u   r   n    
0002760    ]   /   /   o   u   t  \r  \t   i   f       r   o   u   t   i
0003000    n   e       t   h   e   n       r   o   u   t   i   n   e   (
0003020    C   u   r   s   o   r   S   ,   p   a   r   a   m   ,   2   )
0003040   \r  \t   l   e   t       d   c   b       =       C   u   r   s
0003060    o   r   S   >   >   D   S   .   f   d   c   b  \r  \t   l   e
0003100    t       b   i   t   m   a   p       =       d   c   b   >   >
0003120    D   C   B   .   b   i   t   m   a   p  \r  \t   f   o   r    
0003140    i       =       0       t   o       1   5       d   o       #
0003160    4   3   1   !   i       =       i       l   s       d   c   b
0003200    >   >   D   C   B   .   h   e   i   g   h   t   *   2   ?    
0003220    b   i   t   m   a   p   !   (   i       l   s   h   i   f   t
0003240        1   )   ,   0  \r  \t   P   u   t   s   (   C   u   r   s
0003260    o   r   S   ,       $   *   n   )   ;       S   e   t   B   i
0003300    t   P   o   s   (   C   u   r   s   o   r   S   ,   0   )  \r
0003320   \t   ]  \r  \r 032   (   6   3   5   )  \r 032  \r            
0003335