1 ONERRORGOTO500 2 DEFINT H,P,A,I:DEFSTR W,B:W=CHR$(27)+"p":B=CHR$(27)+"q":FLT$="":M=.00001 3 N=0:H=1:F=0:S=0:P=0:I=320:A=I:C=0 4 DIM K(5):K(0)=1:K(1)=1:K(2)=1:K(3)=1:K(4)=1 5 PRINT,W:CLS:PRINT" Photographic Field Exposure System ";:PRINT;" (zone system) by W. Brady ";B; 6 PRINT" Program adjusts ISO speed rating for exposure conditions (computes EI)" 7 PRINT" Shutter speed and f-stop are not computed":FOR X=1TO1400:NEXT 10 OPEN"log.do" FOR APPEND AS 1 100 GOSUB1000:L=180 102 CLS:Q=0:FM$="t-x":N=0: 104 PRINT@0,"1>Film 2>Exposure 3>Process 4>Notes"; 110 PRINT@40,"Type: Filter: Give N"; 111 PRINT@45,W;FM$; 112 PRINT@55,LEFT$(FLT$,5); 113 PRINT@68,P; 114 PRINT@73,LEFT$(NO$,6);B; 166 PRINT@80," ISO: Lens:";W; 167 PRINT@85,USING"###";I; 168 PRINT@96,USING"###";L;:PRINT@106,C$; 169 PRINT@113,LEFT$(ZIII$,6);B; 170 PRINT@120,">>EI: f-stop:";W; 171 PRINT@125,USING"###";A; 172 PRINT@136,F; 173 PRINT@153,LEFT$(ZVIII$,6);B; 175 PRINT@168,"Shutter: sec";W; 176 PRINT@176,S$;B; 177 PRINT@200,"Neg#: Mag m= :";W; 178 PRINT@205,USING"##";H; 179 PRINT@216,M;B; 188 PRINT@240,"6>NEW 7>LOG+NEW 9>MENU " 190 PRINT@280,W;"Enter # to compute new EI >";B; 191 Q$=INKEY$:IFQ$=""THEN190 192 Q=VAL(Q$) 196 ON Q GOTO 201,206,205,209,,210,211,,212 200 CLS:PRINT@175,"computing";:A=I*K(0)*K(1)*K(2)*K(3)*1/K(4):GOTO102 201 CLS:INPUT"film type ";FM$:INPUT"ISO ";I:INPUT"Holder (neg) #";H:GOTO100 205 CLS:INPUT" Give N Processing ";P:GOTO100 206 CLS:INPUT"f-stop ";F:INPUT"Shutter Speed ";S$:GOSUB3000:GOSUB 800:GOSUB600:GOTO100 209 CLS:INPUT"Note ";NO$:INPUT"Zone III ";ZIII$:INPUT"Zone VIII ";ZVIII$:GOTO100 210 H=H+1:GOTO100 211 GOSUB10000:GOTO100 212 CLOSE:MENU 300 GOTO100 400 END 500 EN=ERR:PRINT 502 IF EN=11THEN PRINT"/0 error":GOTO100 504 PRINT"error ";EN;"in line ";ERL 550 END 600 CLS:Q=0:PRINT@0,"1>";" yellow (k2,#8)" 602 PRINT@20,"2> orange (ya2)" 604 PRINT@40,"3> red (r2,#25)" 606 PRINT@60,"4> green (po1)" 608 PRINT@80,"5> polarizer " 610 PRINT@100,"6> 80A " 612 PRINT@120,"7> 80B " 614 PRINT@140,"8> 80C " 616 PRINT@180,"9> 85A " 620 PRINT@240,"":INPUT"Select filter";Q 690 ON Q GOTO 701,702,703,704,705,706,707,708,709 700 FLT$="":RETURN 701 FLT$=FLT$+"K2":K(0)=.5:RETURN 702 FLT$=FLT$+"ya2":K(0)=.25:RETURN 703 FLT$=FLT$+"red":K(0)=.125:RETURN 704 FLT$=FLT$+"po1":K(0)=.25:RETURN 705 FLT$=FLT$+"+POL":K(1)=1/2.5:RETURN 706 FLT$=FLT$+"80A":K(0)=.25:RETURN 707 FLT$=FLT$+"80B":K(0)=2/3:RETURN 708 FLT$=FLT$+"80C":K(0)=.5:RETURN 709 FLT$=FLT$+"85A":K(0)=2/3:RETURN 710 RETURN 800 PRINT@80,W:INPUT"Lens Focal Length in mm";L:CLS 801 PRINT"METHOD:";B:PRINT" Bellows xtension OR":PRINT" ubject/Image size "; 802 A$=INKEY$:IFA$=""THEN802 803 IF A$="e"ORA$="E"THEN810 804 IF A$="s"ORA$="S"THEN820 805 IF A$=CHR$(13) THENRETURN 810 PRINT:INPUT"Bellows Extension in mm ";LE 811 INPUT"Subject Distance in feet ";SD:SD=SD*305 812 M=L/(SD-L):K(4)=(M+1)*(M+1):RETURN 820 PRINT:INPUT"Subject Size in feet ";SS:INPUT"Image size in inches ";IS 822 SS=SS*12:M=IS/SS:K(4)=(M+1)*(M+1):RETURN 1000 IF P=0 THEN RETURN 2000 IF P>0 THENK(2)=1.3*P 2010 IF P<0 THENK(2)=1/(1.3*(-1*P)) 2020 IF LEFT$(S$,2)<>"1/"THEN3000 2220 RETURN 3000 S=VAL(S$) 3002 IF LEFT$(S$,2)="1/"THEN:RETURN 3010 IF S=>1THENIFS<10THEN:K(3)=.5:C$="-10%" 3020 IF S>=10THENIFS<100THENK(3)=1/4:C$="-20%" 3040 IF S>=100THENK(3)=1/8:C$="-30%" 3900 RETURN 10000 PRINT#1,SPACE$(6);DAY$;" ";DATE$;" ";TIME$;" ";NO$ 10002 PRINT#1,SPACE$(6);"Zone III ";ZIII$;" Zone VIII ";ZVIII$ 10004 PRINT#1,SPACE$(6);"Neg#>";H;"Film >";FM$;" ISO> ";I;" Adjusted EI> ";A 10006 PRINT#1,SPACE$(6);"filter >";FLT$;" give N>";P;C$;" processing":PRINT#1,"":H=H+1:RETURN