Home » Archimedes archive » Acorn User » AU 1994-03.adf » !StarInfo_StarInfo » Vibe/NeonPeak

Vibe/NeonPeak

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 » Archimedes archive » Acorn User » AU 1994-03.adf » !StarInfo_StarInfo
Filename: Vibe/NeonPeak
Read OK:
File size: 02FC bytes
Load address: 0000
Exec address: 0000
File contents
    1REM    >NeonPeak
    2REM By  Jan Vibe
    3REM For 32-bit machines
    4REM (c) AU March 1994
    5
    6MODE15:OFF
    7K%=32:K2%=K%/2:T=1024/K%:ORIGIN 0,128
    8GCOL%100000+128 TINT 0:CLG
    9VDU19,0,24,0,0,128
   10
   11FORY%=K%TO0STEP-1:PY%=T*Y%
   12FORI%=0TO7:PROCF(Y%,I%)
   13FORX%=0TO1024STEP16
   14A=SQR((512-X%)^2+(512-PY%)^2)
   15Z=50/(A/400+.09)
   16H=Z*COSRAD(1.2*A)
   17X2%=X%+PY%/4.2:Y2%=PY%/2+H
   18IF X%<>0 PROCL(X1%,Y1%,X2%,Y2%,(7-I%)*SINRAD(X%/5.69)*2)
   19X1%=X2%:Y1%=Y2%
   20NEXT,,:ON
   21END
   22
   23DEFPROCL(X1%,Y1%,X2%,Y2%,Z%)
   24LOCAL A%,DX,DY,N%
   25A%=SQR((X1%-X2%)^2+(Y1%-Y2%)^2)/2
   26DX=(X2%-X1%)/A%:DY=(Y2%-Y1%)/A%
   27FORN%=0TOA%:CIRCLE FILL X1%+N%*DX,Y1%+N%*DY,Z%:NEXT
   28ENDPROC
   29
   30DEFPROCF(F%,I%)
   31LOCAL R%,G%,B%
   32F%=(F%+5)MOD27
   33B%=F%DIV9:F%=F%-9*B%
   34G%=F%DIV3:F%=F%-3*G%
   35R%=F%
   36F%=R%+4*G%+16*B%
   37IF I%>=4 F%=F%+&15
   38GCOL F% TINT (64*I%)MOD256
   39ENDPROC
�    >NeonPeak
� By  Jan Vibe
� For 32-bit machines
� (c) AU March 1994

	�15:�
%K%=32:K2%=K%/2:T=1024/K%:ȑ 0,128
�%100000+128 Ȝ 0:�
	�19,0,24,0,0,128


�Y%=K%�0�-1:PY%=T*Y%
�I%=0�7:�F(Y%,I%)

�X%=0�1024�16
A=�((512-X%)^2+(512-PY%)^2)
Z=50/(A/400+.09)
H=Z*��(1.2*A)
X2%=X%+PY%/4.2:Y2%=PY%/2+H
4� X%<>0 �L(X1%,Y1%,X2%,Y2%,(7-I%)*��(X%/5.69)*2)
X1%=X2%:Y1%=Y2%
	�,,:�
�

��L(X1%,Y1%,X2%,Y2%,Z%)
� A%,DX,DY,N%
#A%=�((X1%-X2%)^2+(Y1%-Y2%)^2)/2
#DX=(X2%-X1%)/A%:DY=(Y2%-Y1%)/A%
+�N%=0�A%:ȏ Ȑ X1%+N%*DX,Y1%+N%*DY,Z%:�
�

��F(F%,I%)
� R%,G%,B%
 F%=(F%+5)�27
