100 REMark +-----------------------+ 110 REMark + QL draw routine + 120 REMark + APR 18, 1988 + 130 REMark + by Bob Schubel + 135 REMark + CIS 71320,262 + 140 REMark +-----------------------+ 150 : 160 DATA '-','=',CHR$(96),CHR$(92) 170 DATA 'Q','W','E','R','T','Y','U','I','O','P',CHR$(91),CHR$(93) 180 DATA 'A','S','D','F','G','H','J','K','L',';','"' 190 DATA 'Z','X','C','V','B','N','M',',','.','/' 200 : 210 WINDOW 512,256,0,0:PAPER 2:CLS 220 CSIZE 3,1:STRIP 0:INK 7,2 230 AT 3,4:PRINT' The Sinclair ';:ql:PRINT ' ' 240 OVER 1:UNDER 1:INK 4 250 AT 3,5:PRINT FILL$(' ',15) 260 PAPER 0:INK 7:OVER 0:UNDER 0 270 SCALE 400,0,0:INK 7:CSIZE 0,0 280 REMark draw_ql_at 0,240 290 outline 0,240 300 AT 11,4:PRINT'Sinclair' 310 AT 16,74:PRINT'QL' 320 CURSOR 26,123:PRINT'F1' 330 CURSOR 56,123:PRINT CHR$(127) 340 CURSOR 26,135:PRINT'F2' 350 CURSOR 57,135:PRINT'ALT' 360 CURSOR 26,147:PRINT'F3' 370 CURSOR 53,147:PRINT'CAPS' 380 CURSOR 304,147:PRINT'ENT' 390 CURSOR 26,160:PRINT'F4' 400 CURSOR 56,160:PRINT'SHIFT' 410 CURSOR 293,160:PRINT'SHIFT' 420 CURSOR 26,172:PRINT'F5' 430 CURSOR 53,172:PRINT'CTRL' 440 CURSOR 302,172:PRINT'ALT' 450 b=75:C=123 460 FOR I=1 TO 9,0 470 CURSOR b,C:PRINT I 480 b=b+19.2 490 END FOR I 500 b=269:RESTORE 510 FOR I=1 TO 4 520 CURSOR b,C:READ A$:PRINT A$ 530 b=b+19.4 540 END FOR I 550 b=84:C=135 560 FOR I=1 TO 12 570 READ A$:CURSOR b,C 580 PRINT A$ 590 b=b+19.4 600 END FOR I 610 b=90:C=147 620 FOR I=1 TO 11 630 CURSOR b,C:READ A$:PRINT A$ 640 b=b+19.4 650 END FOR I 660 b=98:C=160 670 FOR I=1 TO 10 680 CURSOR b,C:READ A$:PRINT A$ 690 b=b+19.4 700 END FOR I 710 CURSOR 89,171:PRINT CHR$(188) 720 CURSOR 108.6,171:PRINT CHR$(189) 730 CURSOR 264,172:PRINT CHR$(190) 740 CURSOR 282,172:PRINT CHR$(191) 750 PAUSE 60 760 draw_ql_at 0,240 770 BLOCK 2,4,21,184,244 780 BLOCK 2,4,355,184,2 790 BLOCK 2,4,420,184,2 800 SCALE 100,0,0:STOP 810 : 820 DEFine PROCedure draw_ql_at(x_pix,y_pix) 830 LOCal h_lines,KEYSs 840 FOR h_lines=0 TO 6 850 LINE_R TO 475,0 860 IF h_lines<6:POINT_R -475,-19 870 END FOR h_lines 880 LINE_R TO -22,0 TO 0,114 TO 22,0 TO 0,-114 TO -453,0 890 LINE_R TO 0,95 TO 20,0 TO 0,-95 900 LINE_R TO 6,0 TO 0,95 TO 19,0 TO 0,-19 TO 9.5,0 TO 0,-19 TO 5,0 910 LINE_R TO 0,-19 TO 9.5,0 TO 0,-19 TO -9.5,0 TO 0,-19 TO 19,0 TO 0,19 920 LINE_R TO 19,0 TO 0,-19 TO 133,0 TO 0,19 TO 19,0 TO 0,-19 TO 19,0 930 LINE_R TO 0,19 TO -9.5,0 TO 0,19 TO 9.5,0 TO 0,19 TO 14,0 TO 0,19 TO 19,0 940 LINE_R TO 0,-19 TO -18,0:INK 0:LINE_R TO 18,0:INK 7:LINE_R TO 0,-57 950 LINE_R TO 15,0 TO 0,-11 TO 0,125 TO 0,-19 TO -5.5,0 960 FOR KEYSs=1 TO 7 970 LINE_R TO 0,-19 TO -19,0 TO 0,19 TO -19,0 980 END FOR KEYSs 990 LINE_R TO 0,-19 TO 9.5,0 1000 FOR KEYSs=1 TO 6 1010 LINE_R TO 19,0 TO 0,-19 TO 19,0 TO 0,19 1020 END FOR KEYSs 1030 LINE_R TO 0,-19 TO -14,0 1040 FOR KEYSs=1 TO 5 1050 LINE_R TO -19,0 TO 0,-19 TO -19,0 TO 0,19 1060 END FOR KEYSs 1070 LINE_R TO 0,-19 TO 9.5,0 1080 FOR KEYSs=1 TO 5 1090 LINE_R TO 0,-19 TO 19,0 TO 0,19 TO 19,0 1100 END FOR KEYSs 1110 END DEFine draw_ql_at 1120 : 1130 DEFine PROCedure outline(x_pix,y_pix) 1140 INK 0:FILL 1 1150 POINT x_pix,y_pix 1160 LINE_R TO 465,0 TO 0,-11 TO 10,0 TO 0,-114 TO -10,0 TO 0,-11 1170 LINE_R TO -465,0 TO 0,136 TO 0,-11 1180 INK 7:FILL 0 1190 POINT x_pix,y_pix 1200 LINE_R TO 465,0 TO 0,-11 TO 10,0 TO 0,-114 TO -10,0 TO 0,-11 1210 LINE_R TO -465,0 TO 0,136 TO 0,-11 1220 END DEFine 1230 DEFine PROCedure ql 1240 INK 7,4:PRINT 'QL';:INK 4 1250 END DEFine ql