Home » Personal collection » Acorn hard disk » misc » misc3 » shipwren/TITLE

shipwren/TITLE

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn hard disk » misc » misc3
Filename: shipwren/TITLE
Read OK:
File size: 0456 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10 MODE 1
   15 VDU 23,1,0;0;0;0;
   20 alpha=2:REM distance of observer from centre of sphere divided by radius of sphere
   30 xcen=640
   40 ycen=512
   50 rad=450
   60 thetaINT=4.5
   70 phiINT=5
   80 FOR thetaL=0 TO 180-thetaINT STEP thetaINT
   90 thetaH=thetaL+thetaINT
  100 IF thetaL<180/PI*ASN(1/alpha) OR thetaH>180-180/PI*ASN(1/alpha) THEN 240
  110 phiminL=-180+180/PI*ASN(1/alpha/SIN(thetaL*PI/180))
  120 phimaxL=-180/PI*ASN(1/alpha/SIN(thetaL*PI/180))
  130 phiminH=-180+180/PI*ASN(1/alpha/SIN(thetaH*PI/180))
  140 phimaxH=-180/PI*ASN(1/alpha/SIN(thetaH*PI/180))
  150 FOR phiL=-180 TO -phiINT STEP phiINT
  160 phiH=phiL+phiINT
  170 IF phiL<phiminL OR phiL<phiminH OR phiH>phimaxL OR phiH>phimaxH THEN GOTO230
  180 GCOL 0,((INT((phiL+180)/phiINT)+(thetaL DIV thetaINT)) MOD 3)+1
  190 MOVE FNx(thetaL,phiL),FNy(thetaL,phiL)
  200 MOVE FNx(thetaL,phiH),FNy(thetaL,phiH)
  210 PLOT 85,FNx(thetaH,phiL),FNy(thetaH,phiL)
  220 PLOT 85,FNx(thetaH,phiH),FNy(thetaH,phiH)
  230 NEXT phiL
  240 NEXT thetaL
  245 *SA. SCREEN 3000 8000
  250 GOTO250
  260 DEFFNx(theta,phi)
  270 thetarad=PI/180*theta
  280 phirad=PI/180*phi
  290 A=rad*SQR(alpha^2-1)/(alpha+SIN(thetarad)*SIN(phirad))
  300 =xcen+A*SIN(thetarad)*COS(phirad)
  310 DEFFNy(theta,phi)
  320 =ycen+A*COS(thetarad)

 � 1
 � 23,1,0;0;0;0;
U alpha=2:� distance of observer from centre of sphere divided by radius of sphere

 xcen=640
(
 ycen=512
2 rad=450
< thetaINT=4.5
F
 phiINT=5
P) � thetaL=0 � 180-thetaINT � thetaINT
Z thetaH=thetaL+thetaINT
dC � thetaL<180/�*�(1/alpha) � thetaH>180-180/�*�(1/alpha) � �dp@
n2 phiminL=-180+180/�*�(1/alpha/�(thetaL*�/180))
x. phimaxL=-180/�*�(1/alpha/�(thetaL*�/180))
�2 phiminH=-180+180/�*�(1/alpha/�(thetaH*�/180))
�. phimaxH=-180/�*�(1/alpha/�(thetaH*�/180))
�# � phiL=-180 � -phiINT � phiINT
� phiH=phiL+phiINT
�H � phiL<phiminL � phiL<phiminH � phiH>phimaxL � phiH>phimaxH � �df@
�; � 0,((�((phiL+180)/phiINT)+(thetaL � thetaINT)) � 3)+1
�& � �x(thetaL,phiL),�y(thetaL,phiL)
�& � �x(thetaL,phiH),�y(thetaL,phiH)
�) � 85,�x(thetaH,phiL),�y(thetaH,phiL)
�) � 85,�x(thetaH,phiH),�y(thetaH,phiH)
� � phiL
�
 � thetaL
� *SA. SCREEN 3000 8000
�
 �dz@
 ݤx(theta,phi)
 thetarad=�/180*theta
 phirad=�/180*phi
