10 REM > ElecPh 20 REM Show Electrical Supply Phases 30 : 40 MODE 1:os%=FNfx(0,1) 50 IFINKEY-1:os%=32 60 IFos%=32:MODE 2:h%=200 ELSE MODE 1:h%=256:VDU23,1;0;0;0;0,19,3,6,0,0,0 66 MODE1 70 IFos%=32:VDU 29,0;1024-800;28,0,24,39,0 80 t=65.33:ON ERROR IFFNerr:END 85 t=40 90 PROCplot 100 END 110 : 120 DEFFNerr:COLOUR3:IFERR=17:PROCmenu:=FALSE 130 PRINTTAB(0,30);:REPORT:PRINT" at line ";ERL 140 =TRUE 150 : 160 DEFPROCmenu:CLS:PRINTSPC(9)"Supply Phase Comparison"' 170 PRINTSPC5"1: 200v RMS"SPC5"6: 200v Peak" 180 PRINTSPC5"2: 220v RMS"SPC5"7: 220v Peak" 190 PRINTSPC5"3: 230v RMS"SPC5"8: 230v Peak" 200 PRINTSPC5"4: 240v RMS"SPC5"9: 240v Peak" 210 PRINTSPC5"5: 250v RMS"SPC5"0: 250v Peak" 220 PRINT'SPC5"X: Exit" 230 PRINT'SPC5"Press a key: ";:REPEATA$=GET$:UNTILINSTR("1234567890*Xx",A$) 240 IFA$="X" OR A$="x":END 250 IFA$="*":REPEATINPUTLINE"*"A$:OSCLIA$:UNTILA$="" 260 IFA$="1":t=56.75 270 IFA$="2":t=62.5 280 IFA$="3":t=65.33 290 IFA$="4":t=67.9 300 IFA$="5":t=70.75 310 IFA$="6":t=40.128 320 IFA$="7":t=44.195 330 IFA$="8":t=46.195 340 IFA$="9":t=48.01 350 IFA$="0":t=50 360 ENDPROC 370 : 380 DEFFNR:COLOUR1:="" 390 DEFFNY:COLOUR2:="" 400 DEFFNB:COLOUR3:="" 410 : 420 DEFFNr(x)=t*SINRAD(2*x-180) 430 DEFFNb(x)=FNr(x+120) 440 DEFFNy(x)=FNr(x+240) 450 : 460 DEFPROCplot:CLS:PRINTSPC(9)"Supply Phase Comparison" 470 i%=h%DIV2:j%=h%*4-i%:REM h%=256/200, i%=128/100, j%=896/700 480 GCOL 0,3:FOR Y=0 TO 3 490 MOVE 96,i%+h%*Y:DRAW 1280,i%+h%*Y 500 MOVE 96,i%+h%*Y-115:DRAW 96,i%+h%*Y+115 510 NEXT 520 PRINTTAB(0,11)FNY"Y"FNB"-B"TAB(0,19)"B-"FNR"R"TAB(0,27)"R"FNB"-"FNY"Y";FNB; 530 PRINTTAB(4,7)"3ph Peak: 000v RMS: 000v Ave: 000v" 540 PRINTTAB(4,8)"1ph Peak: 000v RMS: 000v Ave: 000v" 550 : 560 p1=0:p3=0 570 FOR X=96 TO 1140 STEP3 580 r=FNr(X):b=FNb(X):y=FNy(X) 590 GCOL 0,1:PLOT 69,X,r+j% 600 GCOL 0,2:PLOT 69,X,y+j% 610 GCOL 0,3:PLOT 69,X,b+j% 620 : 630 GCOL0,1:PLOT69,X,5*i%+b-y 640 GCOL0,2:PLOT69,X,3*i%+y-r 650 GCOL0,3:PLOT69,X,i%+r-b 660 : 670 COLOUR1:PRINTTAB(36,2);INT(5*r);" "; 680 COLOUR2:PRINTTAB(36,3);INT(5*y);" "; 690 COLOUR3:PRINTTAB(36,4);INT(5*b);" "; 700 : 710 COLOUR1:PRINTTAB(36,11);INT(5*(b-y));" "; 720 COLOUR2:PRINTTAB(36,19);INT(5*(y-r));" "; 730 COLOUR3:PRINTTAB(36,27);INT(5*(r-b));" "; 740 : 750 IFr>p1:p1=r:PRINTTAB(14,8);INT(5*p1);TAB(25,8);INT(5*p1*.7071);TAB(36,8);INT(5*p1*.67); 760 IFr-b>p3:p3=r-b:PRINTTAB(14,7);INT(5*p3);TAB(25,7);INT(5*p3*.7071);TAB(36,7);INT(5*p3*.67); 770 REM IFINKEY-1:REPEATUNTILNOTINKEY-1 780 NEXT 790 REPEATUNTIL0 800 : 810 DEFFNfx(A%,X%):LOCAL Y%:Y%=X%DIV256:=(USR&FFF4 AND&FFFF00)DIV256