!B%=F%�9:F%=F%-9*B%
"G%=F%�3:F%=F%-3*G%
#	R%=F%
$F%=R%+4*G%+16*B%
%� I%>=4 F%=F%+&15
&� F% Ȝ (64*I%)�256
'�
�
00000000  0d 00 01 12 f4 20 20 20  20 3e 4e 65 6f 6e 50 65  |.....    >NeonPe|
00000010  61 6b 0d 00 02 12 f4 20  42 79 20 20 4a 61 6e 20  |ak..... By  Jan |
00000020  56 69 62 65 0d 00 03 19  f4 20 46 6f 72 20 33 32  |Vibe..... For 32|
00000030  2d 62 69 74 20 6d 61 63  68 69 6e 65 73 0d 00 04  |-bit machines...|
00000040  17 f4 20 28 63 29 20 41  55 20 4d 61 72 63 68 20  |.. (c) AU March |
00000050  31 39 39 34 0d 00 05 04  0d 00 06 09 eb 31 35 3a  |1994.........15:|
00000060  87 0d 00 07 25 4b 25 3d  33 32 3a 4b 32 25 3d 4b  |....%K%=32:K2%=K|
00000070  25 2f 32 3a 54 3d 31 30  32 34 2f 4b 25 3a c8 91  |%/2:T=1024/K%:..|
00000080  20 30 2c 31 32 38 0d 00  08 17 e6 25 31 30 30 30  | 0,128.....%1000|
00000090  30 30 2b 31 32 38 20 c8  9c 20 30 3a da 0d 00 09  |00+128 .. 0:....|
000000a0  14 ef 31 39 2c 30 2c 32  34 2c 30 2c 30 2c 31 32  |..19,0,24,0,0,12|
000000b0  38 0d 00 0a 04 0d 00 0b  18 e3 59 25 3d 4b 25 b8  |8.........Y%=K%.|
000000c0  30 88 2d 31 3a 50 59 25  3d 54 2a 59 25 0d 00 0c  |0.-1:PY%=T*Y%...|
000000d0  15 e3 49 25 3d 30 b8 37  3a f2 46 28 59 25 2c 49  |..I%=0.7:.F(Y%,I|
000000e0  25 29 0d 00 0d 11 e3 58  25 3d 30 b8 31 30 32 34  |%).....X%=0.1024|
000000f0  88 31 36 0d 00 0e 1f 41  3d b6 28 28 35 31 32 2d  |.16....A=.((512-|
00000100  58 25 29 5e 32 2b 28 35  31 32 2d 50 59 25 29 5e  |X%)^2+(512-PY%)^|
00000110  32 29 0d 00 0f 14 5a 3d  35 30 2f 28 41 2f 34 30  |2)....Z=50/(A/40|
00000120  30 2b 2e 30 39 29 0d 00  10 11 48 3d 5a 2a 9b b2  |0+.09)....H=Z*..|
00000130  28 31 2e 32 2a 41 29 0d  00 11 1e 58 32 25 3d 58  |(1.2*A)....X2%=X|
00000140  25 2b 50 59 25 2f 34 2e  32 3a 59 32 25 3d 50 59  |%+PY%/4.2:Y2%=PY|
00000150  25 2f 32 2b 48 0d 00 12  34 e7 20 58 25 3c 3e 30  |%/2+H...4. X%<>0|
00000160  20 f2 4c 28 58 31 25 2c  59 31 25 2c 58 32 25 2c  | .L(X1%,Y1%,X2%,|
00000170  59 32 25 2c 28 37 2d 49  25 29 2a b5 b2 28 58 25  |Y2%,(7-I%)*..(X%|
00000180  2f 35 2e 36 39 29 2a 32  29 0d 00 13 13 58 31 25  |/5.69)*2)....X1%|
00000190  3d 58 32 25 3a 59 31 25  3d 59 32 25 0d 00 14 09  |=X2%:Y1%=Y2%....|
000001a0  ed 2c 2c 3a ee 0d 00 15  05 e0 0d 00 16 04 0d 00  |.,,:............|
000001b0  17 1b dd f2 4c 28 58 31  25 2c 59 31 25 2c 58 32  |....L(X1%,Y1%,X2|
000001c0  25 2c 59 32 25 2c 5a 25  29 0d 00 18 11 ea 20 41  |%,Y2%,Z%)..... A|
000001d0  25 2c 44 58 2c 44 59 2c  4e 25 0d 00 19 23 41 25  |%,DX,DY,N%...#A%|
000001e0  3d b6 28 28 58 31 25 2d  58 32 25 29 5e 32 2b 28  |=.((X1%-X2%)^2+(|
000001f0  59 31 25 2d 59 32 25 29  5e 32 29 2f 32 0d 00 1a  |Y1%-Y2%)^2)/2...|
00000200  23 44 58 3d 28 58 32 25  2d 58 31 25 29 2f 41 25  |#DX=(X2%-X1%)/A%|
00000210  3a 44 59 3d 28 59 32 25  2d 59 31 25 29 2f 41 25  |:DY=(Y2%-Y1%)/A%|
00000220  0d 00 1b 2b e3 4e 25 3d  30 b8 41 25 3a c8 8f 20  |...+.N%=0.A%:.. |
00000230  c8 90 20 58 31 25 2b 4e  25 2a 44 58 2c 59 31 25  |.. X1%+N%*DX,Y1%|
00000240  2b 4e 25 2a 44 59 2c 5a  25 3a ed 0d 00 1c 05 e1  |+N%*DY,Z%:......|
00000250  0d 00 1d 04 0d 00 1e 0e  dd f2 46 28 46 25 2c 49  |..........F(F%,I|
00000260  25 29 0d 00 1f 0e ea 20  52 25 2c 47 25 2c 42 25  |%)..... R%,G%,B%|
00000270  0d 00 20 10 46 25 3d 28  46 25 2b 35 29 83 32 37  |.. .F%=(F%+5).27|
00000280  0d 00 21 16 42 25 3d 46  25 81 39 3a 46 25 3d 46  |..!.B%=F%.9:F%=F|
00000290  25 2d 39 2a 42 25 0d 00  22 16 47 25 3d 46 25 81  |%-9*B%..".G%=F%.|
000002a0  33 3a 46 25 3d 46 25 2d  33 2a 47 25 0d 00 23 09  |3:F%=F%-3*G%..#.|
000002b0  52 25 3d 46 25 0d 00 24  14 46 25 3d 52 25 2b 34  |R%=F%..$.F%=R%+4|
000002c0  2a 47 25 2b 31 36 2a 42  25 0d 00 25 15 e7 20 49  |*G%+16*B%..%.. I|
000002d0  25 3e 3d 34 20 46 25 3d  46 25 2b 26 31 35 0d 00  |%>=4 F%=F%+&15..|
000002e0  26 17 e6 20 46 25 20 c8  9c 20 28 36 34 2a 49 25  |&.. F% .. (64*I%|
000002f0  29 83 32 35 36 0d 00 27  05 e1 0d ff              |).256..'....|
000002fc