Home » Archimedes archive » Acorn User » AU 1996-03 B.adf » Regulars » StarInfo/Cohn/!ARMovie/Tools/Reflect/Flip

StarInfo/Cohn/!ARMovie/Tools/Reflect/Flip

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 1996-03 B.adf » Regulars
Filename: StarInfo/Cohn/!ARMovie/Tools/Reflect/Flip
Read OK:
File size: 022D bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Rotate 90POINT( clockwise and Flip, i.e. Flip about y=ATNx
   20REM Acts on 192CHAIN144 size ERLlms. (4:3 ratio ERLlms).
   30A%=OPENOUT"<ARMovie$Dir>.Shapes.Re�ection.Flip�90�"
   40BPUT#A%,"ARMovie Shape 1"
   50BPUT#A%,"Flip about y=�x for 192�144 (or smaller) �lms"
   60BPUT#A%,"576 768"
   70FORY%=0TO191
   80destx%=0
   90desty%=(191-Y%)*4
  100q%=destx% OR desty%<<12 OR 144<<24
  110BPUT#A%,q%:BPUT#A%,q%>>8:BPUT#A%,q%>>16:BPUT#A%,q%>>24
  120FORI%=0TO143
  130y%=I%
  140x%=Y%:REM Starting at Row 0 (i.e. top of ERLlm).
  150q%=y%<<16 OR x%
  160BPUT#A%,q%:BPUT#A%,q%>>8:BPUT#A%,q%>>16:BPUT#A%,q%>>24
  170NEXT
  180PRINT"Line N�: ";Y%
  190NEXT
  200CLOSE#A%

9� Rotate 90� clockwise and Flip, i.e. Flip about y=�x
2� Acts on 192�144 size �lms. (4:3 ratio �lms).
1A%=�"<ARMovie$Dir>.Shapes.Re�ection.Flip�90�"
(�#A%,"ARMovie Shape 1"
28�#A%,"Flip about y=�x for 192�144 (or smaller) �lms"
<�#A%,"576 768"
F
�Y%=0�191
Pdestx%=0
Zdesty%=(191-Y%)*4
d$q%=destx% � desty%<<12 � 144<<24
n.�#A%,q%:�#A%,q%>>8:�#A%,q%>>16:�#A%,q%>>24
x
�I%=0�143
�	y%=I%
�0x%=Y%:� Starting at Row 0 (i.e. top of �lm).
�q%=y%<<16 � x%
�.�#A%,q%:�#A%,q%>>8:�#A%,q%>>16:�#A%,q%>>24
��
��"Line N�: ";Y%
��
��#A%
�
00000000  0d 00 0a 39 f4 20 52 6f  74 61 74 65 20 39 30 b0  |...9. Rotate 90.|
00000010  20 63 6c 6f 63 6b 77 69  73 65 20 61 6e 64 20 46  | clockwise and F|
00000020  6c 69 70 2c 20 69 2e 65  2e 20 46 6c 69 70 20 61  |lip, i.e. Flip a|
00000030  62 6f 75 74 20 79 3d 99  78 0d 00 14 32 f4 20 41  |bout y=.x...2. A|
00000040  63 74 73 20 6f 6e 20 31  39 32 d7 31 34 34 20 73  |cts on 192.144 s|
00000050  69 7a 65 20 9e 6c 6d 73  2e 20 28 34 3a 33 20 72  |ize .lms. (4:3 r|
00000060  61 74 69 6f 20 9e 6c 6d  73 29 2e 0d 00 1e 31 41  |atio .lms)....1A|
00000070  25 3d ae 22 3c 41 52 4d  6f 76 69 65 24 44 69 72  |%=."<ARMovie$Dir|
00000080  3e 2e 53 68 61 70 65 73  2e 52 65 9f 65 63 74 69  |>.Shapes.Re.ecti|
00000090  6f 6e 2e 46 6c 69 70 a0  39 30 b0 22 0d 00 28 1a  |on.Flip.90."..(.|
000000a0  d5 23 41 25 2c 22 41 52  4d 6f 76 69 65 20 53 68  |.#A%,"ARMovie Sh|
000000b0  61 70 65 20 31 22 0d 00  32 38 d5 23 41 25 2c 22  |ape 1"..28.#A%,"|
000000c0  46 6c 69 70 20 61 62 6f  75 74 20 79 3d 99 78 20  |Flip about y=.x |
000000d0  66 6f 72 20 31 39 32 d7  31 34 34 20 28 6f 72 20  |for 192.144 (or |
000000e0  73 6d 61 6c 6c 65 72 29  20 9e 6c 6d 73 22 0d 00  |smaller) .lms"..|
000000f0  3c 12 d5 23 41 25 2c 22  35 37 36 20 37 36 38 22  |<..#A%,"576 768"|
00000100  0d 00 46 0d e3 59 25 3d  30 b8 31 39 31 0d 00 50  |..F..Y%=0.191..P|
00000110  0c 64 65 73 74 78 25 3d  30 0d 00 5a 15 64 65 73  |.destx%=0..Z.des|
00000120  74 79 25 3d 28 31 39 31  2d 59 25 29 2a 34 0d 00  |ty%=(191-Y%)*4..|
00000130  64 24 71 25 3d 64 65 73  74 78 25 20 84 20 64 65  |d$q%=destx% . de|
00000140  73 74 79 25 3c 3c 31 32  20 84 20 31 34 34 3c 3c  |sty%<<12 . 144<<|
00000150  32 34 0d 00 6e 2e d5 23  41 25 2c 71 25 3a d5 23  |24..n..#A%,q%:.#|
00000160  41 25 2c 71 25 3e 3e 38  3a d5 23 41 25 2c 71 25  |A%,q%>>8:.#A%,q%|
00000170  3e 3e 31 36 3a d5 23 41  25 2c 71 25 3e 3e 32 34  |>>16:.#A%,q%>>24|
00000180  0d 00 78 0d e3 49 25 3d  30 b8 31 34 33 0d 00 82  |..x..I%=0.143...|
00000190  09 79 25 3d 49 25 0d 00  8c 30 78 25 3d 59 25 3a  |.y%=I%...0x%=Y%:|
000001a0  f4 20 53 74 61 72 74 69  6e 67 20 61 74 20 52 6f  |. Starting at Ro|
000001b0  77 20 30 20 28 69 2e 65  2e 20 74 6f 70 20 6f 66  |w 0 (i.e. top of|
000001c0  20 9e 6c 6d 29 2e 0d 00  96 12 71 25 3d 79 25 3c  | .lm).....q%=y%<|
000001d0  3c 31 36 20 84 20 78 25  0d 00 a0 2e d5 23 41 25  |<16 . x%.....#A%|
000001e0  2c 71 25 3a d5 23 41 25  2c 71 25 3e 3e 38 3a d5  |,q%:.#A%,q%>>8:.|
000001f0  23 41 25 2c 71 25 3e 3e  31 36 3a d5 23 41 25 2c  |#A%,q%>>16:.#A%,|
00000200  71 25 3e 3e 32 34 0d 00  aa 05 ed 0d 00 b4 13 f1  |q%>>24..........|
00000210  22 4c 69 6e 65 20 4e ba  3a 20 22 3b 59 25 0d 00  |"Line N.: ";Y%..|
00000220  be 05 ed 0d 00 c8 08 d9  23 41 25 0d ff           |........#A%..|
0000022d