Home » Personal collection » Acorn ADFS disks » Electron » Digital_pictures_2.ADF » GAMES2/HARMOGRAPH

GAMES2/HARMOGRAPH

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 ADFS disks » Electron » Digital_pictures_2.ADF
Filename: GAMES2/HARMOGRAPH
Read OK:
File size: 03C1 bytes
Load address: FFFF0E00
Exec address: FFFF8023
File contents
   10REM PROGRAM HARMONOGRAPH
   20REM AUTHOR DAVID COLOUR NICHOLS
   30REM VERSION E1.3
   40REM ELBUG AUG/SEPT 1984
   50REM PROGRAM SUBJECT TO COPYRIGHT
   60:
  100MODE 6:VDU23,1,0;0;0;0;
  110COLOUR 129:COLOUR0
  120PRINTTAB(13,12)"PLEASE WAIT."
  130COLOUR 128:COLOUR1
  140C%=255:Q%=C%/4:X%=640:Y%=512:A=400
  150DIM sin(C%)
  160FORI%=0TOC%
  170sin(I%)=SIN(I%*2*PI/C%) 
  180NEXT
  190MODE 4:VDU19,0,4,0,0,0,0
  200ON ERROR GOTO 440
  210VDU 23,1,0;0;0;0; 
  220R1=RND(C%):R2=(R1+Q%)MODC%
  230R3=RND(C%):R4=(R3+Q%)MODC%
  240A1=RND(A):A2=RND(A)
  250A3=RND(A):A4=RND(A)
  260F1=RND(1)*7:F2=RND(1)*9:B%=RND(C%)
  270X1=sin(R1)*A1:X2=sin(R2)*A2
  280X3=sin(R3)*A3:X4=sin(R4)*A4
  290 Y1=sin((Q%+R1)MODC%)*A1
  300Y2=sin((Q%+R2)MODC%)*A2
  310Y3=sin((Q%+R3)MODC%)*A3
  320Y4=sin((Q%+R4)MODC%)*A4
  330M%=4
  340I%=0
  350REPEAT
  360I%=I%+1
  370T1%=F1*I%ANDC%:T2%=B%+F2*I%ANDC%
  380T3%=Q%+T1%ANDC%:T4%=Q%+T2%ANDC%
  390PLOTM%,X1*sin(T1%)+X2*sin(T3%)+X3*sin(T2%)+X4*sin(T4%)+X%,Y1*sin(T1%)+Y2*sin(T3%)+Y3*sin(T2%)+Y4*sin(T4%)+Y% 
  400M%=5
  410UNTIL FALSE
  420END
  430:
  440IF ERR <>17 REPORT:PRINT" at line ";ERL:END
  450ON ERROR GOTO 190
  460REPEAT UNTIL GET=32
  470ON ERROR GOTO 440
  480GOTO 350

� PROGRAM HARMONOGRAPH
!� AUTHOR DAVID COLOUR NICHOLS
� VERSION E1.3
(� ELBUG AUG/SEPT 1984
2"� PROGRAM SUBJECT TO COPYRIGHT
<:
d� 6:�23,1,0;0;0;0;
n� 129:�0
x�13,12)"PLEASE WAIT."
�� 128:�1
�&C%=255:Q%=C%/4:X%=640:Y%=512:A=400
�
� sin(C%)
��I%=0�C%
�sin(I%)=�(I%*2*�/C%) 
��
�� 4:�19,0,4,0,0,0,0
�� � � �txA
�� 23,1,0;0;0;0; 
�R1=�(C%):R2=(R1+Q%)�C%
�R3=�(C%):R4=(R3+Q%)�C%
�A1=�(A):A2=�(A)
�A3=�(A):A4=�(A)
 F1=�(1)*7:F2=�(1)*9:B%=�(C%)
