ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

141 lines
3.8 KiB

  1. 10 REM LIGHT-CURVE PROGRAM
  2. 20 REM APPLE II VERSION
  3. 30 GOSUB 1500
  4. 32 SCREEN 0: SCREEN 1: COLOR ,1 : REM
  5. 40 PRINT "TYPE OF BINARY SYSTEM:"
  6. 50 PRINT " 1. BINARY DWARF"
  7. 60 PRINT " 2. CONTACT BINARY"
  8. 70 PRINT " 3. SEMI-DETACHED"
  9. 80 PRINT " 4. DETACHED BINARY"
  10. 90 X1=0: INPUT "CHOICE ";Q
  11. 200 IF Q<>1 THEN 210
  12. 205 X1=.6: X2=.6: E=.1
  13. 210 IF Q<>2 THEN 220
  14. 215 X1=.8: X2=.4: E=.05
  15. 220 IF Q<>3 THEN 230
  16. 225 X1=.8: X2=.4: E=.02
  17. 230 IF Q<>4 THEN 240
  18. 235 X1=.8: X2=.4: E=0
  19. 240 IF X1=0 THEN 90
  20. 250 GOSUB 1500
  21. 260 PRINT "LIMB-DARKENING COEFFS:"
  22. 265 PRINT " FOR LARGER STAR ";X1
  23. 270 PRINT " FOR SECONDARY ";X2
  24. 280 PRINT
  25. 290 PRINT "OBLATENESS COEFF: ";E
  26. 300 PRINT
  27. 320 INPUT "CHANGES (Y OR N) ";A$
  28. 330 IF A$<>"Y" THEN 460
  29. 340 PRINT "ENTER NEW LIMB-DARKEN-"
  30. 341 PRINT "ING COEFFICIENTS:"
  31. 350 INPUT " FOR LARGER STAR ";X1
  32. 360 INPUT " FOR SECONDARY ";X2
  33. 410 PRINT: PRINT
  34. 430 INPUT "OBLATENESS COEFF ";E
  35. 450 REM
  36. 460 REM GET CHARACTERISTICS
  37. 480 GOSUB 1500
  38. 490 INPUT "ORBITAL RADIUS ";R
  39. 500 INPUT "INCLINATION ";I
  40. 520 INPUT "PRIMARY'S RADIUS ";R1
  41. 530 INPUT " LUMINOSITY ";L1
  42. 540 INPUT "SECONDARY RADIUS ";R2
  43. 560 INPUT " LUMINOSITY ";L2
  44. 570 P=100
  45. 580 REM : REM HGR: HCOLOR=3
  46. 582 GOSUB 1500: LOCATE 21 : REM GOSUB 1500: VTAB 21
  47. 590 REM
  48. 600 REM PLOT AXES
  49. 620 LINE (35,159)-(235,159) : REM HPLOT 35,159 TO 235,159
  50. 630 FOR J=0 TO 10
  51. 640 PSET (20*J+35,158) : REM HPLOT (20*J)+35,158
  52. 650 NEXT J
  53. 660 LINE (35,159)-(35,9) : REM HPLOT 35,159 TO 35,9
  54. 670 FOR K=0 TO 10
  55. 680 PSET (36,159-15*K) : REM HPLOT 36,159-(15*K)
  56. 690 NEXT K
  57. 700 PI=3.14159: RD=180/PI: DR=1/RD
  58. 710 REM
  59. 720 REM COMPUTE STAR POSITION
  60. 740 FOR V=1.8 TO 360 STEP 1.8
  61. 750 D=R*SIN(V*DR)
  62. 760 IF V>=180 THEN D=ABS(D)
  63. 770 REM
  64. 780 REM COMPUTE LUMINOSITIES FOR
  65. 781 REM TOTAL & ANNULAR ECLIPSES
  66. 800 IF I<90 THEN GOSUB 1250
  67. 810 GOSUB 1320
  68. 820 IF D>=(R1-R2) THEN 850
  69. 830 IF V>90 AND V<270 THEN B=L1-L2
  70. 835 IF V>90 AND V<270 THEN 850
  71. 840 K5=L1*(PI*R1^2-PI*R2^2)
  72. 845 B=L2+C1*K5/(PI*R1^2)
  73. 850 IF D>=(R1+R2) THEN B=L1+L2
  74. 860 IF D<(R1+R2) THEN GOSUB 970
  75. 870 PV=(V/1.8)+35
  76. 880 GOSUB 1380: GOSUB 1430
  77. 900 B0=139
  78. 905 B=B0-((B*OL)-DL)*P
  79. 910 B=INT(B+.5)
  80. 920 IF V<>1.8 THEN 930
  81. 925 PSET (PV,B): GOTO 940 : REM HPLOT PV,B: GOTO 940
  82. 930 LINE -(PV,B) : REM HPLOT TO PV,B
  83. 940 NEXT V
  84. 950 GOTO 1530
  85. 960 REM
  86. 970 REM COMPUTE OBSCUR'N ANGLES
  87. 980 K0=(R2^2)/(2*D*R1)
  88. 990 C5=K0*((D/R2)^2+(R1/R2)^2-1)
  89. 1000 D1=R1*C5: D2=D-D1
  90. 1020 H=SQR(R1*R1-D1*D1): S5=H/R1
  91. 1050 A1=ABS(ATN(S5/C5))*RD
  92. 1060 C6=D2/R2: S6=H/R2
  93. 1090 A2=ABS(ATN(S6/C6))*RD
  94. 1100 REM
  95. 1110 REM COMPUTE SECTOR AREAS &
  96. 1120 REM PARTIAL ECLIPSES
  97. 1130 T1=(H*D1)/2: T2=(H*D2)/2
  98. 1150 S2=PI*R2^2*2*A2/360
  99. 1160 S1=PI*R1^2*2*A1/360
  100. 1170 OB=(S1-T1)+(S2-T2)
  101. 1180 IF V>90 AND V<270 THEN 1205
  102. 1190 K1=L1*C1*(PI*R1^2-OB)
  103. 1195 B=L2+K1/(PI*R1^2)
  104. 1200 GOTO 1230
  105. 1205 K2=L2*C2*(PI*R2^2-OB)
  106. 1210 B=L1+K2/(PI*R2^2)
  107. 1220 IF V=360 THEN 1530
  108. 1230 RETURN
  109. 1240 REM
  110. 1250 REM CORRECT FOR INCLINATION
  111. 1260 K3=SIN((90-I)*DR)
  112. 1270 OP=R*SIN((V-90)*DR)*K3
  113. 1280 S=SQR(OP^2+D^2): D=S
  114. 1300 RETURN
  115. 1310 REM
  116. 1320 REM CORRECT FOR L-DARKENING
  117. 1340 C1=1-X1+X1*ABS(COS(V*DR))
  118. 1350 C2=1-X2+X2*ABS(COS(V*DR))
  119. 1360 RETURN
  120. 1370 REM
  121. 1380 REM CORRECT FOR OBLATENESS
  122. 1390 K4=(SIN(I*DR))^2*(COS(V*DR))^2
  123. 1400 OL=1-E*K4
  124. 1410 RETURN
  125. 1420 REM
  126. 1430 REM CORRECT FOR REFLECTION
  127. 1440 REM AND RERADIATION
  128. 1450 SH=.4*L1*R2^2: SC=.4*L2*R1^2
  129. 1460 SI=SIN(I*DR): CV=ABS(COS(V*DR))
  130. 1470 DL=.5*(SC+SH)+(SC-SH)*SI*CV
  131. 1471 DL=DL+.5*(SC+SH)*SI^2*CV^2
  132. 1475 DL=DL/3
  133. 1480 RETURN
  134. 1490 REM
  135. 1500 REM BLANK THE SCREEN
  136. 1510 CLS: RETURN : REM HOME: RETURN
  137. 1530 END
  138. 1540 REM ************************************
  139. 1550 REM APPEARED IN ASTRONOMICAL COMPUTING
  140. 1560 REM SKY & TELESCOPE - OCTOBER 1989 ISSUE
  141. 1570 REM ************************************