_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

DIRECTORY TIDY

FILE INFORMATION

FILENAME(S): DIRECTORY TIDY

FILE TYPE(S): DEL

FILE SIZE: 4.5K

FIRST SEEN: 2025-12-02 02:15:03

APPEARS ON: 1 disk(s)

FILE HASH

a186b11fae00bb4326e2ea87585bd217e338812c59e13d87a5f7b0e611cec255

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
PANS TOOLS 03 DIRECTORY TIDY DEL The BAM Archive 13 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 08 27 08 64 00 8F 20  2A 2A 2A 2A 2A 2A 2A 2A  |..'.d.. ********|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000020: 2A 2A 2A 2A 2A 2A 2A 00  4D 08 65 00 8F 20 2A 20  |*******.M.e.. * |
00000030: 20 44 49 52 45 43 54 4F  52 59 20 54 49 44 59 20  | DIRECTORY TIDY |
00000040: 31 35 34 31 2F 34 30 34  30 20 20 20 2A 00 73 08  |1541/4040   *.s.|
00000050: 66 00 8F 20 2A 20 20 57  2E 4F 57 45 4E 20 4D 55  |f.. *  W.OWEN MU|
00000060: 52 43 4F 54 54 20 31 39  38 33 20 20 20 20 20 20  |RCOTT 1983      |
00000070: 20 20 2A 00 99 08 67 00  8F 20 2A 20 20 52 45 41  |  *...g.. *  REA|
00000080: 44 20 2F 20 53 4F 52 54  20 2F 20 52 45 57 52 49  |D / SORT / REWRI|
00000090: 54 52 20 20 20 20 20 20  2A 00 BF 08 68 00 8F 20  |TR      *...h.. |
000000A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000000B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
000000C0: DC 08 6E 00 97 35 33 32  38 30 2C 31 35 3A 97 35  |..n..53280,15:.5|
000000D0: 33 32 38 31 2C 31 35 3A  99 22 1F 22 00 FA 08 78  |3281,15:."."...x|
000000E0: 00 99 C7 28 31 34 29 22  93 20 54 49 44 59 20 44  |...(14)". TIDY D|
000000F0: 49 52 45 43 54 4F 52 59  20 22 00 28 09 82 00 99  |IRECTORY ".(....|
00000100: 22 11 11 20 4C 4F 41 44  20 44 49 53 4B 20 49 4E  |".. LOAD DISK IN|
00000110: 20 44 52 49 56 45 20 30  2E 20 52 45 54 55 52 4E  | DRIVE 0. RETURN|
00000120: 3D 52 45 41 44 59 2E 22  00 3F 09 8C 00 A1 5A 24  |=READY.".?....Z$|
00000130: 3A 8B 5A 24 B3 B1 C7 28  31 33 29 89 31 34 30 00  |:.Z$...(13).140.|
00000140: 65 09 96 00 8F 20 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |e.... **********|
00000150: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000160: 2A 2A 2A 2A 2A 00 8B 09  97 00 8F 20 2A 20 4F 50  |*****...... * OP|
00000170: 45 4E 20 46 49 4C 45 53  20 26 20 42 55 46 46 45  |EN FILES & BUFFE|
00000180: 52 20 43 48 41 4E 4E 45  4C 20 2A 00 B1 09 98 00  |R CHANNEL *.....|
00000190: 8F 20 2A 20 53 45 54 20  55 50 20 49 4E 49 54 49  |. * SET UP INITI|
000001A0: 41 4C 20 50 41 52 41 4D  45 54 45 52 53 20 20 20  |AL PARAMETERS   |
000001B0: 2A 00 D7 09 99 00 8F 20  2A 2A 2A 2A 2A 2A 2A 2A  |*...... ********|
000001C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000001D0: 2A 2A 2A 2A 2A 2A 2A 00  FF 09 A0 00 44 4E B2 38  |*******.....DN.8|
000001E0: 3A 44 B2 30 3A 43 32 B2  32 3A 43 43 B2 31 35 3A  |:D.0:C2.2:CC.15:|
000001F0: 54 B2 31 38 3A 53 B2 30  3A 42 50 B2 31 34 34 00  |T.18:S.0:BP.144.|
00000200: 18 0A AA 00 9F 43 43 2C  44 4E 2C 43 43 2C 22 49  |.....CC,DN,CC,"I|
00000210: 30 22 3A 8D 31 30 30 30  00 30 0A B4 00 9F 43 32  |0":.1000.0....C2|
00000220: 2C 44 4E 2C 43 32 2C 22  23 22 3A 8D 31 30 30 30  |,DN,C2,"#":.1000|
00000230: 00 56 0A C8 00 8F 20 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.V.... *********|
00000240: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000250: 2A 2A 2A 2A 2A 2A 00 7C  0A C9 00 8F 20 2A 20 47  |******.|.... * G|
00000260: 45 54 20 44 49 53 4B 20  49 44 20 3A 20 54 52 43  |ET DISK ID : TRC|
00000270: 4B 31 38 20 2F 53 43 54  52 30 20 2A 00 A2 0A CA  |K18 /SCTR0 *....|
00000280: 00 8F 20 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.. *************|
00000290: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000002A0: 2A 2A 00 BE 0A D2 00 98  43 43 2C 22 55 31 3A 22  |**......CC,"U1:"|
000002B0: 43 32 3B 44 3B 54 3B 53  3A 8D 31 30 30 30 00 D2  |C2;D;T;S:.1000..|
000002C0: 0A DC 00 98 43 43 2C 22  42 2D 50 3A 22 43 32 3B  |....CC,"B-P:"C2;|
000002D0: 42 50 00 EF 0A E6 00 49  44 24 B2 22 22 3A 4E B2  |BP.....ID$."":N.|
000002E0: 32 30 3A 8D 31 30 33 30  3A 49 44 24 B2 5A 24 00  |20:.1030:ID$.Z$.|
000002F0: 0D 0B F0 00 99 22 11 20  44 49 53 4B 20 4C 4F 41  |.....". DISK LOA|
00000300: 44 45 44 20 3A 20 22 49  44 24 22 20 22 00 33 0B  |DED : "ID$" ".3.|
00000310: 2C 01 8F 20 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |,.. ************|
00000320: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000330: 2A 2A 2A 00 59 0B 2D 01  8F 20 2A 20 53 45 54 20  |***.Y.-.. * SET |
00000340: 55 50 20 44 49 52 45 43  54 4F 52 59 20 41 52 52  |UP DIRECTORY ARR|
00000350: 41 59 53 20 20 20 20 20  2A 00 7F 0B 2E 01 8F 20  |AYS     *...... |
00000360: 2A 20 41 4E 44 20 53 45  43 54 4F 52 20 54 52 41  |* AND SECTOR TRA|
00000370: 49 4C 20 20 20 20 20 20  20 20 20 20 20 20 2A 00  |IL            *.|
00000380: A5 0B 2F 01 8F 20 2A 20  41 4C 4C 4F 57 20 46 4F  |../.. * ALLOW FO|
00000390: 52 20 31 39 20 53 45 43  54 4F 52 53 20 20 20 20  |R 19 SECTORS    |
000003A0: 20 20 20 20 2A 00 CB 0B  30 01 8F 20 2A 20 41 4C  |    *...0.. * AL|
000003B0: 4C 4F 57 20 46 4F 52 20  31 35 32 20 45 4E 54 52  |LOW FOR 152 ENTR|
000003C0: 49 45 53 20 20 20 20 20  20 20 2A 00 F1 0B 31 01  |IES       *...1.|
000003D0: 8F 20 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |. **************|
000003E0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000003F0: 2A 00 15 0C 36 01 86 53  25 28 31 39 29 3A 8F 20  |*...6..S%(19):. |
00000400: 4E 45 58 54 20 44 49 52  45 43 54 4F 52 59 20 53  |NEXT DIRECTORY S|
00000410: 45 43 54 4F 52 00 2F 0C  37 01 86 46 54 24 28 31  |ECTOR./.7..FT$(1|
00000420: 39 32 29 3A 8F 20 46 49  4C 45 20 54 59 50 45 00  |92):. FILE TYPE.|
00000430: 57 0C 38 01 86 54 53 24  28 31 39 32 29 3A 8F 20  |W.8..TS$(192):. |
00000440: 54 26 53 20 4F 46 20 46  49 52 53 54 20 44 41 54  |T&S OF FIRST DAT|
00000450: 41 20 42 4C 4F 43 4B 00  71 0C 39 01 86 4E 46 24  |A BLOCK.q.9..NF$|
00000460: 28 31 39 32 29 3A 8F 20  46 49 4C 45 20 4E 41 4D  |(192):. FILE NAM|
00000470: 45 00 8E 0C 3A 01 86 46  45 24 28 31 39 32 29 3A  |E...:..FE$(192):|
00000480: 8F 20 46 49 4C 45 20 45  4E 54 45 49 45 53 00 A8  |. FILE ENTEIES..|
00000490: 0C 3B 01 86 53 4B 24 28  31 39 32 29 3A 8F 20 53  |.;..SK$(192):. S|
000004A0: 4F 52 54 20 4B 45 59 53  00 B3 0C 40 01 86 54 24  |ORT KEYS...@..T$|
000004B0: 28 34 29 00 E7 0C 41 01  54 24 28 31 29 B2 22 53  |(4)...A.T$(1)."S|
000004C0: 45 51 22 3A 54 24 28 32  29 B2 22 50 52 47 22 3A  |EQ":T$(2)."PRG":|
000004D0: 54 24 28 33 29 B2 22 55  53 52 22 3A 54 24 28 34  |T$(3)."USR":T$(4|
000004E0: 29 B2 22 52 45 4C 22 00  16 0D 4A 01 81 49 B2 31  |)."REL"...J..I.1|
000004F0: A4 33 30 3A 5A 30 24 B2  5A 30 24 AA C7 28 30 29  |.30:Z0$.Z0$..(0)|
00000500: 3A 82 3A 8F 20 46 4F 52  20 42 4C 41 4E 4B 20 45  |:.:. FOR BLANK E|
00000510: 4E 54 52 49 45 53 00 3C  0D 5E 01 8F 20 2A 2A 2A  |NTRIES.<.^.. ***|
00000520: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000530: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 00 62 0D 5F  |************.b._|
00000540: 01 8F 20 2A 20 52 45 41  44 20 44 49 52 45 43 54  |.. * READ DIRECT|
00000550: 4F 52 59 20 45 4E 54 52  49 45 53 20 20 20 20 20  |ORY ENTRIES     |
00000560: 20 2A 00 88 0D 60 01 8F  20 2A 2A 2A 2A 2A 2A 2A  | *...`.. *******|
00000570: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000580: 2A 2A 2A 2A 2A 2A 2A 2A  00 9F 0D 68 01 53 B2 31  |********...h.S.1|
00000590: 3A 8F 20 53 54 41 52 54  20 53 45 43 54 4F 52 00  |:. START SECTOR.|
000005A0: BA 0D 72 01 45 B2 31 3A  8F 20 53 54 41 52 54 20  |..r.E.1:. START |
000005B0: 46 49 4C 45 20 45 4E 54  52 59 00 DB 0D 7C 01 98  |FILE ENTRY...|..|
000005C0: 43 43 2C 22 55 31 3A 22  43 32 3B 44 3B 54 3B 53  |CC,"U1:"C2;D;T;S|
000005D0: 3A 8D 31 30 30 30 3A 42  50 B2 31 00 10 0E 86 01  |:.1000:BP.1.....|
000005E0: 98 43 43 2C 22 42 2D 50  3A 22 3B 43 32 3B 42 50  |.CC,"B-P:";C2;BP|
000005F0: 3A 8D 31 31 30 30 3A 53  25 28 53 29 B2 41 3A 8F  |:.1100:S%(S).A:.|
00000600: 20 47 45 54 20 4E 45 58  54 20 53 45 43 54 4F 52  | GET NEXT SECTOR|
00000610: 00 3F 0E 90 01 98 43 43  2C 22 42 2D 50 3A 22 43  |.?....CC,"B-P:"C|
00000620: 32 3B 42 50 3A 8D 31 31  30 30 3A 46 54 B2 41 3A  |2;BP:.1100:FT.A:|
00000630: 8F 20 47 45 54 20 46 49  4C 45 20 54 59 50 45 00  |. GET FILE TYPE.|
00000640: 6C 0E 9A 01 8B 46 54 B2  30 B0 46 54 B2 31 32 38  |l....FT.0.FT.128|
00000650: A7 42 50 B2 42 50 AA 33  31 3A 89 35 30 30 3A 8F  |.BP.BP.31:.500:.|
00000660: 20 42 4C 41 4E 4B 20 45  4E 54 52 59 00 99 0E A4  | BLANK ENTRY....|
00000670: 01 8B 46 54 B3 31 32 38  A7 99 22 11 20 46 49 4C  |..FT.128..". FIL|
00000680: 45 20 45 52 52 4F 52 20  20 4E 4F 54 20 43 4C 4F  |E ERROR  NOT CLO|
00000690: 53 45 44 22 3A 89 39 39  39 00 A7 0E AE 01 46 54  |SED":.999.....FT|
000006A0: 24 28 45 29 B2 41 24 00  C9 0E B8 01 4E B2 32 3A  |$(E).A$.....N.2:|
000006B0: 8D 31 30 34 30 3A 54 53  24 28 45 29 B2 5A 24 3A  |.1040:TS$(E).Z$:|
000006C0: 8F 20 47 45 54 20 54 26  53 00 ED 0E C2 01 4E B2  |. GET T&S.....N.|
000006D0: 31 36 3A 8D 31 30 34 30  3A 4E 46 24 28 45 29 B2  |16:.1040:NF$(E).|
000006E0: 5A 24 3A 8F 20 47 45 54  20 4E 41 4D 45 00 1A 0F  |Z$:. GET NAME...|
000006F0: CC 01 4E B2 31 31 3A 8D  31 30 34 30 3A 46 45 24  |..N.11:.1040:FE$|
00000700: 28 45 29 B2 5A 24 3A 8F  20 47 45 54 20 46 49 4C  |(E).Z$:. GET FIL|
00000710: 45 20 45 4E 54 45 52 49  45 53 00 40 0F D6 01 8F  |E ENTERIES.@....|
00000720: 20 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  | ***************|
00000730: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000740: 00 66 0F D7 01 8F 20 2A  20 50 52 49 4E 54 20 44  |.f.... * PRINT D|
00000750: 49 52 45 43 54 4F 52 59  20 45 4E 54 52 59 20 20  |IRECTORY ENTRY  |
00000760: 20 20 20 20 20 2A 00 8C  0F D8 01 8F 20 2A 2A 2A  |     *...... ***|
00000770: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000780: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 00 AE 0F E0  |************....|
00000790: 01 99 2C 22 20 20 20 20  22 4E 46 24 28 45 29 22  |..,"    "NF$(E)"|
000007A0: 20 3A 20 22 54 24 28 46  54 AB 31 32 38 29 00 C0  | : "T$(FT.128)..|
000007B0: 0F EA 01 42 50 B2 42 50  AA 32 3A 45 B2 45 AA 31  |...BP.BP.2:E.E.1|
000007C0: 00 E1 0F F4 01 8B 42 50  B3 32 35 36 89 34 30 30  |......BP.256.400|
000007D0: 3A 8F 20 46 4F 52 20 4E  45 58 54 20 45 4E 54 52  |:. FOR NEXT ENTR|
000007E0: 59 00 0C 10 FE 01 8B 53  25 28 53 29 B3 B1 32 35  |Y......S%(S)..25|
000007F0: 35 A7 53 B2 53 25 28 53  29 3A 89 33 38 30 3A 8F  |5.S.S%(S):.380:.|
00000800: 20 4E 45 58 54 20 53 45  43 54 4F 52 00 2B 10 08  | NEXT SECTOR.+..|
00000810: 02 8D 31 31 33 30 3A 8F  20 47 45 54 20 4F 4B 20  |..1130:. GET OK |
00000820: 54 4F 20 43 4F 4E 54 49  4E 55 45 00 54 10 12 02  |TO CONTINUE.T...|
00000830: 45 B2 45 AB 31 3A 8B 45  B2 30 A7 89 37 33 30 3A  |E.E.1:.E.0..730:|
00000840: 8F 20 44 49 52 45 43 54  4F 52 59 20 49 53 20 45  |. DIRECTORY IS E|
00000850: 4D 50 54 59 00 77 10 1C  02 99 22 47 52 4F 55 50  |MPTY.w...."GROUP|
00000860: 20 42 59 20 46 49 4C 45  20 54 59 50 45 20 3F 20  | BY FILE TYPE ? |
00000870: 28 59 2F 4E 29 20 22 00  92 10 26 02 A1 5A 24 3A  |(Y/N) "...&..Z$:|
00000880: 46 54 24 B2 5A 24 3A 8B  5A 24 B2 22 59 22 A7 35  |FT$.Z$:.Z$."Y".5|
00000890: 37 30 00 A3 10 30 02 8B  5A 24 B3 B1 22 4E 22 A7  |70...0..Z$.."N".|
000008A0: 35 35 30 00 C9 10 3A 02  8F 20 2A 2A 2A 2A 2A 2A  |550...:.. ******|
000008B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000008C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 00 EF 10 3B 02 8F 20  |*********...;.. |
000008D0: 2A 20 53 45 54 20 53 4F  52 54 20 4B 45 59 53 20  |* SET SORT KEYS |
000008E0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 2A 00  |              *.|
000008F0: 15 11 3C 02 8F 20 2A 20  53 4F 52 54 20 44 49 52  |..<.. * SORT DIR|
00000900: 45 43 54 4F 52 59 20 45  4E 54 52 49 45 53 20 20  |ECTORY ENTRIES  |
00000910: 20 20 20 20 2A 00 3B 11  3D 02 8F 20 2A 20 55 53  |    *.;.=.. * US|
00000920: 45 53 20 53 48 45 4C 4C  20 53 4F 52 54 20 20 20  |ES SHELL SORT   |
00000930: 20 20 20 20 20 20 20 20  20 20 2A 00 61 11 3E 02  |          *.a.>.|
00000940: 8F 20 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |. **************|
00000950: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000960: 2A 00 76 11 44 02 99 22  11 20 53 4F 52 54 49 4E  |*.v.D..". SORTIN|
00000970: 47 20 2E 2E 2E 22 00 86  11 4E 02 81 49 B2 31 A4  |G ..."...N..I.1.|
00000980: 45 3A 4B B2 31 36 00 B3  11 58 02 81 4A B2 31 A4  |E:K.16...X..J.1.|
00000990: 31 36 3A 8B CA 28 4E 46  24 28 49 29 2C 4A 2C 31  |16:..(NF$(I),J,1|
000009A0: 29 B2 C7 28 31 36 30 29  A7 4B B2 4A AB 31 3A 4A  |)..(160).K.J.1:J|
000009B0: B2 31 36 00 CD 11 62 02  82 4A 3A 53 4B 24 28 49  |.16...b..J:SK$(I|
000009C0: 29 B2 C8 28 4E 46 24 28  49 29 2C 4B 29 00 EF 11  |)..(NF$(I),K)...|
000009D0: 6C 02 8B 46 54 24 B2 22  59 22 A7 53 4B 24 28 49  |l..FT$."Y".SK$(I|
000009E0: 29 B2 46 54 24 28 49 29  AA 53 4B 24 28 49 29 00  |).FT$(I).SK$(I).|
000009F0: FA 11 76 02 82 49 3A 4D  B2 45 00 10 12 80 02 4D  |..v..I:M.E.....M|
00000A00: B2 B5 28 4D AD 32 29 3A  8B 4D B2 30 A7 37 33 30  |..(M.2):.M.0.730|
00000A10: 00 1E 12 8A 02 4B B2 45  AB 4D 3A 4A B2 30 00 2B  |.....K.E.M:J.0.+|
00000A20: 12 94 02 8B 4A B1 4B A7  36 34 30 00 33 12 9E 02  |....J.K.640.3...|
00000A30: 49 B2 4A 00 40 12 A8 02  8B 49 B3 30 A7 37 30 30  |I.J.@....I.0.700|
00000A40: 00 59 12 B2 02 8B 53 4B  24 28 49 AA 4D 29 B3 53  |.Y....SK$(I.M).S|
00000A50: 4B 24 28 49 29 A7 37 31  30 00 68 12 BC 02 4A B2  |K$(I).710.h...J.|
00000A60: 4A AA 31 3A 89 36 36 30  00 92 12 C6 02 41 24 B2  |J.1:.660.....A$.|
00000A70: 46 54 24 28 49 29 3A 46  54 24 28 49 29 B2 46 54  |FT$(I):FT$(I).FT|
00000A80: 24 28 49 AA 4D 29 3A 46  54 24 28 49 AA 4D 29 B2  |$(I.M):FT$(I.M).|
00000A90: 41 24 00 BC 12 C7 02 41  24 B2 54 53 24 28 49 29  |A$.....A$.TS$(I)|
00000AA0: 3A 54 53 24 28 49 29 B2  54 53 24 28 49 AA 4D 29  |:TS$(I).TS$(I.M)|
00000AB0: 3A 54 53 24 28 49 AA 4D  29 B2 41 24 00 E6 12 C8  |:TS$(I.M).A$....|
00000AC0: 02 41 24 B2 4E 46 24 28  49 29 3A 4E 46 24 28 49  |.A$.NF$(I):NF$(I|
00000AD0: 29 B2 4E 46 24 28 49 AA  4D 29 3A 4E 46 24 28 49  |).NF$(I.M):NF$(I|
00000AE0: AA 4D 29 B2 41 24 00 10  13 C9 02 41 24 B2 46 45  |.M).A$.....A$.FE|
00000AF0: 24 28 49 29 3A 46 45 24  28 49 29 B2 46 45 24 28  |$(I):FE$(I).FE$(|
00000B00: 49 AA 4D 29 3A 46 45 24  28 49 AA 4D 29 B2 41 24  |I.M):FE$(I.M).A$|
00000B10: 00 3A 13 CA 02 41 24 B2  53 4B 24 28 49 29 3A 53  |.:...A$.SK$(I):S|
00000B20: 4B 24 28 49 29 B2 53 4B  24 28 49 AA 4D 29 3A 53  |K$(I).SK$(I.M):S|
00000B30: 4B 24 28 49 AA 4D 29 B2  41 24 00 49 13 D0 02 49  |K$(I.M).A$.I...I|
00000B40: B2 49 AB 4D 3A 89 36 38  30 00 6F 13 DA 02 8F 20  |.I.M:.680.o.... |
00000B50: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000B60: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
00000B70: 95 13 DB 02 8F 20 2A 20  57 52 49 54 45 20 44 49  |..... * WRITE DI|
00000B80: 52 45 43 54 4F 52 59 20  45 4E 54 45 52 49 45 53  |RECTORY ENTERIES|
00000B90: 20 20 20 20 2A 00 BB 13  DC 02 8F 20 2A 2A 2A 2A  |    *...... ****|
00000BA0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000BB0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 00 D9 13 E4 02  |***********.....|
00000BC0: 99 22 91 20 D7 52 49 54  49 4E 47 20 2E 2E 2E 20  |.". .RITING ... |
00000BD0: 3A 20 22 49 44 24 22 20  22 00 0B 14 EE 02 5A 24  |: "ID$" ".....Z$|
00000BE0: B2 C7 28 30 29 AA C7 28  32 35 35 29 3A 8F 20 54  |..(0)..(255):. T|
00000BF0: 4F 20 54 45 52 4D 49 4E  41 54 45 20 44 49 52 45  |O TERMINATE DIRE|
00000C00: 43 54 4F 52 59 20 43 48  41 49 4E 00 26 14 F8 02  |CTORY CHAIN.&...|
00000C10: 53 B2 31 3A 4E B2 31 3A  8F 20 53 54 41 52 54 20  |S.1:N.1:. START |
00000C20: 53 45 43 54 4F 52 00 5A  14 02 03 98 43 43 2C 22  |SECTOR.Z....CC,"|
00000C30: 55 31 3A 22 43 32 3B 44  3B 54 3B 53 3A 8D 31 30  |U1:"C2;D;T;S:.10|
00000C40: 30 30 3A 8F 20 52 45 41  44 20 44 49 52 45 43 54  |00:. READ DIRECT|
00000C50: 4F 52 59 20 53 45 43 54  4F 52 00 71 14 0C 03 42  |ORY SECTOR.q...B|
00000C60: 50 B2 32 3A 8F 20 46 49  52 53 54 20 45 4E 54 52  |P.2:. FIRST ENTR|
00000C70: 59 00 95 14 16 03 8B 4E  B1 45 A7 38 39 30 3A 8F  |Y......N.E.890:.|
00000C80: 20 4E 4F 20 4D 4F 52 45  20 4C 49 56 45 20 45 4E  | NO MORE LIVE EN|
00000C90: 54 52 49 45 53 00 B4 14  20 03 8B 42 50 B3 32 35  |TRIES... ..BP.25|
00000CA0: 36 A7 38 34 30 3A 8F 20  4E 4F 54 20 59 45 54 20  |6.840:. NOT YET |
00000CB0: 46 55 4C 4C 00 E9 14 34  03 98 43 43 2C 22 55 32  |FULL...4..CC,"U2|
00000CC0: 3A 22 43 32 3B 44 3B 54  3B 53 3A 8D 31 30 30 30  |:"C2;D;T;S:.1000|
00000CD0: 3A 8F 20 57 52 49 54 45  20 44 49 52 45 43 54 4F  |:. WRITE DIRECTO|
00000CE0: 52 59 20 53 45 43 54 4F  52 00 08 15 3E 03 53 B2  |RY SECTOR...>.S.|
00000CF0: 53 25 28 53 29 3A 89 37  37 30 3A 8F 20 4E 45 58  |S%(S):.770:. NEX|
00000D00: 54 20 53 45 43 54 4F 52  00 38 15 48 03 98 43 43  |T SECTOR.8.H..CC|
00000D10: 2C 22 42 2D 50 22 3B 43  32 3B 42 50 3A 8F 20 53  |,"B-P";C2;BP:. S|
00000D20: 45 54 20 50 4F 49 4E 54  45 52 20 54 4F 20 4E 45  |ET POINTER TO NE|
00000D30: 58 54 20 45 4E 54 52 59  00 62 15 52 03 99 2C 22  |XT ENTRY.b.R..,"|
00000D40: 20 20 20 20 20 22 4E 46  24 28 4E 29 22 20 3A 20  |     "NF$(N)" : |
00000D50: 22 54 24 28 C6 28 46 54  24 28 4E 29 29 AB 31 32  |"T$(.(FT$(N)).12|
00000D60: 38 29 00 99 15 5C 03 98  43 32 2C 46 54 24 28 4E  |8)...\..C2,FT$(N|
00000D70: 29 3B 54 53 24 28 4E 29  3B 4E 46 24 28 4E 29 3B  |);TS$(N);NF$(N);|
00000D80: 46 45 24 28 4E 29 3B 3A  8F 20 44 49 52 45 43 54  |FE$(N);:. DIRECT|
00000D90: 4F 52 59 20 45 4E 54 52  59 00 B1 15 66 03 42 50  |ORY ENTRY...f.BP|
00000DA0: B2 42 50 AA 33 32 3A 4E  B2 4E AA 31 3A 89 37 39  |.BP.32:N.N.1:.79|
00000DB0: 30 00 CF 15 7A 03 8B 42  50 B1 32 35 35 A7 39 33  |0...z..BP.255.93|
00000DC0: 30 3A 8F 20 46 55 4C 4C  20 53 45 43 54 4F 52 00  |0:. FULL SECTOR.|
00000DD0: E4 15 84 03 98 43 43 2C  22 42 2D 50 3A 22 3B 43  |.....CC,"B-P:";C|
00000DE0: 32 3B 42 50 00 FF 15 8E  03 98 43 32 2C 5A 30 24  |2;BP......C2,Z0$|
00000DF0: 3B 3A 8F 20 42 4C 41 4E  4B 20 45 4E 54 52 59 00  |;:. BLANK ENTRY.|
00000E00: 11 16 98 03 42 50 B2 42  50 AA 33 32 3A 89 38 39  |....BP.BP.32:.89|
00000E10: 30 00 2B 16 A2 03 42 50  B2 30 3A 98 43 43 2C 22  |0.+...BP.0:.CC,"|
00000E20: 42 2D 50 3A 22 3B 43 32  3B 42 50 00 50 16 AC 03  |B-P:";C2;BP.P...|
00000E30: 98 43 32 2C 5A 24 3B 3A  8F 20 45 4E 44 20 4F 46  |.C2,Z$;:. END OF|
00000E40: 20 44 49 52 45 43 54 4F  52 59 20 43 48 41 49 4E  | DIRECTORY CHAIN|
00000E50: 00 85 16 B6 03 98 43 43  2C 22 55 32 3A 22 43 32  |......CC,"U2:"C2|
00000E60: 3B 44 3B 54 3B 53 3A 8D  31 30 30 30 3A 8F 20 57  |;D;T;S:.1000:. W|
00000E70: 52 49 54 45 20 44 49 52  45 43 54 4F 52 59 20 53  |RITE DIRECTORY S|
00000E80: 45 43 54 4F 52 00 B0 16  C0 03 5A 24 B2 C8 28 5A  |ECTOR.....Z$..(Z|
00000E90: 30 24 2C 32 29 3A 8F 20  42 4C 41 4E 4B 53 20 46  |0$,2):. BLANKS F|
00000EA0: 4F 52 20 46 55 54 48 45  52 20 43 48 41 49 4E 53  |OR FUTHER CHAINS|
00000EB0: 00 D2 16 CA 03 53 B2 53  25 28 53 29 3A 8B 53 B2  |.....S.S%(S):.S.|
00000EC0: 32 35 35 A7 39 39 39 3A  8F 20 46 49 4E 49 53 48  |255.999:. FINISH|
00000ED0: 45 44 00 0C 17 D4 03 98  43 43 2C 22 56 31 3A 22  |ED......CC,"V1:"|
00000EE0: 43 32 3B 44 3B 54 3B 53  3A 8D 31 30 30 30 3A 8F  |C2;D;T;S:.1000:.|
00000EF0: 20 52 45 41 44 20 45 4D  50 54 59 20 44 49 52 45  | READ EMPTY DIRE|
00000F00: 43 54 4F 52 59 20 53 45  43 54 4F 52 00 30 17 DE  |CTORY SECTOR.0..|
00000F10: 03 42 50 B2 32 3A 89 39  30 30 3A 8F 20 54 4F 20  |.BP.2:.900:. TO |
00000F20: 43 4C 45 41 52 20 4F 55  54 20 53 45 43 54 4F 52  |CLEAR OUT SECTOR|
00000F30: 00 3E 17 E7 03 A0 43 32  3A A0 43 43 3A 80 00 63  |.>....C2:.CC:..c|
00000F40: 17 E8 03 8F 20 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.... ***********|
00000F50: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000F60: 2A 2A 2A 00 88 17 E9 03  8F 20 2A 20 49 4E 50 55  |***...... * INPU|
00000F70: 54 20 45 52 52 4F 52 20  43 48 41 4E 4E 45 4C 20  |T ERROR CHANNEL |
00000F80: 53 54 41 54 55 53 20 2A  00 AD 17 EA 03 8F 20 2A  |STATUS *...... *|
00000F90: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000FA0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 00 CA 17  |*************...|
00000FB0: F2 03 84 43 43 2C 45 4E  2C 45 4D 24 2C 45 54 2C  |...CC,EN,EM$,ET,|
00000FC0: 45 53 3A 8B 45 4E B2 30  A7 8E 00 F0 17 FC 03 99  |ES:.EN.0........|
00000FD0: 22 93 20 C4 C9 D3 CB 20  C5 D2 D2 CF D2 20 22 45  |". .... ..... "E|
00000FE0: 4E 3B 45 4D 24 3B 45 54  3B 45 53 3A 89 39 39 39  |N;EM$;ET;ES:.999|
00000FF0: 00 15 18 06 04 8F 20 2A  2A 2A 2A 2A 2A 2A 2A 2A  |...... *********|
00001000: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001010: 2A 2A 2A 2A 2A 00 3A 18  07 04 8F 20 2A 20 47 45  |*****.:.... * GE|
00001020: 54 20 4E 20 43 48 41 52  41 43 54 45 52 53 20 20  |T N CHARACTERS  |
00001030: 20 20 20 20 20 20 20 20  20 2A 00 5F 18 08 04 8F  |         *._....|
00001040: 20 2A 20 46 52 4F 4D 20  42 55 46 46 45 52 20 20  | * FROM BUFFER  |
00001050: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 2A 00  |              *.|
00001060: 84 18 09 04 8F 20 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |..... **********|
00001070: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001080: 2A 2A 2A 2A 00 8E 18 10  04 5A 24 B2 22 22 00 9F  |****.....Z$.""..|
00001090: 18 1A 04 81 49 B2 31 A4  4E 3A 8D 31 31 30 30 00  |....I.1.N:.1100.|
000010A0: B0 18 24 04 5A 24 B2 5A  24 AA 41 24 3A 82 3A 8E  |..$.Z$.Z$.A$:.:.|
000010B0: 00 D5 18 4C 04 8F 20 2A  2A 2A 2A 2A 2A 2A 2A 2A  |...L.. *********|
000010C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000010D0: 2A 2A 2A 2A 2A 00 FA 18  4D 04 8F 20 2A 49 4E 50  |*****...M.. *INP|
000010E0: 55 54 20 46 52 4F 4D 20  42 55 46 46 45 52 20 20  |UT FROM BUFFER  |
000010F0: 20 20 20 20 20 20 20 20  20 2A 00 1F 19 4E 04 8F  |         *...N..|
00001100: 20 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  | ***************|
00001110: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
00001120: 3A 19 56 04 A1 23 43 32  2C 41 24 3A 8B 41 24 B2  |:.V..#C2,A$:.A$.|
00001130: 22 22 A7 41 24 B2 C7 28  30 29 00 50 19 60 04 41  |"".A$..(0).P.`.A|
00001140: B2 C6 28 41 24 29 3A 42  50 B2 42 50 AA 31 3A 8E  |..(A$):BP.BP.1:.|
00001150: 00 75 19 6A 04 8F 20 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.u.j.. *********|
00001160: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001170: 2A 2A 2A 2A 2A 00 9A 19  6B 04 8F 20 2A 20 47 45  |*****...k.. * GE|
00001180: 54 20 4F 4B 20 54 4F 20  43 4F 4E 54 49 4E 55 45  |T OK TO CONTINUE|
00001190: 20 20 20 20 20 20 20 20  20 2A 00 BF 19 6C 04 8F  |         *...l..|
000011A0: 20 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  | ***************|
000011B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
000011C0: E1 19 74 04 99 22 11 20  4F 4B 20 54 4F 20 43 4F  |..t..". OK TO CO|
000011D0: 4E 54 49 4E 55 45 20 3F  20 28 59 2F 4E 29 20 20  |NTINUE ? (Y/N)  |
000011E0: 22 00 F5 19 7E 04 A1 5A  24 3A 8B 5A 24 B2 22 4E  |"...~..Z$:.Z$."N|
000011F0: 22 89 39 39 39 00 07 1A  88 04 8B 5A 24 B3 B1 22  |".999......Z$.."|
00001200: 59 22 89 31 31 35 30 00  2A 1A 92 04 99 22 91 20  |Y".1150.*....". |
00001210: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001220: 20 20 20 20 20 20 91 22  3A 8E 00 00 00 FF 00 00  |      .":.......|
..'.D.. *******************************.
M.E.. *  DIRECTORY TIDY 1541/4040   *.S.
F.. *  W.OWEN MURCOTT 1983        *...G.
. *  READ / SORT / REWRITR      *...H.. 
*******************************...N..532
80,15:.53281,15:."."...X..G(14)". TIDY D
IRECTORY ".(....".. LOAD DISK IN DRIVE 0
. RETURN=READY.".?....Z$:.Z$..G(13).140.
E.... *******************************...
... * OPEN FILES & BUFFER CHANNEL *.....
. * SET UP INITIAL PARAMETERS   *.W.... 
*******************************... .DN.8
:D.0:C2.2:CC.15:T.18:S.0:BP.144......CC,
DN,CC,"I0":.1000.0....C2,DN,C2,"#":.1000
.V.H.. *******************************.|
.I.. * GET DISK ID : TRCK18 /SCTR0 *...J
.. *******************************...R..
CC,"U1:"C2;D;T;S:.1000.R....CC,"B-P:"C2;
BP.....ID$."":N.20:.1030:ID$.Z$......". 
DISK LOADED : "ID$" ".3.,.. ************
*******************.Y.-.. * SET UP DIREC
TORY ARRAYS     *..... * AND SECTOR TRA
IL            *.../.. * ALLOW FOR 19 SEC
TORS        *.K.0.. * ALLOW FOR 152 ENTR
IES       *...1.. **********************
*********...6..S%(19):. NEXT DIRECTORY S
ECTOR./.7..FT$(192):. FILE TYPE.W.8..TS$
(192):. T&S OF FIRST DATA BLOCK.Q.9..NF$
(192):. FILE NAME...:..FE$(192):. FILE E
NTEIES...;..SK$(192):. SORT KEYS...@..T$
(4)...A.T$(1)."SEQ":T$(2)."PRG":T$(3)."U
SR":T$(4)."REL"...J..I.1.30:Z0$.Z0$.G(0)
:.:. FOR BLANK ENTRIES.<.^.. ***********
********************.B._.. * READ DIRECT
ORY ENTRIES      *...`.. ***************
****************...H.S.1:. START SECTOR.
..R.E.1:. START FILE ENTRY...|..CC,"U1:"
C2;D;T;S:.1000:BP.1......CC,"B-P:";C2;BP
:.1100:S%(S).A:. GET NEXT SECTOR.?....CC
,"B-P:"C2;BP:.1100:FT.A:. GET FILE TYPE.
L....FT.0.FT.128.BP.BP.31:.500:. BLANK E
NTRY......FT.128..". FILE ERROR  NOT CLO
SED":.999.....FT$(E).A$.I...N.2:.1040:TS
$(E).Z$:. GET T&S...B.N.16:.1040:NF$(E).
Z$:. GET NAME...L.N.11:.1040:FE$(E).Z$:.
 GET FILE ENTERIES.@.V.. ***************
****************.F.W.. * PRINT DIRECTORY
 ENTRY       *...X.. *******************
************......,"    "NF$(E)" : "T$(F
T.128).....BP.BP.2:E.E.1......BP.256.400
:. FOR NEXT ENTRY......S%(S)..255.S.S%(S
):.380:. NEXT SECTOR.+....1130:. GET OK 
TO CONTINUE.T...E.E.1:.E.0..730:. DIRECT
ORY IS EMPTY.W...."GROUP BY FILE TYPE ? 
(Y/N) "...&..Z$:FT$.Z$:.Z$."Y".570...0..
Z$.."N".550.I.:.. **********************
*********...;.. * SET SORT KEYS         
      *...<.. * SORT DIRECTORY ENTRIES  
    *.;.=.. * USES SHELL SORT           
  *.A.>.. ******************************
*.V.D..". SORTING ..."...N..I.1.E:K.16..
.X..J.1.16:.J(NF$(I),J,1).G(160).K.J.1:J
.16.M.B..J:SK$(I).H(NF$(I),K)...L..FT$."
Y".SK$(I).FT$(I).SK$(I)...V..I:M.E.....M
..(M.2):.M.0.730.....K.E.M:J.0.+....J.K.
640.3...I.J.@....I.0.700.Y....SK$(I.M).S
K$(I).710.H...J.J.1:.660...F.A$.FT$(I):F
T$(I).FT$(I.M):FT$(I.M).A$...G.A$.TS$(I)
:TS$(I).TS$(I.M):TS$(I.M).A$...H.A$.NF$(
I):NF$(I).NF$(I.M):NF$(I.M).A$...I.A$.FE
$(I):FE$(I).FE$(I.M):FE$(I.M).A$.:.J.A$.
SK$(I):SK$(I).SK$(I.M):SK$(I.M).A$.I.P.I
.I.M:.680.O.Z.. ************************
*******...... * WRITE DIRECTORY ENTERIES
    *...... ****************************
***.Y....". WRITING ... : "ID$" ".....Z$
.G(0).G(255):. TO TERMINATE DIRECTORY CH
AIN.&...S.1:N.1:. START SECTOR.Z....CC,"
U1:"C2;D;T;S:.1000:. READ DIRECTORY SECT
OR.Q...BP.2:. FIRST ENTRY......N.E.890:.
 NO MORE LIVE ENTRIES... ..BP.256.840:. 
NOT YET FULL...4..CC,"U2:"C2;D;T;S:.1000
:. WRITE DIRECTORY SECTOR...>.S.S%(S):.7
70:. NEXT SECTOR.8.H..CC,"B-P";C2;BP:. S
ET POINTER TO NEXT ENTRY.B.R..,"     "NF
$(N)" : "T$(F(FT$(N)).128)...\..C2,FT$(N
);TS$(N);NF$(N);FE$(N);:. DIRECTORY ENTR
Y...F.BP.BP.32:N.N.1:.790.O.Z..BP.255.93
0:. FULL SECTOR......CC,"B-P:";C2;BP....
..C2,Z0$;:. BLANK ENTRY.....BP.BP.32:.89
0.+...BP.0:.CC,"B-P:";C2;BP.P....C2,Z$;:
. END OF DIRECTORY CHAIN......CC,"U2:"C2
;D;T;S:.1000:. WRITE DIRECTORY SECTOR...
..Z$.H(Z0$,2):. BLANKS FOR FUTHER CHAINS
.R.J.S.S%(S):.S.255.999:. FINISHED...T..
CC,"V1:"C2;D;T;S:.1000:. READ EMPTY DIRE
CTORY SECTOR.0...BP.2:.900:. TO CLEAR OU
T SECTOR.>... C2: CC:..C.... ***********
*******************...... * INPUT ERROR 
CHANNEL STATUS *...... *****************
*************.J....CC,EN,EM$,ET,ES:.EN.0
........". DISK ERROR "EN;EM$;ET;ES:.999
...... ******************************.:.
... * GET N CHARACTERS           *._....
 * FROM BUFFER                *...... **
****************************.....Z$.""..
....I.1.N:.1100...$.Z$.Z$.A$:.:..U.L.. *
*****************************...M.. *INP
UT FROM BUFFER           *...N.. *******
***********************.:.V..#C2,A$:.A$.
"".A$.G(0).P.`.A.F(A$):BP.BP.1:..U.J.. *
*****************************...K.. * GE
T OK TO CONTINUE         *...L.. *******
***********************...T..". OK TO CO
NTINUE ? (Y/N)  "...~..Z$:.Z$."N".999...
...Z$.."Y".1150.*....".                 
      .":.......
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL