Home » Archimedes archive » Acorn User » AU 1996-03 B.adf » Regulars » StarInfo/Cohn/!ARMovie/Tools/Split/Split-in-Y
StarInfo/Cohn/!ARMovie/Tools/Split/Split-in-Y
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/Split/Split-in-Y |
Read OK: | ✔ |
File size: | 038C bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM Split-in-Y 20REM Acts on 192CHAIN144 films (4:3 ratio). 30ON ERROR CLOSE#A%:PRINTREPORT$;" at line ";ERL:END 40FORsplit%=2TO8 50A%=OPENOUT("<ARMovie$Dir>.Shapes.Splits.Y-in-"+STR$split%) 60BPUT#A%,"ARMovie Shape 1" 70BPUT#A%,"Split vertically 192�144 (or smaller) films into "+STR$split%+" equal sections" 80size%=576/split%*(split%*2-1):REM 864 for 2. 90BPUT#A%,"768 "; 100BPUT#A%,STR$size% 110Z%=(1/split%)*144:REM Calculate no. of lines in a block; 72 for 2. 120FORblk%=0TO(split%-1) 130FORline%=blk%*Z%TO(Z%*(blk%+1)-1) 140destx%=0 150desty%=(size%-4)-4*(line%+Z%*blk%):REM Z%*blk% gives block start. line% gives how many lines in from start. 160q%=destx% OR desty%<<12 OR 192<<24 170BPUT#A%,q%:BPUT#A%,q%>>8:BPUT#A%,q%>>16:BPUT#A%,q%>>24 180FORI%=0TO191 190y%=line% 200x%=I% 210q%=y%<<16 OR x% 220BPUT#A%,q%:BPUT#A%,q%>>8:BPUT#A%,q%>>16:BPUT#A%,q%>>24 230NEXT I% 240PRINT"Line N�: ";line%;" done." 250NEXT line% 260NEXT blk% 270CLOSE#A% 280PRINT"Finished Split N�: ";split%;". Starting next split." 290NEXT 300END
� Split-in-Y (� Acts on 192�144 films (4:3 ratio). � � �#A%:�$;" at line ";�:� (�split%=2�8 25A%=�("<ARMovie$Dir>.Shapes.Splits.Y-in-"+�split%) <�#A%,"ARMovie Shape 1" FV�#A%,"Split vertically 192�144 (or smaller) films into "+�split%+" equal sections" P.size%=576/split%*(split%*2-1):� 864 for 2. Z�#A%,"768 "; d�#A%,�size% nDZ%=(1/split%)*144:� Calculate no. of lines in a block; 72 for 2. x�blk%=0�(split%-1) �"�line%=blk%*Z%�(Z%*(blk%+1)-1) �destx%=0 �mdesty%=(size%-4)-4*(line%+Z%*blk%):� Z%*blk% gives block start. line% gives how many lines in from start. �$q%=destx% � desty%<<12 � 192<<24 �.�#A%,q%:�#A%,q%>>8:�#A%,q%>>16:�#A%,q%>>24 � �I%=0�191 �y%=line% � x%=I% �q%=y%<<16 � x% �.�#A%,q%:�#A%,q%>>8:�#A%,q%>>16:�#A%,q%>>24 �� I% ��"Line N�: ";line%;" done." �� line% � blk% �#A% :�"Finished Split N�: ";split%;". Starting next split." "� ,� �
00000000 0d 00 0a 10 f4 20 53 70 6c 69 74 2d 69 6e 2d 59 |..... Split-in-Y| 00000010 0d 00 14 28 f4 20 41 63 74 73 20 6f 6e 20 31 39 |...(. Acts on 19| 00000020 32 d7 31 34 34 20 66 69 6c 6d 73 20 28 34 3a 33 |2.144 films (4:3| 00000030 20 72 61 74 69 6f 29 2e 0d 00 1e 20 ee 20 85 20 | ratio).... . . | 00000040 d9 23 41 25 3a f1 f6 24 3b 22 20 61 74 20 6c 69 |.#A%:..$;" at li| 00000050 6e 65 20 22 3b 9e 3a e0 0d 00 28 0f e3 73 70 6c |ne ";.:...(..spl| 00000060 69 74 25 3d 32 b8 38 0d 00 32 35 41 25 3d ae 28 |it%=2.8..25A%=.(| 00000070 22 3c 41 52 4d 6f 76 69 65 24 44 69 72 3e 2e 53 |"<ARMovie$Dir>.S| 00000080 68 61 70 65 73 2e 53 70 6c 69 74 73 2e 59 2d 69 |hapes.Splits.Y-i| 00000090 6e 2d 22 2b c3 73 70 6c 69 74 25 29 0d 00 3c 1a |n-"+.split%)..<.| 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 46 56 d5 23 41 25 2c 22 |ape 1"..FV.#A%,"| 000000c0 53 70 6c 69 74 20 76 65 72 74 69 63 61 6c 6c 79 |Split vertically| 000000d0 20 31 39 32 d7 31 34 34 20 28 6f 72 20 73 6d 61 | 192.144 (or sma| 000000e0 6c 6c 65 72 29 20 66 69 6c 6d 73 20 69 6e 74 6f |ller) films into| 000000f0 20 22 2b c3 73 70 6c 69 74 25 2b 22 20 65 71 75 | "+.split%+" equ| 00000100 61 6c 20 73 65 63 74 69 6f 6e 73 22 0d 00 50 2e |al sections"..P.| 00000110 73 69 7a 65 25 3d 35 37 36 2f 73 70 6c 69 74 25 |size%=576/split%| 00000120 2a 28 73 70 6c 69 74 25 2a 32 2d 31 29 3a f4 20 |*(split%*2-1):. | 00000130 38 36 34 20 66 6f 72 20 32 2e 0d 00 5a 10 d5 23 |864 for 2...Z..#| 00000140 41 25 2c 22 37 36 38 20 22 3b 0d 00 64 0f d5 23 |A%,"768 ";..d..#| 00000150 41 25 2c c3 73 69 7a 65 25 0d 00 6e 44 5a 25 3d |A%,.size%..nDZ%=| 00000160 28 31 2f 73 70 6c 69 74 25 29 2a 31 34 34 3a f4 |(1/split%)*144:.| 00000170 20 43 61 6c 63 75 6c 61 74 65 20 6e 6f 2e 20 6f | Calculate no. o| 00000180 66 20 6c 69 6e 65 73 20 69 6e 20 61 20 62 6c 6f |f lines in a blo| 00000190 63 6b 3b 20 37 32 20 66 6f 72 20 32 2e 0d 00 78 |ck; 72 for 2...x| 000001a0 16 e3 62 6c 6b 25 3d 30 b8 28 73 70 6c 69 74 25 |..blk%=0.(split%| 000001b0 2d 31 29 0d 00 82 22 e3 6c 69 6e 65 25 3d 62 6c |-1)...".line%=bl| 000001c0 6b 25 2a 5a 25 b8 28 5a 25 2a 28 62 6c 6b 25 2b |k%*Z%.(Z%*(blk%+| 000001d0 31 29 2d 31 29 0d 00 8c 0c 64 65 73 74 78 25 3d |1)-1)....destx%=| 000001e0 30 0d 00 96 6d 64 65 73 74 79 25 3d 28 73 69 7a |0...mdesty%=(siz| 000001f0 65 25 2d 34 29 2d 34 2a 28 6c 69 6e 65 25 2b 5a |e%-4)-4*(line%+Z| 00000200 25 2a 62 6c 6b 25 29 3a f4 20 5a 25 2a 62 6c 6b |%*blk%):. Z%*blk| 00000210 25 20 67 69 76 65 73 20 62 6c 6f 63 6b 20 73 74 |% gives block st| 00000220 61 72 74 2e 20 6c 69 6e 65 25 20 67 69 76 65 73 |art. line% gives| 00000230 20 68 6f 77 20 6d 61 6e 79 20 6c 69 6e 65 73 20 | how many lines | 00000240 69 6e 20 66 72 6f 6d 20 73 74 61 72 74 2e 0d 00 |in from start...| 00000250 a0 24 71 25 3d 64 65 73 74 78 25 20 84 20 64 65 |.$q%=destx% . de| 00000260 73 74 79 25 3c 3c 31 32 20 84 20 31 39 32 3c 3c |sty%<<12 . 192<<| 00000270 32 34 0d 00 aa 2e d5 23 41 25 2c 71 25 3a d5 23 |24.....#A%,q%:.#| 00000280 41 25 2c 71 25 3e 3e 38 3a d5 23 41 25 2c 71 25 |A%,q%>>8:.#A%,q%| 00000290 3e 3e 31 36 3a d5 23 41 25 2c 71 25 3e 3e 32 34 |>>16:.#A%,q%>>24| 000002a0 0d 00 b4 0d e3 49 25 3d 30 b8 31 39 31 0d 00 be |.....I%=0.191...| 000002b0 0c 79 25 3d 6c 69 6e 65 25 0d 00 c8 09 78 25 3d |.y%=line%....x%=| 000002c0 49 25 0d 00 d2 12 71 25 3d 79 25 3c 3c 31 36 20 |I%....q%=y%<<16 | 000002d0 84 20 78 25 0d 00 dc 2e d5 23 41 25 2c 71 25 3a |. x%.....#A%,q%:| 000002e0 d5 23 41 25 2c 71 25 3e 3e 38 3a d5 23 41 25 2c |.#A%,q%>>8:.#A%,| 000002f0 71 25 3e 3e 31 36 3a d5 23 41 25 2c 71 25 3e 3e |q%>>16:.#A%,q%>>| 00000300 32 34 0d 00 e6 08 ed 20 49 25 0d 00 f0 1f f1 22 |24..... I%....."| 00000310 4c 69 6e 65 20 4e ba 3a 20 22 3b 6c 69 6e 65 25 |Line N.: ";line%| 00000320 3b 22 20 64 6f 6e 65 2e 22 0d 00 fa 0b ed 20 6c |;" done."..... l| 00000330 69 6e 65 25 0d 01 04 0a ed 20 62 6c 6b 25 0d 01 |ine%..... blk%..| 00000340 0e 08 d9 23 41 25 0d 01 18 3a f1 22 46 69 6e 69 |...#A%...:."Fini| 00000350 73 68 65 64 20 53 70 6c 69 74 20 4e ba 3a 20 22 |shed Split N.: "| 00000360 3b 73 70 6c 69 74 25 3b 22 2e 20 53 74 61 72 74 |;split%;". Start| 00000370 69 6e 67 20 6e 65 78 74 20 73 70 6c 69 74 2e 22 |ing next split."| 00000380 0d 01 22 05 ed 0d 01 2c 05 e0 0d ff |.."....,....| 0000038c