- GOTO SCREEN begin *>SCREEN begin - PUT LARGE TEXT AT (6,2): "Doboy Setup" - DELAY 500 rem call backlight(2) - CLEAR GRAPHICS SCREEN - CLEAR SCREEN - PUT LARGE TEXT AT (3,1): "BAG SETUP SCREEN" - PUT TEXT AT (7,3): "MEASURE THE TOTAL BAG LENGTH" - GRAPHIC: DRAW BOX FROM (35,40) TO (200,60) - GRAPHIC: DRAW LINE FROM (200,28) TO (200,37) - GRAPHIC: DRAW LINE FROM (35,28) TO (35,37) - GRAPHIC: DRAW LINE FROM (35,32) TO (40,30) - GRAPHIC: DRAW LINE FROM (35,32) TO (40,34) - GRAPHIC: DRAW LINE FROM (35,32) TO (100,32) - GRAPHIC: DRAW LINE FROM (125,32) TO (200,32) - GRAPHIC: DRAW LINE FROM (200,32) TO (195,34) - GRAPHIC: DRAW LINE FROM (200,32) TO (195,30) - GET NUMBER length! AT (18,5) USING "##.#" DEFAULT 5 - CLEAR GRAPHICS SCREEN - CLEAR SCREEN - PUT LARGE TEXT AT (3,1): "BAG SETUP SCREEN" - PUT TEXT AT (4,3): "MEASURE END OF BAG TO REGISTRATION" - GRAPHIC: DRAW BOX FROM (35,40) TO (200,60) - GRAPHIC: DRAW LINE FROM (200,30) TO (200,39) - GRAPHIC: DRAW LINE FROM (200,34) TO (195,32) - GRAPHIC: DRAW LINE FROM (200,34) TO (195,36) - GRAPHIC: DRAW LINE FROM (125,34) TO (200,34) - GRAPHIC: DRAW FILLED BOX FROM (75,43) TO (85,48) - GRAPHIC: DRAW LINE FROM (75,30) TO (75,45) - GRAPHIC: DRAW LINE FROM (75,34) TO (110,34) - GRAPHIC: DRAW LINE FROM (75,34) TO (80,32) - GRAPHIC: DRAW LINE FROM (75,34) TO (80,36) - GET NUMBER reglngth! AT (20,5) USING "##.#" DEFAULT 0.5 - CLEAR GRAPHICS SCREEN - CLEAR SCREEN - COMMENT "c-current, a-actual, t-theoretical" dgrepin&=16 ctsprev&=4000 ctspdgre!=ctsprev&/360 clutch%=0 error!=0 margin!=0.05 tdegree!=length!/ctspdgre! - COMMENT "Now set up the I/O interrupt" call lowbits(2) IO24 "01111" ON IO24 GOSUB ioint GOTO main label top *>SCREEN main - PUT LARGE NUMBER tdegree! AT (14,1) USING "###.###" LABEL topoloop - PUT LARGE TEXT AT (1,1): "Clc'd degree:" - PUT LARGE TEXT AT (1,2): "Act'l degree:" - PUT LARGE TEXT AT (1,3): "Crn't degree:" call readcnt(1,count&) cdegree!=count&/ctspdgre! if clutch%=1 then gosub aclutch - PUT LARGE NUMBER cdegree! AT (14,3) USING "###.###" goto topoloop LABEL ioint INP ioin& IF BIT(ioin&,5)=1 THEN RETURN adegree!=count&/ctspdgre! if adegree!-cdegree!>margin! then clutch%=1 - PUT LARGE NUMBER adegree! AT (14,2) USING "###.###" IO24 "01111" RETURN LABEL aclutch if adegree!-cdegree!>margin! then clutch%=1 else clutch%=0 if clutch%=1 then out map "0XXX" else out map "1XXX" RETURN - END OF PSEUDOCODE