10 REM **************************** 20 REM Resistor colour code program 30 REM By Tim Surtell 40 REM **************************** 50 REM NC200 Version : 8/95 60 REM Downloaded from Tim's NC Users' Site 70 REM http://www.ncus.org.uk 80 CLS 90 PRINTTAB(27,0)CHR$19"Resistor Colour Code"CHR$20TAB(0,2)"Use left/right keys to move to different sections and up/down keys to change,"'"or use colour template." 100 FORI=0 TO 216 STEP 72:MOVEI,50:DRAWI,70:NEXT 110 MOVE0,50:DRAW216,50:MOVE0,70:DRAW216,70 120 PRINTTAB(1,8)"Black"TAB(13,8)"Black"TAB(25,8)"Black"TAB(40,8)"Value : 0 "CHR$234 130 cursor=5:band1=0:band2=0:band3=0:value=0 140 REPEAT 150 PRINTTAB(cursor,10);:VDU27,24 160 G=INKEY(1000) 170 PRINTTAB(cursor,10)" " 180 IF G=-1 cursor=5 190 IF G>68 AND G<90 AND cursor=5 PROCband1:GOTO270 200 IF G>68 AND G<90 AND cursor=17 PROCband2:GOTO270 210 IF G>68 AND G<90 AND cursor=29 PROCband3:GOTO270 220 IF G=242 AND cursor>5 cursor=cursor-12 230 IF G=243 AND cursor<29 cursor=cursor+12 240 IF (G=240 OR G=241) AND cursor=5 PROCband1 250 IF (G=240 OR G=241) AND cursor=17 PROCband2 260 IF (G=240 OR G=241) AND cursor=29 PROCband3 270 IF G>68 AND G<90 AND cursor<29 cursor=cursor+12:GOTO290 280 IF G>68 AND G<90 AND cursor=29 cursor=5 290 UNTIL FALSE 300 DEF PROCband1 310 IF G>68 AND G<90 PROCtemp:band1=b:GOTO360 320 IF G=240 AND band1=9 band1=0:GOTO360 330 IF G=240 AND band1<9 band1=band1+1:GOTO360 340 IF G=241 AND band1=0 band1=9:GOTO360 350 IF G=241 AND band1>0 band1=band1-1 360 RESTORE810:FORI=0 TO band1:READcolour$:NEXT 370 PRINTTAB(1,8)SPC11TAB(1,8)colour$ 380 PROCcolval 390 ENDPROC 400 DEF PROCband2 410 IF G>68 AND G<90 PROCtemp:band2=b:GOTO460 420 IF G=240 AND band2=9 band2=0:GOTO460 430 IF G=240 AND band2<9 band2=band2+1:GOTO460 440 IF G=241 AND band2=0 band2=9:GOTO460 450 IF G=241 AND band2>0 band2=band2-1 460 RESTORE810:FORI=0 TO band2:READcolour$:NEXT 470 PRINTTAB(13,8)SPC11TAB(13,8)colour$ 480 PROCcolval 490 ENDPROC 500 DEF PROCband3 510 IF G>68 AND G<90 PROCtemp:band3=b:GOTO560 520 IF G=240 AND band3=9 band3=0:GOTO560 530 IF G=240 AND band3<9 band3=band3+1:GOTO560 540 IF G=241 AND band3=0 band3=9:GOTO560 550 IF G=241 AND band3>0 band3=band3-1 560 RESTORE810:FORI=0 TO band3:READcolour$:NEXT 570 PRINTTAB(25,8)SPC11TAB(25,8)colour$ 580 PROCcolval 590 ENDPROC 600 DEF PROCcolval 610 value=0 620 value=band1*10 630 value=value+band2 640 value=value*10^band3 650 IF value/1000000>=1 PRINTTAB(48,8);value/1000000;" m";CHR$234;" ":ENDPROC 660 IF value/1000>=1 PRINTTAB(48,8);value/1000;" k";CHR$234;" ":ENDPROC 670 PRINTTAB(48,8);value;" ";CHR$234;" " 680 ENDPROC 690 DEF PROCtemp 700 IF G=81 b=0 710 IF G=87 b=1 720 IF G=69 b=2 730 IF G=82 b=3 740 IF G=84 b=4 750 IF G=89 b=5 760 IF G=85 b=6 770 IF G=73 b=7 780 IF G=79 b=8 790 IF G=80 b=9 800 ENDPROC 810 DATA Black, Brown, Red, Orange, Yellow, Green, Blue, Violet, Grey, White