X1=sin(R1)*A1:X2=sin(R2)*A2
X3=sin(R3)*A3:X4=sin(R4)*A4
" Y1=sin((Q%+R1)�C%)*A1
,Y2=sin((Q%+R2)�C%)*A2
6Y3=sin((Q%+R3)�C%)*A3
@Y4=sin((Q%+R4)�C%)*A4
JM%=4
TI%=0
^�
hI%=I%+1
r T1%=F1*I%�C%:T2%=B%+F2*I%�C%
|T3%=Q%+T1%�C%:T4%=Q%+T2%�C%
�n�M%,X1*sin(T1%)+X2*sin(T3%)+X3*sin(T2%)+X4*sin(T4%)+X%,Y1*sin(T1%)+Y2*sin(T3%)+Y3*sin(T2%)+Y4*sin(T4%)+Y% 
�M%=5
�� �
��
�:
�� � <>17 �:�" at line ";�:�
�� � � �t~@
�� � �=32
�� � � �txA
�
� �D^A
�
00000000  0d 00 0a 1a f4 20 50 52  4f 47 52 41 4d 20 48 41  |..... PROGRAM HA|
00000010  52 4d 4f 4e 4f 47 52 41  50 48 0d 00 14 21 f4 20  |RMONOGRAPH...!. |
00000020  41 55 54 48 4f 52 20 44  41 56 49 44 20 43 4f 4c  |AUTHOR DAVID COL|
00000030  4f 55 52 20 4e 49 43 48  4f 4c 53 0d 00 1e 12 f4  |OUR NICHOLS.....|
00000040  20 56 45 52 53 49 4f 4e  20 45 31 2e 33 0d 00 28  | VERSION E1.3..(|
00000050  19 f4 20 45 4c 42 55 47  20 41 55 47 2f 53 45 50  |.. ELBUG AUG/SEP|
00000060  54 20 31 39 38 34 0d 00  32 22 f4 20 50 52 4f 47  |T 1984..2". PROG|
00000070  52 41 4d 20 53 55 42 4a  45 43 54 20 54 4f 20 43  |RAM SUBJECT TO C|
00000080  4f 50 59 52 49 47 48 54  0d 00 3c 05 3a 0d 00 64  |OPYRIGHT..<.:..d|
00000090  16 eb 20 36 3a ef 32 33  2c 31 2c 30 3b 30 3b 30  |.. 6:.23,1,0;0;0|
000000a0  3b 30 3b 0d 00 6e 0c fb  20 31 32 39 3a fb 30 0d  |;0;..n.. 129:.0.|
000000b0  00 78 1a f1 8a 31 33 2c  31 32 29 22 50 4c 45 41  |.x...13,12)"PLEA|
000000c0  53 45 20 57 41 49 54 2e  22 0d 00 82 0c fb 20 31  |SE WAIT."..... 1|
000000d0  32 38 3a fb 31 0d 00 8c  26 43 25 3d 32 35 35 3a  |28:.1...&C%=255:|
000000e0  51 25 3d 43 25 2f 34 3a  58 25 3d 36 34 30 3a 59  |Q%=C%/4:X%=640:Y|
000000f0  25 3d 35 31 32 3a 41 3d  34 30 30 0d 00 96 0d de  |%=512:A=400.....|
00000100  20 73 69 6e 28 43 25 29  0d 00 a0 0c e3 49 25 3d  | sin(C%).....I%=|
00000110  30 b8 43 25 0d 00 aa 19  73 69 6e 28 49 25 29 3d  |0.C%....sin(I%)=|
00000120  b5 28 49 25 2a 32 2a af  2f 43 25 29 20 0d 00 b4  |.(I%*2*./C%) ...|
00000130  05 ed 0d 00 be 17 eb 20  34 3a ef 31 39 2c 30 2c  |....... 4:.19,0,|
00000140  34 2c 30 2c 30 2c 30 2c  30 0d 00 c8 0e ee 20 85  |4,0,0,0,0..... .|
00000150  20 e5 20 8d 74 78 41 0d  00 d2 14 ef 20 32 33 2c  | . .txA..... 23,|
00000160  31 2c 30 3b 30 3b 30 3b  30 3b 20 0d 00 dc 1a 52  |1,0;0;0;0; ....R|
00000170  31 3d b3 28 43 25 29 3a  52 32 3d 28 52 31 2b 51  |1=.(C%):R2=(R1+Q|
00000180  25 29 83 43 25 0d 00 e6  1a 52 33 3d b3 28 43 25  |%).C%....R3=.(C%|
00000190  29 3a 52 34 3d 28 52 33  2b 51 25 29 83 43 25 0d  |):R4=(R3+Q%).C%.|
000001a0  00 f0 13 41 31 3d b3 28  41 29 3a 41 32 3d b3 28  |...A1=.(A):A2=.(|
000001b0  41 29 0d 00 fa 13 41 33  3d b3 28 41 29 3a 41 34  |A)....A3=.(A):A4|
000001c0  3d b3 28 41 29 0d 01 04  20 46 31 3d b3 28 31 29  |=.(A)... F1=.(1)|
000001d0  2a 37 3a 46 32 3d b3 28  31 29 2a 39 3a 42 25 3d  |*7:F2=.(1)*9:B%=|
000001e0  b3 28 43 25 29 0d 01 0e  1f 58 31 3d 73 69 6e 28  |.(C%)....X1=sin(|
000001f0  52 31 29 2a 41 31 3a 58  32 3d 73 69 6e 28 52 32  |R1)*A1:X2=sin(R2|
00000200  29 2a 41 32 0d 01 18 1f  58 33 3d 73 69 6e 28 52  |)*A2....X3=sin(R|
00000210  33 29 2a 41 33 3a 58 34  3d 73 69 6e 28 52 34 29  |3)*A3:X4=sin(R4)|
00000220  2a 41 34 0d 01 22 1a 20  59 31 3d 73 69 6e 28 28  |*A4..". Y1=sin((|
00000230  51 25 2b 52 31 29 83 43  25 29 2a 41 31 0d 01 2c  |Q%+R1).C%)*A1..,|
00000240  19 59 32 3d 73 69 6e 28  28 51 25 2b 52 32 29 83  |.Y2=sin((Q%+R2).|
00000250  43 25 29 2a 41 32 0d 01  36 19 59 33 3d 73 69 6e  |C%)*A2..6.Y3=sin|
00000260  28 28 51 25 2b 52 33 29  83 43 25 29 2a 41 33 0d  |((Q%+R3).C%)*A3.|
00000270  01 40 19 59 34 3d 73 69  6e 28 28 51 25 2b 52 34  |.@.Y4=sin((Q%+R4|
00000280  29 83 43 25 29 2a 41 34  0d 01 4a 08 4d 25 3d 34  |).C%)*A4..J.M%=4|
00000290  0d 01 54 08 49 25 3d 30  0d 01 5e 05 f5 0d 01 68  |..T.I%=0..^....h|
000002a0  0b 49 25 3d 49 25 2b 31  0d 01 72 20 54 31 25 3d  |.I%=I%+1..r T1%=|
000002b0  46 31 2a 49 25 80 43 25  3a 54 32 25 3d 42 25 2b  |F1*I%.C%:T2%=B%+|
000002c0  46 32 2a 49 25 80 43 25  0d 01 7c 1f 54 33 25 3d  |F2*I%.C%..|.T3%=|
000002d0  51 25 2b 54 31 25 80 43  25 3a 54 34 25 3d 51 25  |Q%+T1%.C%:T4%=Q%|
000002e0  2b 54 32 25 80 43 25 0d  01 86 6e f0 4d 25 2c 58  |+T2%.C%...n.M%,X|
000002f0  31 2a 73 69 6e 28 54 31  25 29 2b 58 32 2a 73 69  |1*sin(T1%)+X2*si|
00000300  6e 28 54 33 25 29 2b 58  33 2a 73 69 6e 28 54 32  |n(T3%)+X3*sin(T2|
00000310  25 29 2b 58 34 2a 73 69  6e 28 54 34 25 29 2b 58  |%)+X4*sin(T4%)+X|
00000320  25 2c 59 31 2a 73 69 6e  28 54 31 25 29 2b 59 32  |%,Y1*sin(T1%)+Y2|
00000330  2a 73 69 6e 28 54 33 25  29 2b 59 33 2a 73 69 6e  |*sin(T3%)+Y3*sin|
00000340  28 54 32 25 29 2b 59 34  2a 73 69 6e 28 54 34 25  |(T2%)+Y4*sin(T4%|
00000350  29 2b 59 25 20 0d 01 90  08 4d 25 3d 35 0d 01 9a  |)+Y% ....M%=5...|
00000360  07 fd 20 a3 0d 01 a4 05  e0 0d 01 ae 05 3a 0d 01  |.. ..........:..|
00000370  b8 1f e7 20 9f 20 3c 3e  31 37 20 f6 3a f1 22 20  |... . <>17 .:." |
00000380  61 74 20 6c 69 6e 65 20  22 3b 9e 3a e0 0d 01 c2  |at line ";.:....|
00000390  0e ee 20 85 20 e5 20 8d  74 7e 40 0d 01 cc 0c f5  |.. . . .t~@.....|
000003a0  20 fd 20 a5 3d 33 32 0d  01 d6 0e ee 20 85 20 e5  | . .=32..... . .|
000003b0  20 8d 74 78 41 0d 01 e0  0a e5 20 8d 44 5e 41 0d  | .txA..... .D^A.|
000003c0  ff                                                |.|
000003c1
GAMES2/HARMOGRAPH.m0
GAMES2/HARMOGRAPH.m1
GAMES2/HARMOGRAPH.m2
GAMES2/HARMOGRAPH.m4
GAMES2/HARMOGRAPH.m5