5.DISK-MAP
FILE INFORMATION
FILENAME(S): 5.DISK-MAP
FILE TYPE(S): PRG
FILE SIZE: 10.7K
FIRST SEEN: 2025-11-30 01:08:05
APPEARS ON: 2 disk(s)
FILE HASH
a0aabad6a4e96b3b6a3630a774fd80565cc17af41e39ddfd78b8ea8c4563c118
FOUND ON DISKS (2 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| U TILITEIS | 5.DISK-MAP | PRG | Treasure Chest - Wolfgang Rauprich | 13 | 2 | DOWNLOAD FILE |
| FREEWARE DISK NR | 5.DISK-MAP | PRG | Treasure Chest - Wolfgang Rauprich | 13 | 2 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 3D 08 01 00 8F 20 20 44 49 53 4B 4D 41 50 |..=.... DISKMAP|
00000010: 20 2D 20 53 48 4F 57 53 20 31 35 34 31 20 45 54 | - SHOWS 1541 ET|
00000020: 43 20 46 49 4C 45 20 53 54 52 55 43 54 55 52 45 |C FILE STRUCTURE|
00000030: 20 28 41 4E 44 20 45 52 52 4F 52 53 29 00 43 08 | (AND ERRORS).C.|
00000040: 02 00 8F 00 4E 08 0A 00 89 20 39 30 30 30 00 57 |....N.... 9000.W|
00000050: 08 BE 00 8F 20 2F 2A 00 6A 08 BF 00 8F 20 20 2A |.... /*.j.... *|
00000060: 20 47 4F 53 55 42 20 32 30 30 00 B5 08 C0 00 8F | GOSUB 200......|
00000070: 20 20 2A 20 53 50 45 43 49 41 4C 49 5A 45 44 20 | * SPECIALIZED |
00000080: 53 55 42 52 4F 55 54 49 4E 45 20 46 4F 52 20 43 |SUBROUTINE FOR C|
00000090: 4F 4E 56 45 52 54 49 4E 47 20 41 4E 44 20 50 52 |ONVERTING AND PR|
000000A0: 49 4E 54 49 4E 47 20 53 45 43 54 4F 52 20 4E 55 |INTING SECTOR NU|
000000B0: 4D 42 45 52 53 00 E8 08 C1 00 8F 20 20 2A 20 52 |MBERS...... * R|
000000C0: 45 51 55 49 52 45 53 3A 20 41 28 54 52 41 43 4B |EQUIRES: A(TRACK|
000000D0: 29 20 41 4E 44 20 42 28 53 45 43 54 4F 52 29 20 |) AND B(SECTOR) |
000000E0: 41 53 20 49 4E 50 55 54 00 0D 09 C3 00 8F 20 20 |AS INPUT...... |
000000F0: 2A 20 53 45 54 53 3A 20 41 24 20 41 53 20 4F 55 |* SETS: A$ AS OU|
00000100: 54 50 55 54 20 20 22 28 54 2C 53 29 22 00 22 09 |TPUT "(T,S)".".|
00000110: C4 00 8F 20 20 2A 20 43 48 41 4E 47 45 53 3A 20 |... * CHANGES: |
00000120: 42 24 00 2C 09 C5 00 8F 20 20 2A 2F 00 41 09 C8 |B$.,.... */.A..|
00000130: 00 41 24 B2 C4 28 41 29 3A 20 42 24 B2 C4 28 42 |.A$..(A): B$..(B|
00000140: 29 00 70 09 D2 00 41 24 B2 22 28 22 AA C9 28 41 |).p...A$."("..(A|
00000150: 24 2C C3 28 41 24 29 AB 31 29 AA 22 2C 22 AA C9 |$,.(A$).1).","..|
00000160: 28 42 24 2C C3 28 42 24 29 AB 31 29 AA 22 29 22 |(B$,.(B$).1).")"|
00000170: 00 76 09 E6 00 8E 00 7F 09 37 01 8F 20 2F 2A 00 |.v.......7.. /*.|
00000180: BF 09 38 01 8F 20 20 2A 20 47 4F 53 55 42 20 33 |..8.. * GOSUB 3|
00000190: 31 35 20 2D 20 43 48 45 43 4B 20 44 49 53 4B 20 |15 - CHECK DISK |
000001A0: 45 52 52 4F 52 20 53 54 41 54 55 53 20 42 59 20 |ERROR STATUS BY |
000001B0: 52 45 41 44 49 4E 47 20 46 49 4C 45 20 31 35 00 |READING FILE 15.|
000001C0: 02 0A 39 01 8F 20 20 2A 20 20 20 49 54 20 49 53 |..9.. * IT IS|
000001D0: 20 41 53 53 55 4D 45 44 20 54 48 41 54 20 54 48 | ASSUMED THAT TH|
000001E0: 45 20 43 41 4C 4C 45 52 20 57 49 4C 4C 20 55 53 |E CALLER WILL US|
000001F0: 45 20 53 54 41 54 55 53 20 41 53 20 57 41 4E 54 |E STATUS AS WANT|
00000200: 45 44 00 0C 0A 3A 01 8F 20 20 2A 2F 00 24 0A 3B |ED...:.. */.$.;|
00000210: 01 84 31 35 2C 45 4E 2C 45 4D 24 2C 45 54 2C 45 |..15,EN,EM$,ET,E|
00000220: 53 3A 20 8E 00 2D 0A 9B 01 8F 20 2F 2A 00 6A 0A |S: ..-.... /*.j.|
00000230: 9C 01 8F 20 20 2A 20 47 4F 53 55 42 20 34 31 35 |... * GOSUB 415|
00000240: 20 2D 20 43 48 45 43 4B 20 44 49 53 4B 20 53 54 | - CHECK DISK ST|
00000250: 41 54 55 53 20 41 4E 44 20 41 42 4F 52 54 20 49 |ATUS AND ABORT I|
00000260: 46 20 4E 4F 4E 2D 5A 45 52 4F 00 74 0A 9D 01 8F |F NON-ZERO.t....|
00000270: 20 20 2A 2F 00 8A 0A 9F 01 8D 20 33 31 35 3A 20 | */...... 315: |
00000280: 8B 20 45 4E B2 30 20 A7 20 8E 00 C6 0A A4 01 99 |. EN.0 . .......|
00000290: 22 44 49 53 4B 20 45 52 52 4F 52 22 3B 45 4E 3B |"DISK ERROR";EN;|
000002A0: 45 4D 24 3B 45 54 3B 45 53 3B 22 2D 2D 50 52 4F |EM$;ET;ES;"--PRO|
000002B0: 47 52 41 4D 20 41 42 4F 52 54 45 44 22 3A 20 89 |GRAM ABORTED": .|
000002C0: 20 36 33 39 30 30 00 CF 0A EB 01 8F 20 2F 2A 00 | 63900...... /*.|
000002D0: 1B 0B EC 01 8F 20 20 2A 20 47 4F 53 55 42 20 35 |..... * GOSUB 5|
000002E0: 30 30 20 2D 20 52 45 54 55 52 4E 20 46 49 4C 45 |00 - RETURN FILE|
000002F0: 4E 41 4D 45 20 41 20 46 52 4F 4D 20 4E 41 4D 45 |NAME A FROM NAME|
00000300: 20 54 41 42 4C 45 2C 20 41 50 50 45 4E 44 49 4E | TABLE, APPENDIN|
00000310: 47 20 45 58 54 45 4E 53 49 4F 4E 00 4B 0B ED 01 |G EXTENSION.K...|
00000320: 8F 20 20 2A 20 20 20 4E 41 4D 45 20 49 53 20 52 |. * NAME IS R|
00000330: 45 54 55 52 4E 45 44 20 49 4E 20 53 24 3B 20 41 |ETURNED IN S$; A|
00000340: 20 49 53 20 43 48 41 4E 47 45 44 00 55 0B EE 01 | IS CHANGED.U...|
00000350: 8F 20 20 2A 2F 00 71 0B F4 01 53 24 B2 44 4E 24 |. */.q...S$.DN$|
00000360: 28 41 29 AA 22 2C 22 3A 20 41 B2 44 45 25 28 41 |(A).",": A.DE%(A|
00000370: 29 00 99 0B FE 01 8B 20 28 41 20 AF 20 31 32 37 |)...... (A . 127|
00000380: 29 B1 34 20 A7 20 53 24 B2 53 24 AA 54 59 24 28 |).4 . S$.S$.TY$(|
00000390: 34 29 3A 20 89 20 35 33 30 00 B0 0B 08 02 53 24 |4): . 530.....S$|
000003A0: B2 53 24 AA 54 59 24 28 41 20 AF 20 31 32 37 29 |.S$.TY$(A . 127)|
000003B0: 00 CE 0B 12 02 8B 20 28 41 20 AF 20 31 32 38 29 |...... (A . 128)|
000003C0: B2 30 20 A7 20 53 24 B2 53 24 AA 22 2A 22 00 D4 |.0 . S$.S$."*"..|
000003D0: 0B 1C 02 8E 00 DD 0B 4F 02 8F 20 2F 2A 00 21 0C |.......O.. /*.!.|
000003E0: 50 02 8F 20 20 2A 20 47 4F 53 55 42 20 36 30 30 |P.. * GOSUB 600|
000003F0: 20 2D 20 43 4F 4E 56 45 52 54 20 42 46 25 28 54 | - CONVERT BF%(T|
00000400: 2C 53 29 2B 42 55 25 28 54 2C 53 2C 2A 29 20 54 |,S)+BU%(T,S,*) T|
00000410: 4F 20 45 58 54 45 52 4E 41 4C 20 46 4F 52 4D 41 |O EXTERNAL FORMA|
00000420: 54 00 4D 0C 51 02 8F 20 20 2A 20 20 20 45 58 54 |T.M.Q.. * EXT|
00000430: 45 52 4E 41 4C 20 46 4F 52 4D 41 54 20 49 53 20 |ERNAL FORMAT IS |
00000440: 50 4C 41 43 45 44 20 49 4E 20 42 55 24 00 6F 0C |PLACED IN BU$.o.|
00000450: 52 02 8F 20 20 2A 20 20 20 43 48 41 4E 47 45 53 |R.. * CHANGES|
00000460: 20 41 2C 42 2C 20 41 24 2C 42 24 2C 20 53 24 00 | A,B, A$,B$, S$.|
00000470: 79 0C 53 02 8F 20 20 2A 2F 00 AA 0C 58 02 42 55 |y.S.. */...X.BU|
00000480: 24 B2 22 22 3A 20 41 B2 42 46 25 28 54 2C 53 29 |$."": A.BF%(T,S)|
00000490: 3A 20 8B 20 41 20 B3 20 30 20 A7 20 41 B2 41 AA |: . A . 0 . A.A.|
000004A0: 32 3A 20 42 55 24 B2 22 58 22 00 C4 0C 62 02 42 |2: BU$."X"...b.B|
000004B0: 55 24 B2 CA 28 22 46 41 22 2C 41 AA 31 2C 31 29 |U$..("FA",A.1,1)|
000004C0: AA 42 55 24 00 DD 0C 6C 02 8B 20 42 55 25 28 54 |.BU$...l.. BU%(T|
000004D0: 2C 53 2C 30 29 B2 30 20 A7 20 37 31 30 00 1A 0D |,S,0).0 . 710...|
000004E0: 76 02 41 B2 42 55 25 28 54 2C 53 2C 31 29 3A 20 |v.A.BU%(T,S,1): |
000004F0: 42 B2 42 55 25 28 54 2C 53 2C 32 29 3A 20 8D 20 |B.BU%(T,S,2): . |
00000500: 32 30 30 3A 20 41 B2 42 55 25 28 54 2C 53 2C 30 |200: A.BU%(T,S,0|
00000510: 29 AB 31 3A 20 8D 20 35 30 30 00 35 0D 80 02 42 |).1: . 500.5...B|
00000520: 55 24 B2 42 55 24 AA 22 20 22 AA 41 24 AA 22 3C |U$.BU$." ".A$."<|
00000530: 2D 22 AA 53 24 00 4E 0D 8A 02 8B 20 42 55 25 28 |-".S$.N.... BU%(|
00000540: 54 2C 53 2C 33 29 B2 30 20 A7 20 37 31 30 00 8B |T,S,3).0 . 710..|
00000550: 0D 94 02 41 B2 42 55 25 28 54 2C 53 2C 34 29 3A |...A.BU%(T,S,4):|
00000560: 20 42 B2 42 55 25 28 54 2C 53 2C 35 29 3A 20 8D | B.BU%(T,S,5): .|
00000570: 20 32 30 30 3A 20 41 B2 42 55 25 28 54 2C 53 2C | 200: A.BU%(T,S,|
00000580: 33 29 AB 31 3A 20 8D 20 35 30 30 00 A6 0D 9E 02 |3).1: . 500.....|
00000590: 42 55 24 B2 42 55 24 AA 22 20 22 AA 41 24 AA 22 |BU$.BU$." ".A$."|
000005A0: 3C 2D 22 AA 53 24 00 BF 0D A8 02 8B 20 42 55 25 |<-".S$...... BU%|
000005B0: 28 54 2C 53 2C 36 29 B2 30 20 A7 20 37 31 30 00 |(T,S,6).0 . 710.|
000005C0: FC 0D B2 02 41 B2 42 55 25 28 54 2C 53 2C 37 29 |....A.BU%(T,S,7)|
000005D0: 3A 20 42 B2 42 55 25 28 54 2C 53 2C 38 29 3A 20 |: B.BU%(T,S,8): |
000005E0: 8D 20 32 30 30 3A 20 41 B2 42 55 25 28 54 2C 53 |. 200: A.BU%(T,S|
000005F0: 2C 36 29 AB 31 3A 20 8D 20 35 30 30 00 17 0E BC |,6).1: . 500....|
00000600: 02 42 55 24 B2 42 55 24 AA 22 20 22 AA 41 24 AA |.BU$.BU$." ".A$.|
00000610: 22 3C 2D 22 AA 53 24 00 39 0E C6 02 41 B2 4C 54 |"<-".S$.9...A.LT|
00000620: 25 28 54 2C 53 29 3A 20 42 B2 4C 53 25 28 54 2C |%(T,S): B.LS%(T,|
00000630: 53 29 3A 20 8D 20 32 30 30 00 4D 0E D0 02 42 55 |S): . 200.M...BU|
00000640: 24 B2 42 55 24 AA 22 2D 3E 22 AA 41 24 00 53 0E |$.BU$."->".A$.S.|
00000650: DA 02 8E 00 5C 0E 16 03 8F 20 2F 2A 00 9D 0E 17 |....\.... /*....|
00000660: 03 8F 20 20 2A 20 47 4F 53 55 42 20 38 30 30 20 |.. * GOSUB 800 |
00000670: 2D 20 43 48 45 43 4B 20 57 48 45 54 48 45 52 20 |- CHECK WHETHER |
00000680: 54 2C 53 20 41 52 45 20 41 20 56 41 4C 49 44 20 |T,S ARE A VALID |
00000690: 42 4C 4F 43 4B 20 41 44 44 52 45 53 53 00 A6 0E |BLOCK ADDRESS...|
000006A0: 18 03 8F 20 20 2A 00 D2 0E 19 03 8F 20 20 2A 20 |... *...... * |
000006B0: 20 41 52 52 41 59 20 53 5A 25 28 29 20 4D 55 53 | ARRAY SZ%() MUS|
000006C0: 54 20 48 41 56 45 20 42 45 45 4E 20 53 45 54 20 |T HAVE BEEN SET |
000006D0: 55 50 00 0B 0F 1A 03 8F 20 20 2A 20 20 41 20 49 |UP...... * A I|
000006E0: 53 20 53 45 54 20 54 4F 20 54 48 45 20 54 52 55 |S SET TO THE TRU|
000006F0: 54 48 20 56 41 4C 55 45 20 46 4F 52 20 28 54 2C |TH VALUE FOR (T,|
00000700: 53 29 20 49 53 20 56 41 4C 49 44 00 14 0F 1B 03 |S) IS VALID.....|
00000710: 8F 20 20 2A 00 4D 0F 1C 03 8F 20 20 2A 20 20 42 |. *.M.... * B|
00000720: 2C 20 41 24 2C 42 24 20 41 52 45 20 43 48 41 4E |, A$,B$ ARE CHAN|
00000730: 47 45 44 20 49 46 46 20 41 20 49 53 20 46 41 4C |GED IFF A IS FAL|
00000740: 53 45 20 20 20 20 20 28 49 48 42 21 29 00 57 0F |SE (IHB!).W.|
00000750: 1D 03 8F 20 20 2A 2F 00 8A 0F 20 03 41 20 B2 20 |... */... .A . |
00000760: 28 30 B3 54 20 AF 20 54 B3 B2 4D 54 29 20 AF 20 |(0.T . T..MT) . |
00000770: 28 30 B3 B2 53 20 AF 20 53 B3 53 5A 25 28 54 29 |(0..S . S.SZ%(T)|
00000780: 29 3A 20 8B 20 41 20 A7 20 8E 00 D1 0F 2A 03 8F |): . A . ....*..|
00000790: 20 2A 2A 20 52 4F 55 54 49 4E 45 20 49 53 20 44 | ** ROUTINE IS D|
000007A0: 45 53 49 47 4E 45 44 20 46 4F 52 20 49 4E 54 45 |ESIGNED FOR INTE|
000007B0: 52 41 43 54 49 56 45 20 4D 4F 44 45 20 55 53 45 |RACTIVE MODE USE|
000007C0: 2C 20 53 4F 20 52 45 50 4F 52 54 20 45 52 52 4F |, SO REPORT ERRO|
000007D0: 52 00 E4 0F 34 03 41 B2 54 3A 42 B2 53 3A 20 8D |R...4.A.T:B.S: .|
000007E0: 20 32 30 30 00 18 10 3E 03 99 20 22 43 55 52 52 | 200...>.. "CURR|
000007F0: 45 4E 54 20 54 52 41 43 4B 20 41 4E 44 20 53 45 |ENT TRACK AND SE|
00000800: 43 54 4F 52 20 50 41 49 52 20 22 3B 41 24 3B 22 |CTOR PAIR ";A$;"|
00000810: 20 49 53 20 42 41 44 22 00 25 10 48 03 41 20 B2 | IS BAD".%.H.A .|
00000820: 20 30 3A 20 8E 00 4C 10 28 23 44 4B 24 B2 22 30 | 0: ..L.(#DK$."0|
00000830: 22 3A 20 44 56 B2 38 3A 20 20 9F 20 31 35 2C 44 |": DV.8: . 15,D|
00000840: 56 2C 31 35 2C 22 49 22 AA 44 4B 24 00 72 10 1C |V,15,"I".DK$.r..|
00000850: 25 4F 55 B2 34 3A 85 22 4F 55 54 50 55 54 20 44 |%OU.4:."OUTPUT D|
00000860: 45 56 49 43 45 20 28 33 20 4F 52 20 34 29 22 3B |EVICE (3 OR 4)";|
00000870: 4F 55 00 8D 10 26 25 8B 20 4F 55 B3 B1 33 20 AF |OU...&%. OU..3 .|
00000880: 20 4F 55 B3 B1 34 20 A7 20 39 35 30 30 00 99 10 | OU..4 . 9500...|
00000890: 30 25 9F 20 34 2C 34 2C 37 00 A3 10 3A 25 9F 20 |0%. 4,4,7...:%. |
000008A0: 33 2C 33 00 C4 10 10 27 46 43 B2 30 3A 20 46 42 |3,3....'FC.0: FB|
000008B0: B2 30 3A 20 41 31 B2 30 3A 20 46 31 B2 30 3A 20 |.0: A1.0: F1.0: |
000008C0: 46 32 B2 30 00 E5 10 1A 27 4D 54 B2 33 35 3A 20 |F2.0....'MT.35: |
000008D0: 4D 53 B2 32 33 3A 20 42 53 B2 33 3A 20 43 30 24 |MS.23: BS.3: C0$|
000008E0: B2 C7 28 30 29 00 F4 10 1F 27 53 53 24 B2 C7 28 |..(0)....'SS$..(|
000008F0: 31 36 30 29 00 16 11 24 27 86 20 42 4D 25 28 4D |160)...$'. BM%(M|
00000900: 54 2C 42 53 29 2C 20 53 5A 25 28 4D 54 29 3A 20 |T,BS), SZ%(MT): |
00000910: 4D 46 B2 31 34 35 00 60 11 29 27 86 20 4C 53 25 |MF.145.`.)'. LS%|
00000920: 28 4D 54 2C 4D 53 29 2C 20 4C 54 25 28 4D 54 2C |(MT,MS), LT%(MT,|
00000930: 4D 53 29 2C 20 44 4E 24 28 4D 46 29 2C 20 44 45 |MS), DN$(MF), DE|
00000940: 25 28 4D 46 29 2C 20 44 54 25 28 4D 46 29 2C 20 |%(MF), DT%(MF), |
00000950: 44 53 25 28 4D 46 29 2C 20 44 5A 25 28 4D 46 29 |DS%(MF), DZ%(MF)|
00000960: 00 A4 11 2E 27 86 20 42 46 25 28 4D 54 2C 4D 53 |....'. BF%(MT,MS|
00000970: 29 3A 20 8F 20 2A 2A 20 42 4C 4F 43 4B 20 46 4C |): . ** BLOCK FL|
00000980: 41 47 53 3B 20 30 20 46 52 45 45 3B 20 31 20 41 |AGS; 0 FREE; 1 A|
00000990: 4C 4C 4F 43 41 54 45 44 3B 20 3C 30 20 49 4E 56 |LLOCATED; <0 INV|
000009A0: 41 4C 49 44 00 DE 11 2F 27 86 20 42 55 25 28 4D |ALID.../'. BU%(M|
000009B0: 54 2C 4D 53 2C 38 29 3A 20 8F 20 2A 2A 20 42 4C |T,MS,8): . ** BL|
000009C0: 4F 43 4B 20 55 53 41 47 45 20 54 41 42 4C 45 3B |OCK USAGE TABLE;|
000009D0: 20 55 50 20 54 4F 20 33 20 46 49 4C 45 53 00 1B | UP TO 3 FILES..|
000009E0: 12 30 27 86 20 43 43 28 31 29 3A 20 8F 20 2A 2A |.0'. CC(1): . **|
000009F0: 20 43 4F 55 4E 54 45 52 3B 20 43 43 28 30 29 20 | COUNTER; CC(0) |
00000A00: 46 52 45 45 20 42 4C 4F 43 4B 3B 20 43 43 28 31 |FREE BLOCK; CC(1|
00000A10: 29 20 41 4C 4C 4F 43 41 54 45 44 00 39 12 31 27 |) ALLOCATED.9.1'|
00000A20: 86 20 54 59 24 28 35 29 3A 20 8F 20 2A 2A 20 46 |. TY$(5): . ** F|
00000A30: 49 4C 45 20 54 59 50 45 53 00 57 12 33 27 83 20 |ILE TYPES.W.3'. |
00000A40: 44 45 4C 2C 53 45 51 2C 50 52 47 2C 55 53 52 2C |DEL,SEQ,PRG,USR,|
00000A50: 52 45 4C 2C 42 41 44 00 6F 12 38 27 83 20 31 2C |REL,BAD.o.8'. 1,|
00000A60: 31 37 2C 32 31 2C 20 31 38 2C 32 34 2C 31 39 00 |17,21, 18,24,19.|
00000A70: 88 12 42 27 83 20 32 35 2C 33 30 2C 31 38 2C 20 |..B'. 25,30,18, |
00000A80: 33 31 2C 33 35 2C 31 37 00 A5 12 47 27 81 20 49 |31,35,17...G'. I|
00000A90: B2 30 20 A4 20 35 3A 20 87 20 54 59 24 28 49 29 |.0 . 5: . TY$(I)|
00000AA0: 3A 20 82 20 49 00 C8 12 4C 27 44 46 B2 38 3A 20 |: . I...L'DF.8: |
00000AB0: 9F 20 44 46 2C 44 56 2C 38 2C 22 24 22 AA 44 4B |. DF,DV,8,"$".DK|
00000AC0: 24 3A 20 8D 20 34 31 35 00 EE 12 56 27 A1 23 44 |$: . 415...V'.#D|
00000AD0: 46 2C 41 24 2C 41 24 3A 20 8F 20 2A 2A 20 53 4B |F,A$,A$: . ** SK|
00000AE0: 49 50 20 31 53 54 20 32 20 42 59 54 45 53 00 F7 |IP 1ST 2 BYTES..|
00000AF0: 12 6A 27 8F 20 2F 2A 00 2F 13 6B 27 8F 20 20 2A |.j'. /*./.k'. *|
00000B00: 20 4E 4F 57 20 49 4E 54 45 52 50 52 45 54 20 54 | NOW INTERPRET T|
00000B10: 48 45 20 42 41 4D 3B 20 52 45 41 44 20 44 41 54 |HE BAM; READ DAT|
00000B20: 41 20 53 54 41 54 45 4D 45 4E 54 53 20 54 4F 00 |A STATEMENTS TO.|
00000B30: 62 13 6C 27 8F 20 20 2A 20 20 44 45 54 45 52 4D |b.l'. * DETERM|
00000B40: 49 4E 45 20 43 4F 52 52 45 43 54 20 23 20 4F 46 |INE CORRECT # OF|
00000B50: 20 53 45 43 54 4F 52 53 20 50 45 52 20 54 52 41 | SECTORS PER TRA|
00000B60: 43 4B 00 6C 13 6D 27 8F 20 20 2A 2F 00 7A 13 74 |CK.l.m'. */.z.t|
00000B70: 27 81 20 49 B2 31 20 A4 20 34 00 A9 13 7E 27 87 |'. I.1 . 4...~'.|
00000B80: 20 4C 2C 48 2C 4E 3A 20 8F 20 2A 2A 20 54 52 41 | L,H,N: . ** TRA|
00000B90: 43 4B 53 20 4C 20 54 4F 20 48 20 48 41 56 45 20 |CKS L TO H HAVE |
00000BA0: 4E 20 53 45 43 54 4F 52 53 00 B7 13 88 27 81 20 |N SECTORS....'. |
00000BB0: 4A B2 4C 20 A4 20 48 00 C4 13 92 27 53 5A 25 28 |J.L . H....'SZ%(|
00000BC0: 4A 29 B2 4E 00 E2 13 A6 27 A1 23 44 46 2C 41 24 |J).N....'.#DF,A$|
00000BD0: 3A 20 8B 20 41 24 B2 22 22 20 A7 20 41 24 B2 43 |: . A$."" . A$.C|
00000BE0: 30 24 00 03 14 BF 27 41 B2 C6 28 41 24 29 3A 20 |0$....'A..(A$): |
00000BF0: 46 32 B2 46 32 AA 41 3A 20 42 4D 25 28 4A 2C 30 |F2.F2.A: BM%(J,0|
00000C00: 29 B2 41 00 18 14 C4 27 4B 31 B2 30 3A 20 81 20 |).A....'K1.0: . |
00000C10: 4B B2 31 20 A4 20 42 53 00 36 14 C9 27 A1 23 44 |K.1 . BS.6..'.#D|
00000C20: 46 2C 41 24 3A 20 8B 20 41 24 B2 22 22 20 A7 20 |F,A$: . A$."" . |
00000C30: 41 24 B2 43 30 24 00 52 14 CE 27 4D B2 C6 28 41 |A$.C0$.R..'M..(A|
00000C40: 24 29 3A 42 4D 25 28 4A 2C 4B 29 B2 4D 3A 4D 32 |$):BM%(J,K).M:M2|
00000C50: B2 31 00 8F 14 E2 27 81 20 4B 32 B2 30 20 A4 20 |.1....'. K2.0 . |
00000C60: 37 3A 20 41 B2 20 AB 28 28 4D 20 AF 20 4D 32 29 |7: A. .((M . M2)|
00000C70: B2 30 29 3A 20 42 46 25 28 4A 2C 4B 31 29 B2 41 |.0): BF%(J,K1).A|
00000C80: 3A 20 43 43 28 41 29 B2 43 43 28 41 29 AA 31 00 |: CC(A).CC(A).1.|
00000C90: BB 14 F6 27 4B 31 B2 4B 31 AA 31 3A 20 4D 32 B2 |...'K1.K1.1: M2.|
00000CA0: 4D 32 AA 4D 32 3A 20 8F 20 2A 2A 20 53 48 49 46 |M2.M2: . ** SHIF|
00000CB0: 54 20 4D 32 20 4C 45 46 54 20 31 00 C4 14 00 28 |T M2 LEFT 1....(|
00000CC0: 82 20 4B 32 00 CC 14 0A 28 82 20 4B 00 D5 14 0F |. K2....(. K....|
00000CD0: 28 8F 20 2F 2A 00 07 15 10 28 8F 20 20 2A 20 45 |(. /*....(. * E|
00000CE0: 41 43 48 20 42 41 4D 20 45 4E 54 52 59 20 43 4F |ACH BAM ENTRY CO|
00000CF0: 55 4C 44 20 52 45 50 52 45 53 45 4E 54 20 32 34 |ULD REPRESENT 24|
00000D00: 20 42 4C 4F 43 4B 53 00 44 15 11 28 8F 20 20 2A | BLOCKS.D..(. *|
00000D10: 20 4D 41 52 4B 20 41 53 20 49 4E 56 41 4C 49 44 | MARK AS INVALID|
00000D20: 20 42 4C 4F 43 4B 53 20 47 52 45 41 54 45 52 20 | BLOCKS GREATER |
00000D30: 54 48 41 4E 20 4E 55 4D 42 45 52 20 49 4E 20 54 |THAN NUMBER IN T|
00000D40: 52 41 43 4B 00 84 15 12 28 8F 20 20 2A 20 20 2D |RACK....(. * -|
00000D50: 20 4E 4F 52 4D 41 4C 4C 59 20 57 49 4C 4C 20 42 | NORMALLY WILL B|
00000D60: 45 20 22 41 4C 4C 4F 43 41 54 45 44 22 3B 20 46 |E "ALLOCATED"; F|
00000D70: 52 45 45 20 57 4F 55 4C 44 20 42 45 20 42 41 44 |REE WOULD BE BAD|
00000D80: 20 42 41 4D 00 8E 15 13 28 8F 20 20 2A 2F 00 96 | BAM....(. */..|
00000D90: 15 14 28 4B B2 4E 00 DC 15 1E 28 8B 20 4B B3 B2 |..(K.N....(. K..|
00000DA0: 4D 53 20 A7 20 41 B2 42 46 25 28 4A 2C 4B 29 3A |MS . A.BF%(J,K):|
00000DB0: 20 42 46 25 28 4A 2C 4B 29 B2 41 AB 32 3A 20 43 | BF%(J,K).A.2: C|
00000DC0: 43 28 41 29 B2 43 43 28 41 29 AB 31 3A 20 4B B2 |C(A).CC(A).1: K.|
00000DD0: 4B AA 31 3A 20 89 20 31 30 32 37 30 00 E4 15 28 |K.1: . 10270...(|
00000DE0: 28 82 20 4A 00 EC 15 32 28 82 20 49 00 05 16 04 |(. J...2(. I....|
00000DF0: 29 53 24 B2 22 22 3A 20 81 20 49 B2 31 34 34 20 |)S$."": . I.144 |
00000E00: A4 20 31 37 30 00 2B 16 0E 29 A1 23 44 46 2C 41 |. 170.+..).#DF,A|
00000E10: 24 3A 20 53 24 B2 53 24 AA C7 28 C6 28 41 24 AA |$: S$.S$..(.(A$.|
00000E20: 43 30 24 29 20 AF 20 31 32 37 29 00 33 16 18 29 |C0$) . 127).3..)|
00000E30: 82 20 49 00 4E 16 22 29 98 4F 55 2C 53 24 3A 20 |. I.N.").OU,S$: |
00000E40: 8F 20 2A 2A 20 44 49 53 4B 20 4E 41 4D 45 00 89 |. ** DISK NAME..|
00000E50: 16 2C 29 81 20 49 B2 31 37 31 20 A4 20 32 35 35 |.,). I.171 . 255|
00000E60: 3A 20 A1 23 44 46 2C 41 24 3A 20 82 20 49 3A 20 |: .#DF,A$: . I: |
00000E70: 8F 20 2A 2A 20 53 4B 49 50 20 54 4F 20 45 4E 44 |. ** SKIP TO END|
00000E80: 20 4F 46 20 42 4C 4F 43 4B 00 92 16 EE 2A 8F 20 | OF BLOCK....*. |
00000E90: 2F 2A 00 C0 16 EF 2A 8F 20 20 2A 20 4E 4F 57 20 |/*....*. * NOW |
00000EA0: 43 4F 4D 50 49 4C 45 20 41 20 4C 49 53 54 20 4F |COMPILE A LIST O|
00000EB0: 46 20 54 48 45 20 46 49 4C 45 20 4E 41 4D 45 53 |F THE FILE NAMES|
00000EC0: 00 EA 16 F0 2A 8F 20 20 2A 20 20 54 48 45 49 52 |....*. * THEIR|
00000ED0: 20 53 54 41 52 54 49 4E 47 20 42 4C 4F 43 4B 53 | STARTING BLOCKS|
00000EE0: 20 41 4E 44 20 53 49 5A 45 53 00 F4 16 F1 2A 8F | AND SIZES....*.|
00000EF0: 20 20 2A 2F 00 FD 16 F8 2A 4E 46 B2 30 00 33 17 | */....*NF.0.3.|
00000F00: 02 2B 8B 20 4E 46 B2 30 20 A7 20 31 31 30 32 30 |.+. NF.0 . 11020|
00000F10: 3A 20 8F 20 2A 2A 20 53 4B 49 50 20 32 20 42 59 |: . ** SKIP 2 BY|
00000F20: 54 45 53 20 45 56 45 52 59 20 38 20 45 4E 54 52 |TES EVERY 8 ENTR|
00000F30: 49 45 53 00 3F 17 07 2B A1 23 44 46 2C 41 24 00 |IES.?..+.#DF,A$.|
00000F40: 4B 17 08 2B A1 23 44 46 2C 41 24 00 67 17 0C 2B |K..+.#DF,A$.g..+|
00000F50: 4E 46 B2 4E 46 AA 31 3A 20 8B 20 4E 46 B1 B2 38 |NF.NF.1: . NF..8|
00000F60: 20 A7 20 4E 46 B2 30 00 85 17 16 2B A1 23 44 46 | . NF.0....+.#DF|
00000F70: 2C 45 24 3A 20 8B 20 45 24 B2 22 22 20 A7 20 45 |,E$: . E$."" . E|
00000F80: 24 B2 43 30 24 00 94 17 20 2B A1 23 44 46 2C 54 |$.C0$... +.#DF,T|
00000F90: 24 2C 53 24 00 AD 17 2A 2B 45 B2 C6 28 45 24 29 |$,S$...*+E..(E$)|
00000FA0: 3A 20 8F 20 45 58 54 45 4E 53 49 4F 4E 00 C6 17 |: . EXTENSION...|
00000FB0: 34 2B 54 B2 C6 28 54 24 AA 43 30 24 29 3A 20 8F |4+T..(T$.C0$): .|
00000FC0: 20 54 52 41 43 4B 00 E0 17 3E 2B 53 B2 C6 28 53 | TRACK...>+S..(S|
00000FD0: 24 AA 43 30 24 29 3A 20 8F 20 53 45 43 54 4F 52 |$.C0$): . SECTOR|
00000FE0: 00 FB 17 48 2B 41 B2 45 20 AF 20 31 32 37 3A 20 |...H+A.E . 127: |
00000FF0: 8B 20 41 B1 34 20 A7 20 41 B2 35 00 24 18 52 2B |. A.4 . A.5.$.R+|
00001000: 54 24 B2 54 59 24 28 41 29 3A 20 8B 20 28 45 20 |T$.TY$(A): . (E |
00001010: AF 20 31 32 38 29 B2 30 20 A7 20 54 24 B2 54 24 |. 128).0 . T$.T$|
00001020: AA 22 2A 22 00 33 18 5C 2B 53 24 B2 22 22 3A 20 |."*".3.\+S$."": |
00001030: 49 B2 33 00 6E 18 66 2B A1 23 44 46 2C 41 24 3A |I.3.n.f+.#DF,A$:|
00001040: 20 8B 20 41 24 B3 B1 53 53 24 20 A7 20 53 24 B2 | . A$..SS$ . S$.|
00001050: 53 24 AA 41 24 3A 20 8B 20 49 B3 31 38 20 A7 20 |S$.A$: . I.18 . |
00001060: 49 B2 49 AA 31 3A 20 89 20 31 31 31 31 30 00 93 |I.I.1: . 11110..|
00001070: 18 70 2B 8B 20 49 B3 32 37 20 A7 20 A1 23 44 46 |.p+. I.27 . .#DF|
00001080: 2C 41 24 3A 20 49 B2 49 AA 31 3A 20 89 20 31 31 |,A$: I.I.1: . 11|
00001090: 31 32 30 00 A9 18 7A 2B A1 23 44 46 2C 41 24 2C |120...z+.#DF,A$,|
000010A0: 42 24 3A 20 52 53 B2 53 54 00 E0 18 7F 2B 58 B2 |B$: RS.ST....+X.|
000010B0: C6 28 41 24 AA 43 30 24 29 AA 32 35 36 AC C6 28 |.(A$.C0$).256..(|
000010C0: 42 24 AA 43 30 24 29 3A 20 8F 20 46 49 4C 45 20 |B$.C0$): . FILE |
000010D0: 53 49 5A 45 20 28 41 4C 4C 45 47 45 44 4C 59 29 |SIZE (ALLEGEDLY)|
000010E0: 00 1E 19 89 2B 8B 20 28 45 20 AF 20 31 32 38 29 |....+. (E . 128)|
000010F0: B2 30 20 A7 20 42 43 B2 42 43 AA 31 3A 20 42 42 |.0 . BC.BC.1: BB|
00001100: B2 42 42 AA 58 3A 20 20 8F 20 2A 2A 20 42 41 44 |.BB.X: . ** BAD|
00001110: 4C 59 20 43 4C 4F 53 45 44 20 46 49 4C 45 00 62 |LY CLOSED FILE.b|
00001120: 19 8E 2B 44 4E 24 28 46 43 29 B2 53 24 3A 20 44 |..+DN$(FC).S$: D|
00001130: 45 25 28 46 43 29 B2 45 3A 20 44 54 25 28 46 43 |E%(FC).E: DT%(FC|
00001140: 29 B2 54 3A 20 44 53 25 28 46 43 29 B2 53 3A 20 |).T: DS%(FC).S: |
00001150: 44 5A 25 28 46 43 29 B2 58 3A 20 46 42 B2 46 42 |DZ%(FC).X: FB.FB|
00001160: AA 58 00 8C 19 93 2B 41 B2 54 3A 20 42 B2 53 3A |.X....+A.T: B.S:|
00001170: 20 8D 20 32 30 30 3A 20 41 B2 46 43 3A 20 8D 20 | . 200: A.FC: . |
00001180: 35 30 30 3A 20 46 43 B2 46 43 AA 31 00 C6 19 98 |500: FC.FC.1....|
00001190: 2B 98 4F 55 2C 53 24 3B C8 28 22 20 20 20 20 20 |+.OU,S$;.(" |
000011A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | "|
000011B0: 2C 32 31 AB C3 28 53 24 29 29 3B 58 3B 22 46 52 |,21..(S$));X;"FR|
000011C0: 4F 4D 22 3B 41 24 00 D9 19 D4 2B 8B 20 52 53 B2 |OM";A$....+. RS.|
000011D0: 30 20 A7 20 31 31 30 31 30 00 F8 19 F2 2B 8B 20 |0 . 11010....+. |
000011E0: 52 53 B3 B1 36 34 20 A7 20 99 22 45 52 52 4F 52 |RS..64 . ."ERROR|
000011F0: 20 52 53 3D 22 3B 52 53 00 01 1A 1A 2C 8F 20 2F | RS=";RS....,. /|
00001200: 2A 00 40 1A 1B 2C 8F 20 20 2A 20 4E 4F 57 20 57 |*.@..,. * NOW W|
00001210: 45 20 41 43 43 45 53 53 20 54 48 45 20 44 49 53 |E ACCESS THE DIS|
00001220: 4B 20 52 41 4E 44 4F 4D 4C 59 20 54 4F 20 42 55 |K RANDOMLY TO BU|
00001230: 49 4C 44 20 41 20 50 49 43 54 55 52 45 20 4F 46 |ILD A PICTURE OF|
00001240: 00 72 1A 1C 2C 8F 20 20 2A 20 54 48 45 20 4C 49 |.r..,. * THE LI|
00001250: 4E 4B 53 20 42 45 54 57 45 45 4E 20 54 48 45 20 |NKS BETWEEN THE |
00001260: 42 4C 4F 43 4B 53 20 4F 4E 20 54 48 45 20 44 49 |BLOCKS ON THE DI|
00001270: 53 4B 00 7C 1A 1D 2C 8F 20 20 2A 2F 00 A7 1A 24 |SK.|..,. */...$|
00001280: 2C A0 20 44 46 3A 20 81 20 49 B2 31 20 A4 20 31 |,. DF: . I.1 . 1|
00001290: 30 30 30 3A 20 82 20 49 3A 20 9F 20 44 46 2C 44 |000: . I: . DF,D|
000012A0: 56 2C 38 2C 22 23 22 00 AD 1A 2E 2C 99 00 BC 1A |V,8,"#"....,....|
000012B0: 38 2C 81 20 54 B2 31 20 A4 20 4D 54 00 DA 1A 42 |8,. T.1 . MT...B|
000012C0: 2C 99 20 22 54 52 41 43 4B 22 3B 54 3B C7 28 31 |,. "TRACK";T;.(1|
000012D0: 34 35 29 3B C7 28 31 33 29 3B 00 EF 1A 4C 2C 81 |45);.(13);...L,.|
000012E0: 20 53 B2 30 20 A4 20 53 5A 25 28 54 29 AB 31 00 | S.0 . SZ%(T).1.|
000012F0: 2A 1B 56 2C 98 31 35 2C 22 55 31 3A 38 2C 22 3B |*.V,.15,"U1:8,";|
00001300: 44 4B 24 3B 54 3B 53 3A 20 84 31 35 2C 45 4E 2C |DK$;T;S: .15,EN,|
00001310: 45 4D 24 2C 45 54 2C 45 53 3A 20 8B 20 45 4E B3 |EM$,ET,ES: . EN.|
00001320: B1 30 20 A7 20 31 31 33 39 32 00 48 1B 6A 2C A1 |.0 . 11392.H.j,.|
00001330: 23 44 46 2C 41 24 3A 20 8B 20 41 24 B2 22 22 20 |#DF,A$: . A$."" |
00001340: A7 20 41 24 B2 43 30 24 00 5D 1B 6F 2C 4C 54 25 |. A$.C0$.].o,LT%|
00001350: 28 54 2C 53 29 20 B2 20 C6 28 41 24 29 00 7B 1B |(T,S) . .(A$).{.|
00001360: 74 2C A1 23 44 46 2C 41 24 3A 20 8B 20 41 24 B2 |t,.#DF,A$: . A$.|
00001370: 22 22 20 A7 20 41 24 B2 43 30 24 00 90 1B 79 2C |"" . A$.C0$...y,|
00001380: 4C 53 25 28 54 2C 53 29 20 B2 20 C6 28 41 24 29 |LS%(T,S) . .(A$)|
00001390: 00 D3 1B 7E 2C 82 20 53 3A 20 89 20 31 31 34 30 |...~,. S: . 1140|
000013A0: 30 3A 20 8F 20 2A 2A 20 45 52 52 4F 52 20 48 41 |0: . ** ERROR HA|
000013B0: 4E 44 4C 49 4E 47 20 48 45 52 45 20 54 4F 20 53 |NDLING HERE TO S|
000013C0: 50 45 45 44 20 53 45 43 54 4F 52 20 4C 4F 4F 50 |PEED SECTOR LOOP|
000013D0: 20 55 50 00 FF 1B 80 2C 99 20 22 44 49 53 4B 20 | UP....,. "DISK |
000013E0: 45 52 52 4F 52 22 3B 45 4E 3B 45 4D 24 3B 45 54 |ERROR";EN;EM$;ET|
000013F0: 3B 45 53 3A 20 A0 20 44 46 3A 20 A0 20 31 35 00 |;ES: . DF: . 15.|
00001400: 25 1C 81 2C 9F 20 31 35 2C 44 56 2C 31 35 2C 22 |%..,. 15,DV,15,"|
00001410: 49 22 AA 44 4B 24 3A 20 9F 20 44 46 2C 44 56 2C |I".DK$: . DF,DV,|
00001420: 38 2C 22 23 22 00 4B 1C 82 2C 4C 54 25 28 54 2C |8,"#".K..,LT%(T,|
00001430: 53 29 B2 AB 31 3A 20 4C 53 25 28 54 2C 53 29 B2 |S)..1: LS%(T,S).|
00001440: AB 31 3A 20 89 20 31 31 33 39 30 00 53 1C 88 2C |.1: . 11390.S..,|
00001450: 82 20 54 00 62 1C 92 2C A0 20 44 46 3A 20 A0 20 |. T.b..,. DF: . |
00001460: 31 35 00 96 1C F6 2C 98 4F 55 2C 46 43 AB 42 43 |15....,.OU,FC.BC|
00001470: 3B 22 47 4F 4F 44 20 46 49 4C 45 53 20 54 4F 54 |;"GOOD FILES TOT|
00001480: 41 4C 4C 49 4E 47 22 3B 46 42 AB 42 42 3B 22 42 |ALLING";FB.BB;"B|
00001490: 4C 4F 43 4B 53 22 00 C3 1C 00 2D 98 4F 55 2C 42 |LOCKS"....-.OU,B|
000014A0: 43 3B 22 42 41 44 20 46 49 4C 45 53 20 54 4F 54 |C;"BAD FILES TOT|
000014B0: 41 4C 4C 49 4E 47 22 3B 42 42 3B 22 42 4C 4F 43 |ALLING";BB;"BLOC|
000014C0: 4B 53 22 00 0B 1D 0A 2D 98 4F 55 2C 22 42 49 54 |KS"....-.OU,"BIT|
000014D0: 4D 41 50 20 53 48 4F 57 53 22 3B 43 43 28 31 29 |MAP SHOWS";CC(1)|
000014E0: 3B 22 20 42 4C 4F 43 4B 53 20 41 4C 4C 4F 43 41 |;" BLOCKS ALLOCA|
000014F0: 54 45 44 3B 22 3B 43 43 28 30 29 3B 22 28 22 3B |TED;";CC(0);"(";|
00001500: 46 32 3B 22 29 20 46 52 45 45 22 00 4A 1D 14 2D |F2;") FREE".J..-|
00001510: 41 B2 B5 28 46 43 AD 38 29 AA 31 3A 20 98 4F 55 |A..(FC.8).1: .OU|
00001520: 2C 46 43 3B 22 46 49 4C 45 20 45 4E 54 52 49 45 |,FC;"FILE ENTRIE|
00001530: 53 20 49 4E 22 3B 41 3B 22 44 49 52 45 43 54 4F |S IN";A;"DIRECTO|
00001540: 52 59 20 42 4C 4F 43 4B 53 22 00 53 1D D6 2E 8F |RY BLOCKS".S....|
00001550: 20 2F 2A 00 94 1D D7 2E 8F 20 20 2A 20 4E 4F 57 | /*...... * NOW|
00001560: 20 54 52 41 43 45 20 44 4F 57 4E 20 54 48 45 20 | TRACE DOWN THE |
00001570: 4C 49 4E 4B 45 44 20 4C 49 53 54 20 4F 46 20 42 |LINKED LIST OF B|
00001580: 4C 4F 43 4B 53 20 46 4F 52 20 45 41 43 48 20 46 |LOCKS FOR EACH F|
00001590: 49 4C 45 2C 00 BB 1D D8 2E 8F 20 20 2A 20 20 41 |ILE,...... * A|
000015A0: 4E 44 20 4E 4F 54 45 20 41 4E 59 20 49 4E 43 4F |ND NOTE ANY INCO|
000015B0: 4E 53 49 53 54 45 4E 43 49 45 53 00 C5 1D D9 2E |NSISTENCIES.....|
000015C0: 8F 20 20 2A 2F 00 F7 1D E0 2E 81 20 49 B2 30 20 |. */...... I.0 |
000015D0: A4 20 46 43 AB 31 3A 20 8F 20 2A 2A 20 46 4F 52 |. FC.1: . ** FOR|
000015E0: 20 45 41 43 48 20 46 49 4C 45 20 49 4E 20 44 49 | EACH FILE IN DI|
000015F0: 52 45 43 54 4F 52 59 00 18 1E F4 2E 54 B2 44 54 |RECTORY.....T.DT|
00001600: 25 28 49 29 3A 20 8F 20 2A 2A 20 49 4E 49 54 49 |%(I): . ** INITI|
00001610: 41 4C 20 54 52 41 43 4B 00 46 1E F9 2E 54 31 B2 |AL TRACK.F...T1.|
00001620: 30 3A 20 8F 20 2A 2A 20 49 4E 49 54 49 41 4C 20 |0: . ** INITIAL |
00001630: 50 52 45 56 49 4F 55 53 20 54 52 41 43 4B 20 28 |PREVIOUS TRACK (|
00001640: 44 55 4D 4D 59 29 00 68 1E FE 2E 53 B2 44 53 25 |DUMMY).h...S.DS%|
00001650: 28 49 29 3A 20 8F 20 2A 2A 20 49 4E 49 54 49 41 |(I): . ** INITIA|
00001660: 4C 20 53 45 43 54 4F 52 00 97 1E 03 2F 53 31 B2 |L SECTOR..../S1.|
00001670: 30 3A 20 8F 20 2A 2A 20 49 4E 49 54 49 41 4C 20 |0: . ** INITIAL |
00001680: 50 52 45 56 49 4F 55 53 20 53 45 43 54 4F 52 20 |PREVIOUS SECTOR |
00001690: 28 44 55 4D 4D 59 29 00 BC 1E 08 2F 58 B2 44 5A |(DUMMY)..../X.DZ|
000016A0: 25 28 49 29 3A 20 8F 20 2A 2A 20 41 4C 4C 45 47 |%(I): . ** ALLEG|
000016B0: 45 44 20 46 49 4C 45 20 53 49 5A 45 00 D8 1E 12 |ED FILE SIZE....|
000016C0: 2F 4A B2 30 3A 20 8F 20 2A 2A 20 42 4C 4F 43 4B |/J.0: . ** BLOCK|
000016D0: 20 43 4F 55 4E 54 45 52 00 06 1F 1C 2F 8B 20 30 | COUNTER..../. 0|
000016E0: B3 54 20 AF 20 54 B3 B2 4D 54 20 A7 20 8B 20 30 |.T . T..MT . . 0|
000016F0: B3 B2 53 20 AF 20 53 B3 53 5A 25 28 54 29 20 A7 |..S . S.SZ%(T) .|
00001700: 20 31 32 31 30 30 00 25 1F 21 2F 41 B2 54 31 3A | 12100.%.!/A.T1:|
00001710: 42 B2 53 31 3A 8D 20 32 30 30 3A 20 41 B2 49 3A |B.S1:. 200: A.I:|
00001720: 8D 20 35 30 30 00 59 1F 26 2F 98 4F 55 2C 53 24 |. 500.Y.&/.OU,S$|
00001730: 3B 22 20 42 41 44 20 54 52 41 43 4B 26 53 45 43 |;" BAD TRACK&SEC|
00001740: 54 4F 52 20 50 4F 49 4E 54 45 52 3B 20 42 4C 4F |TOR POINTER; BLO|
00001750: 43 4B 22 3B 4A 3B 41 24 3B 00 77 1F 2B 2F 41 B2 |CK";J;A$;.w.+/A.|
00001760: 54 3A 42 B2 53 3A 8D 20 32 30 30 3A 20 98 4F 55 |T:B.S:. 200: .OU|
00001770: 2C 22 2D 3E 22 41 24 00 83 1F 30 2F 89 20 31 32 |,"->"A$...0/. 12|
00001780: 33 30 30 00 BA 1F 44 2F 4A B2 4A AA 31 3A 20 8B |300...D/J.J.1: .|
00001790: 20 42 55 25 28 54 2C 53 2C 30 29 B3 B1 30 20 A7 | BU%(T,S,0)..0 .|
000017A0: 20 45 24 B2 22 4D 55 4C 54 49 50 4C 45 4C 59 20 | E$."MULTIPLELY |
000017B0: 22 3A 20 89 20 31 32 31 31 30 00 D3 1F 49 2F 8B |": . 12110...I/.|
000017C0: 20 42 46 25 28 54 2C 53 29 B2 31 20 A7 20 31 32 | BF%(T,S).1 . 12|
000017D0: 31 33 30 00 E5 1F 4A 2F 45 24 B2 22 55 4E 22 3A |130...J/E$."UN":|
000017E0: 8D 20 32 30 30 00 19 20 4E 2F 41 B2 49 3A 20 8D |. 200.. N/A.I: .|
000017F0: 20 35 30 30 3A 20 98 4F 55 2C 22 45 52 52 4F 52 | 500: .OU,"ERROR|
00001800: 20 49 4E 20 22 3B 53 24 3B 22 28 42 4C 4F 43 4B | IN ";S$;"(BLOCK|
00001810: 22 3B 4A 3B 22 29 3A 22 3B 00 4B 20 53 2F 41 B2 |";J;"):";.K S/A.|
00001820: 54 3A 20 42 B2 53 3A 20 8D 20 32 30 30 3A 20 98 |T: B.S: . 200: .|
00001830: 4F 55 2C 45 24 3B 22 41 4C 4C 4F 43 41 54 45 44 |OU,E$;"ALLOCATED|
00001840: 20 42 4C 4F 43 4B 20 22 3B 41 24 00 5E 20 58 2F | BLOCK ";A$.^ X/|
00001850: 8D 20 36 30 30 3A 20 98 4F 55 2C 42 55 24 00 66 |. 600: .OU,BU$.f|
00001860: 20 62 2F 4B B2 30 00 95 20 67 2F 8B 20 4B 20 B3 | b/K.0.. g/. K .|
00001870: 20 39 20 A7 20 8B 20 42 55 25 28 54 2C 53 2C 4B | 9 . . BU%(T,S,K|
00001880: 29 B3 B1 30 20 A7 20 4B B2 4B AA 33 3A 20 89 20 |)..0 . K.K.3: . |
00001890: 31 32 31 33 35 00 DB 20 68 2F 8B 20 4B 20 B3 20 |12135.. h/. K . |
000018A0: 39 20 A7 20 42 55 25 28 54 2C 53 2C 4B 29 B2 49 |9 . BU%(T,S,K).I|
000018B0: AA 31 3A 42 55 25 28 54 2C 53 2C 4B AA 31 29 B2 |.1:BU%(T,S,K.1).|
000018C0: 54 31 3A 42 55 25 28 54 2C 53 2C 4B AA 32 29 B2 |T1:BU%(T,S,K.2).|
000018D0: 53 31 3A 20 89 20 31 32 31 34 35 00 21 21 6C 2F |S1: . 12145.!!l/|
000018E0: 41 B2 54 3A 42 B2 53 3A 8D 32 30 30 3A 98 4F 55 |A.T:B.S:.200:.OU|
000018F0: 2C 22 42 4C 4F 43 4B 20 22 3B 41 24 3B 22 20 48 |,"BLOCK ";A$;" H|
00001900: 41 53 20 54 4F 4F 20 4D 41 4E 59 20 52 45 46 45 |AS TOO MANY REFE|
00001910: 52 45 4E 43 45 53 20 54 4F 20 52 45 43 4F 52 44 |RENCES TO RECORD|
00001920: 22 00 4C 21 71 2F 54 31 B2 54 3A 20 53 31 B2 53 |".L!q/T1.T: S1.S|
00001930: 3A 20 54 B2 4C 54 25 28 54 31 2C 53 31 29 3A 20 |: T.LT%(T1,S1): |
00001940: 53 B2 4C 53 25 28 54 31 2C 53 31 29 00 5E 21 76 |S.LS%(T1,S1).^!v|
00001950: 2F 8B 20 4A B3 58 20 A7 20 31 32 32 30 30 00 91 |/. J.X . 12200..|
00001960: 21 80 2F 8B 20 4A B2 58 20 A7 20 8B 20 54 B2 30 |!./. J.X . . T.0|
00001970: 20 A7 20 31 32 33 30 30 3A 20 8F 20 2A 2A 20 4E | . 12300: . ** N|
00001980: 4F 52 4D 41 4C 20 45 4E 44 2D 4F 46 2D 46 49 4C |ORMAL END-OF-FIL|
00001990: 45 00 B1 21 8A 2F 41 B2 54 31 3A 42 B2 53 31 3A |E..!./A.T1:B.S1:|
000019A0: 8D 20 32 30 30 3A 20 41 B2 49 3A 20 8D 20 35 30 |. 200: A.I: . 50|
000019B0: 30 00 E6 21 8F 2F 98 4F 55 2C 22 46 49 4C 45 20 |0..!./.OU,"FILE |
000019C0: 22 3B 53 24 3B 22 20 4E 4F 54 20 45 4E 44 45 44 |";S$;" NOT ENDED|
000019D0: 20 41 54 20 42 4C 4F 43 4B 20 43 4F 55 4E 54 22 | AT BLOCK COUNT"|
000019E0: 3B 58 3B 41 24 3B 00 05 22 94 2F 41 B2 54 3A 42 |;X;A$;.."./A.T:B|
000019F0: B2 53 3A 8D 20 32 30 30 3A 20 98 4F 55 2C 22 2D |.S:. 200: .OU,"-|
00001A00: 3E 22 3B 41 24 00 3E 22 9E 2F 89 20 31 32 33 30 |>";A$.>"./. 1230|
00001A10: 30 3A 20 8F 20 2A 2A 20 49 46 20 57 45 20 43 4F |0: . ** IF WE CO|
00001A20: 4E 54 49 4E 55 45 44 20 4F 4E 20 4C 49 53 54 2C |NTINUED ON LIST,|
00001A30: 20 57 45 20 4D 49 47 48 54 20 4C 4F 4F 50 00 7C | WE MIGHT LOOP.||
00001A40: 22 A8 2F 8B 20 54 B3 B1 30 20 A7 20 31 32 30 36 |"./. T..0 . 1206|
00001A50: 30 3A 20 8F 20 2A 2A 20 20 4E 4F 52 4D 41 4C 20 |0: . ** NORMAL |
00001A60: 47 4F 4F 44 20 42 4C 4F 43 4B 20 49 4E 20 4D 49 |GOOD BLOCK IN MI|
00001A70: 44 44 4C 45 20 4F 46 20 46 49 4C 45 00 9C 22 AD |DDLE OF FILE..".|
00001A80: 2F 41 B2 54 31 3A 42 B2 53 31 3A 8D 20 32 30 30 |/A.T1:B.S1:. 200|
00001A90: 3A 20 41 B2 49 3A 20 8D 20 35 30 30 00 D1 22 B2 |: A.I: . 500..".|
00001AA0: 2F 98 4F 55 2C 22 46 49 4C 45 20 22 3B 53 24 3B |/.OU,"FILE ";S$;|
00001AB0: 22 20 45 4E 44 53 20 50 52 45 4D 41 54 55 52 45 |" ENDS PREMATURE|
00001AC0: 4C 59 3A 20 20 42 4C 4F 43 4B 22 3B 4A 3B 41 24 |LY: BLOCK";J;A$|
00001AD0: 3B 00 F0 22 B7 2F 41 B2 54 3A 42 B2 53 3A 8D 20 |;.."./A.T:B.S:. |
00001AE0: 32 30 30 3A 20 98 4F 55 2C 22 2D 3E 22 3B 41 24 |200: .OU,"->";A$|
00001AF0: 00 F8 22 0C 30 82 20 49 00 1C 23 BE 32 41 24 B2 |..".0. I..#.2A$.|
00001B00: 22 4E 22 3A 20 85 22 47 49 56 45 20 43 4F 4D 50 |"N": ."GIVE COMP|
00001B10: 4C 45 54 45 20 4D 41 50 22 3B 41 24 00 46 23 C3 |LETE MAP";A$.F#.|
00001B20: 32 41 24 B2 C8 28 41 24 2C 31 29 3A 20 8B 20 41 |2A$..(A$,1): . A|
00001B30: 24 B2 22 4E 22 20 B0 20 41 24 B2 22 CE 22 20 A7 |$."N" . A$."." .|
00001B40: 20 31 34 30 30 30 00 55 23 C8 32 81 20 54 B2 31 | 14000.U#.2. T.1|
00001B50: 20 A4 20 4D 54 00 5D 23 D2 32 98 4F 55 00 9C 23 | . MT.]#.2.OU..#|
00001B60: DC 32 98 4F 55 2C 22 54 52 41 43 4B 22 3B 54 3B |.2.OU,"TRACK";T;|
00001B70: 22 3A 22 3B 42 4D 25 28 54 2C 30 29 3B 22 4F 46 |":";BM%(T,0);"OF|
00001B80: 22 3B 53 5A 25 28 54 29 3B 22 42 4C 4F 43 4B 53 |";SZ%(T);"BLOCKS|
00001B90: 20 46 52 45 45 3B 20 42 41 4D 22 3B 00 C0 23 E6 | FREE; BAM";..#.|
00001BA0: 32 81 20 49 B2 31 20 A4 20 42 53 3A 20 98 4F 55 |2. I.1 . BS: .OU|
00001BB0: 2C 42 4D 25 28 54 2C 49 29 3B 20 3A 20 82 20 49 |,BM%(T,I); : . I|
00001BC0: 00 C8 23 F0 32 98 4F 55 00 D0 23 5E 33 53 B2 30 |..#.2.OU..#^3S.0|
00001BD0: 00 E8 23 68 33 4C B2 53 3A 20 8B 20 4C B1 4D 53 |..#h3L.S: . L.MS|
00001BE0: 20 A7 20 31 33 32 31 30 00 F2 23 72 33 8D 20 36 | . 13210..#r3. 6|
00001BF0: 30 30 00 0C 24 77 33 53 B2 53 AA 31 3A 20 8B 20 |00..$w3S.S.1: . |
00001C00: 53 B1 4D 53 20 A7 20 31 33 31 39 30 00 2D 24 7C |S.MS . 13190.-$||
00001C10: 33 8B 20 42 46 25 28 54 2C 53 29 B3 B1 42 46 25 |3. BF%(T,S)..BF%|
00001C20: 28 54 2C 4C 29 20 A7 20 31 33 31 39 30 00 5D 24 |(T,L) . 13190.]$|
00001C30: 7D 33 8B 20 42 55 25 28 54 2C 4C 2C 30 29 20 B2 |}3. BU%(T,L,0) .|
00001C40: 20 30 20 A7 20 8B 20 42 55 25 28 54 2C 53 2C 30 | 0 . . BU%(T,S,0|
00001C50: 29 20 B2 20 30 20 A7 20 31 33 31 38 37 00 65 24 |) . 0 . 13187.e$|
00001C60: 80 33 49 B2 30 00 9A 24 81 33 8B 20 49 B3 39 20 |.3I.0..$.3. I.9 |
00001C70: A7 20 8B 20 42 55 25 28 54 2C 53 2C 49 29 B2 42 |. . BU%(T,S,I).B|
00001C80: 55 25 28 54 2C 4C 2C 49 29 20 A7 20 49 B2 49 AA |U%(T,L,I) . I.I.|
00001C90: 31 3A 20 89 20 31 33 31 38 35 00 DF 24 82 33 8B |1: . 13185..$.3.|
00001CA0: 20 49 B3 39 20 89 20 31 33 31 39 30 3A 20 8F 20 | I.9 . 13190: . |
00001CB0: 2A 2A 20 4E 4F 54 20 49 44 45 4E 54 49 43 41 4C |** NOT IDENTICAL|
00001CC0: 20 45 4E 54 52 49 45 53 20 46 4F 52 20 53 55 43 | ENTRIES FOR SUC|
00001CD0: 43 45 53 53 49 56 45 20 53 45 43 54 4F 52 53 00 |CESSIVE SECTORS.|
00001CE0: 22 25 83 33 8B 20 4C 54 25 28 54 2C 53 29 B2 4C |"%.3. LT%(T,S).L|
00001CF0: 54 25 28 54 2C 4C 29 20 A7 20 8B 20 4C 53 25 28 |T%(T,L) . . LS%(|
00001D00: 54 2C 53 29 B2 4C 53 25 28 54 2C 4C 29 20 89 20 |T,S).LS%(T,L) . |
00001D10: 31 33 31 37 35 3A 20 8F 20 49 44 45 4E 54 49 43 |13175: . IDENTIC|
00001D20: 41 4C 00 40 25 86 33 8B 20 42 55 24 B2 22 41 58 |AL.@%.3. BU$."AX|
00001D30: 2D 3E 28 30 2C 30 29 22 20 89 20 31 33 31 36 30 |->(0,0)" . 13160|
00001D40: 00 6B 25 8B 33 8B 20 4C B2 53 AB 31 20 A7 20 98 |.k%.3. L.S.1 . .|
00001D50: 4F 55 2C 22 20 53 45 43 54 4F 52 22 3B 4C 3B 42 |OU," SECTOR";L;B|
00001D60: 55 24 3A 20 89 20 31 33 31 36 30 00 95 25 90 33 |U$: . 13160..%.3|
00001D70: 98 4F 55 2C 22 20 53 45 43 54 4F 52 22 3B 4C 3B |.OU," SECTOR";L;|
00001D80: 22 54 4F 22 3B 53 AB 31 3B 42 55 24 3A 20 89 20 |"TO";S.1;BU$: . |
00001D90: 31 33 31 36 30 00 9D 25 9A 33 82 20 54 00 A6 25 |13160..%.3. T..%|
00001DA0: A6 36 8F 20 2F 2A 00 C0 25 A7 36 8F 20 20 2A 20 |.6. /*..%.6. * |
00001DB0: 49 4E 54 45 52 41 43 54 49 56 45 20 4D 4F 44 45 |INTERACTIVE MODE|
00001DC0: 00 CA 25 A8 36 8F 20 20 2A 2F 00 EE 25 B0 36 4F |..%.6. */..%.6O|
00001DD0: 55 B2 33 3A 20 8F 20 2A 2A 20 53 45 54 20 4F 55 |U.3: . ** SET OU|
00001DE0: 54 50 55 54 20 54 4F 20 53 43 52 45 45 4E 00 FB |TPUT TO SCREEN..|
00001DF0: 25 BA 36 54 B2 30 3A 20 53 B2 30 00 16 26 C4 36 |%.6T.0: S.0..&.6|
00001E00: 41 B2 54 3A 20 42 B2 53 3A 20 8D 20 32 30 30 3A |A.T: B.S: . 200:|
00001E10: 20 99 20 41 24 3B 00 51 26 C9 36 85 20 22 28 41 | . A$;.Q&.6. "(A|
00001E20: 2C 42 2C 43 2C 44 2C 48 2C 46 2C 4E 2C 4F 2C 54 |,B,C,D,H,F,N,O,T|
00001E30: 2C 24 2C 51 55 49 54 29 22 3B 41 24 3A 20 8B 20 |,$,QUIT)";A$: . |
00001E40: 41 24 B2 22 51 55 49 54 22 20 A7 20 36 33 39 30 |A$."QUIT" . 6390|
00001E50: 30 00 72 26 CE 36 42 24 B2 C8 28 41 24 2C 31 29 |0.r&.6B$..(A$,1)|
00001E60: 3A 20 41 24 B2 C9 28 41 24 2C C3 28 41 24 29 AB |: A$..(A$,.(A$).|
00001E70: 31 29 00 92 26 D8 36 8B 20 42 24 B2 22 41 22 20 |1)..&.6. B$."A" |
00001E80: A7 20 8D 20 31 34 31 30 30 3A 20 89 20 31 34 30 |. . 14100: . 140|
00001E90: 32 30 00 B2 26 DD 36 8B 20 42 24 B2 22 42 22 20 |20..&.6. B$."B" |
00001EA0: A7 20 8D 20 31 34 31 37 30 3A 20 89 20 31 34 30 |. . 14170: . 140|
00001EB0: 32 30 00 D2 26 E2 36 8B 20 42 24 B2 22 43 22 20 |20..&.6. B$."C" |
00001EC0: A7 20 8D 20 31 34 36 30 30 3A 20 89 20 31 34 30 |. . 14600: . 140|
00001ED0: 32 30 00 F2 26 E7 36 8B 20 42 24 B2 22 44 22 20 |20..&.6. B$."D" |
00001EE0: A7 20 8D 20 31 34 32 30 30 3A 20 89 20 31 34 30 |. . 14200: . 140|
00001EF0: 32 30 00 12 27 EC 36 8B 20 42 24 B2 22 46 22 20 |20..'.6. B$."F" |
00001F00: A7 20 8D 20 31 34 33 30 30 3A 20 89 20 31 34 30 |. . 14300: . 140|
00001F10: 32 30 00 32 27 F1 36 8B 20 42 24 B2 22 48 22 20 |20.2'.6. B$."H" |
00001F20: A7 20 8D 20 31 34 34 30 30 3A 20 89 20 31 34 30 |. . 14400: . 140|
00001F30: 32 30 00 52 27 F6 36 8B 20 42 24 B2 22 4E 22 20 |20.R'.6. B$."N" |
00001F40: A7 20 8D 20 31 34 37 30 30 3A 20 89 20 31 34 30 |. . 14700: . 140|
00001F50: 32 30 00 72 27 FB 36 8B 20 42 24 B2 22 4F 22 20 |20.r'.6. B$."O" |
00001F60: A7 20 8D 20 31 34 38 30 30 3A 20 89 20 31 34 30 |. . 14800: . 140|
00001F70: 32 30 00 92 27 00 37 8B 20 42 24 B2 22 54 22 20 |20..'.7. B$."T" |
00001F80: A7 20 8D 20 31 34 39 30 30 3A 20 89 20 31 34 30 |. . 14900: . 140|
00001F90: 32 30 00 B2 27 05 37 8B 20 42 24 B2 22 24 22 20 |20..'.7. B$."$" |
00001FA0: A7 20 8D 20 31 35 30 30 30 3A 20 89 20 31 34 30 |. . 15000: . 140|
00001FB0: 32 30 00 CD 27 09 37 99 22 49 4E 56 41 4C 49 44 |20..'.7."INVALID|
00001FC0: 20 43 4F 4D 4D 41 4E 44 20 22 3B 42 24 00 F4 27 | COMMAND ";B$..'|
00001FD0: 0A 37 41 B2 4F 55 3A 20 4F 55 B2 33 3A 20 8D 20 |.7A.OU: OU.3: . |
00001FE0: 31 34 34 30 30 3A 20 4F 55 B2 41 3A 20 89 20 31 |14400: OU.A: . 1|
00001FF0: 34 30 32 30 00 1E 28 14 37 8F 20 2A 2A 20 31 34 |4020..(.7. ** 14|
00002000: 31 30 30 20 2D 20 41 20 2D 20 41 4C 4C 4F 43 41 |100 - A - ALLOCA|
00002010: 54 45 20 43 55 52 52 45 4E 54 20 54 26 53 00 33 |TE CURRENT T&S.3|
00002020: 28 1E 37 8D 20 38 30 30 3A 20 8B 20 A8 20 41 20 |(.7. 800: . . A |
00002030: A7 20 8E 00 79 28 28 37 9F 20 31 35 2C 44 56 2C |. ..y((7. 15,DV,|
00002040: 31 35 2C 22 49 22 AA 44 4B 24 3A 20 9F 20 44 46 |15,"I".DK$: . DF|
00002050: 2C 44 56 2C 38 2C 22 23 22 3A 20 8F 20 4D 55 53 |,DV,8,"#": . MUS|
00002060: 54 20 4F 50 45 4E 20 54 4F 20 46 4F 52 43 45 20 |T OPEN TO FORCE |
00002070: 42 41 4D 20 57 52 49 54 45 00 A3 28 2D 37 98 31 |BAM WRITE..(-7.1|
00002080: 35 2C 22 42 2D 41 3A 22 3B 44 4B 24 3B 54 3B 53 |5,"B-A:";DK$;T;S|
00002090: 3A 20 8D 20 33 31 35 3A 20 A0 20 44 46 3A 20 A0 |: . 315: . DF: .|
000020A0: 20 31 35 00 B5 28 32 37 41 B2 54 3A 42 B2 53 3A | 15..(27A.T:B.S:|
000020B0: 8D 20 32 30 30 00 EE 28 3C 37 8B 20 45 4E B2 30 |. 200..(<7. EN.0|
000020C0: 20 A7 20 98 4F 55 2C 22 42 4C 4F 43 4B 20 22 3B | . .OU,"BLOCK ";|
000020D0: 41 24 3B 22 20 41 4C 4C 4F 43 41 54 45 44 22 3A |A$;" ALLOCATED":|
000020E0: 20 42 46 25 28 54 2C 53 29 B2 31 3A 20 8E 00 25 | BF%(T,S).1: ..%|
000020F0: 29 46 37 8B 20 45 4E B2 36 35 20 A7 20 99 22 42 |)F7. EN.65 . ."B|
00002100: 4C 4F 43 4B 20 22 3B 41 24 3B 22 20 57 41 53 20 |LOCK ";A$;" WAS |
00002110: 41 4C 52 45 41 44 59 20 41 4C 4C 4F 43 41 54 45 |ALREADY ALLOCATE|
00002120: 44 22 3A 20 8E 00 54 29 50 37 99 22 55 4E 45 58 |D": ..T)P7."UNEX|
00002130: 50 45 43 54 45 44 20 44 49 53 4B 20 53 54 41 54 |PECTED DISK STAT|
00002140: 55 53 20 22 3B 45 4E 3B 45 4D 24 3B 45 54 3B 45 |US ";EN;EM$;ET;E|
00002150: 53 3A 20 8E 00 88 29 5A 37 8F 20 2A 2A 20 31 34 |S: ...)Z7. ** 14|
00002160: 31 37 30 20 2D 20 42 20 2D 20 42 4C 4F 43 4B 20 |170 - B - BLOCK |
00002170: 53 45 54 20 43 55 52 52 45 4E 54 20 54 52 41 43 |SET CURRENT TRAC|
00002180: 4B 26 53 45 43 54 4F 52 00 A0 29 64 37 85 22 54 |K&SECTOR..)d7."T|
00002190: 52 41 43 4B 2C 53 45 43 54 4F 52 22 3B 54 2C 53 |RACK,SECTOR";T,S|
000021A0: 00 B9 29 6E 37 8D 20 38 30 30 3A 20 8B 20 41 20 |..)n7. 800: . A |
000021B0: A7 20 8D 20 31 34 36 30 30 00 BF 29 73 37 8E 00 |. . 14600..)s7..|
000021C0: 05 2A 78 37 8F 20 2A 2A 20 31 34 32 30 30 20 2D |.*x7. ** 14200 -|
000021D0: 20 44 20 2D 20 44 49 52 45 43 54 4F 52 59 20 45 | D - DIRECTORY E|
000021E0: 4E 54 52 59 3B 20 44 49 53 50 4C 41 59 20 44 49 |NTRY; DISPLAY DI|
000021F0: 52 45 43 54 4F 52 59 20 45 4E 54 52 59 20 56 41 |RECTORY ENTRY VA|
00002200: 4C 28 42 24 29 00 40 2A 82 37 43 B2 C5 28 41 24 |L(B$).@*.7C..(A$|
00002210: 29 3A 20 8F 20 20 2A 2A 20 31 34 32 32 30 20 49 |): . ** 14220 I|
00002220: 53 20 45 4E 54 52 59 20 50 4F 49 4E 54 20 46 4F |S ENTRY POINT FO|
00002230: 52 20 4F 54 48 45 52 20 52 4F 55 54 49 4E 45 53 |R OTHER ROUTINES|
00002240: 00 5C 2A 8C 37 8B 20 30 B3 B2 43 20 A7 20 8B 20 |.\*.7. 0..C . . |
00002250: 43 B3 46 43 20 A7 20 31 34 32 34 30 00 8F 2A 96 |C.FC . 14240..*.|
00002260: 37 99 20 22 44 49 52 45 43 54 4F 52 59 20 45 4E |7. "DIRECTORY EN|
00002270: 54 52 59 20 4E 55 4D 42 45 52 22 3B 43 3B 22 4F |TRY NUMBER";C;"O|
00002280: 55 54 20 4F 46 20 52 41 4E 47 45 22 3A 20 8E 00 |UT OF RANGE": ..|
00002290: C4 2A A0 37 41 B2 43 3A 20 8D 20 35 30 30 3A 20 |.*.7A.C: . 500: |
000022A0: 54 B2 44 54 25 28 43 29 3A 20 53 B2 44 53 25 28 |T.DT%(C): S.DS%(|
000022B0: 43 29 3A 20 41 B2 54 3A 20 42 B2 53 3A 20 20 8D |C): A.T: B.S: .|
000022C0: 20 32 30 30 00 F9 2A AA 37 98 4F 55 2C 43 3B 53 | 200..*.7.OU,C;S|
000022D0: 24 3B C8 28 22 20 20 20 20 20 20 20 20 20 20 20 |$;.(" |
000022E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2C 32 | ",2|
000022F0: 31 AB C3 28 53 24 29 29 3B 00 12 2B B4 37 98 4F |1..(S$));..+.7.O|
00002300: 55 2C 44 5A 25 28 43 29 3B 22 46 52 4F 4D 22 3B |U,DZ%(C);"FROM";|
00002310: 41 24 00 18 2B BE 37 8E 00 58 2B DC 37 8F 20 2A |A$..+.7..X+.7. *|
00002320: 2A 20 31 34 33 30 30 20 2D 20 46 20 2D 20 46 52 |* 14300 - F - FR|
00002330: 45 45 3B 20 49 53 53 55 45 20 41 20 42 4C 4F 43 |EE; ISSUE A BLOC|
00002340: 4B 2D 46 52 45 45 20 46 4F 52 20 43 55 52 52 45 |K-FREE FOR CURRE|
00002350: 4E 54 20 42 4C 4F 43 4B 00 6D 2B E6 37 8D 20 38 |NT BLOCK.m+.7. 8|
00002360: 30 30 3A 20 8B 20 A8 20 41 20 A7 20 8E 00 80 2B |00: . . A . ...+|
00002370: F0 37 41 B2 54 3A 42 B2 53 3A 20 8D 20 32 30 30 |.7A.T:B.S: . 200|
00002380: 00 AB 2B FA 37 99 20 22 59 4F 55 20 52 45 41 4C |..+.7. "YOU REAL|
00002390: 4C 59 20 57 41 4E 54 20 54 4F 20 46 52 45 45 20 |LY WANT TO FREE |
000023A0: 42 4C 4F 43 4B 20 22 3B 41 24 3B 00 BC 2B 04 38 |BLOCK ";A$;..+.8|
000023B0: 41 24 B2 22 4E 22 3A 20 85 20 41 24 00 E6 2B 0E |A$."N": . A$..+.|
000023C0: 38 41 24 B2 C8 28 41 24 2C 31 29 3A 20 8B 20 41 |8A$..(A$,1): . A|
000023D0: 24 B3 B1 22 59 22 20 A7 20 8B 20 41 24 B3 B1 22 |$.."Y" . . A$.."|
000023E0: D9 22 20 A7 20 8E 00 2C 2C 18 38 9F 20 31 35 2C |." . ..,,.8. 15,|
000023F0: 44 56 2C 31 35 2C 22 49 22 AA 44 4B 24 3A 20 9F |DV,15,"I".DK$: .|
00002400: 20 44 46 2C 44 56 2C 38 2C 22 23 22 3A 20 8F 20 | DF,DV,8,"#": . |
00002410: 4D 55 53 54 20 4F 50 45 4E 20 54 4F 20 46 4F 52 |MUST OPEN TO FOR|
00002420: 43 45 20 42 41 4D 20 57 52 49 54 45 00 56 2C 1D |CE BAM WRITE.V,.|
00002430: 38 98 31 35 2C 22 42 2D 46 3A 22 3B 44 4B 24 3B |8.15,"B-F:";DK$;|
00002440: 54 3B 53 3A 20 8D 20 33 31 35 3A 20 A0 20 44 46 |T;S: . 315: . DF|
00002450: 3A 20 A0 20 31 35 00 68 2C 22 38 41 B2 54 3A 42 |: . 15.h,"8A.T:B|
00002460: B2 53 3A 8D 20 32 30 30 00 9D 2C 2C 38 8B 20 45 |.S:. 200..,,8. E|
00002470: 4E B2 30 20 A7 20 98 4F 55 2C 22 42 4C 4F 43 4B |N.0 . .OU,"BLOCK|
00002480: 20 22 3B 41 24 3B 22 20 46 52 45 45 44 22 3A 20 | ";A$;" FREED": |
00002490: 42 46 25 28 54 2C 53 29 B2 30 3A 20 8E 00 DA 2C |BF%(T,S).0: ...,|
000024A0: 36 38 99 22 55 4E 45 58 50 45 43 54 45 44 20 44 |68."UNEXPECTED D|
000024B0: 49 53 4B 20 53 54 41 54 55 53 20 22 3B 45 4E 3B |ISK STATUS ";EN;|
000024C0: 45 4D 24 3B 45 54 3B 45 53 3B 22 20 4F 4E 20 42 |EM$;ET;ES;" ON B|
000024D0: 4C 4F 43 4B 2D 46 52 45 45 22 00 E0 2C 3B 38 8E |LOCK-FREE"..,;8.|
000024E0: 00 09 2D 40 38 8F 20 2A 2A 20 31 34 34 30 30 20 |..-@8. ** 14400 |
000024F0: 2D 20 48 20 2D 20 48 45 4C 50 3B 20 47 45 54 20 |- H - HELP; GET |
00002500: 53 4F 4D 45 20 48 45 4C 50 00 40 2D 4A 38 98 4F |SOME HELP.@-J8.O|
00002510: 55 2C 22 41 20 2D 20 41 4C 4C 4F 43 41 54 45 20 |U,"A - ALLOCATE |
00002520: 43 55 52 52 45 4E 54 20 54 26 53 20 28 46 4F 52 |CURRENT T&S (FOR|
00002530: 20 52 45 41 4C 2C 20 4F 4E 20 44 49 53 4B 29 22 | REAL, ON DISK)"|
00002540: 00 6C 2D 54 38 98 4F 55 2C 22 42 20 2D 20 42 4C |.l-T8.OU,"B - BL|
00002550: 4F 43 4B 3B 20 53 45 54 20 54 26 53 20 28 50 52 |OCK; SET T&S (PR|
00002560: 4F 4D 50 54 45 44 20 46 4F 52 29 22 00 A5 2D 5E |OMPTED FOR)"..-^|
00002570: 38 98 4F 55 2C 22 43 20 2D 20 43 55 52 52 45 4E |8.OU,"C - CURREN|
00002580: 54 3B 20 44 49 53 50 4C 41 59 20 4D 41 50 20 45 |T; DISPLAY MAP E|
00002590: 4E 54 52 59 20 46 4F 52 20 43 55 52 52 45 4E 54 |NTRY FOR CURRENT|
000025A0: 20 54 26 53 22 00 DB 2D 68 38 98 4F 55 2C 22 44 | T&S"..-h8.OU,"D|
000025B0: 3C 4E 3E 20 2D 20 44 49 52 45 43 54 4F 52 59 3B |<N> - DIRECTORY;|
000025C0: 20 44 49 53 50 4C 41 59 20 44 49 52 45 43 54 4F | DISPLAY DIRECTO|
000025D0: 52 59 20 45 4E 54 52 59 20 4E 22 00 1A 2E 72 38 |RY ENTRY N"...r8|
000025E0: 98 4F 55 2C 22 46 20 2D 20 46 52 45 45 20 43 55 |.OU,"F - FREE CU|
000025F0: 52 52 45 4E 54 20 54 26 53 20 28 46 4F 52 20 52 |RRENT T&S (FOR R|
00002600: 45 41 4C 2C 20 4F 4E 20 44 49 53 4B 2D 42 45 20 |EAL, ON DISK-BE |
00002610: 43 41 52 45 46 55 4C 21 29 22 00 4D 2E 7C 38 98 |CAREFUL!)".M.|8.|
00002620: 4F 55 2C 22 48 20 2D 20 48 45 4C 50 3B 20 47 45 |OU,"H - HELP; GE|
00002630: 54 20 54 48 49 53 20 4C 49 53 54 20 4F 4E 20 4F |T THIS LIST ON O|
00002640: 55 54 50 55 54 20 44 45 56 49 43 45 22 00 90 2E |UTPUT DEVICE"...|
00002650: 86 38 98 4F 55 2C 22 4E 20 2D 20 4E 45 58 54 3B |.8.OU,"N - NEXT;|
00002660: 20 44 49 53 50 4C 41 59 20 43 55 52 52 45 4E 54 | DISPLAY CURRENT|
00002670: 20 4D 41 50 20 45 4E 54 52 59 20 54 48 45 4E 20 | MAP ENTRY THEN |
00002680: 47 4F 20 54 4F 20 4E 45 58 54 20 4C 49 4E 4B 22 |GO TO NEXT LINK"|
00002690: 00 D1 2E 90 38 98 4F 55 2C 22 4F 3C 4E 3E 20 2D |....8.OU,"O<N> -|
000026A0: 20 4F 55 54 50 55 54 3B 20 53 45 4E 44 20 28 4D | OUTPUT; SEND (M|
000026B0: 4F 53 54 29 20 4F 55 54 50 55 54 20 54 4F 20 44 |OST) OUTPUT TO D|
000026C0: 45 56 49 43 45 20 4E 20 28 33 20 4F 52 20 34 29 |EVICE N (3 OR 4)|
000026D0: 22 00 08 2F 95 38 98 4F 55 2C 22 54 20 2D 20 54 |"../.8.OU,"T - T|
000026E0: 52 41 43 45 3B 20 54 52 41 43 45 20 42 4C 4F 43 |RACE; TRACE BLOC|
000026F0: 4B 20 4C 49 53 54 20 46 52 4F 4D 20 43 55 52 52 |K LIST FROM CURR|
00002700: 45 4E 54 20 54 26 53 22 00 45 2F 9A 38 98 4F 55 |ENT T&S".E/.8.OU|
00002710: 2C 22 24 20 2D 20 44 49 53 50 4C 41 59 20 45 4E |,"$ - DISPLAY EN|
00002720: 54 49 52 45 20 44 49 52 45 43 54 4F 52 59 20 4F |TIRE DIRECTORY O|
00002730: 52 20 4C 4F 4F 4B 20 46 4F 52 20 46 49 4C 45 20 |R LOOK FOR FILE |
00002740: 4E 41 4D 45 22 00 7C 2F A4 38 98 4F 55 2C 22 51 |NAME".|/.8.OU,"Q|
00002750: 55 49 54 20 2D 20 51 55 49 54 3B 20 50 55 54 20 |UIT - QUIT; PUT |
00002760: 41 4E 20 45 4E 44 20 54 4F 20 41 4C 4C 20 54 48 |AN END TO ALL TH|
00002770: 49 53 20 4E 4F 4E 53 45 4E 53 45 22 00 82 2F AE |IS NONSENSE"../.|
00002780: 38 8E 00 C6 2F 08 39 8F 20 2A 2A 20 31 34 36 30 |8.../.9. ** 1460|
00002790: 30 20 2D 20 43 20 2D 20 43 55 52 52 45 4E 54 3B |0 - C - CURRENT;|
000027A0: 20 44 49 53 50 4C 41 59 20 54 48 45 20 4D 41 50 | DISPLAY THE MAP|
000027B0: 20 45 4E 54 52 59 20 46 4F 52 20 43 55 52 52 45 | ENTRY FOR CURRE|
000027C0: 4E 54 20 54 26 53 00 DB 2F 12 39 8D 20 38 30 30 |NT T&S../.9. 800|
000027D0: 3A 20 8B 20 A8 20 41 20 A7 20 8E 00 F5 2F 1C 39 |: . . A . .../.9|
000027E0: 8D 20 36 30 30 3A 20 41 B2 54 3A 42 B2 53 3A 20 |. 600: A.T:B.S: |
000027F0: 8D 20 32 30 30 00 08 30 26 39 98 4F 55 2C 41 24 |. 200..0&9.OU,A$|
00002800: 3B 22 3A 22 3B 42 55 24 00 0E 30 30 39 8E 00 54 |;":";BU$..009..T|
00002810: 30 6C 39 8F 20 2A 2A 20 31 34 37 30 30 20 2D 20 |0l9. ** 14700 - |
00002820: 4E 20 2D 20 4E 45 58 54 3B 20 44 49 53 50 4C 41 |N - NEXT; DISPLA|
00002830: 59 20 43 55 52 52 45 4E 54 20 4D 41 50 20 45 4E |Y CURRENT MAP EN|
00002840: 54 52 59 2C 20 53 45 54 20 54 26 53 20 54 4F 20 |TRY, SET T&S TO |
00002850: 4E 45 58 54 00 69 30 76 39 8D 20 38 30 30 3A 20 |NEXT.i0v9. 800: |
00002860: 8B 20 A8 20 41 20 A7 20 8E 00 75 30 80 39 8D 20 |. . A . ..u0.9. |
00002870: 31 34 36 30 30 00 95 30 8A 39 41 B2 54 3A 20 54 |14600..0.9A.T: T|
00002880: B2 4C 54 25 28 54 2C 53 29 3A 20 53 B2 4C 53 25 |.LT%(T,S): S.LS%|
00002890: 28 41 2C 53 29 00 9B 30 94 39 8E 00 CA 30 D0 39 |(A,S)..0.9...0.9|
000028A0: 8F 20 2A 2A 20 31 34 38 30 30 20 2D 20 4F 20 2D |. ** 14800 - O -|
000028B0: 20 4F 55 54 50 55 54 3B 20 53 45 54 20 4F 55 54 | OUTPUT; SET OUT|
000028C0: 50 55 54 20 44 45 56 49 43 45 00 F1 30 DA 39 41 |PUT DEVICE..0.9A|
000028D0: B2 C5 28 41 24 29 3A 20 8B 20 33 B3 B2 41 20 A7 |..(A$): . 3..A .|
000028E0: 20 8B 20 41 B3 B2 34 20 A7 20 4F 55 B2 41 3A 20 | . A..4 . OU.A: |
000028F0: 8E 00 22 31 E4 39 99 20 22 49 4E 56 41 4C 49 44 |.."1.9. "INVALID|
00002900: 20 4F 55 54 50 55 54 20 44 45 56 49 43 45 20 28 | OUTPUT DEVICE (|
00002910: 4D 55 53 54 20 42 45 20 33 20 4F 52 20 34 29 22 |MUST BE 3 OR 4)"|
00002920: 3B 41 00 28 31 EE 39 8E 00 66 31 34 3A 8F 20 2A |;A.(1.9..f14:. *|
00002930: 2A 20 31 34 39 30 30 20 2D 20 54 20 2D 20 54 52 |* 14900 - T - TR|
00002940: 41 43 45 3B 20 46 4F 4C 4C 4F 57 20 54 48 45 20 |ACE; FOLLOW THE |
00002950: 43 55 52 52 45 4E 54 20 4C 49 53 54 20 4F 46 20 |CURRENT LIST OF |
00002960: 42 4C 4F 43 4B 53 00 7C 31 3E 3A 8D 20 38 30 30 |BLOCKS.|1>:. 800|
00002970: 3A 20 20 8B 20 A8 20 41 20 A7 20 8E 00 97 31 43 |: . . A . ...1C|
00002980: 3A A1 20 41 24 3A 20 8B 20 41 24 B3 B1 22 22 20 |:. A$: . A$.."" |
00002990: A7 20 31 34 39 31 35 00 B7 31 48 3A 8D 20 31 34 |. 14915..1H:. 14|
000029A0: 37 30 30 3A 20 A1 20 41 24 3A 20 8B 20 41 24 B3 |700: . A$: . A$.|
000029B0: B1 22 22 20 A7 20 8E 00 E7 31 52 3A 8B 20 31 B3 |."" . ...1R:. 1.|
000029C0: B2 54 20 AF 20 54 B3 B2 4D 54 20 A7 20 8B 20 30 |.T . T..MT . . 0|
000029D0: B3 B2 53 20 AF 20 53 B3 B2 53 5A 25 28 54 29 20 |..S . S..SZ%(T) |
000029E0: 89 20 31 34 39 32 30 00 ED 31 5C 3A 8E 00 31 32 |. 14920..1\:..12|
000029F0: 98 3A 8F 20 2A 2A 20 31 35 30 30 30 20 2D 20 24 |.:. ** 15000 - $|
00002A00: 20 2D 20 53 48 4F 57 20 44 49 52 45 43 54 4F 52 | - SHOW DIRECTOR|
00002A10: 59 2C 20 4F 52 20 53 45 54 20 43 55 52 52 45 4E |Y, OR SET CURREN|
00002A20: 54 20 42 4C 4F 43 4B 20 46 52 4F 4D 20 46 49 4C |T BLOCK FROM FIL|
00002A30: 45 00 62 32 A2 3A 8B 20 41 24 B2 22 22 20 A7 20 |E.b2.:. A$."" . |
00002A40: 81 20 49 B2 30 20 A4 20 46 43 AB 31 3A 20 43 B2 |. I.0 . FC.1: C.|
00002A50: 49 3A 20 8D 20 31 34 32 32 30 3A 20 82 20 49 3A |I: . 14220: . I:|
00002A60: 20 8E 00 6A 32 AC 3A 43 B2 30 00 94 32 B6 3A 8B | ..j2.:C.0..2.:.|
00002A70: 20 43 20 B1 B2 20 46 43 20 A7 20 99 22 4E 4F 20 | C .. FC . ."NO |
00002A80: 53 55 43 48 20 46 49 4C 45 20 41 53 20 22 3B 41 |SUCH FILE AS ";A|
00002A90: 24 3A 20 8E 00 B6 32 C0 3A 8B 20 44 4E 24 28 43 |$: ...2.:. DN$(C|
00002AA0: 29 B3 B1 41 24 20 A7 20 43 B2 43 AA 31 3A 20 89 |)..A$ . C.C.1: .|
00002AB0: 20 31 35 30 33 30 00 C2 32 CA 3A 8D 20 31 34 32 | 15030..2.:. 142|
00002AC0: 32 30 00 C8 32 D4 3A 8E 00 E1 32 9C F9 A0 20 33 |20..2.:...2... 3|
00002AD0: 3A 20 A0 20 34 3A 20 A0 20 44 46 3A 20 A0 20 31 |: . 4: . DF: . 1|
00002AE0: 35 00 E7 32 FF F9 80 00 00 00 |5..2...... |
..=.... DISKMAP - SHOWS 1541 ETC FILE S
TRUCTURE (AND ERRORS).C.....N.... 9000.W
.... /*.J.... * GOSUB 200...... * SPEC
IALIZED SUBROUTINE FOR CONVERTING AND PR
INTING SECTOR NUMBERS...A.. * REQUIRES:
A(TRACK) AND B(SECTOR) AS INPUT...C..
* SETS: A$ AS OUTPUT "(T,S)".".D.. * C
HANGES: B$.,.E.. */.A.H.A$.D(A): B$.D(B
).P.R.A$."(".I(A$,C(A$).1).",".I(B$,C(B$
).1).")".V......7.. /*...8.. * GOSUB 3
15 - CHECK DISK ERROR STATUS BY READING
FILE 15...9.. * IT IS ASSUMED THAT TH
E CALLER WILL USE STATUS AS WANTED...:..
*/.$.;..15,EN,EM$,ET,ES: ..-.... /*.J.
... * GOSUB 415 - CHECK DISK STATUS AND
ABORT IF NON-ZERO.T.... */...... 315:
. EN.0 . ..F...."DISK ERROR";EN;EM$;ET;E
S;"--PROGRAM ABORTED": . 63900.O.... /*.
..... * GOSUB 500 - RETURN FILENAME A F
ROM NAME TABLE, APPENDING EXTENSION.K...
. * NAME IS RETURNED IN S$; A IS CHAN
GED.U.... */.Q...S$.DN$(A).",": A.DE%(A
)...... (A . 127).4 . S$.S$.TY$(4): . 53
0.....S$.S$.TY$(A . 127).N.... (A . 128)
.0 . S$.S$."*".T.......O.. /*.!.P.. * G
OSUB 600 - CONVERT BF%(T,S)+BU%(T,S,*) T
O EXTERNAL FORMAT.M.Q.. * EXTERNAL FO
RMAT IS PLACED IN BU$.O.R.. * CHANGES
A,B, A$,B$, S$.Y.S.. */...X.BU$."": A.
BF%(T,S): . A . 0 . A.A.2: BU$."X".D.B.B
U$.J("FA",A.1,1).BU$...L.. BU%(T,S,0).0
. 710...V.A.BU%(T,S,1): B.BU%(T,S,2): .
200: A.BU%(T,S,0).1: . 500.5...BU$.BU$."
".A$."<-".S$.N.... BU%(T,S,3).0 . 710..
...A.BU%(T,S,4): B.BU%(T,S,5): . 200: A.
BU%(T,S,3).1: . 500.....BU$.BU$." ".A$."
<-".S$...... BU%(T,S,6).0 . 710.....A.BU
%(T,S,7): B.BU%(T,S,8): . 200: A.BU%(T,S
,6).1: . 500.....BU$.BU$." ".A$."<-".S$.
9.F.A.LT%(T,S): B.LS%(T,S): . 200.M.P.BU
$.BU$."->".A$.S.Z...\.... /*...... * GO
SUB 800 - CHECK WHETHER T,S ARE A VALID
BLOCK ADDRESS...... *.R.... * ARRAY S
Z%() MUST HAVE BEEN SET UP...... * A I
S SET TO THE TRUTH VALUE FOR (T,S) IS VA
LID...... *.M.... * B, A$,B$ ARE CHAN
GED IFF A IS FALSE (IHB!).W.... */.
.. .A . (0.T . T..MT) . (0..S . S.SZ%(T)
): . A . ..Q.*.. ** ROUTINE IS DESIGNED
FOR INTERACTIVE MODE USE, SO REPORT ERRO
R...4.A.T:B.S: . 200...>.. "CURRENT TRAC
K AND SECTOR PAIR ";A$;" IS BAD".%.H.A .
0: ..L.(#DK$."0": DV.8: . 15,DV,15,"I"
.DK$.R..%OU.4:."OUTPUT DEVICE (3 OR 4)";
OU...&%. OU..3 . OU..4 . 9500...0%. 4,4,
7...:%. 3,3.D..'FC.0: FB.0: A1.0: F1.0:
F2.0....'MT.35: MS.23: BS.3: C0$.G(0)...
.'SS$.G(160)...$'. BM%(MT,BS), SZ%(MT):
MF.145.`.)'. LS%(MT,MS), LT%(MT,MS), DN$
(MF), DE%(MF), DT%(MF), DS%(MF), DZ%(MF)
....'. BF%(MT,MS): . ** BLOCK FLAGS; 0 F
REE; 1 ALLOCATED; <0 INVALID.../'. BU%(M
T,MS,8): . ** BLOCK USAGE TABLE; UP TO 3
FILES...0'. CC(1): . ** COUNTER; CC(0)
FREE BLOCK; CC(1) ALLOCATED.9.1'. TY$(5)
: . ** FILE TYPES.W.3'. DEL,SEQ,PRG,USR,
REL,BAD.O.8'. 1,17,21, 18,24,19...B'. 25
,30,18, 31,35,17...G'. I.0 . 5: . TY$(I)
: . I.H.L'DF.8: . DF,DV,8,"$".DK$: . 415
...V'.#DF,A$,A$: . ** SKIP 1ST 2 BYTES..
.J'. /*./.K'. * NOW INTERPRET THE BAM;
READ DATA STATEMENTS TO.B.L'. * DETERM
INE CORRECT # OF SECTORS PER TRACK.L.M'.
*/.Z.T'. I.1 . 4...~'. L,H,N: . ** TRA
CKS L TO H HAVE N SECTORS....'. J.L . H.
D..'SZ%(J).N....'.#DF,A$: . A$."" . A$.C
0$....'A.F(A$): F2.F2.A: BM%(J,0).A...D'
K1.0: . K.1 . BS.6.I'.#DF,A$: . A$."" .
A$.C0$.R.N'M.F(A$):BM%(J,K).M:M2.1....'.
K2.0 . 7: A. .((M . M2).0): BF%(J,K1).A
: CC(A).CC(A).1....'K1.K1.1: M2.M2.M2: .
** SHIFT M2 LEFT 1.D..(. K2.L..(. K.U..
(. /*....(. * EACH BAM ENTRY COULD REPR
ESENT 24 BLOCKS.D..(. * MARK AS INVALID
BLOCKS GREATER THAN NUMBER IN TRACK....
(. * - NORMALLY WILL BE "ALLOCATED"; F
REE WOULD BE BAD BAM....(. */....(K.N..
..(. K..MS . A.BF%(J,K): BF%(J,K).A.2: C
C(A).CC(A).1: K.K.1: . 10270...((. J...2
(. I....)S$."": . I.144 . 170.+..).#DF,A
$: S$.S$.G(F(A$.C0$) . 127).3..). I.N.")
.OU,S$: . ** DISK NAME...,). I.171 . 255
: .#DF,A$: . I: . ** SKIP TO END OF BLOC
K....*. /*....*. * NOW COMPILE A LIST O
F THE FILE NAMES....*. * THEIR STARTIN
G BLOCKS AND SIZES....*. */....*NF.0.3.
.+. NF.0 . 11020: . ** SKIP 2 BYTES EVER
Y 8 ENTRIES.?..+.#DF,A$.K..+.#DF,A$.G..+
NF.NF.1: . NF..8 . NF.0....+.#DF,E$: . E
$."" . E$.C0$... +.#DF,T$,S$...*+E.F(E$)
: . EXTENSION.F.4+T.F(T$.C0$): . TRACK..
.>+S.F(S$.C0$): . SECTOR...H+A.E . 127:
. A.4 . A.5.$.R+T$.TY$(A): . (E . 128).0
. T$.T$."*".3.\+S$."": I.3.N.F+.#DF,A$:
. A$..SS$ . S$.S$.A$: . I.18 . I.I.1: .
11110...P+. I.27 . .#DF,A$: I.I.1: . 11
120...Z+.#DF,A$,B$: RS.ST...+X.F(A$.C0$
).256.F(B$.C0$): . FILE SIZE (ALLEGEDLY)
....+. (E . 128).0 . BC.BC.1: BB.BB.X:
. ** BADLY CLOSED FILE.B..+DN$(FC).S$: D
E%(FC).E: DT%(FC).T: DS%(FC).S: DZ%(FC).
X: FB.FB.X....+A.T: B.S: . 200: A.FC: .
500: FC.FC.1.F..+.OU,S$;H("
",21.C(S$));X;"FROM";A$.Y.T+. RS.
0 . 11010....+. RS..64 . ."ERROR RS=";RS
....,. /*.@..,. * NOW WE ACCESS THE DIS
K RANDOMLY TO BUILD A PICTURE OF.R..,.
* THE LINKS BETWEEN THE BLOCKS ON THE DI
SK.|..,. */...$, DF: . I.1 . 1000: . I
: . DF,DV,8,"#"....,....8,. T.1 . MT.Z.B
,. "TRACK";T;G(145);G(13);...L,. S.0 . S
Z%(T).1.*.V,.15,"U1:8,";DK$;T;S: .15,EN,
EM$,ET,ES: . EN..0 . 11392.H.J,.#DF,A$:
. A$."" . A$.C0$.].O,LT%(T,S) . F(A$).{.
T,.#DF,A$: . A$."" . A$.C0$...Y,LS%(T,S)
. F(A$).S.~,. S: . 11400: . ** ERROR HA
NDLING HERE TO SPEED SECTOR LOOP UP....,
. "DISK ERROR";EN;EM$;ET;ES: DF: 15.
%..,. 15,DV,15,"I".DK$: . DF,DV,8,"#".K.
.,LT%(T,S)..1: LS%(T,S)..1: . 11390.S..,
. T.B.., DF: 15....,.OU,FC.BC;"GOOD F
ILES TOTALLING";FB.BB;"BLOCKS".C..-.OU,B
C;"BAD FILES TOTALLING";BB;"BLOCKS"....-
.OU,"BITMAP SHOWS";CC(1);" BLOCKS ALLOCA
TED;";CC(0);"(";F2;") FREE".J..-A..(FC.8
).1: .OU,FC;"FILE ENTRIES IN";A;"DIRECTO
RY BLOCKS".S.V.. /*...W.. * NOW TRACE D
OWN THE LINKED LIST OF BLOCKS FOR EACH F
ILE,...X.. * AND NOTE ANY INCONSISTENC
IES.E.Y.. */...... I.0 . FC.1: . ** FOR
EACH FILE IN DIRECTORY.....T.DT%(I): .
** INITIAL TRACK.F...T1.0: . ** INITIAL
PREVIOUS TRACK (DUMMY).H...S.DS%(I): . *
* INITIAL SECTOR..../S1.0: . ** INITIAL
PREVIOUS SECTOR (DUMMY)..../X.DZ%(I): .
** ALLEGED FILE SIZE.X../J.0: . ** BLOCK
COUNTER..../. 0.T . T..MT . . 0..S . S.
SZ%(T) . 12100.%.!/A.T1:B.S1:. 200: A.I:
. 500.Y.&/.OU,S$;" BAD TRACK&SECTOR POIN
TER; BLOCK";J;A$;.W.+/A.T:B.S:. 200: .OU
,"->"A$...0/. 12300...D/J.J.1: . BU%(T,S
,0)..0 . E$."MULTIPLELY ": . 12110.S.I/.
BF%(T,S).1 . 12130...J/E$."UN":. 200..
N/A.I: . 500: .OU,"ERROR IN ";S$;"(BLOCK
";J;"):";.K S/A.T: B.S: . 200: .OU,E$;"A
LLOCATED BLOCK ";A$.^ X/. 600: .OU,BU$.F
B/K.0.. G/. K . 9 . . BU%(T,S,K)..0 . K
.K.3: . 12135.. H/. K . 9 . BU%(T,S,K).I
.1:BU%(T,S,K.1).T1:BU%(T,S,K.2).S1: . 12
145.!!L/A.T:B.S:.200:.OU,"BLOCK ";A$;" H
AS TOO MANY REFERENCES TO RECORD".L!Q/T1
.T: S1.S: T.LT%(T1,S1): S.LS%(T1,S1).^!V
/. J.X . 12200..!./. J.X . . T.0 . 12300
: . ** NORMAL END-OF-FILE..!./A.T1:B.S1:
. 200: A.I: . 500..!./.OU,"FILE ";S$;" N
OT ENDED AT BLOCK COUNT";X;A$;.."./A.T:B
.S:. 200: .OU,"->";A$.>"./. 12300: . **
IF WE CONTINUED ON LIST, WE MIGHT LOOP.|
"./. T..0 . 12060: . ** NORMAL GOOD BLO
CK IN MIDDLE OF FILE.."./A.T1:B.S1:. 200
: A.I: . 500.Q"./.OU,"FILE ";S$;" ENDS P
REMATURELY: BLOCK";J;A$;.."./A.T:B.S:.
200: .OU,"->";A$..".0. I..#.2A$."N": ."G
IVE COMPLETE MAP";A$.F#C2A$.H(A$,1): . A
$."N" . A$."N" . 14000.U#H2. T.1 . MT.]#
R2.OU..#.2.OU,"TRACK";T;":";BM%(T,0);"OF
";SZ%(T);"BLOCKS FREE; BAM";..#.2. I.1 .
BS: .OU,BM%(T,I); : . I.H#.2.OU.P#^3S.0
..#H3L.S: . L.MS . 13210..#R3. 600..$W3S
.S.1: . S.MS . 13190.-$|3. BF%(T,S)..BF%
(T,L) . 13190.]$}3. BU%(T,L,0) . 0 . . B
U%(T,S,0) . 0 . 13187.E$.3I.0..$.3. I.9
. . BU%(T,S,I).BU%(T,L,I) . I.I.1: . 131
85..$.3. I.9 . 13190: . ** NOT IDENTICAL
ENTRIES FOR SUCCESSIVE SECTORS."%.3. LT
%(T,S).LT%(T,L) . . LS%(T,S).LS%(T,L) .
13175: . IDENTICAL.@%.3. BU$."AX->(0,0)"
. 13160.K%.3. L.S.1 . .OU," SECTOR";L;B
U$: . 13160..%.3.OU," SECTOR";L;"TO";S.1
;BU$: . 13160..%.3. T..%.6. /*..%.6. *
INTERACTIVE MODE.J%.6. */..%.6OU.3: . *
* SET OUTPUT TO SCREEN..%.6T.0: S.0..&D6
A.T: B.S: . 200: . A$;.Q&I6. "(A,B,C,D,H
,F,N,O,T,$,QUIT)";A$: . A$."QUIT" . 6390
0.R&N6B$.H(A$,1): A$.I(A$,C(A$).1)..&X6.
B$."A" . . 14100: . 14020..&.6. B$."B"
. . 14170: . 14020.R&.6. B$."C" . . 1460
0: . 14020..&.6. B$."D" . . 14200: . 140
20..'.6. B$."F" . . 14300: . 14020.2'.6.
B$."H" . . 14400: . 14020.R'.6. B$."N"
. . 14700: . 14020.R'.6. B$."O" . . 1480
0: . 14020..'.7. B$."T" . . 14900: . 140
20..'.7. B$."$" . . 15000: . 14020.M'.7.
"INVALID COMMAND ";B$..'.7A.OU: OU.3: .
14400: OU.A: . 14020..(.7. ** 14100 - A
- ALLOCATE CURRENT T&S.3(.7. 800: . . A
. ..Y((7. 15,DV,15,"I".DK$: . DF,DV,8,"#
": . MUST OPEN TO FORCE BAM WRITE..(-7.1
5,"B-A:";DK$;T;S: . 315: DF: 15..(27
A.T:B.S:. 200..(<7. EN.0 . .OU,"BLOCK ";
A$;" ALLOCATED": BF%(T,S).1: ..%)F7. EN.
65 . ."BLOCK ";A$;" WAS ALREADY ALLOCATE
D": ..T)P7."UNEXPECTED DISK STATUS ";EN;
EM$;ET;ES: ...)Z7. ** 14170 - B - BLOCK
SET CURRENT TRACK&SECTOR. )D7."TRACK,SEC
TOR";T,S..)N7. 800: . A . . 14600..)S7..
.*X7. ** 14200 - D - DIRECTORY ENTRY; DI
SPLAY DIRECTORY ENTRY VAL(B$).@*.7C.E(A$
): . ** 14220 IS ENTRY POINT FOR OTHER
ROUTINES.\*.7. 0..C . . C.FC . 14240..*.
7. "DIRECTORY ENTRY NUMBER";C;"OUT OF RA
NGE": ..D* 7A.C: . 500: T.DT%(C): S.DS%(
C): A.T: B.S: . 200..*.7.OU,C;S$;H("
",21.C(S$));..+.7.O
U,DZ%(C);"FROM";A$..+.7..X+.7. ** 14300
- F - FREE; ISSUE A BLOCK-FREE FOR CURRE
NT BLOCK.M+.7. 800: . . A . ...+.7A.T:B.
S: . 200..+.7. "YOU REALLY WANT TO FREE
BLOCK ";A$;..+.8A$."N": . A$..+.8A$.H(A$
,1): . A$.."Y" . . A$.."Y" . ..,,.8. 15,
DV,15,"I".DK$: . DF,DV,8,"#": . MUST OPE
N TO FORCE BAM WRITE.V,.8.15,"B-F:";DK$;
T;S: . 315: DF: 15.H,"8A.T:B.S:. 200
..,,8. EN.0 . .OU,"BLOCK ";A$;" FREED":
BF%(T,S).0: ..Z,68."UNEXPECTED DISK STAT
US ";EN;EM$;ET;ES;" ON BLOCK-FREE"..,;8.
..-@8. ** 14400 - H - HELP; GET SOME HEL
P.@-J8.OU,"A - ALLOCATE CURRENT T&S (FOR
REAL, ON DISK)".L-T8.OU,"B - BLOCK; SET
T&S (PROMPTED FOR)"..-^8.OU,"C - CURREN
T; DISPLAY MAP ENTRY FOR CURRENT T&S"..-
H8.OU,"D<N> - DIRECTORY; DISPLAY DIRECTO
RY ENTRY N"...R8.OU,"F - FREE CURRENT T&
S (FOR REAL, ON DISK-BE CAREFUL!)".M.|8.
OU,"H - HELP; GET THIS LIST ON OUTPUT DE
VICE"....8.OU,"N - NEXT; DISPLAY CURRENT
MAP ENTRY THEN GO TO NEXT LINK".Q..8.OU
,"O<N> - OUTPUT; SEND (MOST) OUTPUT TO D
EVICE N (3 OR 4)"../.8.OU,"T - TRACE; TR
ACE BLOCK LIST FROM CURRENT T&S".E/.8.OU
,"$ - DISPLAY ENTIRE DIRECTORY OR LOOK F
OR FILE NAME".|/.8.OU,"QUIT - QUIT; PUT
AN END TO ALL THIS NONSENSE"../.8..F/.9.
** 14600 - C - CURRENT; DISPLAY THE MAP
ENTRY FOR CURRENT T&S../.9. 800: . . A
. .../.9. 600: A.T:B.S: . 200..0&9.OU,A$
;":";BU$..009..T0L9. ** 14700 - N - NEXT
; DISPLAY CURRENT MAP ENTRY, SET T&S TO
NEXT.I0V9. 800: . . A . ..U0.9. 14600..0
.9A.T: T.LT%(T,S): S.LS%(A,S)..0.9..J0P9
. ** 14800 - O - OUTPUT; SET OUTPUT DEVI
CE..0Z9A.E(A$): . 3..A . . A..4 . OU.A:
.."1.9. "INVALID OUTPUT DEVICE (MUST BE
3 OR 4)";A.(1.9..F14:. ** 14900 - T - TR
ACE; FOLLOW THE CURRENT LIST OF BLOCKS.|
1>:. 800: . . A . ...1C:. A$: . A$..""
. 14915..1H:. 14700: . A$: . A$.."" . ..
.1R:. 1..T . T..MT . . 0..S . S..SZ%(T)
. 14920..1\:..12.:. ** 15000 - $ - SHOW
DIRECTORY, OR SET CURRENT BLOCK FROM FIL
E.B2.:. A$."" . . I.0 . FC.1: C.I: . 142
20: . I: ..J2.:C.0..2.:. C .. FC . ."NO
SUCH FILE AS ";A$: ...2.:. DN$(C)..A$ .
C.C.1: . 15030.B2J:. 14220.H2T:...2.. 3
: 4: DF: 15..2......
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL