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

Multiple names: RANDOM 1.00, RANDOM 1.0

FILE INFORMATION

FILENAME(S):
• RANDOM&nbsp1.00<br>• RANDOM&nbsp1.0

FILE TYPE(S): PRG

FILE SIZE: 8.2K

FIRST SEEN: 2025-11-30 21:07:04

APPEARS ON: 3 disk(s)

FILE HASH

c63cd9578fa177c6a40053ed913134bfea0b7d5a7d5426cd3250e83c6acce5cb

FOUND ON DISKS (3 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
UTILITY PET 06 RANDOM 1.00 PRG DuncanTwain 13 0 DOWNLOAD FILE
PROG UTILITY 2 RANDOM 1.0 PRG DuncanTwain 11 2 DOWNLOAD FILE
C64 HULP 15 2 RANDOM 1.00 PRG DuncanTwain 23 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 04 12 04 01 00 8F 20  52 41 4E 44 4F 4D 20 31  |....... RANDOM 1|
00000010: 2E 30 00 42 04 02 00 8F  20 53 55 42 52 4F 55 54  |.0.B.... SUBROUT|
00000020: 49 4E 45 53 20 54 4F 20  4D 41 4E 41 47 45 20 52  |INES TO MANAGE R|
00000030: 41 4E 44 4F 4D 20 41 43  43 45 53 53 20 46 49 4C  |ANDOM ACCESS FIL|
00000040: 45 53 00 8C 04 03 00 8F  20 20 56 41 52 49 41 42  |ES......  VARIAB|
00000050: 4C 45 53 20 41 52 45 20  53 45 54 20 46 52 4F 4D  |LES ARE SET FROM|
00000060: 20 44 41 54 41 20 4F 46  20 44 45 53 43 52 49 50  | DATA OF DESCRIP|
00000070: 54 4F 52 20 46 49 4C 45  20 26 20 4B 45 59 20 4C  |TOR FILE & KEY L|
00000080: 49 53 54 20 46 49 4C 45  53 2E 2E 2E 00 AD 04 04  |IST FILES.......|
00000090: 00 8F 20 2E 2E 2E 44 45  46 49 4E 45 44 20 42 59  |.. ...DEFINED BY|
000000A0: 20 55 53 45 52 20 50 52  4F 47 52 41 4D 00 E3 04  | USER PROGRAM...|
000000B0: 05 00 8F 20 56 41 52 49  41 42 4C 45 53 20 53 48  |... VARIABLES SH|
000000C0: 4F 55 4C 44 20 52 45 46  4C 45 43 54 20 44 45 53  |OULD REFLECT DES|
000000D0: 49 52 45 44 20 46 49 4C  45 20 53 54 52 55 43 54  |IRED FILE STRUCT|
000000E0: 55 52 45 00 1C 05 06 00  8F 20 41 4C 4C 20 46 55  |URE...... ALL FU|
000000F0: 4E 43 54 49 4F 4E 53 20  41 43 54 20 55 50 4F 4E  |NCTIONS ACT UPON|
00000100: 20 54 48 45 20 56 41 52  49 41 42 4C 45 53 20 44  | THE VARIABLES D|
00000110: 45 46 49 4E 45 44 20 42  45 4C 4F 57 00 22 05 0A  |EFINED BELOW."..|
00000120: 00 8F 00 42 05 0B 00 8F  20 2A 2A 2A 2A 2A 2A 2A  |...B.... *******|
00000130: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000140: 2A 2A 00 48 05 0C 00 8F  00 71 05 0D 00 97 31 30  |**.H.....q....10|
00000150: 32 32 2C 31 32 38 3A 8F  20 54 55 52 4E 20 44 4F  |22,128:. TURN DO|
00000160: 53 20 53 55 50 50 4F 52  54 20 33 2E 31 20 4F 46  |S SUPPORT 3.1 OF|
00000170: 46 00 8D 05 0F 00 4D 24  B2 C7 28 31 33 29 3A 8F  |F.....M$..(13):.|
00000180: 20 46 49 45 4C 44 20 4D  41 52 4B 45 52 00 D4 05  | FIELD MARKER...|
00000190: 10 00 53 50 24 B2 22 20  20 20 20 20 20 20 20 20  |..SP$."         |
000001A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001B0: 20 20 20 20 20 20 20 20  20 20 20 20 22 AA 22 22  |            ".""|
000001C0: 3A 8F 20 53 50 41 43 45  20 46 4F 52 20 50 41 44  |:. SPACE FOR PAD|
000001D0: 44 49 4E 47 00 F5 05 14  00 43 30 B2 32 3A 20 20  |DING.....C0.2:  |
000001E0: 20 20 20 20 20 8F 20 44  49 52 45 43 54 20 43 48  |     . DIRECT CH|
000001F0: 41 4E 4E 45 4C 00 1A 06  15 00 43 31 B2 33 3A 20  |ANNEL.....C1.3: |
00000200: 20 20 20 20 20 20 8F 20  53 45 51 55 45 4E 54 49  |      . SEQUENTI|
00000210: 41 4C 20 43 48 41 4E 4E  45 4C 00 3C 06 19 00 43  |AL CHANNEL.<...C|
00000220: 43 B2 31 35 3A 20 20 20  20 20 20 8F 20 43 4F 4D  |C.15:      . COM|
00000230: 4D 41 4E 44 20 43 48 41  4E 4E 45 4C 00 5E 06 1E  |MAND CHANNEL.^..|
00000240: 00 44 B2 30 3A 20 20 20  20 20 20 20 20 8F 20 43  |.D.0:        . C|
00000250: 55 52 52 45 4E 54 20 44  52 49 56 45 20 23 00 80  |URRENT DRIVE #..|
00000260: 06 1F 00 54 B2 30 3A 20  20 20 20 20 20 20 20 8F  |...T.0:        .|
00000270: 20 43 55 52 52 45 4E 54  20 54 52 41 43 4B 20 23  | CURRENT TRACK #|
00000280: 00 A3 06 20 00 53 B2 30  3A 20 20 20 20 20 20 20  |... .S.0:       |
00000290: 20 8F 20 43 55 52 52 45  4E 54 20 53 45 43 54 4F  | . CURRENT SECTO|
000002A0: 52 20 23 00 C8 06 23 00  44 44 B2 30 3A 20 20 20  |R #...#.DD.0:   |
000002B0: 20 20 20 20 8F 20 44 45  53 43 52 49 50 54 4F 52  |    . DESCRIPTOR|
000002C0: 20 44 52 49 56 45 20 23  00 E9 06 24 00 52 44 B2  | DRIVE #...$.RD.|
000002D0: 30 3A 20 20 20 20 20 20  20 8F 20 52 41 4E 44 4F  |0:       . RANDO|
000002E0: 4D 20 44 52 49 56 45 20  23 00 0A 07 28 00 49 44  |M DRIVE #...(.ID|
000002F0: 24 B2 22 22 3A 20 20 20  20 20 8F 20 52 41 4E 44  |$."":     . RAND|
00000300: 4F 4D 20 44 49 53 4B 20  49 44 00 30 07 2D 00 4E  |OM DISK ID.0.-.N|
00000310: 52 B2 30 3A 20 20 20 20  20 20 20 8F 20 23 20 52  |R.0:       . # R|
00000320: 45 43 4F 52 44 53 20 49  4E 20 52 2D 46 49 4C 45  |ECORDS IN R-FILE|
00000330: 00 53 07 2E 00 43 52 B2  30 3A 20 20 20 20 20 20  |.S...CR.0:      |
00000340: 20 8F 20 43 55 52 52 45  4E 54 20 52 45 43 4F 52  | . CURRENT RECOR|
00000350: 44 20 23 00 7C 07 2F 00  46 52 B2 30 3A 20 20 20  |D #.|./.FR.0:   |
00000360: 20 20 20 20 8F 20 31 53  54 20 46 52 45 45 20 52  |    . 1ST FREE R|
00000370: 45 43 4F 52 44 20 55 4E  55 53 45 44 00 A1 07 32  |ECORD UNUSED...2|
00000380: 00 4E 46 B2 30 3A 20 20  20 20 20 20 20 8F 20 23  |.NF.0:       . #|
00000390: 20 46 49 45 4C 44 53 20  49 4E 20 52 45 43 4F 52  | FIELDS IN RECOR|
000003A0: 44 00 C3 07 33 00 43 46  B2 30 3A 20 20 20 20 20  |D...3.CF.0:     |
000003B0: 20 20 8F 20 43 55 52 52  45 4E 54 20 46 49 45 4C  |  . CURRENT FIEL|
000003C0: 44 20 23 00 E9 07 37 00  52 42 B2 30 3A 20 20 20  |D #...7.RB.0:   |
000003D0: 20 20 20 20 8F 20 23 20  52 45 43 4F 52 44 53 20  |    . # RECORDS |
000003E0: 50 45 52 20 42 4C 4F 43  4B 00 10 08 38 00 52 53  |PER BLOCK...8.RS|
000003F0: B2 30 3A 20 20 20 20 20  20 20 8F 20 52 45 43 4F  |.0:       . RECO|
00000400: 52 44 20 53 49 5A 45 20  49 4E 20 42 59 54 45 53  |RD SIZE IN BYTES|
00000410: 00 35 08 3C 00 4E 42 B2  30 3A 20 20 20 20 20 20  |.5.<.NB.0:      |
00000420: 20 8F 20 23 20 42 4C 4F  43 4B 53 20 49 4E 20 52  | . # BLOCKS IN R|
00000430: 2D 46 49 4C 45 00 59 08  41 00 45 B2 30 3A 20 20  |-FILE.Y.A.E.0:  |
00000440: 20 20 20 20 20 20 8F 20  45 52 52 4F 52 20 46 4C  |      . ERROR FL|
00000450: 41 47 2C 20 4F 4B 20 3D  30 00 8E 08 42 00 8F 20  |AG, OK =0...B.. |
00000460: 45 4E 24 2C 45 4D 24 2C  45 54 24 2C 45 53 24 2C  |EN$,EM$,ET$,ES$,|
00000470: 45 54 2C 45 53 20 20 45  52 52 4F 52 20 43 48 41  |ET,ES  ERROR CHA|
00000480: 4E 4E 45 4C 20 56 41 52  49 41 42 4C 45 53 00 B3  |NNEL VARIABLES..|
00000490: 08 46 00 45 50 B2 2E 35  AD 32 35 36 3A 20 20 8F  |.F.EP..5.256:  .|
000004A0: 20 49 4E 54 45 47 45 52  20 43 4F 52 52 45 43 54  | INTEGER CORRECT|
000004B0: 49 4F 4E 00 E5 08 4B 00  41 53 B2 30 3A 20 20 20  |ION...K.AS.0:   |
000004C0: 20 20 20 20 8F 20 49 4E  44 45 58 20 41 52 52 41  |    . INDEX ARRA|
000004D0: 59 20 41 44 44 52 45 53  53 49 4E 47 20 53 54 52  |Y ADDRESSING STR|
000004E0: 41 54 45 47 59 00 30 09  4C 00 8F 20 41 53 3D 30  |ATEGY.0.L.. AS=0|
000004F0: 3A 20 55 53 45 20 41 52  52 41 59 20 49 4E 44 45  |: USE ARRAY INDE|
00000500: 58 3B 20 41 53 3D 31 3A  20 54 26 53 20 41 52 45  |X; AS=1: T&S ARE|
00000510: 20 53 45 54 2C 20 43 52  3D 20 52 45 43 4F 52 44  | SET, CR= RECORD|
00000520: 20 4F 46 46 53 45 54 20  49 4E 20 42 4C 4F 43 4B  | OFFSET IN BLOCK|
00000530: 00 52 09 5A 00 8F 20 22  41 22 20 56 41 52 49 41  |.R.Z.. "A" VARIA|
00000540: 42 4C 45 53 20 41 52 45  20 54 45 4D 50 4F 52 41  |BLES ARE TEMPORA|
00000550: 52 59 00 7B 09 5F 00 44  4E B2 38 3A 9F 43 43 2C  |RY.{._.DN.8:.CC,|
00000560: 44 4E 2C 43 43 3A 20 20  8F 20 44 4E 3D 20 44 45  |DN,CC:  . DN= DE|
00000570: 56 49 43 45 20 4E 55 4D  42 45 52 00 A0 09 62 00  |VICE NUMBER...b.|
00000580: 89 32 30 30 30 3A 20 20  20 8F 20 53 54 41 52 54  |.2000:   . START|
00000590: 20 4F 46 20 55 53 45 52  20 50 52 4F 47 52 41 4D  | OF USER PROGRAM|
000005A0: 00 A6 09 63 00 8F 00 C6  09 64 00 8F 20 2A 2A 2A  |...c.....d.. ***|
000005B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000005C0: 2A 2A 2A 2A 2A 2A 00 EA  09 65 00 8F 20 52 41 4E  |******...e.. RAN|
000005D0: 44 4F 4D 20 46 49 4C 45  20 44 49 4D 45 4E 53 49  |DOM FILE DIMENSI|
000005E0: 4F 4E 20 52 4F 55 54 49  4E 45 00 05 0A 66 00 8F  |ON ROUTINE...f..|
000005F0: 20 20 31 53 54 20 53 45  54 20 4E 52 2C 20 4E 46  |  1ST SET NR, NF|
00000600: 20 26 20 4E 42 00 0B 0A  67 00 8F 00 14 0A 69 00  | & NB...g.....i.|
00000610: 8D 31 35 30 00 22 0A 6E  00 8B 46 50 25 B2 AB 31  |.150.".n..FP%..1|
00000620: A7 8E 00 2D 0A 6F 00 46  50 25 B2 AB 31 00 49 0A  |...-.o.FP%..1.I.|
00000630: 73 00 86 20 46 53 25 28  4E 46 29 20 3A 8F 20 46  |s.. FS%(NF) :. F|
00000640: 49 45 4C 44 20 53 49 5A  45 00 69 0A 78 00 86 20  |IELD SIZE.i.x.. |
00000650: 46 50 25 28 4E 46 29 20  3A 8F 20 46 49 45 4C 44  |FP%(NF) :. FIELD|
00000660: 20 50 4F 53 49 54 49 4F  4E 00 8F 0A 7D 00 8F 20  | POSITION...}.. |
00000670: 20 20 20 20 20 20 20 20  20 46 50 25 28 49 29 3D  |         FP%(I)=|
00000680: 20 53 55 4D 20 5B 46 53  25 28 49 2D 31 29 5D 00  | SUM [FS%(I-1)].|
00000690: C9 0A 82 00 86 20 46 54  25 28 4E 46 29 20 3A 8F  |..... FT%(NF) :.|
000006A0: 20 46 49 45 4C 44 20 54  59 50 45 3A 20 30 3A 42  | FIELD TYPE: 0:B|
000006B0: 49 4E 41 52 59 2C 20 31  3A 4E 55 4D 45 52 49 43  |INARY, 1:NUMERIC|
000006C0: 2C 20 32 3A 41 4C 50 48  41 00 E8 0A 87 00 86 20  |, 2:ALPHA...... |
000006D0: 46 48 24 28 4E 46 29 20  3A 8F 20 46 49 45 4C 44  |FH$(NF) :. FIELD|
000006E0: 20 48 45 41 44 49 4E 47  00 11 0B 8C 00 86 20 46  | HEADING...... F|
000006F0: 24 28 4E 46 29 20 20 3A  8F 20 46 49 45 4C 44 20  |$(NF)  :. FIELD |
00000700: 41 52 47 53 2D 41 4C 50  48 41 2C 42 49 4E 41 52  |ARGS-ALPHA,BINAR|
00000710: 59 00 35 0B 91 00 86 20  46 28 4E 46 29 20 20 20  |Y.5.... F(NF)   |
00000720: 3A 8F 20 46 49 45 4C 44  20 41 52 47 53 2D 4E 55  |:. FIELD ARGS-NU|
00000730: 4D 45 52 49 43 00 3B 0B  92 00 8E 00 49 0B 96 00  |MERIC.;.....I...|
00000740: 8B 49 54 25 B2 AB 31 A7  8E 00 54 0B 97 00 49 54  |.IT%..1...T...IT|
00000750: 25 B2 AB 31 00 77 0B 9B  00 86 20 49 54 25 28 4E  |%..1.w.... IT%(N|
00000760: 42 29 20 3A 8F 20 54 52  41 43 4B 20 49 4E 44 45  |B) :. TRACK INDE|
00000770: 58 20 41 52 52 41 59 00  9B 0B A0 00 86 20 49 53  |X ARRAY...... IS|
00000780: 25 28 4E 42 29 20 3A 8F  20 53 45 43 54 4F 52 20  |%(NB) :. SECTOR |
00000790: 49 4E 44 45 58 20 41 52  52 41 59 00 BE 0B A5 00  |INDEX ARRAY.....|
000007A0: 86 20 4B 31 24 28 4E 52  29 20 3A 8F 20 50 52 49  |. K1$(NR) :. PRI|
000007B0: 4D 41 52 59 20 4B 45 59  20 56 41 4C 55 45 00 EC  |MARY KEY VALUE..|
000007C0: 0B AA 00 86 20 52 52 25  28 4E 52 29 20 3A 8F 20  |.... RR%(NR) :. |
000007D0: 52 45 4C 41 54 49 56 45  20 52 45 43 4F 52 44 20  |RELATIVE RECORD |
000007E0: 4C 49 53 54 20 50 45 52  20 4B 45 59 00 F2 0B AF  |LIST PER KEY....|
000007F0: 00 8E 00 12 0C C8 00 8F  20 2A 2A 2A 2A 2A 2A 2A  |........ *******|
00000800: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000810: 2A 2A 00 2A 0C C9 00 8F  20 55 50 44 41 54 45 20  |**.*.... UPDATE |
00000820: 52 45 43 4F 52 44 2C 20  43 52 00 30 0C CA 00 8F  |RECORD, CR.0....|
00000830: 00 39 0C CD 00 8D 39 30  30 00 4F 0C D2 00 98 43  |.9....900.O....C|
00000840: 43 2C 22 55 31 3A 22 43  30 3B 44 3B 54 3B 53 00  |C,"U1:"C0;D;T;S.|
00000850: 63 0C D7 00 98 43 43 2C  22 42 2D 50 3A 22 43 30  |c....CC,"B-P:"C0|
00000860: 3B 52 50 00 70 0C DC 00  81 43 46 B2 31 A4 4E 46  |;RP.p....CF.1.NF|
00000870: 00 79 0C E1 00 8D 35 30  30 00 81 0C E6 00 82 43  |.y....500......C|
00000880: 46 00 97 0C EB 00 98 43  43 2C 22 55 32 3A 22 43  |F......CC,"U2:"C|
00000890: 30 3B 44 3B 54 3B 53 00  A9 0C F0 00 8D 31 30 30  |0;D;T;S......100|
000008A0: 30 3A 8B 45 A7 31 39 30  30 00 AF 0C F5 00 8E 00  |0:.E.1900.......|
000008B0: CF 0C 2C 01 8F 20 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |..,.. **********|
000008C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
000008D0: E5 0C 2D 01 8F 20 52 45  41 44 20 52 45 43 4F 52  |..-.. READ RECOR|
000008E0: 44 2C 20 43 52 00 EB 0C  2E 01 8F 00 F4 0C 31 01  |D, CR.........1.|
000008F0: 8D 39 30 30 00 0A 0D 36  01 98 43 43 2C 22 55 31  |.900...6..CC,"U1|
00000900: 3A 22 43 30 3B 44 3B 54  3B 53 00 1E 0D 3B 01 98  |:"C0;D;T;S...;..|
00000910: 43 43 2C 22 42 2D 50 3A  22 43 30 3B 52 50 00 30  |CC,"B-P:"C0;RP.0|
00000920: 0D 40 01 8D 31 30 30 30  3A 8B 45 A7 31 39 30 30  |.@..1000:.E.1900|
00000930: 00 3D 0D 45 01 81 43 46  B2 31 A4 4E 46 00 46 0D  |.=.E..CF.1.NF.F.|
00000940: 4A 01 8D 36 30 30 00 4E  0D 4F 01 82 43 46 00 54  |J..600.N.O..CF.T|
00000950: 0D 54 01 8E 00 74 0D 90  01 8F 20 2A 2A 2A 2A 2A  |.T...t.... *****|
00000960: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000970: 2A 2A 2A 2A 00 AD 0D 91  01 8F 20 55 50 44 41 54  |****...... UPDAT|
00000980: 45 20 46 49 45 4C 44 28  43 46 29 20 4F 46 20 52  |E FIELD(CF) OF R|
00000990: 45 43 4F 52 44 20 43 52  2C 20 53 49 4E 47 4C 45  |ECORD CR, SINGLE|
000009A0: 20 46 49 45 4C 44 20 55  50 44 41 54 45 00 B3 0D  | FIELD UPDATE...|
000009B0: 92 01 8F 00 BC 0D 95 01  8D 39 30 30 00 D2 0D 9A  |.........900....|
000009C0: 01 98 43 43 2C 22 55 31  3A 22 43 30 3B 44 3B 54  |..CC,"U1:"C0;D;T|
000009D0: 3B 53 00 E4 0D 9F 01 8D  31 30 30 30 3A 8B 45 A7  |;S......1000:.E.|
000009E0: 31 39 30 30 00 00 0E A4  01 98 43 43 2C 22 42 2D  |1900......CC,"B-|
000009F0: 50 3A 22 43 30 3B 46 50  25 28 43 46 29 AA 52 50  |P:"C0;FP%(CF).RP|
00000A00: 00 19 0E A9 01 8D 35 30  30 20 3A 8F 20 55 50 44  |......500 :. UPD|
00000A10: 41 54 45 20 46 49 45 4C  44 00 2F 0E AE 01 98 43  |ATE FIELD./....C|
00000A20: 43 2C 22 55 32 3A 22 43  30 3B 44 3B 54 3B 53 00  |C,"U2:"C0;D;T;S.|
00000A30: 41 0E B3 01 8D 31 30 30  30 3A 8B 45 A7 31 39 30  |A....1000:.E.190|
00000A40: 30 00 47 0E B8 01 8E 00  67 0E C2 01 8F 20 2A 2A  |0.G.....g.... **|
00000A50: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000A60: 2A 2A 2A 2A 2A 2A 2A 00  9C 0E C3 01 8F 20 52 45  |*******...... RE|
00000A70: 41 44 20 46 49 45 4C 44  28 43 46 29 20 4F 46 20  |AD FIELD(CF) OF |
00000A80: 52 45 43 4F 52 44 20 43  52 2C 20 53 49 4E 47 4C  |RECORD CR, SINGL|
00000A90: 45 20 46 49 45 4C 44 20  52 45 41 44 00 A2 0E C4  |E FIELD READ....|
00000AA0: 01 8F 00 AB 0E C7 01 8D  39 30 30 00 C1 0E CC 01  |........900.....|
00000AB0: 98 43 43 2C 22 55 31 3A  22 43 30 3B 44 3B 54 3B  |.CC,"U1:"C0;D;T;|
00000AC0: 53 00 D3 0E D1 01 8D 31  30 30 30 3A 8B 45 A7 31  |S......1000:.E.1|
00000AD0: 39 30 30 00 EF 0E D6 01  98 43 43 2C 22 42 2D 50  |900......CC,"B-P|
00000AE0: 3A 22 43 30 3B 46 50 25  28 43 46 29 AA 52 50 00  |:"C0;FP%(CF).RP.|
00000AF0: 06 0F DB 01 8D 36 30 30  20 3A 8F 20 52 45 41 44  |.....600 :. READ|
00000B00: 20 46 49 45 4C 44 00 0C  0F E0 01 8E 00 2C 0F F4  | FIELD.......,..|
00000B10: 01 8F 20 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.. *************|
00000B20: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 00 4F 0F F5  |************.O..|
00000B30: 01 8F 20 55 50 44 41 54  45 20 46 49 45 4C 44 28  |.. UPDATE FIELD(|
00000B40: 43 46 29 2C 20 42 2D 50  20 49 53 20 53 45 54 00  |CF), B-P IS SET.|
00000B50: 55 0F F6 01 8F 00 69 0F  FE 01 8B 46 54 25 28 43  |U.....i....FT%(C|
00000B60: 46 29 B3 B1 31 A7 35 32  30 00 8D 0F 03 02 41 24  |F)..1.520.....A$|
00000B70: B2 C9 28 53 50 24 AA C4  28 46 28 43 46 29 29 2C  |..(SP$..(F(CF)),|
00000B80: 46 53 25 28 43 46 29 29  3A 89 35 33 30 00 AA 0F  |FS%(CF)):.530...|
00000B90: 08 02 41 24 B2 C8 28 46  24 28 43 46 29 AA 53 50  |..A$..(F$(CF).SP|
00000BA0: 24 2C 46 53 25 28 43 46  29 29 00 B9 0F 12 02 98  |$,FS%(CF))......|
00000BB0: 43 30 2C 41 24 3B 4D 24  3B 00 BF 0F 17 02 8E 00  |C0,A$;M$;.......|
00000BC0: DF 0F 58 02 8F 20 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |..X.. **********|
00000BD0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
00000BE0: 00 10 59 02 8F 20 52 45  41 44 20 46 49 45 4C 44  |..Y.. READ FIELD|
00000BF0: 28 43 46 29 2C 20 42 2D  50 20 49 53 20 53 45 54  |(CF), B-P IS SET|
00000C00: 00 06 10 5A 02 8F 00 19  10 62 02 8B 20 46 54 25  |...Z.....b.. FT%|
00000C10: 28 43 46 29 20 A7 36 34  35 00 24 10 67 02 41 31  |(CF) .645.$.g.A1|
00000C20: 24 B2 22 22 00 35 10 6C  02 81 4A B2 31 A4 46 53  |$."".5.l..J.1.FS|
00000C30: 25 28 43 46 29 00 50 10  71 02 A1 23 43 30 2C 41  |%(CF).P.q..#C0,A|
00000C40: 24 3A 8B 41 24 B2 22 22  A7 41 24 B2 C7 28 30 29  |$:.A$."".A$..(0)|
00000C50: 00 5F 10 76 02 41 31 24  B2 41 31 24 AA 41 24 00  |._.v.A1$.A1$.A$.|
00000C60: 70 10 7B 02 82 3A 46 24  28 43 46 29 B2 41 31 24  |p.{..:F$(CF).A1$|
00000C70: 00 7E 10 80 02 A1 23 43  30 2C 41 24 3A 8E 00 8D  |.~....#C0,A$:...|
00000C80: 10 85 02 84 43 30 2C 46  24 28 43 46 29 00 A0 10  |....C0,F$(CF)...|
00000C90: 8A 02 8B 46 54 25 28 43  46 29 B3 B1 31 A7 20 8E  |...FT%(CF)..1. .|
00000CA0: 00 B6 10 8F 02 46 28 43  46 29 B2 C5 28 46 24 28  |.....F(CF)..(F$(|
00000CB0: 43 46 29 29 3A 8E 00 D6  10 BC 02 8F 20 2A 2A 2A  |CF)):....... ***|
00000CC0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000CD0: 2A 2A 2A 2A 2A 2A 00 10  11 BD 02 8F 20 41 4C 4C  |******...... ALL|
00000CE0: 4F 43 41 54 45 20 4F 4E  45 20 42 4C 4F 43 4B 2C  |OCATE ONE BLOCK,|
00000CF0: 20 54 20 26 20 53 20 3D  52 45 51 55 45 53 54 45  | T & S =REQUESTE|
00000D00: 44 20 54 52 41 43 4B 20  26 20 53 45 43 54 4F 52  |D TRACK & SECTOR|
00000D10: 00 4E 11 BE 02 8F 20 20  52 45 54 55 52 4E 45 44  |.N....  RETURNED|
00000D20: 20 54 20 26 20 53 20 41  52 45 20 41 4C 4C 4F 43  | T & S ARE ALLOC|
00000D30: 41 54 45 44 20 56 41 4C  55 45 53 20 20 28 54 3D  |ATED VALUES  (T=|
00000D40: 31 38 20 49 53 20 53 4B  49 50 50 45 44 29 00 54  |18 IS SKIPPED).T|
00000D50: 11 BF 02 8F 00 74 11 C6  02 8D 38 30 30 3A 8B 45  |.....t....800:.E|
00000D60: A7 31 39 30 30 3A 20 8F  20 43 48 45 43 4B 20 54  |.1900: . CHECK T|
00000D70: 20 26 20 53 00 88 11 CB  02 98 43 43 2C 22 42 2D  | & S......CC,"B-|
00000D80: 41 3A 22 44 3B 54 3B 53  00 9D 11 D0 02 84 43 43  |A:"D;T;S......CC|
00000D90: 2C 45 4E 2C 45 4D 24 2C  45 54 2C 45 53 00 A9 11  |,EN,EM$,ET,ES...|
00000DA0: D5 02 8B 45 4E B2 30 A7  8E 00 BA 11 DA 02 8B 45  |...EN.0........E|
00000DB0: 4E B3 B1 36 35 A7 31 39  30 30 00 D3 11 DF 02 8B  |N..65.1900......|
00000DC0: 45 54 B2 31 38 A7 54 B2  31 39 3A 53 B2 30 3A 89  |ET.18.T.19:S.0:.|
00000DD0: 37 31 35 00 E1 11 E0 02  54 B2 45 54 3A 53 B2 45  |715.....T.ET:S.E|
00000DE0: 53 00 EA 11 E4 02 89 37  31 35 00 0A 12 EE 02 8F  |S......715......|
00000DF0: 20 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  | ***************|
00000E00: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 00 37 12 EF 02 8F  |**********.7....|
00000E10: 20 46 52 45 45 20 4F 4E  45 20 42 4C 4F 43 4B 2C  | FREE ONE BLOCK,|
00000E20: 20 54 20 26 20 53 20 3D  20 54 52 41 43 4B 20 26  | T & S = TRACK &|
00000E30: 20 53 45 43 54 4F 52 00  3D 12 F0 02 8F 00 5D 12  | SECTOR.=.....].|
00000E40: F8 02 8D 38 30 30 3A 8B  45 A7 31 39 30 30 3A 20  |...800:.E.1900: |
00000E50: 8F 20 43 48 45 43 4B 20  54 20 26 20 53 00 71 12  |. CHECK T & S.q.|
00000E60: 02 03 98 43 43 2C 22 42  2D 46 3A 22 44 3B 54 3B  |...CC,"B-F:"D;T;|
00000E70: 53 00 86 12 0C 03 84 43  43 2C 45 4E 2C 45 4D 24  |S......CC,EN,EM$|
00000E80: 2C 45 54 2C 45 53 00 92  12 11 03 8B 45 4E B2 30  |,ET,ES......EN.0|
00000E90: A7 8E 00 9C 12 16 03 89  31 39 30 30 00 BC 12 20  |........1900... |
00000EA0: 03 8F 20 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.. *************|
00000EB0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 00 D3 12 21  |************...!|
00000EC0: 03 8F 20 43 48 45 43 4B  20 4D 41 58 20 53 45 43  |.. CHECK MAX SEC|
00000ED0: 54 4F 52 00 D9 12 22 03  8F 00 E8 12 2A 03 8B 54  |TOR...".....*..T|
00000EE0: B1 33 35 A7 31 39 30 30  00 FF 12 34 03 45 B2 30  |.35.1900...4.E.0|
00000EF0: 3A 8B 54 B2 30 A7 B2 34  30 3A 89 31 39 30 30 00  |:.T.0..40:.1900.|
00000F00: 13 13 48 03 41 33 B2 31  36 3A 8B 54 B1 33 30 A7  |..H.A3.16:.T.30.|
00000F10: 38 38 30 00 27 13 52 03  41 33 B2 31 37 3A 8B 54  |880.'.R.A3.17:.T|
00000F20: B1 32 34 A7 38 38 30 00  3B 13 5C 03 41 33 B2 31  |.24.880.;.\.A3.1|
00000F30: 39 3A 8B 54 B1 31 37 A7  38 38 30 00 45 13 66 03  |9:.T.17.880.E.f.|
00000F40: 41 33 B2 32 30 00 54 13  70 03 8B 53 B1 41 33 A7  |A3.20.T.p..S.A3.|
00000F50: 31 39 30 30 00 5A 13 7A  03 8E 00 7A 13 84 03 8F  |1900.Z.z...z....|
00000F60: 20 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  | ***************|
00000F70: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 00 BE 13 85 03 8F  |**********......|
00000F80: 20 53 45 54 20 52 45 43  4F 52 44 27 53 20 54 52  | SET RECORD'S TR|
00000F90: 41 43 4B 2C 20 53 45 43  54 4F 52 20 26 20 52 45  |ACK, SECTOR & RE|
00000FA0: 43 4F 52 44 20 50 4F 49  4E 54 45 52 20 46 52 4F  |CORD POINTER FRO|
00000FB0: 4D 20 49 4E 44 45 58 20  41 52 52 41 59 53 00 C4  |M INDEX ARRAYS..|
00000FC0: 13 86 03 8F 00 CD 13 89  03 44 B2 52 44 00 D5 13  |.........D.RD...|
00000FD0: 8E 03 45 B2 30 00 F0 13  93 03 8B 41 53 B2 AB 31  |..E.0......AS..1|
00000FE0: A7 52 50 B2 43 52 AC 52  53 AA 31 3A 89 39 35 30  |.RP.CR.RS.1:.950|
00000FF0: 00 21 14 98 03 52 50 B2  B5 28 28 43 52 AB 31 29  |.!...RP..((CR.1)|
00001000: AD 52 42 AA 45 50 29 3A  8B 52 50 B1 4E 42 20 B0  |.RB.EP):.RP.NB .|
00001010: 20 52 50 B3 30 A7 45 4E  B2 34 31 3A 89 31 39 30  | RP.0.EN.41:.190|
00001020: 30 00 39 14 A2 03 54 B2  49 54 25 28 52 50 29 3A  |0.9...T.IT%(RP):|
00001030: 53 B2 49 53 25 28 52 50  29 00 5D 14 AC 03 52 50  |S.IS%(RP).]...RP|
00001040: B2 B5 28 28 28 43 52 AB  31 29 AD 52 42 AB 52 50  |..(((CR.1).RB.RP|
00001050: AA 45 50 29 AC 52 53 AC  52 42 29 AA 31 00 76 14  |.EP).RS.RB).1.v.|
00001060: B6 03 8B 52 50 B1 32 35  34 A7 20 45 4E B2 34 31  |...RP.254. EN.41|
00001070: 3A 89 31 39 30 30 00 7C  14 C0 03 8E 00 9C 14 E8  |:.1900.|........|
00001080: 03 8F 20 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.. *************|
00001090: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 00 BA 14 E9  |************....|
000010A0: 03 8F 20 49 4E 50 55 54  20 32 30 34 30 20 45 52  |.. INPUT 2040 ER|
000010B0: 52 4F 52 20 53 54 41 54  55 53 00 C0 14 EA 03 8F  |ROR STATUS......|
000010C0: 00 D6 14 ED 03 84 43 43  2C 45 4E 24 2C 45 4D 24  |......CC,EN$,EM$|
000010D0: 2C 45 54 2C 45 53 00 E8  14 F2 03 45 4E B2 C5 28  |,ET,ES.....EN..(|
000010E0: 45 4E 24 29 3A 45 B2 30  00 FB 14 F7 03 8B 20 45  |EN$):E.0...... E|
000010F0: 4E 24 B2 22 30 30 22 20  A7 20 8E 00 13 15 F9 03  |N$."00" . ......|
00001100: 45 54 24 B2 C4 28 45 54  29 3A 45 53 24 B2 C4 28  |ET$..(ET):ES$..(|
00001110: 45 53 29 00 36 15 FC 03  8B 45 4E 24 B3 B1 C9 28  |ES).6....EN$...(|
00001120: 22 30 22 AA CA 28 C4 28  45 4E 29 2C 32 29 2C 32  |"0"..(.(EN),2),2|
00001130: 29 A7 31 30 37 30 00 57  15 06 04 8B 20 45 4E B2  |).1070.W.... EN.|
00001140: 31 20 A7 20 45 4D 24 B2  20 45 54 24 AA 22 20 22  |1 . EM$. ET$." "|
00001150: AA 45 4D 24 3A 20 8E 00  61 15 0B 04 45 B2 45 AA  |.EM$: ..a...E.E.|
00001160: 31 00 7A 15 10 04 45 4D  24 B2 22 12 22 AA 45 4E  |1.z...EM$.".".EN|
00001170: 24 AA 22 92 20 22 AA 45  4D 24 00 AC 15 1A 04 8B  |$.". ".EM$......|
00001180: 20 45 4E B3 33 30 20 B0  20 45 4E B2 36 35 20 A7  | EN.30 . EN.65 .|
00001190: 20 45 4D 24 B2 45 4D 24  AA 22 20 4F 4E 20 22 AA  | EM$.EM$." ON ".|
000011A0: 45 54 24 AA 22 2C 20 22  AA 45 53 24 00 B2 15 24  |ET$.", ".ES$...$|
000011B0: 04 8E 00 DC 15 2E 04 45  4D 24 B2 22 12 53 59 53  |.......EM$.".SYS|
000011C0: 54 45 4D 20 4E 4F 54 20  52 45 53 50 4F 4E 44 49  |TEM NOT RESPONDI|
000011D0: 4E 47 20 50 52 4F 50 45  52 4C 59 22 00 F8 15 38  |NG PROPERLY"...8|
000011E0: 04 45 4D 24 B2 45 4D 24  AA 45 4E 24 AA 45 4D 24  |.EM$.EM$.EN$.EM$|
000011F0: AA 45 54 24 AA 45 53 24  00 02 16 3D 04 45 B2 45  |.ET$.ES$...=.E.E|
00001200: AA 31 00 08 16 42 04 8E  00 28 16 4C 04 8F 20 2A  |.1...B...(.L.. *|
00001210: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001220: 2A 2A 2A 2A 2A 2A 2A 2A  00 45 16 4D 04 8F 20 43  |********.E.M.. C|
00001230: 52 45 41 54 45 20 44 45  53 43 52 49 50 54 4F 52  |REATE DESCRIPTOR|
00001240: 20 46 49 4C 45 00 5F 16  4E 04 8F 20 49 4E 50 55  | FILE._.N.. INPU|
00001250: 54 3A 20 46 24 3D 20 46  49 4C 45 4E 41 4D 45 00  |T: F$= FILENAME.|
00001260: 88 16 4F 04 8F 20 20 20  20 20 20 20 20 49 44 24  |..O..        ID$|
00001270: 2C 4E 52 2C 4E 46 2C 46  53 25 28 29 2C 46 54 25  |,NR,NF,FS%(),FT%|
00001280: 28 29 2C 46 48 24 28 29  00 B1 16 50 04 8F 20 20  |(),FH$()...P..  |
00001290: 20 20 20 20 20 20 44 44  3D 20 44 45 53 43 52 49  |      DD= DESCRI|
000012A0: 50 54 4F 52 20 46 49 4C  45 20 44 52 49 56 45 20  |PTOR FILE DRIVE |
000012B0: 23 00 D6 16 51 04 8F 20  20 20 20 20 20 20 20 52  |#...Q..        R|
000012C0: 44 3D 20 52 41 4E 44 4F  4D 20 44 49 53 4B 20 44  |D= RANDOM DISK D|
000012D0: 52 49 56 45 20 23 00 F7  16 52 04 8F 20 44 52 49  |RIVE #...R.. DRI|
000012E0: 56 45 53 20 4D 55 53 54  20 42 45 20 49 4E 49 54  |VES MUST BE INIT|
000012F0: 49 41 4C 49 5A 45 44 00  FD 16 55 04 8F 00 0B 17  |IALIZED...U.....|
00001300: 56 04 52 53 B2 31 3A 44  B2 52 44 00 3D 17 5B 04  |V.RS.1:D.RD.=.[.|
00001310: 81 41 30 B2 31 A4 4E 46  3A 46 50 25 28 41 30 29  |.A0.1.NF:FP%(A0)|
00001320: B2 52 53 3A 52 53 B2 46  53 25 28 41 30 29 AA 52  |.RS:RS.FS%(A0).R|
00001330: 53 AA 31 3A 82 3A 52 53  B2 52 53 AB 31 00 51 17  |S.1:.:RS.RS.1.Q.|
00001340: 5C 04 52 42 B2 B5 28 32  35 34 AD 52 53 AA 45 50  |\.RB..(254.RS.EP|
00001350: 29 00 71 17 60 04 9F 43  30 2C 44 4E 2C 43 30 2C  |).q.`..C0,DN,C0,|
00001360: 22 23 22 3A 8D 31 30 30  30 3A 8B 45 A7 31 39 30  |"#":.1000:.E.190|
00001370: 30 00 7B 17 61 04 8D 31  32 38 30 00 8E 17 62 04  |0.{.a..1280...b.|
00001380: 98 43 43 2C 22 42 2D 50  3A 22 43 30 3B 31 00 A4  |.CC,"B-P:"C0;1..|
00001390: 17 63 04 81 41 30 B2 31  A4 52 42 3A 81 41 31 B2  |.c..A0.1.RB:.A1.|
000013A0: 31 A4 4E 46 00 BF 17 64  04 98 43 30 2C C8 28 53  |1.NF...d..C0,.(S|
000013B0: 50 24 2C 46 53 25 28 41  31 29 29 3B 4D 24 3B 00  |P$,FS%(A1));M$;.|
000013C0: CA 17 66 04 82 41 31 2C  41 30 00 F7 17 6A 04 4E  |..f..A1,A0...j.N|
000013D0: 42 B2 B5 28 4E 52 AD 52  42 AA 45 50 29 3A 8B 28  |B..(NR.RB.EP):.(|
000013E0: 4E 52 AD 52 42 AB 4E 42  29 AC 52 42 B1 B2 31 A7  |NR.RB.NB).RB..1.|
000013F0: 4E 42 B2 4E 42 AA 31 00  08 18 6F 04 54 B2 31 3A  |NB.NB.1...o.T.1:|
00001400: 53 B2 30 3A 8D 31 35 30  00 24 18 74 04 81 41 30  |S.0:.150.$.t..A0|
00001410: B2 30 A4 4E 42 AB 31 3A  8D 37 31 30 3A 8B 45 A7  |.0.NB.1:.710:.E.|
00001420: 31 39 30 30 00 43 18 79  04 49 54 25 28 41 30 29  |1900.C.y.IT%(A0)|
00001430: B2 54 3A 49 53 25 28 41  30 29 B2 53 3A 8D 34 33  |.T:IS%(A0).S:.43|
00001440: 30 3A 82 00 4C 18 7E 04  8D 37 31 30 00 5F 18 80  |0:..L.~..710._..|
00001450: 04 98 43 43 2C 22 42 2D  50 3A 22 43 30 3B 31 00  |..CC,"B-P:"C0;1.|
00001460: 8B 18 83 04 98 43 30 2C  4E 52 3B 4D 24 3B 31 3B  |.....C0,NR;M$;1;|
00001470: 4D 24 3B 4E 42 3B 4D 24  3B 52 53 3B 4D 24 3B 52  |M$;NB;M$;RS;M$;R|
00001480: 42 3B 4D 24 3B 4E 46 3B  4D 24 3B 00 A2 18 88 04  |B;M$;NF;M$;.....|
00001490: 98 43 43 2C 22 42 2D 57  3A 22 43 30 3B 44 3B 54  |.CC,"B-W:"C0;D;T|
000014A0: 3B 53 00 CD 18 8D 04 41  24 B2 C4 28 44 44 29 AA  |;S.....A$..(DD).|
000014B0: 22 3A 22 AA C8 28 46 24  AA 53 50 24 2C 31 30 29  |":"..(F$.SP$,10)|
000014C0: AA 22 2E 44 45 53 43 52  2C 55 2C 57 22 00 DE 18  |.".DESCR,U,W"...|
000014D0: 8E 04 9F 43 31 2C 44 4E  2C 43 31 2C 41 24 00 F0  |...C1,DN,C1,A$..|
000014E0: 18 8F 04 8D 31 30 30 30  3A 8B 45 A7 31 39 30 30  |....1000:.E.1900|
000014F0: 00 0A 19 90 04 98 43 31  2C 49 44 24 3B 4D 24 3B  |......C1,ID$;M$;|
00001500: 54 3B 4D 24 3B 53 3B 4D  24 3B 00 3F 19 92 04 81  |T;M$;S;M$;.?....|
00001510: 41 30 B2 31 A4 4E 46 3A  98 43 31 2C C7 28 46 53  |A0.1.NF:.C1,.(FS|
00001520: 25 28 41 30 29 29 3B C7  28 46 54 25 28 41 30 29  |%(A0));.(FT%(A0)|
00001530: 29 3B 46 48 24 28 41 30  29 3B 4D 24 3B 3A 82 00  |);FH$(A0);M$;:..|
00001540: 6B 19 97 04 81 41 30 B2  30 A4 4E 42 AB 31 3A 98  |k....A0.0.NB.1:.|
00001550: 43 31 2C C7 28 49 54 25  28 41 30 29 29 3B C7 28  |C1,.(IT%(A0));.(|
00001560: 49 53 25 28 41 30 29 29  3B 3A 82 00 79 19 9C 04  |IS%(A0));:..y...|
00001570: A0 43 31 3A A0 43 30 3A  8E 00 99 19 B0 04 8F 20  |.C1:.C0:....... |
00001580: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001590: 2A 2A 2A 2A 2A 2A 2A 2A  2A 00 B2 19 B1 04 8F 20  |*********...... |
000015A0: 4F 50 45 4E 20 52 45 4C  41 54 49 56 45 20 46 49  |OPEN RELATIVE FI|
000015B0: 4C 45 00 CC 19 B2 04 8F  20 49 4E 50 55 54 3A 20  |LE...... INPUT: |
000015C0: 46 24 3D 20 46 49 4C 45  4E 41 4D 45 00 F5 19 B3  |F$= FILENAME....|
000015D0: 04 8F 20 20 20 20 20 20  20 20 44 44 3D 20 44 45  |..        DD= DE|
000015E0: 53 43 52 49 50 54 4F 52  20 46 49 4C 45 20 44 52  |SCRIPTOR FILE DR|
000015F0: 49 56 45 20 23 00 1A 1A  B4 04 8F 20 20 20 20 20  |IVE #......     |
00001600: 20 20 20 52 44 3D 20 52  41 4E 44 4F 4D 20 44 49  |   RD= RANDOM DI|
00001610: 53 4B 20 44 52 49 56 45  20 23 00 3B 1A B5 04 8F  |SK DRIVE #.;....|
00001620: 20 44 52 49 56 45 53 20  4D 55 53 54 20 42 45 20  | DRIVES MUST BE |
00001630: 49 4E 49 54 49 41 4C 49  5A 45 44 00 41 1A B9 04  |INITIALIZED.A...|
00001640: 8F 00 6C 1A BA 04 41 24  B2 C4 28 44 44 29 AA 22  |..l...A$..(DD)."|
00001650: 3A 22 AA C8 28 46 24 AA  53 50 24 2C 31 30 29 AA  |:"..(F$.SP$,10).|
00001660: 22 2E 44 45 53 43 52 2C  55 2C 52 22 00 8B 1A BF  |".DESCR,U,R"....|
00001670: 04 9F 43 31 2C 44 4E 2C  43 31 2C 41 24 3A 8D 31  |..C1,DN,C1,A$:.1|
00001680: 30 30 30 3A 8B 45 A7 31  39 30 30 00 9B 1A C4 04  |000:.E.1900.....|
00001690: 84 43 31 2C 49 44 24 2C  54 2C 53 00 BB 1A C9 04  |.C1,ID$,T,S.....|
000016A0: 9F 43 30 2C 44 4E 2C 43  30 2C 22 23 22 3A 8D 31  |.C0,DN,C0,"#":.1|
000016B0: 30 30 30 3A 8B 45 A7 31  39 30 30 00 C5 1A CA 04  |000:.E.1900.....|
000016C0: 8D 31 32 38 30 00 EC 1A  CB 04 98 43 43 2C 22 42  |.1280......CC,"B|
000016D0: 2D 52 3A 22 3B 43 30 3B  52 44 3B 54 3B 53 3A 8D  |-R:";C0;RD;T;S:.|
000016E0: 31 30 30 30 3A 8B 45 A7  31 39 30 30 00 06 1B CE  |1000:.E.1900....|
000016F0: 04 84 43 30 2C 4E 52 2C  46 52 2C 4E 42 2C 52 53  |..C0,NR,FR,NB,RS|
00001700: 2C 52 42 2C 4E 46 00 21  1B D3 04 8D 31 30 30 3A  |,RB,NF.!....100:|
00001710: 46 54 25 28 30 29 B2 54  3A 46 53 25 28 30 29 B2  |FT%(0).T:FS%(0).|
00001720: 53 00 42 1B D8 04 81 41  30 B2 31 A4 4E 46 3A 8D  |S.B....A0.1.NF:.|
00001730: 31 32 39 38 3A 46 53 25  28 41 30 29 B2 C6 28 41  |1298:FS%(A0)..(A|
00001740: 24 29 00 5A 1B DD 04 8D  31 32 39 38 3A 46 54 25  |$).Z....1298:FT%|
00001750: 28 41 30 29 B2 C6 28 41  24 29 00 6C 1B E2 04 84  |(A0)..(A$).l....|
00001760: 43 31 2C 46 48 24 28 41  30 29 3A 82 00 8F 1B E7  |C1,FH$(A0):.....|
00001770: 04 81 41 30 B2 30 A4 4E  42 AB 31 3A 8D 31 32 39  |..A0.0.NB.1:.129|
00001780: 38 3A 49 54 25 28 41 30  29 B2 C6 28 41 24 29 00  |8:IT%(A0)..(A$).|
00001790: A9 1B EC 04 8D 31 32 39  38 3A 49 53 25 28 41 30  |.....1298:IS%(A0|
000017A0: 29 B2 C6 28 41 24 29 3A  82 00 BB 1B F1 04 8D 31  |)..(A$):.......1|
000017B0: 30 30 30 3A 8B 45 A7 31  39 30 30 00 C3 1B F6 04  |000:.E.1900.....|
000017C0: A0 43 31 00 C9 1B FB 04  8E 00 F3 1B 00 05 98 43  |.C1............C|
000017D0: 43 2C 22 55 31 3A 22 3B  43 30 3B 52 44 3B 22 2C  |C,"U1:";C0;RD;",|
000017E0: 31 38 2C 30 22 3A 8D 31  30 30 30 3A 8B 45 A7 31  |18,0":.1000:.E.1|
000017F0: 39 30 30 00 09 1C 05 05  98 43 43 2C 22 42 2D 50  |900......CC,"B-P|
00001800: 3A 22 3B 43 30 3B 31 36  32 00 4E 1C 06 05 A1 23  |:";C0;162.N....#|
00001810: 43 30 2C 41 24 2C 41 31  24 3A 41 24 B2 41 24 AA  |C0,A$,A1$:A$.A$.|
00001820: 41 31 24 3A 8B 49 44 24  B3 B1 41 24 A7 45 4E B2  |A1$:.ID$..A$.EN.|
00001830: 34 33 3A 45 4D 24 B2 22  57 52 4F 4E 47 20 52 41  |43:EM$."WRONG RA|
00001840: 4E 44 20 44 49 53 4B 22  3A 89 31 39 30 30 00 54  |ND DISK":.1900.T|
00001850: 1C 0A 05 8E 00 6F 1C 12  05 A1 23 43 31 2C 41 24  |.....o....#C1,A$|
00001860: 3A 8B 41 24 B2 22 22 A7  41 24 B2 C7 28 30 29 00  |:.A$."".A$..(0).|
00001870: 75 1C 13 05 8E 00 95 1C  78 05 8F 20 2A 2A 2A 2A  |u.......x.. ****|
00001880: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001890: 2A 2A 2A 2A 2A 00 AF 1C  79 05 8F 20 43 4C 4F 53  |*****...y.. CLOS|
000018A0: 45 20 52 45 4C 41 54 49  56 45 20 46 49 4C 45 00  |E RELATIVE FILE.|
000018B0: E0 1C 7A 05 8F 20 49 4E  50 55 54 3A 20 56 41 52  |..z.. INPUT: VAR|
000018C0: 49 41 42 4C 45 53 20 46  52 4F 4D 20 4F 50 45 4E  |IABLES FROM OPEN|
000018D0: 20 53 48 4F 55 4C 44 20  42 45 20 56 41 4C 49 44  | SHOULD BE VALID|
000018E0: 00 E6 1C 81 05 8F 00 F9  1C 82 05 98 43 43 2C 22  |............CC,"|
000018F0: 42 2D 50 3A 22 43 30 3B  31 00 26 1D 8C 05 98 43  |B-P:"C0;1.&....C|
00001900: 30 2C 4E 52 3B 4D 24 3B  46 52 3B 4D 24 3B 4E 42  |0,NR;M$;FR;M$;NB|
00001910: 3B 4D 24 3B 52 53 3B 4D  24 3B 52 42 3B 4D 24 3B  |;M$;RS;M$;RB;M$;|
00001920: 4E 46 3B 4D 24 3B 00 47  1D 96 05 98 43 43 2C 22  |NF;M$;.G....CC,"|
00001930: 42 2D 57 3A 22 43 30 3B  44 3B 46 54 25 28 30 29  |B-W:"C0;D;FT%(0)|
00001940: 3B 46 53 25 28 30 29 00  4F 1D A0 05 A0 43 30 00  |;FS%(0).O....C0.|
00001950: 55 1D D2 05 8E 00 61 1D  6C 07 45 B2 45 AA 31 3A  |U.....a.l.E.E.1:|
00001960: 8E 00 A4 1D D0 07 85 22  93 11 11 44 4F 20 59 4F  |......."...DO YO|
00001970: 55 20 57 49 53 48 20 54  4F 20 43 52 45 41 54 45  |U WISH TO CREATE|
00001980: 20 41 20 46 49 4C 45 A0  A0 4E 9D 9D 9D 22 3B 41  | A FILE..N...";A|
00001990: 24 3A 8B C8 28 41 24 2C  31 29 B3 B1 22 59 22 A7  |$:..(A$,1).."Y".|
000019A0: 32 31 30 30 00 C0 1D D1  07 85 22 11 52 41 4E 44  |2100......".RAND|
000019B0: 4F 4D 20 46 49 4C 45 20  4E 41 4D 45 22 3B 46 24  |OM FILE NAME";F$|
000019C0: 00 E0 1D D2 07 85 22 4B  45 59 20 46 49 4C 45 20  |......"KEY FILE |
000019D0: 44 52 49 56 45 20 4E 55  4D 42 45 52 22 3B 44 44  |DRIVE NUMBER";DD|
000019E0: 00 03 1E D3 07 85 22 52  41 4E 44 4F 4D 20 46 49  |......"RANDOM FI|
000019F0: 4C 45 20 44 52 49 56 45  20 4E 55 4D 42 45 52 22  |LE DRIVE NUMBER"|
00001A00: 3B 52 44 00 3C 1E D5 07  85 22 45 4E 54 45 52 20  |;RD.<...."ENTER |
00001A10: 49 44 20 4F 46 20 52 41  4E 44 4F 4D 20 44 49 53  |ID OF RANDOM DIS|
00001A20: 4B 20 20 20 A4 A4 9D 9D  9D 9D 22 3B 49 44 24 3A  |K   ......";ID$:|
00001A30: 49 44 24 B2 C8 28 49 44  24 2C 32 29 00 58 1E D6  |ID$..(ID$,2).X..|
00001A40: 07 85 22 4E 55 4D 42 45  52 20 4F 46 20 52 45 43  |.."NUMBER OF REC|
00001A50: 4F 52 44 53 22 3B 4E 52  00 7E 1E D7 07 85 22 4E  |ORDS";NR.~...."N|
00001A60: 55 4D 42 45 52 20 4F 46  20 46 49 45 4C 44 53 20  |UMBER OF FIELDS |
00001A70: 50 45 52 20 52 45 43 4F  52 44 22 3B 4E 46 00 87  |PER RECORD";NF..|
00001A80: 1E DA 07 8D 31 31 30 00  B7 1E DF 07 99 22 11 20  |....110......". |
00001A90: 49 4E 50 55 54 20 46 49  45 4C 44 20 4E 41 4D 45  |INPUT FIELD NAME|
00001AA0: 2C 46 49 45 4C 44 20 53  49 5A 45 2C 46 49 45 4C  |,FIELD SIZE,FIEL|
00001AB0: 44 20 54 59 50 45 22 00  E7 1E E0 07 99 22 20 20  |D TYPE"......"  |
00001AC0: 20 20 54 59 50 45 53 3A  20 30 3D 42 49 4E 41 52  |  TYPES: 0=BINAR|
00001AD0: 59 2C 20 31 3D 4E 55 4D  45 52 49 43 2C 20 32 3D  |Y, 1=NUMERIC, 2=|
00001AE0: 41 4C 50 48 41 11 22 00  F0 1E E3 07 52 53 B2 30  |ALPHA.".....RS.0|
00001AF0: 00 2F 1F E4 07 81 49 B2  31 A4 4E 46 3A 99 22 46  |./....I.1.NF:."F|
00001B00: 49 45 4C 44 22 3B 49 2C  3A 85 46 48 24 28 49 29  |IELD";I,:.FH$(I)|
00001B10: 2C 46 53 25 28 49 29 2C  46 54 25 28 49 29 3A 52  |,FS%(I),FT%(I):R|
00001B20: 53 B2 46 53 25 28 49 29  AA 52 53 AA 31 3A 82 00  |S.FS%(I).RS.1:..|
00001B30: 4E 1F E9 07 41 24 B2 22  49 22 3A 8B 44 44 B2 52  |N...A$."I":.DD.R|
00001B40: 44 A7 41 24 B2 22 49 22  AA C4 28 44 44 29 00 59  |D.A$."I"..(DD).Y|
00001B50: 1F EE 07 98 43 43 2C 41  24 00 6B 1F F8 07 8D 31  |....CC,A$.k....1|
00001B60: 31 30 30 3A 8B 45 A7 33  39 30 30 00 9A 1F 02 08  |100:.E.3900.....|
00001B70: 9F 34 2C 38 2C 34 2C C4  28 44 44 29 AA 22 3A 22  |.4,8,4,.(DD).":"|
00001B80: AA C8 28 46 24 AA 53 50  24 2C 31 30 29 AA 22 2E  |..(F$.SP$,10).".|
00001B90: 4B 45 59 30 31 2C 55 2C  57 22 00 AA 1F 07 08 98  |KEY01,U,W"......|
00001BA0: 34 2C 30 3B 4D 24 3B 3A  A0 34 00 B4 1F 2A 08 89  |4,0;M$;:.4...*..|
00001BB0: 32 31 32 30 00 D6 1F 34  08 8F 20 4F 50 45 4E 20  |2120...4.. OPEN |
00001BC0: 52 41 4E 44 4F 4D 20 46  49 4C 45 20 46 4F 52 20  |RANDOM FILE FOR |
00001BD0: 41 43 43 45 53 53 00 F2  1F 37 08 85 22 11 52 41  |ACCESS...7..".RA|
00001BE0: 4E 44 4F 4D 20 46 49 4C  45 20 4E 41 4D 45 22 3B  |NDOM FILE NAME";|
00001BF0: 46 24 00 12 20 39 08 85  22 4B 45 59 20 46 49 4C  |F$.. 9.."KEY FIL|
00001C00: 45 20 44 52 49 56 45 20  4E 55 4D 42 45 52 22 3B  |E DRIVE NUMBER";|
00001C10: 44 44 00 35 20 3E 08 85  22 52 41 4E 44 4F 4D 20  |DD.5 >.."RANDOM |
00001C20: 46 49 4C 45 20 44 52 49  56 45 20 4E 55 4D 42 45  |FILE DRIVE NUMBE|
00001C30: 52 22 3B 52 44 00 47 20  48 08 8D 31 32 30 30 3A  |R";RD.G H..1200:|
00001C40: 8B 45 A7 33 39 30 30 00  74 20 5C 08 9F 34 2C 38  |.E.3900.t \..4,8|
00001C50: 2C 34 2C C4 28 44 44 29  AA 22 3A 22 AA C8 28 46  |,4,.(DD).":"..(F|
00001C60: 24 AA 53 50 24 2C 31 30  29 AA 22 2E 4B 45 59 30  |$.SP$,10).".KEY0|
00001C70: 31 2C 55 22 00 89 20 5E  08 84 34 2C 52 52 3A 8B  |1,U".. ^..4,RR:.|
00001C80: 52 52 B2 30 A7 32 31 34  37 00 A8 20 61 08 81 49  |RR.0.2147.. a..I|
00001C90: B2 31 A4 52 52 3A 84 34  2C 4B 31 24 28 49 29 2C  |.1.RR:.4,K1$(I),|
00001CA0: 52 52 25 28 49 29 3A 82  00 AF 20 63 08 A0 34 00  |RR%(I):... c..4.|
00001CB0: DD 20 66 08 99 22 93 11  11 1D 1D 1D 1D 1D 1D 1D  |. f.."..........|
00001CC0: 1D 1D 1D 1D 1D 1D 1D 53  41 4D 50 4C 45 20 52 41  |.......SAMPLE RA|
00001CD0: 4E 44 4F 4D 20 41 43 43  45 53 53 11 22 00 F5 20  |NDOM ACCESS.".. |
00001CE0: 6B 08 99 22 54 59 50 45  20 2F 2F 20 54 4F 20 51  |k.."TYPE // TO Q|
00001CF0: 55 49 54 11 22 00 17 21  6C 08 99 22 28 48 49 54  |UIT."..!l.."(HIT|
00001D00: 20 52 45 54 55 52 4E 20  54 4F 20 41 44 44 20 52  | RETURN TO ADD R|
00001D10: 45 43 4F 52 44 29 22 00  34 21 70 08 99 22 11 11  |ECORD)".4!p.."..|
00001D20: 57 48 4F 53 45 20 52 45  43 4F 52 44 20 44 4F 20  |WHOSE RECORD DO |
00001D30: 59 4F 55 22 00 51 21 71  08 85 22 57 49 53 48 20  |YOU".Q!q.."WISH |
00001D40: 54 4F 20 53 45 45 A0 A0  A0 9D 9D 9D 22 3B 52 52  |TO SEE......";RR|
00001D50: 24 00 63 21 75 08 8B 52  52 24 B2 22 A0 22 A7 32  |$.c!u..RR$.".".2|
00001D60: 33 31 30 00 76 21 77 08  8B 52 52 24 B2 22 2F 2F  |310.v!w..RR$."//|
00001D70: 22 A7 32 34 30 30 00 92  21 78 08 8B 52 52 24 B2  |".2400..!x..RR$.|
00001D80: 22 2F 44 49 52 22 A7 8D  34 30 30 30 3A 89 32 31  |"/DIR"..4000:.21|
00001D90: 36 30 00 B5 21 7A 08 81  49 49 B2 31 A4 52 52 3A  |60..!z..II.1.RR:|
00001DA0: 8B 4B 31 24 28 49 49 29  B3 B1 52 52 24 A7 82 3A  |.K1$(II)..RR$..:|
00001DB0: 89 32 33 30 30 00 C9 21  7F 08 43 52 B2 52 52 25  |.2300..!..CR.RR%|
00001DC0: 28 49 49 29 3A 8D 33 30  30 00 EF 21 84 08 81 49  |(II):.300..!...I|
00001DD0: B2 31 A4 4E 46 3A 99 49  3B 22 29 22 46 48 24 28  |.1.NF:.I;")"FH$(|
00001DE0: 49 29 22 3A 22 2C 46 24  28 49 29 3A 82 3A 99 00  |I)":",F$(I):.:..|
00001DF0: F8 21 89 08 46 46 B2 30  00 24 22 8E 08 85 22 41  |.!..FF.0.$"..."A|
00001E00: 4E 59 20 4D 4F 44 53 A0  A0 A0 9D 9D 9D 22 3B 41  |NY MODS......";A|
00001E10: 24 3A 8B C8 28 41 24 2C  31 29 B3 B1 22 59 22 A7  |$:..(A$,1).."Y".|
00001E20: 32 32 32 30 00 39 22 93  08 85 22 57 48 49 43 48  |2220.9"..."WHICH|
00001E30: 20 46 49 45 4C 44 22 3B  41 00 63 22 98 08 99 22  | FIELD";A.c"..."|
00001E40: 20 20 22 46 24 28 41 29  3A 99 22 91 22 3B 3A 85  |  "F$(A):.".";:.|
00001E50: 46 24 28 41 29 3A 46 28  41 29 B2 C5 28 46 24 28  |F$(A):F(A)..(F$(|
00001E60: 41 29 29 00 72 22 A2 08  46 46 B2 31 3A 89 32 31  |A)).r"..FF.1:.21|
00001E70: 39 30 00 81 22 AC 08 8B  46 46 B2 30 A7 32 31 36  |90.."...FF.0.216|
00001E80: 30 00 98 22 AE 08 8B 41  B2 31 A7 4B 31 24 28 49  |0.."...A.1.K1$(I|
00001E90: 49 29 B2 46 24 28 41 29  00 A1 22 B1 08 8D 32 30  |I).F$(A).."...20|
00001EA0: 30 00 AB 22 B6 08 89 32  31 36 30 00 C6 22 FC 08  |0.."...2160.."..|
00001EB0: 99 22 11 52 45 43 4F 52  44 20 4E 4F 54 20 50 52  |.".RECORD NOT PR|
00001EC0: 45 53 45 4E 54 22 00 F6  22 01 09 85 22 44 4F 20  |ESENT".."..."DO |
00001ED0: 59 4F 55 20 57 49 53 48  20 54 4F 20 41 44 44 22  |YOU WISH TO ADD"|
00001EE0: 3B 41 24 3A 8B C8 28 41  24 2C 31 29 B3 B1 22 59  |;A$:..(A$,1).."Y|
00001EF0: 22 A7 32 31 36 30 00 15  23 06 09 99 22 11 2A 2A  |".2160..#...".**|
00001F00: 2A 2A 20 41 44 44 20 52  45 43 4F 52 44 20 2A 2A  |** ADD RECORD **|
00001F10: 2A 2A 11 11 22 00 25 23  08 09 8B 46 52 B1 4E 52  |**..".%#...FR.NR|
00001F20: A7 32 35 30 30 00 3F 23  0B 09 43 52 B2 46 52 3A  |.2500.?#..CR.FR:|
00001F30: 46 52 B2 46 52 AA 31 3A  52 52 B2 52 52 AA 31 00  |FR.FR.1:RR.RR.1.|
00001F40: 6B 23 10 09 81 49 B2 31  A4 4E 46 3A 99 46 48 24  |k#...I.1.NF:.FH$|
00001F50: 28 49 29 3B 3A 85 46 24  28 49 29 3A 46 28 49 29  |(I);:.F$(I):F(I)|
00001F60: B2 C5 28 46 24 28 49 29  29 3A 82 00 74 23 1A 09  |..(F$(I)):..t#..|
00001F70: 8D 32 30 30 00 91 23 24  09 4B 31 24 28 52 52 29  |.200..#$.K1$(RR)|
00001F80: B2 46 24 28 31 29 3A 52  52 25 28 52 52 29 B2 43  |.F$(1):RR%(RR).C|
00001F90: 52 00 9B 23 2E 09 89 32  31 36 30 00 B1 23 60 09  |R..#...2160..#`.|
00001FA0: 8F 20 43 4C 4F 53 45 20  52 41 4E 44 20 46 49 4C  |. CLOSE RAND FIL|
00001FB0: 45 00 BB 23 65 09 8D 31  34 30 30 00 EE 23 6A 09  |E..#e..1400..#j.|
00001FC0: 9F 34 2C 38 2C 34 2C 22  40 22 AA C4 28 44 44 29  |.4,8,4,"@"..(DD)|
00001FD0: AA 22 3A 22 AA C8 28 46  24 AA 53 50 24 2C 31 30  |.":"..(F$.SP$,10|
00001FE0: 29 AA 22 2E 4B 45 59 30  31 2C 55 2C 57 22 00 00  |).".KEY01,U,W"..|
00001FF0: 24 74 09 8D 31 30 30 30  3A 8B 45 A7 33 39 30 30  |$t..1000:.E.3900|
00002000: 00 0E 24 7E 09 98 34 2C  52 52 3B 4D 24 3B 00 34  |..$~..4,RR;M$;.4|
00002010: 24 88 09 81 49 B2 31 A4  52 52 3A 98 34 2C 4B 31  |$...I.1.RR:.4,K1|
00002020: 24 28 49 29 3B 4D 24 3B  52 52 25 28 49 29 3B 4D  |$(I);M$;RR%(I);M|
00002030: 24 3B 3A 82 00 46 24 8D  09 8D 31 30 30 30 3A 8B  |$;:..F$...1000:.|
00002040: 45 A7 33 39 30 30 00 4D  24 92 09 A0 34 00 5F 24  |E.3900.M$...4._$|
00002050: 97 09 8D 31 30 30 30 3A  8B 45 A7 33 39 30 30 00  |...1000:.E.3900.|
00002060: 87 24 BA 09 97 31 30 32  32 2C 38 3A 80 3A 8F 20  |.$...1022,8:.:. |
00002070: 54 55 52 4E 20 44 4F 53  20 53 55 50 50 4F 52 54  |TURN DOS SUPPORT|
00002080: 20 33 2E 31 20 4F 4E 00  C3 24 C4 09 99 22 54 48  | 3.1 ON..$..."TH|
00002090: 45 20 46 49 4C 45 20 49  53 20 46 55 4C 4C 2C 20  |E FILE IS FULL, |
000020A0: 4E 4F 20 41 44 44 49 54  49 4F 4E 41 4C 20 52 45  |NO ADDITIONAL RE|
000020B0: 43 4F 52 44 53 20 4D 41  59 20 42 45 20 41 44 44  |CORDS MAY BE ADD|
000020C0: 45 44 22 00 CD 24 CE 09  89 32 31 36 30 00 DA 24  |ED"..$...2160..$|
000020D0: 3C 0F 99 45 2C 45 4D 24  3A 90 00 F4 24 A0 0F 81  |<..E,EM$:...$...|
000020E0: 44 49 B2 30 A4 4E 52 3A  99 4B 31 24 28 44 49 29  |DI.0.NR:.K1$(DI)|
000020F0: 3A 82 3A 8E 00 00 00                              |:.:....         |
....... RANDOM 1.0.B.... SUBROUTINES TO 
MANAGE RANDOM ACCESS FILES......  VARIAB
LES ARE SET FROM DATA OF DESCRIPTOR FILE
 & KEY LIST FILES......... ...DEFINED BY
 USER PROGRAM...... VARIABLES SHOULD REF
LECT DESIRED FILE STRUCTURE...... ALL FU
NCTIONS ACT UPON THE VARIABLES DEFINED B
ELOW.".....B.... ***********************
**.H.....Q....1022,128:. TURN DOS SUPPOR
T 3.1 OFF.....M$.G(13):. FIELD MARKER.T.
..SP$."                                 
    "."":. SPACE FOR PADDING.....C0.2:  
     . DIRECT CHANNEL.....C1.3:       . 
SEQUENTIAL CHANNEL.<...CC.15:      . COM
MAND CHANNEL.^...D.0:        . CURRENT D
RIVE #.....T.0:        . CURRENT TRACK #
... .S.0:        . CURRENT SECTOR #.H.#.
DD.0:       . DESCRIPTOR DRIVE #...$.RD.
0:       . RANDOM DRIVE #...(.ID$."":   
  . RANDOM DISK ID.0.-.NR.0:       . # R
ECORDS IN R-FILE.S...CR.0:       . CURRE
NT RECORD #.|./.FR.0:       . 1ST FREE R
ECORD UNUSED...2.NF.0:       . # FIELDS 
IN RECORD.C.3.CF.0:       . CURRENT FIEL
D #...7.RB.0:       . # RECORDS PER BLOC
K...8.RS.0:       . RECORD SIZE IN BYTES
.5.<.NB.0:       . # BLOCKS IN R-FILE.Y.
A.E.0:        . ERROR FLAG, OK =0...B.. 
EN$,EM$,ET$,ES$,ET,ES  ERROR CHANNEL VAR
IABLES...F.EP..5.256:  . INTEGER CORRECT
ION...K.AS.0:       . INDEX ARRAY ADDRES
SING STRATEGY.0.L.. AS=0: USE ARRAY INDE
X; AS=1: T&S ARE SET, CR= RECORD OFFSET 
IN BLOCK.R.Z.. "A" VARIABLES ARE TEMPORA
RY.{._.DN.8:.CC,DN,CC:  . DN= DEVICE NUM
BER. .B..2000:   . START OF USER PROGRAM
...C...F.D.. *************************..
.E.. RANDOM FILE DIMENSION ROUTINE...F..
  1ST SET NR, NF & NB...G.....I..150.".N
..FP%..1...-.O.FP%..1.I.S.. FS%(NF) :. F
IELD SIZE.I.X.. FP%(NF) :. FIELD POSITIO
N...}..          FP%(I)= SUM [FS%(I-1)].
I.... FT%(NF) :. FIELD TYPE: 0:BINARY, 1
:NUMERIC, 2:ALPHA...... FH$(NF) :. FIELD
 HEADING...... F$(NF)  :. FIELD ARGS-ALP
HA,BINARY.5.... F(NF)   :. FIELD ARGS-NU
MERIC.;.....I....IT%..1...T...IT%..1.W..
.. IT%(NB) :. TRACK INDEX ARRAY... .. IS
%(NB) :. SECTOR INDEX ARRAY...... K1$(NR
) :. PRIMARY KEY VALUE...... RR%(NR) :. 
RELATIVE RECORD LIST PER KEY.........H..
 *************************.*.I.. UPDATE 
RECORD, CR.0.J...9.M..900.O.R..CC,"U1:"C
0;D;T;S.C.W..CC,"B-P:"C0;RP.P....CF.1.NF
.Y....500......CF......CC,"U2:"C0;D;T;S.
.....1000:.E.1900.......O.,.. **********
***************...-.. READ RECORD, CR...
......1..900...6..CC,"U1:"C0;D;T;S...;..
CC,"B-P:"C0;RP.0.@..1000:.E.1900.=.E..CF
.1.NF.F.J..600.N.O..CF.T.T...T.... *****
********************...... UPDATE FIELD(
CF) OF RECORD CR, SINGLE FIELD UPDATE...
.........900.R....CC,"U1:"C0;D;T;S......
1000:.E.1900......CC,"B-P:"C0;FP%(CF).RP
......500 :. UPDATE FIELD./....CC,"U2:"C
0;D;T;S.A....1000:.E.1900.G.....G.B.. **
***********************...C.. READ FIELD
(CF) OF RECORD CR, SINGLE FIELD READ...D
.....G..900.A.L..CC,"U1:"C0;D;T;S.S.Q..1
000:.E.1900...V..CC,"B-P:"C0;FP%(CF).RP.
.....600 :. READ FIELD.......,.... *****
********************.O.... UPDATE FIELD(
CF), B-P IS SET.U.....I....FT%(CF)..1.52
0.....A$.I(SP$.D(F(CF)),FS%(CF)):.530...
..A$.H(F$(CF).SP$,FS%(CF))......C0,A$;M$
;.........X.. *************************.
..Y.. READ FIELD(CF), B-P IS SET...Z....
.B.. FT%(CF) .645.$.G.A1$."".5.L..J.1.FS
%(CF).P.Q..#C0,A$:.A$."".A$.G(0)._.V.A1$
.A1$.A$.P.{..:F$(CF).A1$.~....#C0,A$:...
....C0,F$(CF). ....FT%(CF)..1. ......F(C
F).E(F$(CF)):..V.... *******************
******...... ALLOCATE ONE BLOCK, T & S =
REQUESTED TRACK & SECTOR.N....  RETURNED
 T & S ARE ALLOCATED VALUES  (T=18 IS SK
IPPED).T.....T.F..800:.E.1900: . CHECK T
 & S...K..CC,"B-A:"D;T;S...P..CC,EN,EM$,
ET,ES...U..EN.0.....Z..EN..65.1900.S....
ET.18.T.19:S.0:.715.....T.ET:S.ES......7
15...... *************************.7....
 FREE ONE BLOCK, T & S = TRACK & SECTOR.
=.....]....800:.E.1900: . CHECK T & S.Q.
...CC,"B-F:"D;T;S......CC,EN,EM$,ET,ES..
....EN.0........1900... .. *************
************.S.!.. CHECK MAX SECTOR.Y.".
....*..T.35.1900...4.E.0:.T.0..40:.1900.
..H.A3.16:.T.30.880.'.R.A3.17:.T.24.880.
;.\.A3.19:.T.17.880.E.F.A3.20.T.P..S.A3.
1900.Z.Z...Z.... ***********************
**...... SET RECORD'S TRACK, SECTOR & RE
CORD POINTER FROM INDEX ARRAYS.D.....M..
.D.RD.U...E.0......AS..1.RP.CR.RS.1:.950
.!...RP..((CR.1).RB.EP):.RP.NB . RP.0.EN
.41:.1900.9...T.IT%(RP):S.IS%(RP).]...RP
..(((CR.1).RB.RP.EP).RS.RB).1.V....RP.25
4. EN.41:.1900.|.......... *************
************...... INPUT 2040 ERROR STAT
US.......V....CC,EN$,EM$,ET,ES.....EN.E(
EN$):E.0...... EN$."00" . ......ET$.D(ET
):ES$.D(ES).6....EN$..I("0".J(D(EN),2),2
).1070.W.... EN.1 . EM$. ET$." ".EM$: ..
A...E.E.1.Z...EM$.".".EN$.". ".EM$......
 EN.30 . EN.65 . EM$.EM$." ON ".ET$.", "
.ES$...$.......EM$.".SYSTEM NOT RESPONDI
NG PROPERLY"...8.EM$.EM$.EN$.EM$.ET$.ES$
...=.E.E.1...B...(.L.. *****************
********.E.M.. CREATE DESCRIPTOR FILE._.
N.. INPUT: F$= FILENAME...O..        ID$
,NR,NF,FS%(),FT%(),FH$()...P..        DD
= DESCRIPTOR FILE DRIVE #.V.Q..        R
D= RANDOM DISK DRIVE #...R.. DRIVES MUST
 BE INITIALIZED...U.....V.RS.1:D.RD.=.[.
.A0.1.NF:FP%(A0).RS:RS.FS%(A0).RS.1:.:RS
.RS.1.Q.\.RB..(254.RS.EP).Q.`..C0,DN,C0,
"#":.1000:.E.1900.{.A..1280...B..CC,"B-P
:"C0;1...C..A0.1.RB:.A1.1.NF...D..C0,H(S
P$,FS%(A1));M$;.J.F..A1,A0...J.NB..(NR.R
B.EP):.(NR.RB.NB).RB..1.NB.NB.1...O.T.1:
S.0:.150.$.T..A0.0.NB.1:.710:.E.1900.C.Y
.IT%(A0).T:IS%(A0).S:.430:..L.~..710._..
..CC,"B-P:"C0;1......C0,NR;M$;1;M$;NB;M$
;RS;M$;RB;M$;NF;M$;......CC,"B-W:"C0;D;T
;S.M...A$.D(DD).":".H(F$.SP$,10).".DESCR
,U,W"......C1,DN,C1,A$......1000:.E.1900
......C1,ID$;M$;T;M$;S;M$;.?....A0.1.NF:
.C1,G(FS%(A0));G(FT%(A0));FH$(A0);M$;:..
K....A0.0.NB.1:.C1,G(IT%(A0));G(IS%(A0))
;:..Y... C1: C0:....... ****************
*********...... OPEN RELATIVE FILE.L....
 INPUT: F$= FILENAME......        DD= DE
SCRIPTOR FILE DRIVE #......        RD= R
ANDOM DISK DRIVE #.;.... DRIVES MUST BE 
INITIALIZED.A.....L...A$.D(DD).":".H(F$.
SP$,10).".DESCR,U,R"......C1,DN,C1,A$:.1
000:.E.1900...D..C1,ID$,T,S...I..C0,DN,C
0,"#":.1000:.E.1900.E.J..1280...K..CC,"B
-R:";C0;RD;T;S:.1000:.E.1900...N..C0,NR,
FR,NB,RS,RB,NF.!.S..100:FT%(0).T:FS%(0).
S.B.X..A0.1.NF:.1298:FS%(A0).F(A$).Z....
1298:FT%(A0).F(A$).L....C1,FH$(A0):.....
..A0.0.NB.1:.1298:IT%(A0).F(A$)......129
8:IS%(A0).F(A$):.......1000:.E.1900.C...
 C1.I..........CC,"U1:";C0;RD;",18,0":.1
000:.E.1900......CC,"B-P:";C0;162.N....#
C0,A$,A1$:A$.A$.A1$:.ID$..A$.EN.43:EM$."
WRONG RAND DISK":.1900.T.....O....#C1,A$
:.A$."".A$.G(0).U.......X.. ************
*************...Y.. CLOSE RELATIVE FILE.
..Z.. INPUT: VARIABLES FROM OPEN SHOULD 
BE VALID............CC,"B-P:"C0;1.&....C
0,NR;M$;FR;M$;NB;M$;RS;M$;RB;M$;NF;M$;.G
....CC,"B-W:"C0;D;FT%(0);FS%(0).O. . C0.
U.R...A.L.E.E.1:....P.."...DO YOU WISH T
O CREATE A FILE  N...";A$:.H(A$,1).."Y".
2100...Q..".RANDOM FILE NAME";F$...R.."K
EY FILE DRIVE NUMBER";DD...S.."RANDOM FI
LE DRIVE NUMBER";RD.<.U.."ENTER ID OF RA
NDOM DISK   ......";ID$:ID$.H(ID$,2).X.V
.."NUMBER OF RECORDS";NR.~.W.."NUMBER OF
 FIELDS PER RECORD";NF...Z..110......". 
INPUT FIELD NAME,FIELD SIZE,FIELD TYPE".
....."    TYPES: 0=BINARY, 1=NUMERIC, 2=
ALPHA.".....RS.0./....I.1.NF:."FIELD";I,
:.FH$(I),FS%(I),FT%(I):RS.FS%(I).RS.1:..
N...A$."I":.DD.RD.A$."I".D(DD).Y....CC,A
$.K....1100:.E.3900......4,8,4,D(DD).":"
.H(F$.SP$,10).".KEY01,U,W"......4,0;M$;:
 4...*..2120.V.4.. OPEN RANDOM FILE FOR 
ACCESS...7..".RANDOM FILE NAME";F$.. 9..
"KEY FILE DRIVE NUMBER";DD.5 >.."RANDOM 
FILE DRIVE NUMBER";RD.G H..1200:.E.3900.
T \..4,8,4,D(DD).":".H(F$.SP$,10).".KEY0
1,U".. ^..4,RR:.RR.0.2147.. A..I.1.RR:.4
,K1$(I),RR%(I):... C. 4.. F.."..........
.......SAMPLE RANDOM ACCESS.".. K.."TYPE
 // TO QUIT."..!L.."(HIT RETURN TO ADD R
ECORD)".4!P.."..WHOSE RECORD DO YOU".Q!Q
.."WISH TO SEE   ...";RR$.C!U..RR$." ".2
310.V!W..RR$."//".2400..!X..RR$."/DIR"..
4000:.2160..!Z..II.1.RR:.K1$(II)..RR$..:
.2300.I!.CR.RR%(II):.300..!...I.1.NF:.I
;")"FH$(I)":",F$(I):.:...!..FF.0.$"..."A
NY MODS   ...";A$:.H(A$,1).."Y".2220.9".
.."WHICH FIELD";A.C"..."  "F$(A):.".";:.
F$(A):F(A).E(F$(A)).R"..FF.1:.2190.."...
FF.0.2160.."...A.1.K1$(II).F$(A).."...20
0.."...2160.F"...".RECORD NOT PRESENT"..
"..."DO YOU WISH TO ADD";A$:.H(A$,1).."Y
".2160..#...".**** ADD RECORD ****..".%#
...FR.NR.2500.?#..CR.FR:FR.FR.1:RR.RR.1.
K#...I.1.NF:.FH$(I);:.F$(I):F(I).E(F$(I)
):..T#...200..#$.K1$(RR).F$(1):RR%(RR).C
R..#...2160..#`.. CLOSE RAND FILE..#E..1
400..#J..4,8,4,"@".D(DD).":".H(F$.SP$,10
).".KEY01,U,W"..$T..1000:.E.3900..$~..4,
RR;M$;.4$...I.1.RR:.4,K1$(I);M$;RR%(I);M
$;:..F$...1000:.E.3900.M$.. 4._$...1000:
.E.3900..$...1022,8:.:. TURN DOS SUPPORT
 3.1 ON.C$D.."THE FILE IS FULL, NO ADDIT
IONAL RECORDS MAY BE ADDED".M$N..2160.Z$
<..E,EM$:...$ ..DI.0.NR:.K1$(DI):.:....
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL