Home » Archimedes archive » Acorn User » AU 1997-04 A.adf » Extras1 » MenuBar2/!MenuBar/Overlays/Sort
MenuBar2/!MenuBar/Overlays/Sort
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 1997-04 A.adf » Extras1 |
Filename: | MenuBar2/!MenuBar/Overlays/Sort |
Read OK: | ✔ |
File size: | 038F bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
1013REM> Sort 1014DEFPROCp(u$):LOCALJ%,L%:FORJ%=1TOw%:L%=Z%(J%):PROCK(L%,u$):NEXT:ENDPROC 1015DEFPROCK(G%,u$):LOCALJ%,yl%,e%,jy%,B_%,X%,B%,W%,A$,N%,M%,bu%:IFu$<>"name"ANDu$<>"type"THENENDPROC 1016M%=A%(G%):h%=FNF(G%):X%=FNM(h%):IFX%<2THENENDPROC 1017SYS&406C0:jy%=Ru%:B_%=V_%:CASEu$OF 1018WHEN"name":bu%=4:FORJ%=1TOX%:$jy%=$S%(G%,J%):!B_%=jy%:jy%+=&c:B_%+=4:NEXT 1019WHEN"type":bu%=3:FORJ%=1TOX%:W%=FNP(FNC(G%,J%)):IFW%=4096THENW%=8193 1020!jy%=W%:!B_%=jy%:jy%+=&c:B_%+=4:NEXT 1021ENDCASE:yl%=!V_%:SYS79,X%,V_%,bu%:W%=V_%:FORJ%=1TOX%:Z%=!W%:Ty%=Z%-yl%+&c:J%(J%)=Ty%DIV&c:W%+=4:NEXT:FORJ%=1TOX%:F$(J%)=$S%(G%,J%):NEXT:FORJ%=1TOX%:g%=J%(J%):$S%(G%,J%)=F$(g%):NEXT:FORJ%=1TOX%:F$(J%)=$F%(G%,J%):NEXT:FORJ%=1TOX%:g%=J%(J%):$F%(G%,J%)=F$(g%):NEXT:FORJ%=1TOX% 1022A%!0=M%:A%!4=J%:SYS&400CE,,A%:B%=A%!24:W%(J%)=B%:NEXT:FORJ%=1TOX%:g%=J%(J%):B%=W%(g%):PROCM(M%,J%,B%):NEXT:FORJ%=1TOX%:W%=FNG(h%)+(J%-1)*4:W%(J%)=!W%:NEXT:FORJ%=1TOX%:g%=J%(J%):W%=FNG(h%)+(J%-1)*4:!W%=W%(g%):NEXT:FORJ%=1TOX%:N%=FNV(G%,J%):W%(J%)=N%:NEXT:FORJ%=1TOX%:g%=J%(J%):N%=W%(g%) 1023PROCB(G%,J%,N%):NEXT:l%=TRUE:PROCO(M%):SYS&406C2:ENDPROC
��> Sort �3��p(u$):�J%,L%:�J%=1�w%:L%=Z%(J%):�K(L%,u$):�:� �P��K(G%,u$):�J%,yl%,e%,jy%,B_%,X%,B%,W%,A$,N%,M%,bu%:�u$<>"name"�u$<>"type"�� �)M%=A%(G%):h%=�F(G%):X%=�M(h%):�X%<2�� �"ș&406C0:jy%=Ru%:B_%=V_%:Ȏu$� �D�"name":bu%=4:�J%=1�X%:$jy%=$S%(G%,J%):!B_%=jy%:jy%+=&c:B_%+=4:� �<�"type":bu%=3:�J%=1�X%:W%=�P(�C(G%,J%)):�W%=4096�W%=8193 �%!jy%=W%:!B_%=jy%:jy%+=&c:B_%+=4:� ���:yl%=!V_%:ș79,X%,V_%,bu%:W%=V_%:�J%=1�X%:Z%=!W%:Ty%=Z%-yl%+&c:J%(J%)=Ty%�&c:W%+=4:�:�J%=1�X%:F$(J%)=$S%(G%,J%):�:�J%=1�X%:g%=J%(J%):$S%(G%,J%)=F$(g%):�:�J%=1�X%:F$(J%)=$F%(G%,J%):�:�J%=1�X%:g%=J%(J%):$F%(G%,J%)=F$(g%):�:�J%=1�X% ��A%!0=M%:A%!4=J%:ș&400CE,,A%:B%=A%!24:W%(J%)=B%:�:�J%=1�X%:g%=J%(J%):B%=W%(g%):�M(M%,J%,B%):�:�J%=1�X%:W%=�G(h%)+(J%-1)*4:W%(J%)=!W%:�:�J%=1�X%:g%=J%(J%):W%=�G(h%)+(J%-1)*4:!W%=W%(g%):�:�J%=1�X%:N%=�V(G%,J%):W%(J%)=N%:�:�J%=1�X%:g%=J%(J%):N%=W%(g%) �)�B(G%,J%,N%):�:l%=�:�O(M%):ș&406C2:� �
00000000 0d 03 f5 0b f4 3e 20 53 6f 72 74 0d 03 f6 33 dd |.....> Sort...3.| 00000010 f2 70 28 75 24 29 3a ea 4a 25 2c 4c 25 3a e3 4a |.p(u$):.J%,L%:.J| 00000020 25 3d 31 b8 77 25 3a 4c 25 3d 5a 25 28 4a 25 29 |%=1.w%:L%=Z%(J%)| 00000030 3a f2 4b 28 4c 25 2c 75 24 29 3a ed 3a e1 0d 03 |:.K(L%,u$):.:...| 00000040 f7 50 dd f2 4b 28 47 25 2c 75 24 29 3a ea 4a 25 |.P..K(G%,u$):.J%| 00000050 2c 79 6c 25 2c 65 25 2c 6a 79 25 2c 42 5f 25 2c |,yl%,e%,jy%,B_%,| 00000060 58 25 2c 42 25 2c 57 25 2c 41 24 2c 4e 25 2c 4d |X%,B%,W%,A$,N%,M| 00000070 25 2c 62 75 25 3a e7 75 24 3c 3e 22 6e 61 6d 65 |%,bu%:.u$<>"name| 00000080 22 80 75 24 3c 3e 22 74 79 70 65 22 8c e1 0d 03 |".u$<>"type"....| 00000090 f8 29 4d 25 3d 41 25 28 47 25 29 3a 68 25 3d a4 |.)M%=A%(G%):h%=.| 000000a0 46 28 47 25 29 3a 58 25 3d a4 4d 28 68 25 29 3a |F(G%):X%=.M(h%):| 000000b0 e7 58 25 3c 32 8c e1 0d 03 f9 22 c8 99 26 34 30 |.X%<2....."..&40| 000000c0 36 43 30 3a 6a 79 25 3d 52 75 25 3a 42 5f 25 3d |6C0:jy%=Ru%:B_%=| 000000d0 56 5f 25 3a c8 8e 75 24 ca 0d 03 fa 44 c9 22 6e |V_%:..u$....D."n| 000000e0 61 6d 65 22 3a 62 75 25 3d 34 3a e3 4a 25 3d 31 |ame":bu%=4:.J%=1| 000000f0 b8 58 25 3a 24 6a 79 25 3d 24 53 25 28 47 25 2c |.X%:$jy%=$S%(G%,| 00000100 4a 25 29 3a 21 42 5f 25 3d 6a 79 25 3a 6a 79 25 |J%):!B_%=jy%:jy%| 00000110 2b 3d 26 63 3a 42 5f 25 2b 3d 34 3a ed 0d 03 fb |+=&c:B_%+=4:....| 00000120 3c c9 22 74 79 70 65 22 3a 62 75 25 3d 33 3a e3 |<."type":bu%=3:.| 00000130 4a 25 3d 31 b8 58 25 3a 57 25 3d a4 50 28 a4 43 |J%=1.X%:W%=.P(.C| 00000140 28 47 25 2c 4a 25 29 29 3a e7 57 25 3d 34 30 39 |(G%,J%)):.W%=409| 00000150 36 8c 57 25 3d 38 31 39 33 0d 03 fc 25 21 6a 79 |6.W%=8193...%!jy| 00000160 25 3d 57 25 3a 21 42 5f 25 3d 6a 79 25 3a 6a 79 |%=W%:!B_%=jy%:jy| 00000170 25 2b 3d 26 63 3a 42 5f 25 2b 3d 34 3a ed 0d 03 |%+=&c:B_%+=4:...| 00000180 fd ea cb 3a 79 6c 25 3d 21 56 5f 25 3a c8 99 37 |...:yl%=!V_%:..7| 00000190 39 2c 58 25 2c 56 5f 25 2c 62 75 25 3a 57 25 3d |9,X%,V_%,bu%:W%=| 000001a0 56 5f 25 3a e3 4a 25 3d 31 b8 58 25 3a 5a 25 3d |V_%:.J%=1.X%:Z%=| 000001b0 21 57 25 3a 54 79 25 3d 5a 25 2d 79 6c 25 2b 26 |!W%:Ty%=Z%-yl%+&| 000001c0 63 3a 4a 25 28 4a 25 29 3d 54 79 25 81 26 63 3a |c:J%(J%)=Ty%.&c:| 000001d0 57 25 2b 3d 34 3a ed 3a e3 4a 25 3d 31 b8 58 25 |W%+=4:.:.J%=1.X%| 000001e0 3a 46 24 28 4a 25 29 3d 24 53 25 28 47 25 2c 4a |:F$(J%)=$S%(G%,J| 000001f0 25 29 3a ed 3a e3 4a 25 3d 31 b8 58 25 3a 67 25 |%):.:.J%=1.X%:g%| 00000200 3d 4a 25 28 4a 25 29 3a 24 53 25 28 47 25 2c 4a |=J%(J%):$S%(G%,J| 00000210 25 29 3d 46 24 28 67 25 29 3a ed 3a e3 4a 25 3d |%)=F$(g%):.:.J%=| 00000220 31 b8 58 25 3a 46 24 28 4a 25 29 3d 24 46 25 28 |1.X%:F$(J%)=$F%(| 00000230 47 25 2c 4a 25 29 3a ed 3a e3 4a 25 3d 31 b8 58 |G%,J%):.:.J%=1.X| 00000240 25 3a 67 25 3d 4a 25 28 4a 25 29 3a 24 46 25 28 |%:g%=J%(J%):$F%(| 00000250 47 25 2c 4a 25 29 3d 46 24 28 67 25 29 3a ed 3a |G%,J%)=F$(g%):.:| 00000260 e3 4a 25 3d 31 b8 58 25 0d 03 fe fc 41 25 21 30 |.J%=1.X%....A%!0| 00000270 3d 4d 25 3a 41 25 21 34 3d 4a 25 3a c8 99 26 34 |=M%:A%!4=J%:..&4| 00000280 30 30 43 45 2c 2c 41 25 3a 42 25 3d 41 25 21 32 |00CE,,A%:B%=A%!2| 00000290 34 3a 57 25 28 4a 25 29 3d 42 25 3a ed 3a e3 4a |4:W%(J%)=B%:.:.J| 000002a0 25 3d 31 b8 58 25 3a 67 25 3d 4a 25 28 4a 25 29 |%=1.X%:g%=J%(J%)| 000002b0 3a 42 25 3d 57 25 28 67 25 29 3a f2 4d 28 4d 25 |:B%=W%(g%):.M(M%| 000002c0 2c 4a 25 2c 42 25 29 3a ed 3a e3 4a 25 3d 31 b8 |,J%,B%):.:.J%=1.| 000002d0 58 25 3a 57 25 3d a4 47 28 68 25 29 2b 28 4a 25 |X%:W%=.G(h%)+(J%| 000002e0 2d 31 29 2a 34 3a 57 25 28 4a 25 29 3d 21 57 25 |-1)*4:W%(J%)=!W%| 000002f0 3a ed 3a e3 4a 25 3d 31 b8 58 25 3a 67 25 3d 4a |:.:.J%=1.X%:g%=J| 00000300 25 28 4a 25 29 3a 57 25 3d a4 47 28 68 25 29 2b |%(J%):W%=.G(h%)+| 00000310 28 4a 25 2d 31 29 2a 34 3a 21 57 25 3d 57 25 28 |(J%-1)*4:!W%=W%(| 00000320 67 25 29 3a ed 3a e3 4a 25 3d 31 b8 58 25 3a 4e |g%):.:.J%=1.X%:N| 00000330 25 3d a4 56 28 47 25 2c 4a 25 29 3a 57 25 28 4a |%=.V(G%,J%):W%(J| 00000340 25 29 3d 4e 25 3a ed 3a e3 4a 25 3d 31 b8 58 25 |%)=N%:.:.J%=1.X%| 00000350 3a 67 25 3d 4a 25 28 4a 25 29 3a 4e 25 3d 57 25 |:g%=J%(J%):N%=W%| 00000360 28 67 25 29 0d 03 ff 29 f2 42 28 47 25 2c 4a 25 |(g%)...).B(G%,J%| 00000370 2c 4e 25 29 3a ed 3a 6c 25 3d b9 3a f2 4f 28 4d |,N%):.:l%=.:.O(M| 00000380 25 29 3a c8 99 26 34 30 36 43 32 3a e1 0d ff |%):..&406C2:...| 0000038f