%EXTERNALROUTINE SNOOPY(%STRING(63) FILE) %INTEGER I,J,K %ROUTINESPEC ROWOUT(%INTEGERARRAYNAME L) %OWNINTEGERARRAY L1(32:95)=X'00',X'18',X'36',X'14',X'3E',X'71',X'18', X'18',X'0C',X'18',X'00',X'00',X'00',X'00',X'00',X'01',X'3E',X'0C', X'3E',X'7F',X'60',X'7F',X'3E',X'7F',X'3E',X'3E',X'00',X'00',X'04', X'00',X'20',X'3C',X'3E',X'08',X'7E',X'3E',X'7E',X'7F', X'7F',X'3E',X'63',X'1E',X'07',X'63',X'60',X'41',X'43',X'3E',X'7E', X'3E',X'7E',X'3E',X'3F',X'63',X'63',X'63',X'41',X'42',X'7F', X'3C',X'00',X'3C',X'08',X'00' %OWNINTEGERARRAY L2(32:95)=X'00',X'18',X'36',X'14',X'49',X'52',X'24', X'18',X'18',X'0C',X'22',X'08',X'00',X'00',X'00',X'02',X'63',X'1C', X'43',X'06',X'60',X'60',X'63',X'03',X'63',X'63',X'00',X'18',X'08', X'00',X'10',X'66',X'41',X'14',X'63',X'63',X'63',X'60', X'60',X'63',X'63',X'0C',X'03',X'66',X'60',X'63',X'63',X'63',X'63', X'63',X'63',X'63',X'0C',X'63',X'63',X'63',X'63',X'42',X'02', X'30',X'00',X'0C',X'1C',X'00' %OWNINTEGERARRAY L3(32:95)=X'00',X'18',X'36',X'7F',X'48',X'74',X'18', X'18',X'18',X'0C',X'14',X'08',X'00',X'00',X'00',X'04',X'63',X'0C', X'06',X'0C',X'6C',X'60',X'60',X'06',X'63',X'63',X'18',X'18',X'10', X'7E',X'08',X'06',X'5F',X'22',X'63',X'60',X'63',X'60', X'60',X'60',X'63',X'0C',X'03',X'6C',X'60',X'77',X'73',X'63',X'63', X'63',X'63',X'60',X'0C',X'63',X'63',X'63',X'36',X'66',X'04', X'30',X'00',X'0C',X'2A',X'00' %OWNINTEGERARRAY L4(32:95)=X'00',X'18',X'00',X'14',X'3E',X'08',X'19', X'00',X'18',X'0C',X'3E',X'3E',X'00',X'7E',X'00',X'08',X'63',X'0C', X'0C',X'1E',X'6C',X'7E',X'7E',X'0C',X'3E',X'3E',X'18',X'00',X'20', X'00',X'04',X'0C',X'53',X'63',X'7E',X'60',X'63',X'7C', X'7C',X'60',X'7F',X'0C',X'03',X'78',X'60',X'6B',X'6B',X'63',X'7E', X'63',X'7E',X'3E',X'0C',X'63',X'63',X'63',X'1C',X'3C',X'08', X'30',X'7F',X'0C',X'08',X'00' %OWNINTEGERARRAY L5(32:95)=X'00',X'18',X'00',X'7F',X'09',X'17',X'26', X'00',X'18',X'0C',X'14',X'08',X'18',X'00',X'00',X'10',X'63',X'0C', X'18',X'03',X'7F',X'03',X'63',X'18',X'63',X'03',X'00',X'18',X'10', X'7E',X'08',X'18',X'5F',X'7F',X'63',X'60',X'63',X'60', X'60',X'67',X'63',X'0C',X'03',X'6C',X'60',X'63',X'67',X'63',X'60', X'6B',X'63',X'03',X'0C',X'63',X'22',X'6B',X'36',X'18',X'10', X'30',X'01',X'0C',X'08',X'00' %OWNINTEGERARRAY L6(32:95)=X'00',X'00',X'00',X'14',X'49',X'25',X'46', X'00',X'18',X'0C',X'22',X'08',X'18',X'00',X'18',X'20',X'63',X'0C', X'30',X'63',X'0C',X'63',X'63',X'30',X'63',X'03',X'18',X'18',X'08', X'00',X'10',X'00',X'40',X'63',X'63',X'63',X'63',X'60', X'60',X'63',X'63',X'0C',X'63',X'66',X'60',X'63',X'63',X'63',X'60', X'67',X'63',X'63',X'0C',X'63',X'14',X'77',X'63',X'18',X'20', X'30',X'01',X'0C',X'08',X'00' %OWNINTEGERARRAY L7(32:95)=X'00',X'18',X'00',X'14',X'3E',X'47',X'39', X'00',X'0C',X'18',X'00',X'00',X'08',X'00',X'18',X'40',X'3E',X'1E', X'7F',X'3E',X'0C',X'3E',X'3E',X'60',X'3E',X'06',X'18',X'08',X'04', X'00',X'20',X'18',X'3F',X'63',X'7E',X'3E',X'7E',X'7F', X'60',X'3E',X'63',X'1E',X'3E',X'63',X'7F',X'63',X'63',X'3E',X'60', X'3E',X'63',X'3E',X'0C',X'3E',X'08',X'22',X'41',X'18',X'7F', X'3C',X'00',X'3C',X'08',X'7F' %OWNINTEGERARRAY S(1:1006)=%C -56, 1,-3, 1,-26, 17, 0,-56, 1,-3, 1,-22, 8,-8, 10, 0,-56, 1,-3, 1,-21, 5,-17, 9, 0,-56, 1,-3, 1,-16, 11,-20, 8, 0,-56, 1,-3, 1,-17, 2,-3, 8,-21, 6, 0, -56, 1,-3, 1,-16, 3,-9, 2,-14, 1,-8, 7, 0,-56, 1, -3, 1,-14, 3,-25, 6,-8, 5, 0,-56, 1,-3, 1,-12, 4, -27, 7,-8, 4, 0,-56, 1,-3, 1,-11, 4,-31, 7,-7, 4, 0,-56, 1,-3, 1,-9, 4,-34, 5,-9, 4, 0,-56, 1,-3, 1,-7, 5,-38, 1,-12, 3, 0,-56, 1,-3, 1,-5, 5,-1, 2,-50, 4, 0,-56, 1,-3, 1,-2, 11,-51, 4, 0,-56, 1, -3, 7,-2, 5,-52, 3, 0,-31, 13,-12, 1,-3, 5,-19, 2, -41, 3, 0,-28, 29,-3, 1,-22, 7,-36, 1,-1, 2, 0,-25, 8,-23, 1,-3, 1,-23, 9,-32, 5, 0,-23, 5,-28, 1,-3, 1,-25, 10,-28, 6, 0,-22, 5,-29, 1,-3, 1,-27, 9,-26, 7, 0,-21, 4,-31, 1,-3, 1,-30, 6,-25, 8, 0,-19, 4, -33, 1,-3, 1,-32, 1,-28, 8, 0,-19, 4,-33, 1,-3, 1, -60, 9, 0,-18, 3,-35, 1,-3, 1,-55, 2,-2, 10, 0,-17, 3,-36, 1,-3, 1,-54, 2,-2, 11, 0,-16, 3,-26, 3,-8, 1,-3, 1,-53, 2,-2, 12, 0,-16, 2,-23, 11,-4, 1,-3, 1,-52, 2,-2, 13, 0,-16, 2,-19, 18,-1, 1,-3, 1,-51, 2,-2, 14, 0,-15, 2,-19, 19,-1, 1,-3, 1,-50, 2,-2, 15, 0,-15, 2,-20, 16,-3, 1,-3, 1,-49, 2,-2, 16, 0, -15, 2,-26, 9,-4, 1,-3, 1,-48, 2,-2, 17, 0,-15, 2, -39, 1,-3, 1,-47, 2,-2, 18, 0,-15, 2,-39, 1,-3, 1, -46, 2,-2, 19, 0,-15, 3,-38, 1,-3, 1,-45, 2,-2, 20, 0,-16, 3,-37, 1,-3, 1,-44, 2,-2, 21, 0,-16, 4,-36, 1,-3, 1,-43, 3,-1, 21, 0,-17, 4,-35, 1,-3, 1,-42, 4,-1, 21, 0,-18, 4,-34, 1,-3, 1,-39, 4,-1, 2,-1, 20, 0,-19, 6,-31, 1,-3, 1,-36, 5,-2, 24, 0,-20, 7, -29, 1,-3, 1,-33, 9,-1, 23, 0,-23, 14,-19, 1,-3, 1, -29, 8,-6, 23, 0,-28, 29,-3, 1,-27, 6,-10, 23, 0,-37, 26,-22, 6,-13, 22, 0,-36, 12,-4, 2,-9, 1,-1, 1,-17, 5,-16, 22, 0,-36, 11,-4, 3,-7, 1,-4, 1,-15, 5,-17, 21, 0,-36, 10,-3, 2,-11, 4,-14, 4,-20, 20, 0,-36, 9, -4, 2,-3, 1,-24, 3,-23, 18, 0,-37, 7,-5, 2,-1, 3, -24, 2,-25, 16, 0,-37, 6,-6, 2,-5, 7,-1, 10,-5, 2, -25, 15, 0,-37, 4,-7, 2,-2, 6,-4, 4,-1, 15,-25, 13, 0,-37, 2,-8, 2,-1, 4,-10, 3,-1, 14,-27, 10, 0,-45, 3,-1, 2,-10, 1,-4, 2,-11, 2,-29, 7, 0,-43, 3,-1, 1,-12, 2,-6, 1,-10, 2,-30, 5, 0,-41, 3,-3, 1,-2, 1,-6, 3,-1, 2,-5, 2,-10, 2, 0,-39, 3,-6, 2,-2, 1,-3, 3,-1, 2,-7, 1,-8, 4, 0,-37, 3,-10, 7,-3, 2,-7, 1,-6, 2,-2, 2, 0,-34, 4,-16, 3,-3, 2,-7, 2,-4, 2,-3, 2, 0,-32, 4,-16, 2,-6, 2,-7, 2,-3, 2,-4, 2, 0,-30, 3,-17, 3,-7, 2,-8, 2,-1, 2,-5, 2, 0,-30, 2,-16, 3,-9, 2,-9, 3,-6, 2, 0,-30, 3, -13, 4,-9, 2,-19, 2, 0,-31, 3,-11, 3,-11, 2,-20, 2, 0,-33, 3,-7, 2,-14, 2,-20, 2, 0,-34, 3,-5, 2,-15, 2,-18, 4, 0,-36, 3,-1, 3,-16, 2,-17, 2,-1, 2, 0, -37, 3,-19, 2,-15, 2,-3, 2, 0,-35, 3,-21, 2,-12, 3, -6, 2, 0,-33, 3,-24, 2,-10, 3,-7, 2, 0,-31, 4,-25, 3,-7, 3,-9, 2, 0,-30, 3,-28, 2,-5, 3,-11, 2, 0, -29, 3,-30, 4,-1, 3,-12, 2, 0,-27, 4,-32, 4,-15, 2, 0,-26, 3,-53, 2, 0,-26, 2,-54, 2, 0,-25, 3,-53, 2, 0,-25, 2,-53, 3, 0,-25, 2,-52, 3, 0,-25, 3,-49, 4, 0,-26, 2,-46, 5, 0,-26, 3,-42, 6, 0,-27, 4,-40, 3, 0,-30, 4,-37, 2, 0,-32, 7,-32, 2, 0,-37, 2,-32, 2, 0,-37, 2,-16, 2,-14, 2, 0,-37, 2,-16, 2,-14, 2, 0, -37, 2,-16, 2,-14, 2, 0,-37, 2,-16, 2,-14, 2, 0,-37, 2,-16, 2,-14, 2, 0,-37, 2,-16, 2,-14, 2,-1, 9, 0, -23, 11,-3, 2,-16, 2,-12, 24, 0,-17, 22,-16, 2,-11, 2, -17, 10, 0,-12, 8,-35, 2,-11, 2,-17, 10, 0,-12, 8,-35, 2,-38, 5, 0,-9, 5,-41, 2,-31, 1,-9, 4, 0,-7, 4, -25, 1,-18, 2,-33, 1,-9, 1,-1, 1, 0,-5, 3,-11, 1, -15, 1,-18, 4,-22, 1,-11, 1,-9, 2, 0,-4, 2,-12, 1, -15, 1,-17, 2,-3, 3,-23, 1,-10, 1,-5, 4, 0,-4, 3, -10, 1,-11, 7,-11, 6,-7, 12,-8, 6,-7, 9, 0,-6, 11, -1, 14,-1, 15,-20, 27, 0,-9, 6,-7, 4,-12, 7,-42, 6, 0 %INTEGERARRAY A1,A2,A3,A4,A5,A6,A7(1:11) %EXTERNALROUTINESPEC DEFINE(%STRING(63) S) %EXTERNALROUTINESPEC SET MARGINS(%INTEGER S,L,R) DEFINE('STREAM01,'.FILE) SELECT OUTPUT(1) SET MARGINS(1,1,132) NEWPAGE NEWLINES(10) %CYCLE I=1,1,2 %CYCLE J=1,1,119 PRINT SYMBOL('*') %REPEAT NEWLINE %REPEAT NC: READ SYMBOL(I) %IF I='.' %THEN ->SN %IF I#'*' %THEN ->NC %CYCLE J=1,1,11 READ SYMBOL(I) %IF I<33 %OR I>122 %THEN I=32 %IF I>=96 %THEN I=I-32 A1(J)=L1(I) A2(J)=L2(I) A3(J)=L3(I) A4(J)=L4(I) A5(J)=L5(I) A6(J)=L6(I) A7(J)=L7(I) %REPEAT NL: READ SYMBOL(I) %IF I#10 %THEN ->NL %CYCLE I=1,1,3 PRINT STRING('**') SPACES(115) PRINT STRING('** ') %REPEAT ROWOUT(A1) ROWOUT(A2) ROWOUT(A3) ROWOUT(A4) ROWOUT(A5) ROWOUT(A6) ROWOUT(A7) %CYCLE I=1,1,2 PRINT STRING('**') SPACES(115) PRINT STRING('** ') %REPEAT ->NC SN: %CYCLE I=1,1,2 %CYCLE J=1,1,119 PRINT SYMBOL('*') %REPEAT NEWLINE %REPEAT %CYCLE I=1,1,26 SPACES(56) PRINT STRING('* * ') %REPEAT %CYCLE I=1,1,1006 J=S(I) %IF J>0 %THEN %START %CYCLE K=1,1,J PRINT SYMBOL('*') %REPEAT ->LOOP ; %FINISH %IF J=0 %THEN NEWLINE %ELSE SPACES(-J) LOOP:%REPEAT NEWPAGE %STOP %ROUTINE ROWOUT(%INTEGERARRAYNAME A) %INTEGER I,J,K PRINT STRING('** ') %CYCLE I=1,1,11 SPACE J=A(I) %CYCLE K=6,-1,0 %IF J>>K&1=0 %THEN SPACE %ELSE PRINT SYMBOL('*') %REPEAT SPACE %REPEAT PRINT STRING(' ** ') %END %END %ENDOFFILE