"5 A=rad*�(alpha^2-1)/(alpha+�(thetarad)*�(phirad))
," =xcen+A*�(thetarad)*�(phirad)
6 ݤy(theta,phi)
@ =ycen+A*�(thetarad)
�
00000000  0d 00 0a 08 20 eb 20 31  0d 00 0f 14 20 ef 20 32  |.... . 1.... . 2|
00000010  33 2c 31 2c 30 3b 30 3b  30 3b 30 3b 0d 00 14 55  |3,1,0;0;0;0;...U|
00000020  20 61 6c 70 68 61 3d 32  3a f4 20 64 69 73 74 61  | alpha=2:. dista|
00000030  6e 63 65 20 6f 66 20 6f  62 73 65 72 76 65 72 20  |nce of observer |
00000040  66 72 6f 6d 20 63 65 6e  74 72 65 20 6f 66 20 73  |from centre of s|
00000050  70 68 65 72 65 20 64 69  76 69 64 65 64 20 62 79  |phere divided by|
00000060  20 72 61 64 69 75 73 20  6f 66 20 73 70 68 65 72  | radius of spher|
00000070  65 0d 00 1e 0d 20 78 63  65 6e 3d 36 34 30 0d 00  |e.... xcen=640..|
00000080  28 0d 20 79 63 65 6e 3d  35 31 32 0d 00 32 0c 20  |(. ycen=512..2. |
00000090  72 61 64 3d 34 35 30 0d  00 3c 11 20 74 68 65 74  |rad=450..<. thet|
000000a0  61 49 4e 54 3d 34 2e 35  0d 00 46 0d 20 70 68 69  |aINT=4.5..F. phi|
000000b0  49 4e 54 3d 35 0d 00 50  29 20 e3 20 74 68 65 74  |INT=5..P) . thet|
000000c0  61 4c 3d 30 20 b8 20 31  38 30 2d 74 68 65 74 61  |aL=0 . 180-theta|
000000d0  49 4e 54 20 88 20 74 68  65 74 61 49 4e 54 0d 00  |INT . thetaINT..|
000000e0  5a 1b 20 74 68 65 74 61  48 3d 74 68 65 74 61 4c  |Z. thetaH=thetaL|
000000f0  2b 74 68 65 74 61 49 4e  54 0d 00 64 43 20 e7 20  |+thetaINT..dC . |
00000100  74 68 65 74 61 4c 3c 31  38 30 2f af 2a 98 28 31  |thetaL<180/.*.(1|
00000110  2f 61 6c 70 68 61 29 20  84 20 74 68 65 74 61 48  |/alpha) . thetaH|
00000120  3e 31 38 30 2d 31 38 30  2f af 2a 98 28 31 2f 61  |>180-180/.*.(1/a|
00000130  6c 70 68 61 29 20 8c 20  8d 64 70 40 0d 00 6e 32  |lpha) . .dp@..n2|
00000140  20 70 68 69 6d 69 6e 4c  3d 2d 31 38 30 2b 31 38  | phiminL=-180+18|
00000150  30 2f af 2a 98 28 31 2f  61 6c 70 68 61 2f b5 28  |0/.*.(1/alpha/.(|
00000160  74 68 65 74 61 4c 2a af  2f 31 38 30 29 29 0d 00  |thetaL*./180))..|
00000170  78 2e 20 70 68 69 6d 61  78 4c 3d 2d 31 38 30 2f  |x. phimaxL=-180/|
00000180  af 2a 98 28 31 2f 61 6c  70 68 61 2f b5 28 74 68  |.*.(1/alpha/.(th|
00000190  65 74 61 4c 2a af 2f 31  38 30 29 29 0d 00 82 32  |etaL*./180))...2|
000001a0  20 70 68 69 6d 69 6e 48  3d 2d 31 38 30 2b 31 38  | phiminH=-180+18|
000001b0  30 2f af 2a 98 28 31 2f  61 6c 70 68 61 2f b5 28  |0/.*.(1/alpha/.(|
000001c0  74 68 65 74 61 48 2a af  2f 31 38 30 29 29 0d 00  |thetaH*./180))..|
000001d0  8c 2e 20 70 68 69 6d 61  78 48 3d 2d 31 38 30 2f  |.. phimaxH=-180/|
000001e0  af 2a 98 28 31 2f 61 6c  70 68 61 2f b5 28 74 68  |.*.(1/alpha/.(th|
000001f0  65 74 61 48 2a af 2f 31  38 30 29 29 0d 00 96 23  |etaH*./180))...#|
00000200  20 e3 20 70 68 69 4c 3d  2d 31 38 30 20 b8 20 2d  | . phiL=-180 . -|
00000210  70 68 69 49 4e 54 20 88  20 70 68 69 49 4e 54 0d  |phiINT . phiINT.|
00000220  00 a0 15 20 70 68 69 48  3d 70 68 69 4c 2b 70 68  |... phiH=phiL+ph|
00000230  69 49 4e 54 0d 00 aa 48  20 e7 20 70 68 69 4c 3c  |iINT...H . phiL<|
00000240  70 68 69 6d 69 6e 4c 20  84 20 70 68 69 4c 3c 70  |phiminL . phiL<p|
00000250  68 69 6d 69 6e 48 20 84  20 70 68 69 48 3e 70 68  |himinH . phiH>ph|
00000260  69 6d 61 78 4c 20 84 20  70 68 69 48 3e 70 68 69  |imaxL . phiH>phi|
00000270  6d 61 78 48 20 8c 20 e5  8d 64 66 40 0d 00 b4 3b  |maxH . ..df@...;|
00000280  20 e6 20 30 2c 28 28 a8  28 28 70 68 69 4c 2b 31  | . 0,((.((phiL+1|
00000290  38 30 29 2f 70 68 69 49  4e 54 29 2b 28 74 68 65  |80)/phiINT)+(the|
000002a0  74 61 4c 20 81 20 74 68  65 74 61 49 4e 54 29 29  |taL . thetaINT))|
000002b0  20 83 20 33 29 2b 31 0d  00 be 26 20 ec 20 a4 78  | . 3)+1...& . .x|
000002c0  28 74 68 65 74 61 4c 2c  70 68 69 4c 29 2c a4 79  |(thetaL,phiL),.y|
000002d0  28 74 68 65 74 61 4c 2c  70 68 69 4c 29 0d 00 c8  |(thetaL,phiL)...|
000002e0  26 20 ec 20 a4 78 28 74  68 65 74 61 4c 2c 70 68  |& . .x(thetaL,ph|
000002f0  69 48 29 2c a4 79 28 74  68 65 74 61 4c 2c 70 68  |iH),.y(thetaL,ph|
00000300  69 48 29 0d 00 d2 29 20  f0 20 38 35 2c a4 78 28  |iH)...) . 85,.x(|
00000310  74 68 65 74 61 48 2c 70  68 69 4c 29 2c a4 79 28  |thetaH,phiL),.y(|
00000320  74 68 65 74 61 48 2c 70  68 69 4c 29 0d 00 dc 29  |thetaH,phiL)...)|
00000330  20 f0 20 38 35 2c a4 78  28 74 68 65 74 61 48 2c  | . 85,.x(thetaH,|
00000340  70 68 69 48 29 2c a4 79  28 74 68 65 74 61 48 2c  |phiH),.y(thetaH,|
00000350  70 68 69 48 29 0d 00 e6  0b 20 ed 20 70 68 69 4c  |phiH).... . phiL|
00000360  0d 00 f0 0d 20 ed 20 74  68 65 74 61 4c 0d 00 f5  |.... . thetaL...|
00000370  1a 20 2a 53 41 2e 20 53  43 52 45 45 4e 20 33 30  |. *SA. SCREEN 30|
00000380  30 30 20 38 30 30 30 0d  00 fa 0a 20 e5 8d 64 7a  |00 8000.... ..dz|
00000390  40 0d 01 04 13 20 dd a4  78 28 74 68 65 74 61 2c  |@.... ..x(theta,|
000003a0  70 68 69 29 0d 01 0e 19  20 74 68 65 74 61 72 61  |phi).... thetara|
000003b0  64 3d af 2f 31 38 30 2a  74 68 65 74 61 0d 01 18  |d=./180*theta...|
000003c0  15 20 70 68 69 72 61 64  3d af 2f 31 38 30 2a 70  |. phirad=./180*p|
000003d0  68 69 0d 01 22 35 20 41  3d 72 61 64 2a b6 28 61  |hi.."5 A=rad*.(a|
000003e0  6c 70 68 61 5e 32 2d 31  29 2f 28 61 6c 70 68 61  |lpha^2-1)/(alpha|
000003f0  2b b5 28 74 68 65 74 61  72 61 64 29 2a b5 28 70  |+.(thetarad)*.(p|
00000400  68 69 72 61 64 29 29 0d  01 2c 22 20 3d 78 63 65  |hirad))..," =xce|
00000410  6e 2b 41 2a b5 28 74 68  65 74 61 72 61 64 29 2a  |n+A*.(thetarad)*|
00000420  9b 28 70 68 69 72 61 64  29 0d 01 36 13 20 dd a4  |.(phirad)..6. ..|
00000430  79 28 74 68 65 74 61 2c  70 68 69 29 0d 01 40 18  |y(theta,phi)..@.|
00000440  20 3d 79 63 65 6e 2b 41  2a 9b 28 74 68 65 74 61  | =ycen+A*.(theta|
00000450  72 61 64 29 0d ff                                 |rad)..|
00000456