DEFINITION MODULE SDHEX;
FROM SYSTEM IMPORT ADDRESS;
TYPE sidetyp=(LEFT,RIGHT);
VAR side:sidetyp;
PROCEDURE setside(s:sidetyp);
PROCEDURE MAGNIFY(X,YD:CARDINAL);
PROCEDURE INVERT(X,YD:CARDINAL);
PROCEDURE SHOWSYMS(AD:ADDRESS;N:CARDINAL);
PROCEDURE SHRINK(AD:ADDRESS);
PROCEDURE SYMBOLX(X,Y:INTEGER;HIGH:CARDINAL;A:ADDRESS;C:CARDINAL);
VAR symwid,rightst,sideoff,HEIGHT:SHORTCARD;
END SDHEX.
IMPLEMENTATION MODULE SDHEX;
IMPORT SYMBOL;
FROM GRAPH0 IMPORT SCRNAD;
PROCEDURE setside(s:sidetyp);
BEGIN
side:=s;sideoff:=rightst*SHORTCARD(s)
END setside;
 
PROCEDURE MAGNIFY2(X,YD:CARDINAL);HEX
C1 D1 E1 E5 D5 C5 7D E6 07 4F 0C 7D CD (@SCRNAD) 3E
08 90 47 D9 2A (@sideoff) 4C 26 58 D9 5E 2C 56 2C 7E
C5 41 18 05 17 CB 12 CB 13 10 F9 C1 D5 D9 D1 06 10 36
00 CB 12 CB 13 38 02 36 3F 23 10 F3 0D C8 11 10
00 19 D9 CD (@DOWN2) 18 D1 END MAGNIFY2;
 
PROCEDURE INVERT2(X,YD:CARDINAL);HEX
E1 D1 C1 C5 D5 E5 79 E6 07 C6 20 6F 26 BD 3A (@HEIGHT)
   57 79 4E CD (@SCRNAD) 3E 08 90 47 7E A9 77 2C 7E
2F 77 2C 79 2F AE 77 15 C8 CD (@DOWN2) 18 ED END INVERT2;
 
PROCEDURE SHOWSYMS2(AD:ADDRESS;N:CARDINAL);HEX
C1 E1 D1 D5 E5 C5 65 AF 6F E5 3A (@HEIGHT) 4F 06 08 
26 40 18 03 CD (@DOWN2+1) 1A 77 13 2C 1A 77 13 0D 20 F3
E1 2C 2C 25 20 E2 C9 END SHOWSYMS2;
 
PROCEDURE SHRINK2(AD:ADDRESS);HEX
ED 5B (@sideoff) 4A 16 58 06 01 1A 13 FE 3F CB 10 30
F8 70 23 CB 5B 20 F0 7B C6 10 5F 30 01 14 0D 20
E6 C9 END SHRINK2;
 
PROCEDURE DOWN2;HEX
2D 2D 24 05 C0 06 08 7D C6 20 6F D8 7C 90 67 C9
END DOWN2;
 
PROCEDURE SYMBOL2(X,Y:INTEGER;HIGH:CARDINAL;A:ADDRESS;C:CARDINAL);
HEX C3 (@SYMBOL.SYMBOL2) END SYMBOL2;
 
PROCEDURE MAGNIFY1(X,YD:CARDINAL);HEX
C1 D1 E1 E5 D5 C5 7D E6 07 4F 0C 7D CD (@SCRNAD) 3E
08 90 47 D9 2A (@sideoff) 4C 26 58 D9 7E 2C 5E C5 41
18 03 CB 13 17 10 FB C1 D9 06 08 36 00 17 38 02
36 3F 23 10 F6 0D C8 11 18 00 19 D9 CD (@DOWN1) 18
DA END MAGNIFY1;
 
PROCEDURE INVERT1(X,YD:CARDINAL);HEX
E1 D1 C1 C5 D5 E5 79 E6 07 C6 20 6F 26 BD 3A (@HEIGHT)
   57 79 4E CD (@SCRNAD) 3E 08 90 47 7E A9 77 2C 79
2F AE 77 15 C8 CD (@DOWN1) 18 F1 END INVERT1;
 
PROCEDURE SHOWSYMS1(AD:ADDRESS;N:CARDINAL);HEX
C1 E1 D1 D5 E5 C5 65 AF 6F E5 3A (@HEIGHT) 4F 06 08 
26 40 18 03 CD (@DOWN1+1) 1A 77 13 0D 20 F7 E1 2C 25
20 E7 C9 END SHOWSYMS1;
 
PROCEDURE SHRINK1(AD:ADDRESS);HEX
ED 5B (@sideoff) 4A 16 58 06 01 1A 13 FE 3F CB 10 30
F8 70 23 7B C6 18 5F 30 01 14 0D 20 EA C9 END SHRINK1;
 
PROCEDURE DOWN1;HEX
2D 24 05 C0 06 08 7D C6 20 6F D8 7C 90 67 C9
END DOWN1;
 
PROCEDURE SYMBOL1(X,Y:INTEGER;HIGH:CARDINAL;A:ADDRESS;C:CARDINAL);
HEX C3 (@SYMBOL.SYMBOL1) END SYMBOL1;
 
PROCEDURE MAGNIFY(X,YD:CARDINAL);
BEGIN
IF symwid=8 THEN MAGNIFY1(X,YD)
 ELSE MAGNIFY2(X,YD) END
END MAGNIFY;
 
PROCEDURE INVERT(X,YD:CARDINAL);
BEGIN
IF symwid=8 THEN INVERT1(X,YD)
 ELSE INVERT2(X,YD) END
END INVERT;
 
PROCEDURE SHOWSYMS(AD:ADDRESS;N:CARDINAL);
BEGIN
IF symwid=8 THEN SHOWSYMS1(AD,N)
 ELSE SHOWSYMS2(AD,N) END
END SHOWSYMS;
 
PROCEDURE SHRINK(AD:ADDRESS);
BEGIN
IF symwid=8 THEN SHRINK1(AD)
 ELSE SHRINK2(AD) END;
END SHRINK;
 
 
PROCEDURE SYMBOLX(X,Y:INTEGER;HIGH:CARDINAL;A:ADDRESS;C:CARDINAL);
BEGIN
IF symwid=8 THEN SYMBOL1(X,Y,HIGH,A,C)
 ELSE SYMBOL2(X,Y,HIGH,A,C) END;
END SYMBOLX;
 

END SDHEX.
