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

RANDOMEXAMPLE

FILE INFORMATION

FILENAME(S): RANDOMEXAMPLE

FILE TYPE(S): PRG

FILE SIZE: 8.2K

FIRST SEEN: 2025-11-30 21:23:52

APPEARS ON: 1 disk(s)

FILE HASH

aa66a57e21e9901cbec4c87ee19e583901c8940036c0d3c589791cca0b700d43

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
C64 HULP 27 1 RANDOMEXAMPLE PRG DuncanTwain 9 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 04 1A 04 01 00 8F 20  32 30 33 31 20 52 41 4E  |....... 2031 RAN|
00000010: 44 4F 4D 45 58 41 4D 50  4C 45 00 20 04 02 00 8F  |DOMEXAMPLE. ....|
00000020: 00 50 04 03 00 8F 20 53  55 42 52 4F 55 54 49 4E  |.P.... SUBROUTIN|
00000030: 45 53 20 54 4F 20 4D 41  4E 41 47 45 20 52 41 4E  |ES TO MANAGE RAN|
00000040: 44 4F 4D 20 41 43 43 45  53 53 20 46 49 4C 45 53  |DOM ACCESS FILES|
00000050: 00 9A 04 04 00 8F 20 20  56 41 52 49 41 42 4C 45  |......  VARIABLE|
00000060: 53 20 41 52 45 20 53 45  54 20 46 52 4F 4D 20 44  |S ARE SET FROM D|
00000070: 41 54 41 20 4F 46 20 44  45 53 43 52 49 50 54 4F  |ATA OF DESCRIPTO|
00000080: 52 20 46 49 4C 45 20 26  20 4B 45 59 20 4C 49 53  |R FILE & KEY LIS|
00000090: 54 20 46 49 4C 45 53 2E  2E 2E 00 BB 04 05 00 8F  |T FILES.........|
000000A0: 20 2E 2E 2E 44 45 46 49  4E 45 44 20 42 59 20 55  | ...DEFINED BY U|
000000B0: 53 45 52 20 50 52 4F 47  52 41 4D 00 F1 04 06 00  |SER PROGRAM.....|
000000C0: 8F 20 56 41 52 49 41 42  4C 45 53 20 53 48 4F 55  |. VARIABLES SHOU|
000000D0: 4C 44 20 52 45 46 4C 45  43 54 20 44 45 53 49 52  |LD REFLECT DESIR|
000000E0: 45 44 20 46 49 4C 45 20  53 54 52 55 43 54 55 52  |ED FILE STRUCTUR|
000000F0: 45 00 2A 05 07 00 8F 20  41 4C 4C 20 46 55 4E 43  |E.*.... ALL FUNC|
00000100: 54 49 4F 4E 53 20 41 43  54 20 55 50 4F 4E 20 54  |TIONS ACT UPON T|
00000110: 48 45 20 56 41 52 49 41  42 4C 45 53 20 44 45 46  |HE VARIABLES DEF|
00000120: 49 4E 45 44 20 42 45 4C  4F 57 00 30 05 0A 00 8F  |INED BELOW.0....|
00000130: 00 50 05 0B 00 8F 20 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.P.... *********|
00000140: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000150: 00 56 05 0C 00 8F 00 72  05 0F 00 4D 24 B2 C7 28  |.V.....r...M$..(|
00000160: 31 33 29 3A 8F 20 46 49  45 4C 44 20 4D 41 52 4B  |13):. FIELD MARK|
00000170: 45 52 00 B9 05 10 00 53  50 24 B2 22 20 20 20 20  |ER.....SP$."    |
00000180: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000190: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001A0: 20 22 AA 22 22 3A 8F 20  53 50 41 43 45 20 46 4F  | "."":. SPACE FO|
000001B0: 52 20 50 41 44 44 49 4E  47 00 DA 05 14 00 43 30  |R PADDING.....C0|
000001C0: B2 32 3A 20 20 20 20 20  20 20 8F 20 44 49 52 45  |.2:       . DIRE|
000001D0: 43 54 20 43 48 41 4E 4E  45 4C 00 FF 05 15 00 43  |CT CHANNEL.....C|
000001E0: 31 B2 33 3A 20 20 20 20  20 20 20 8F 20 53 45 51  |1.3:       . SEQ|
000001F0: 55 45 4E 54 49 41 4C 20  43 48 41 4E 4E 45 4C 00  |UENTIAL CHANNEL.|
00000200: 21 06 19 00 43 43 B2 31  35 3A 20 20 20 20 20 20  |!...CC.15:      |
00000210: 8F 20 43 4F 4D 4D 41 4E  44 20 43 48 41 4E 4E 45  |. COMMAND CHANNE|
00000220: 4C 00 43 06 1E 00 44 B2  30 3A 20 20 20 20 20 20  |L.C...D.0:      |
00000230: 20 20 8F 20 43 55 52 52  45 4E 54 20 44 52 49 56  |  . CURRENT DRIV|
00000240: 45 20 23 00 65 06 1F 00  54 B2 30 3A 20 20 20 20  |E #.e...T.0:    |
00000250: 20 20 20 20 8F 20 43 55  52 52 45 4E 54 20 54 52  |    . CURRENT TR|
00000260: 41 43 4B 20 23 00 88 06  20 00 53 B2 30 3A 20 20  |ACK #... .S.0:  |
00000270: 20 20 20 20 20 20 8F 20  43 55 52 52 45 4E 54 20  |      . CURRENT |
00000280: 53 45 43 54 4F 52 20 23  00 AD 06 23 00 44 44 B2  |SECTOR #...#.DD.|
00000290: 30 3A 20 20 20 20 20 20  20 8F 20 44 45 53 43 52  |0:       . DESCR|
000002A0: 49 50 54 4F 52 20 44 52  49 56 45 20 23 00 CE 06  |IPTOR DRIVE #...|
000002B0: 24 00 52 44 B2 30 3A 20  20 20 20 20 20 20 8F 20  |$.RD.0:       . |
000002C0: 52 41 4E 44 4F 4D 20 44  52 49 56 45 20 23 00 EF  |RANDOM DRIVE #..|
000002D0: 06 28 00 49 44 24 B2 22  22 3A 20 20 20 20 20 8F  |.(.ID$."":     .|
000002E0: 20 52 41 4E 44 4F 4D 20  44 49 53 4B 20 49 44 00  | RANDOM DISK ID.|
000002F0: 15 07 2D 00 4E 52 B2 30  3A 20 20 20 20 20 20 20  |..-.NR.0:       |
00000300: 8F 20 23 20 52 45 43 4F  52 44 53 20 49 4E 20 52  |. # RECORDS IN R|
00000310: 2D 46 49 4C 45 00 38 07  2E 00 43 52 B2 30 3A 20  |-FILE.8...CR.0: |
00000320: 20 20 20 20 20 20 8F 20  43 55 52 52 45 4E 54 20  |      . CURRENT |
00000330: 52 45 43 4F 52 44 20 23  00 61 07 2F 00 46 52 B2  |RECORD #.a./.FR.|
00000340: 30 3A 20 20 20 20 20 20  20 8F 20 31 53 54 20 46  |0:       . 1ST F|
00000350: 52 45 45 20 52 45 43 4F  52 44 20 55 4E 55 53 45  |REE RECORD UNUSE|
00000360: 44 00 86 07 32 00 4E 46  B2 30 3A 20 20 20 20 20  |D...2.NF.0:     |
00000370: 20 20 8F 20 23 20 46 49  45 4C 44 53 20 49 4E 20  |  . # FIELDS IN |
00000380: 52 45 43 4F 52 44 00 A8  07 33 00 43 46 B2 30 3A  |RECORD...3.CF.0:|
00000390: 20 20 20 20 20 20 20 8F  20 43 55 52 52 45 4E 54  |       . CURRENT|
000003A0: 20 46 49 45 4C 44 20 23  00 CE 07 37 00 52 42 B2  | FIELD #...7.RB.|
000003B0: 30 3A 20 20 20 20 20 20  20 8F 20 23 20 52 45 43  |0:       . # REC|
000003C0: 4F 52 44 53 20 50 45 52  20 42 4C 4F 43 4B 00 F5  |ORDS PER BLOCK..|
000003D0: 07 38 00 52 53 B2 30 3A  20 20 20 20 20 20 20 8F  |.8.RS.0:       .|
000003E0: 20 52 45 43 4F 52 44 20  53 49 5A 45 20 49 4E 20  | RECORD SIZE IN |
000003F0: 42 59 54 45 53 00 1A 08  3C 00 4E 42 B2 30 3A 20  |BYTES...<.NB.0: |
00000400: 20 20 20 20 20 20 8F 20  23 20 42 4C 4F 43 4B 53  |      . # BLOCKS|
00000410: 20 49 4E 20 52 2D 46 49  4C 45 00 3E 08 41 00 45  | IN R-FILE.>.A.E|
00000420: B2 30 3A 20 20 20 20 20  20 20 20 8F 20 45 52 52  |.0:        . ERR|
00000430: 4F 52 20 46 4C 41 47 2C  20 4F 4B 20 3D 30 00 73  |OR FLAG, OK =0.s|
00000440: 08 42 00 8F 20 45 4E 24  2C 45 4D 24 2C 45 54 24  |.B.. EN$,EM$,ET$|
00000450: 2C 45 53 24 2C 45 54 2C  45 53 20 20 45 52 52 4F  |,ES$,ET,ES  ERRO|
00000460: 52 20 43 48 41 4E 4E 45  4C 20 56 41 52 49 41 42  |R CHANNEL VARIAB|
00000470: 4C 45 53 00 98 08 46 00  45 50 B2 2E 35 AD 32 35  |LES...F.EP..5.25|
00000480: 36 3A 20 20 8F 20 49 4E  54 45 47 45 52 20 43 4F  |6:  . INTEGER CO|
00000490: 52 52 45 43 54 49 4F 4E  00 CA 08 4B 00 41 53 B2  |RRECTION...K.AS.|
000004A0: 30 3A 20 20 20 20 20 20  20 8F 20 49 4E 44 45 58  |0:       . INDEX|
000004B0: 20 41 52 52 41 59 20 41  44 44 52 45 53 53 49 4E  | ARRAY ADDRESSIN|
000004C0: 47 20 53 54 52 41 54 45  47 59 00 15 09 4C 00 8F  |G STRATEGY...L..|
000004D0: 20 41 53 3D 30 3A 20 55  53 45 20 41 52 52 41 59  | AS=0: USE ARRAY|
000004E0: 20 49 4E 44 45 58 3B 20  41 53 3D 31 3A 20 54 26  | INDEX; AS=1: T&|
000004F0: 53 20 41 52 45 20 53 45  54 2C 20 43 52 3D 20 52  |S ARE SET, CR= R|
00000500: 45 43 4F 52 44 20 4F 46  46 53 45 54 20 49 4E 20  |ECORD OFFSET IN |
00000510: 42 4C 4F 43 4B 00 37 09  5A 00 8F 20 22 41 22 20  |BLOCK.7.Z.. "A" |
00000520: 56 41 52 49 41 42 4C 45  53 20 41 52 45 20 54 45  |VARIABLES ARE TE|
00000530: 4D 50 4F 52 41 52 59 00  60 09 5F 00 44 4E B2 38  |MPORARY.`._.DN.8|
00000540: 3A 9F 43 43 2C 44 4E 2C  43 43 3A 20 20 8F 20 44  |:.CC,DN,CC:  . D|
00000550: 4E 3D 20 44 45 56 49 43  45 20 4E 55 4D 42 45 52  |N= DEVICE NUMBER|
00000560: 00 85 09 62 00 89 32 30  30 30 3A 20 20 20 8F 20  |...b..2000:   . |
00000570: 53 54 41 52 54 20 4F 46  20 55 53 45 52 20 50 52  |START OF USER PR|
00000580: 4F 47 52 41 4D 00 8B 09  63 00 8F 00 AB 09 64 00  |OGRAM...c.....d.|
00000590: 8F 20 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |. **************|
000005A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 00 CF 09 65 00  |***********...e.|
000005B0: 8F 20 52 41 4E 44 4F 4D  20 46 49 4C 45 20 44 49  |. RANDOM FILE DI|
000005C0: 4D 45 4E 53 49 4F 4E 20  52 4F 55 54 49 4E 45 00  |MENSION ROUTINE.|
000005D0: EA 09 66 00 8F 20 20 31  53 54 20 53 45 54 20 4E  |..f..  1ST SET N|
000005E0: 52 2C 20 4E 46 20 26 20  4E 42 00 F0 09 67 00 8F  |R, NF & NB...g..|
000005F0: 00 F9 09 69 00 8D 31 35  30 00 07 0A 6E 00 8B 46  |...i..150...n..F|
00000600: 50 25 B2 AB 31 A7 8E 00  12 0A 6F 00 46 50 25 B2  |P%..1.....o.FP%.|
00000610: AB 31 00 2E 0A 73 00 86  20 46 53 25 28 4E 46 29  |.1...s.. FS%(NF)|
00000620: 20 3A 8F 20 46 49 45 4C  44 20 53 49 5A 45 00 4E  | :. FIELD SIZE.N|
00000630: 0A 78 00 86 20 46 50 25  28 4E 46 29 20 3A 8F 20  |.x.. FP%(NF) :. |
00000640: 46 49 45 4C 44 20 50 4F  53 49 54 49 4F 4E 00 74  |FIELD POSITION.t|
00000650: 0A 7D 00 8F 20 20 20 20  20 20 20 20 20 20 46 50  |.}..          FP|
00000660: 25 28 49 29 3D 20 53 55  4D 20 5B 46 53 25 28 49  |%(I)= SUM [FS%(I|
00000670: 2D 31 29 5D 00 AE 0A 82  00 86 20 46 54 25 28 4E  |-1)]...... FT%(N|
00000680: 46 29 20 3A 8F 20 46 49  45 4C 44 20 54 59 50 45  |F) :. FIELD TYPE|
00000690: 3A 20 30 3A 42 49 4E 41  52 59 2C 20 31 3A 4E 55  |: 0:BINARY, 1:NU|
000006A0: 4D 45 52 49 43 2C 20 32  3A 41 4C 50 48 41 00 CD  |MERIC, 2:ALPHA..|
000006B0: 0A 87 00 86 20 46 48 24  28 4E 46 29 20 3A 8F 20  |.... FH$(NF) :. |
000006C0: 46 49 45 4C 44 20 48 45  41 44 49 4E 47 00 F6 0A  |FIELD HEADING...|
000006D0: 8C 00 86 20 46 24 28 4E  46 29 20 20 3A 8F 20 46  |... F$(NF)  :. F|
000006E0: 49 45 4C 44 20 41 52 47  53 2D 41 4C 50 48 41 2C  |IELD ARGS-ALPHA,|
000006F0: 42 49 4E 41 52 59 00 1A  0B 91 00 86 20 46 28 4E  |BINARY...... F(N|
00000700: 46 29 20 20 20 3A 8F 20  46 49 45 4C 44 20 41 52  |F)   :. FIELD AR|
00000710: 47 53 2D 4E 55 4D 45 52  49 43 00 20 0B 92 00 8E  |GS-NUMERIC. ....|
00000720: 00 2E 0B 96 00 8B 49 54  25 B2 AB 31 A7 8E 00 39  |......IT%..1...9|
00000730: 0B 97 00 49 54 25 B2 AB  31 00 5C 0B 9B 00 86 20  |...IT%..1.\.... |
00000740: 49 54 25 28 4E 42 29 20  3A 8F 20 54 52 41 43 4B  |IT%(NB) :. TRACK|
00000750: 20 49 4E 44 45 58 20 41  52 52 41 59 00 80 0B A0  | INDEX ARRAY....|
00000760: 00 86 20 49 53 25 28 4E  42 29 20 3A 8F 20 53 45  |.. IS%(NB) :. SE|
00000770: 43 54 4F 52 20 49 4E 44  45 58 20 41 52 52 41 59  |CTOR INDEX ARRAY|
00000780: 00 A3 0B A5 00 86 20 4B  31 24 28 4E 52 29 20 3A  |...... K1$(NR) :|
00000790: 8F 20 50 52 49 4D 41 52  59 20 4B 45 59 20 56 41  |. PRIMARY KEY VA|
000007A0: 4C 55 45 00 D1 0B AA 00  86 20 52 52 25 28 4E 52  |LUE...... RR%(NR|
000007B0: 29 20 3A 8F 20 52 45 4C  41 54 49 56 45 20 52 45  |) :. RELATIVE RE|
000007C0: 43 4F 52 44 20 4C 49 53  54 20 50 45 52 20 4B 45  |CORD LIST PER KE|
000007D0: 59 00 D7 0B AF 00 8E 00  F7 0B C8 00 8F 20 2A 2A  |Y............ **|
000007E0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000007F0: 2A 2A 2A 2A 2A 2A 2A 00  0F 0C C9 00 8F 20 55 50  |*******...... UP|
00000800: 44 41 54 45 20 52 45 43  4F 52 44 2C 20 43 52 00  |DATE RECORD, CR.|
00000810: 15 0C CA 00 8F 00 1E 0C  CD 00 8D 39 30 30 00 34  |...........900.4|
00000820: 0C D2 00 98 43 43 2C 22  55 31 3A 22 43 30 3B 44  |....CC,"U1:"C0;D|
00000830: 3B 54 3B 53 00 48 0C D7  00 98 43 43 2C 22 42 2D  |;T;S.H....CC,"B-|
00000840: 50 3A 22 43 30 3B 52 50  00 55 0C DC 00 81 43 46  |P:"C0;RP.U....CF|
00000850: B2 31 A4 4E 46 00 5E 0C  E1 00 8D 35 30 30 00 66  |.1.NF.^....500.f|
00000860: 0C E6 00 82 43 46 00 7C  0C EB 00 98 43 43 2C 22  |....CF.|....CC,"|
00000870: 55 32 3A 22 43 30 3B 44  3B 54 3B 53 00 8E 0C F0  |U2:"C0;D;T;S....|
00000880: 00 8D 31 30 30 30 3A 8B  45 A7 31 39 30 30 00 94  |..1000:.E.1900..|
00000890: 0C F5 00 8E 00 B4 0C 2C  01 8F 20 2A 2A 2A 2A 2A  |.......,.. *****|
000008A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000008B0: 2A 2A 2A 2A 00 CA 0C 2D  01 8F 20 52 45 41 44 20  |****...-.. READ |
000008C0: 52 45 43 4F 52 44 2C 20  43 52 00 D0 0C 2E 01 8F  |RECORD, CR......|
000008D0: 00 D9 0C 31 01 8D 39 30  30 00 EF 0C 36 01 98 43  |...1..900...6..C|
000008E0: 43 2C 22 55 31 3A 22 43  30 3B 44 3B 54 3B 53 00  |C,"U1:"C0;D;T;S.|
000008F0: 03 0D 3B 01 98 43 43 2C  22 42 2D 50 3A 22 43 30  |..;..CC,"B-P:"C0|
00000900: 3B 52 50 00 15 0D 40 01  8D 31 30 30 30 3A 8B 45  |;RP...@..1000:.E|
00000910: A7 31 39 30 30 00 22 0D  45 01 81 43 46 B2 31 A4  |.1900.".E..CF.1.|
00000920: 4E 46 00 2B 0D 4A 01 8D  36 30 30 00 33 0D 4F 01  |NF.+.J..600.3.O.|
00000930: 82 43 46 00 39 0D 54 01  8E 00 59 0D 90 01 8F 20  |.CF.9.T...Y.... |
00000940: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000950: 2A 2A 2A 2A 2A 2A 2A 2A  2A 00 92 0D 91 01 8F 20  |*********...... |
00000960: 55 50 44 41 54 45 20 46  49 45 4C 44 28 43 46 29  |UPDATE FIELD(CF)|
00000970: 20 4F 46 20 52 45 43 4F  52 44 20 43 52 2C 20 53  | OF RECORD CR, S|
00000980: 49 4E 47 4C 45 20 46 49  45 4C 44 20 55 50 44 41  |INGLE FIELD UPDA|
00000990: 54 45 00 98 0D 92 01 8F  00 A1 0D 95 01 8D 39 30  |TE............90|
000009A0: 30 00 B7 0D 9A 01 98 43  43 2C 22 55 31 3A 22 43  |0......CC,"U1:"C|
000009B0: 30 3B 44 3B 54 3B 53 00  C9 0D 9F 01 8D 31 30 30  |0;D;T;S......100|
000009C0: 30 3A 8B 45 A7 31 39 30  30 00 E5 0D A4 01 98 43  |0:.E.1900......C|
000009D0: 43 2C 22 42 2D 50 3A 22  43 30 3B 46 50 25 28 43  |C,"B-P:"C0;FP%(C|
000009E0: 46 29 AA 52 50 00 FE 0D  A9 01 8D 35 30 30 20 3A  |F).RP......500 :|
000009F0: 8F 20 55 50 44 41 54 45  20 46 49 45 4C 44 00 14  |. UPDATE FIELD..|
00000A00: 0E AE 01 98 43 43 2C 22  55 32 3A 22 43 30 3B 44  |....CC,"U2:"C0;D|
00000A10: 3B 54 3B 53 00 26 0E B3  01 8D 31 30 30 30 3A 8B  |;T;S.&....1000:.|
00000A20: 45 A7 31 39 30 30 00 2C  0E B8 01 8E 00 4C 0E C2  |E.1900.,.....L..|
00000A30: 01 8F 20 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.. *************|
00000A40: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 00 81 0E C3  |************....|
00000A50: 01 8F 20 52 45 41 44 20  46 49 45 4C 44 28 43 46  |.. READ FIELD(CF|
00000A60: 29 20 4F 46 20 52 45 43  4F 52 44 20 43 52 2C 20  |) OF RECORD CR, |
00000A70: 53 49 4E 47 4C 45 20 46  49 45 4C 44 20 52 45 41  |SINGLE FIELD REA|
00000A80: 44 00 87 0E C4 01 8F 00  90 0E C7 01 8D 39 30 30  |D............900|
00000A90: 00 A6 0E CC 01 98 43 43  2C 22 55 31 3A 22 43 30  |......CC,"U1:"C0|
00000AA0: 3B 44 3B 54 3B 53 00 B8  0E D1 01 8D 31 30 30 30  |;D;T;S......1000|
00000AB0: 3A 8B 45 A7 31 39 30 30  00 D4 0E D6 01 98 43 43  |:.E.1900......CC|
00000AC0: 2C 22 42 2D 50 3A 22 43  30 3B 46 50 25 28 43 46  |,"B-P:"C0;FP%(CF|
00000AD0: 29 AA 52 50 00 EB 0E DB  01 8D 36 30 30 20 3A 8F  |).RP......600 :.|
00000AE0: 20 52 45 41 44 20 46 49  45 4C 44 00 F1 0E E0 01  | READ FIELD.....|
00000AF0: 8E 00 11 0F F4 01 8F 20  2A 2A 2A 2A 2A 2A 2A 2A  |....... ********|
00000B00: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000B10: 2A 00 34 0F F5 01 8F 20  55 50 44 41 54 45 20 46  |*.4.... UPDATE F|
00000B20: 49 45 4C 44 28 43 46 29  2C 20 42 2D 50 20 49 53  |IELD(CF), B-P IS|
00000B30: 20 53 45 54 00 3A 0F F6  01 8F 00 4E 0F FE 01 8B  | SET.:.....N....|
00000B40: 46 54 25 28 43 46 29 B3  B1 31 A7 35 32 30 00 72  |FT%(CF)..1.520.r|
00000B50: 0F 03 02 41 24 B2 C9 28  53 50 24 AA C4 28 46 28  |...A$..(SP$..(F(|
00000B60: 43 46 29 29 2C 46 53 25  28 43 46 29 29 3A 89 35  |CF)),FS%(CF)):.5|
00000B70: 33 30 00 8F 0F 08 02 41  24 B2 C8 28 46 24 28 43  |30.....A$..(F$(C|
00000B80: 46 29 AA 53 50 24 2C 46  53 25 28 43 46 29 29 00  |F).SP$,FS%(CF)).|
00000B90: 9E 0F 12 02 98 43 30 2C  41 24 3B 4D 24 3B 00 A4  |.....C0,A$;M$;..|
00000BA0: 0F 17 02 8E 00 C4 0F 58  02 8F 20 2A 2A 2A 2A 2A  |.......X.. *****|
00000BB0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000BC0: 2A 2A 2A 2A 00 E5 0F 59  02 8F 20 52 45 41 44 20  |****...Y.. READ |
00000BD0: 46 49 45 4C 44 28 43 46  29 2C 20 42 2D 50 20 49  |FIELD(CF), B-P I|
00000BE0: 53 20 53 45 54 00 EB 0F  5A 02 8F 00 FE 0F 62 02  |S SET...Z.....b.|
00000BF0: 8B 20 46 54 25 28 43 46  29 20 A7 36 34 35 00 09  |. FT%(CF) .645..|
00000C00: 10 67 02 41 31 24 B2 22  22 00 1A 10 6C 02 81 4A  |.g.A1$.""...l..J|
00000C10: B2 31 A4 46 53 25 28 43  46 29 00 35 10 71 02 A1  |.1.FS%(CF).5.q..|
00000C20: 23 43 30 2C 41 24 3A 8B  41 24 B2 22 22 A7 41 24  |#C0,A$:.A$."".A$|
00000C30: B2 C7 28 30 29 00 44 10  76 02 41 31 24 B2 41 31  |..(0).D.v.A1$.A1|
00000C40: 24 AA 41 24 00 55 10 7B  02 82 3A 46 24 28 43 46  |$.A$.U.{..:F$(CF|
00000C50: 29 B2 41 31 24 00 63 10  80 02 A1 23 43 30 2C 41  |).A1$.c....#C0,A|
00000C60: 24 3A 8E 00 72 10 85 02  84 43 30 2C 46 24 28 43  |$:..r....C0,F$(C|
00000C70: 46 29 00 85 10 8A 02 8B  46 54 25 28 43 46 29 B3  |F)......FT%(CF).|
00000C80: B1 31 A7 20 8E 00 9B 10  8F 02 46 28 43 46 29 B2  |.1. ......F(CF).|
00000C90: C5 28 46 24 28 43 46 29  29 3A 8E 00 BB 10 BC 02  |.(F$(CF)):......|
00000CA0: 8F 20 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |. **************|
00000CB0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 00 F5 10 BD 02  |***********.....|
00000CC0: 8F 20 41 4C 4C 4F 43 41  54 45 20 4F 4E 45 20 42  |. ALLOCATE ONE B|
00000CD0: 4C 4F 43 4B 2C 20 54 20  26 20 53 20 3D 52 45 51  |LOCK, T & S =REQ|
00000CE0: 55 45 53 54 45 44 20 54  52 41 43 4B 20 26 20 53  |UESTED TRACK & S|
00000CF0: 45 43 54 4F 52 00 33 11  BE 02 8F 20 20 52 45 54  |ECTOR.3....  RET|
00000D00: 55 52 4E 45 44 20 54 20  26 20 53 20 41 52 45 20  |URNED T & S ARE |
00000D10: 41 4C 4C 4F 43 41 54 45  44 20 56 41 4C 55 45 53  |ALLOCATED VALUES|
00000D20: 20 20 28 54 3D 31 38 20  49 53 20 53 4B 49 50 50  |  (T=18 IS SKIPP|
00000D30: 45 44 29 00 39 11 BF 02  8F 00 59 11 C6 02 8D 38  |ED).9.....Y....8|
00000D40: 30 30 3A 8B 45 A7 31 39  30 30 3A 20 8F 20 43 48  |00:.E.1900: . CH|
00000D50: 45 43 4B 20 54 20 26 20  53 00 6D 11 CB 02 98 43  |ECK T & S.m....C|
00000D60: 43 2C 22 42 2D 41 3A 22  44 3B 54 3B 53 00 82 11  |C,"B-A:"D;T;S...|
00000D70: D0 02 84 43 43 2C 45 4E  2C 45 4D 24 2C 45 54 2C  |...CC,EN,EM$,ET,|
00000D80: 45 53 00 8E 11 D5 02 8B  45 4E B2 30 A7 8E 00 9F  |ES......EN.0....|
00000D90: 11 DA 02 8B 45 4E B3 B1  36 35 A7 31 39 30 30 00  |....EN..65.1900.|
00000DA0: B8 11 DF 02 8B 45 54 B2  31 38 A7 54 B2 31 39 3A  |.....ET.18.T.19:|
00000DB0: 53 B2 30 3A 89 37 31 35  00 C6 11 E0 02 54 B2 45  |S.0:.715.....T.E|
00000DC0: 54 3A 53 B2 45 53 00 CF  11 E4 02 89 37 31 35 00  |T:S.ES......715.|
00000DD0: EF 11 EE 02 8F 20 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |..... **********|
00000DE0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
00000DF0: 1C 12 EF 02 8F 20 46 52  45 45 20 4F 4E 45 20 42  |..... FREE ONE B|
00000E00: 4C 4F 43 4B 2C 20 54 20  26 20 53 20 3D 20 54 52  |LOCK, T & S = TR|
00000E10: 41 43 4B 20 26 20 53 45  43 54 4F 52 00 22 12 F0  |ACK & SECTOR."..|
00000E20: 02 8F 00 42 12 F8 02 8D  38 30 30 3A 8B 45 A7 31  |...B....800:.E.1|
00000E30: 39 30 30 3A 20 8F 20 43  48 45 43 4B 20 54 20 26  |900: . CHECK T &|
00000E40: 20 53 00 56 12 02 03 98  43 43 2C 22 42 2D 46 3A  | S.V....CC,"B-F:|
00000E50: 22 44 3B 54 3B 53 00 6B  12 0C 03 84 43 43 2C 45  |"D;T;S.k....CC,E|
00000E60: 4E 2C 45 4D 24 2C 45 54  2C 45 53 00 77 12 11 03  |N,EM$,ET,ES.w...|
00000E70: 8B 45 4E B2 30 A7 8E 00  81 12 16 03 89 31 39 30  |.EN.0........190|
00000E80: 30 00 A1 12 20 03 8F 20  2A 2A 2A 2A 2A 2A 2A 2A  |0... .. ********|
00000E90: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000EA0: 2A 00 B8 12 21 03 8F 20  43 48 45 43 4B 20 4D 41  |*...!.. CHECK MA|
00000EB0: 58 20 53 45 43 54 4F 52  00 BE 12 22 03 8F 00 CD  |X SECTOR..."....|
00000EC0: 12 2A 03 8B 54 B1 33 35  A7 31 39 30 30 00 E4 12  |.*..T.35.1900...|
00000ED0: 34 03 45 B2 30 3A 8B 54  B2 30 A7 B2 34 30 3A 89  |4.E.0:.T.0..40:.|
00000EE0: 31 39 30 30 00 F8 12 48  03 41 33 B2 31 36 3A 8B  |1900...H.A3.16:.|
00000EF0: 54 B1 33 30 A7 38 38 30  00 0C 13 52 03 41 33 B2  |T.30.880...R.A3.|
00000F00: 31 37 3A 8B 54 B1 32 34  A7 38 38 30 00 20 13 5C  |17:.T.24.880. .\|
00000F10: 03 41 33 B2 31 39 3A 8B  54 B1 31 37 A7 38 38 30  |.A3.19:.T.17.880|
00000F20: 00 2A 13 66 03 41 33 B2  32 30 00 39 13 70 03 8B  |.*.f.A3.20.9.p..|
00000F30: 53 B1 41 33 A7 31 39 30  30 00 3F 13 7A 03 8E 00  |S.A3.1900.?.z...|
00000F40: 5F 13 84 03 8F 20 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |_.... **********|
00000F50: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
00000F60: A3 13 85 03 8F 20 53 45  54 20 52 45 43 4F 52 44  |..... SET RECORD|
00000F70: 27 53 20 54 52 41 43 4B  2C 20 53 45 43 54 4F 52  |'S TRACK, SECTOR|
00000F80: 20 26 20 52 45 43 4F 52  44 20 50 4F 49 4E 54 45  | & RECORD POINTE|
00000F90: 52 20 46 52 4F 4D 20 49  4E 44 45 58 20 41 52 52  |R FROM INDEX ARR|
00000FA0: 41 59 53 00 A9 13 86 03  8F 00 B2 13 89 03 44 B2  |AYS...........D.|
00000FB0: 52 44 00 BA 13 8E 03 45  B2 30 00 D5 13 93 03 8B  |RD.....E.0......|
00000FC0: 41 53 B2 AB 31 A7 52 50  B2 43 52 AC 52 53 AA 31  |AS..1.RP.CR.RS.1|
00000FD0: 3A 89 39 35 30 00 06 14  98 03 52 50 B2 B5 28 28  |:.950.....RP..((|
00000FE0: 43 52 AB 31 29 AD 52 42  AA 45 50 29 3A 8B 52 50  |CR.1).RB.EP):.RP|
00000FF0: B1 4E 42 20 B0 20 52 50  B3 30 A7 45 4E B2 34 31  |.NB . RP.0.EN.41|
00001000: 3A 89 31 39 30 30 00 1E  14 A2 03 54 B2 49 54 25  |:.1900.....T.IT%|
00001010: 28 52 50 29 3A 53 B2 49  53 25 28 52 50 29 00 42  |(RP):S.IS%(RP).B|
00001020: 14 AC 03 52 50 B2 B5 28  28 28 43 52 AB 31 29 AD  |...RP..(((CR.1).|
00001030: 52 42 AB 52 50 AA 45 50  29 AC 52 53 AC 52 42 29  |RB.RP.EP).RS.RB)|
00001040: AA 31 00 5B 14 B6 03 8B  52 50 B1 32 35 34 A7 20  |.1.[....RP.254. |
00001050: 45 4E B2 34 31 3A 89 31  39 30 30 00 61 14 C0 03  |EN.41:.1900.a...|
00001060: 8E 00 81 14 E8 03 8F 20  2A 2A 2A 2A 2A 2A 2A 2A  |....... ********|
00001070: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001080: 2A 00 9F 14 E9 03 8F 20  49 4E 50 55 54 20 32 30  |*...... INPUT 20|
00001090: 34 30 20 45 52 52 4F 52  20 53 54 41 54 55 53 00  |40 ERROR STATUS.|
000010A0: A5 14 EA 03 8F 00 BB 14  ED 03 84 43 43 2C 45 4E  |...........CC,EN|
000010B0: 24 2C 45 4D 24 2C 45 54  2C 45 53 00 CD 14 F2 03  |$,EM$,ET,ES.....|
000010C0: 45 4E B2 C5 28 45 4E 24  29 3A 45 B2 30 00 E0 14  |EN..(EN$):E.0...|
000010D0: F7 03 8B 20 45 4E 24 B2  22 30 30 22 20 A7 20 8E  |... EN$."00" . .|
000010E0: 00 F8 14 F9 03 45 54 24  B2 C4 28 45 54 29 3A 45  |.....ET$..(ET):E|
000010F0: 53 24 B2 C4 28 45 53 29  00 1B 15 FC 03 8B 45 4E  |S$..(ES)......EN|
00001100: 24 B3 B1 C9 28 22 30 22  AA CA 28 C4 28 45 4E 29  |$...("0"..(.(EN)|
00001110: 2C 32 29 2C 32 29 A7 31  30 37 30 00 3C 15 06 04  |,2),2).1070.<...|
00001120: 8B 20 45 4E B2 31 20 A7  20 45 4D 24 B2 20 45 54  |. EN.1 . EM$. ET|
00001130: 24 AA 22 20 22 AA 45 4D  24 3A 20 8E 00 46 15 0B  |$." ".EM$: ..F..|
00001140: 04 45 B2 45 AA 31 00 5F  15 10 04 45 4D 24 B2 22  |.E.E.1._...EM$."|
00001150: 12 22 AA 45 4E 24 AA 22  92 20 22 AA 45 4D 24 00  |.".EN$.". ".EM$.|
00001160: 91 15 1A 04 8B 20 45 4E  B3 33 30 20 B0 20 45 4E  |..... EN.30 . EN|
00001170: B2 36 35 20 A7 20 45 4D  24 B2 45 4D 24 AA 22 20  |.65 . EM$.EM$." |
00001180: 4F 4E 20 22 AA 45 54 24  AA 22 2C 20 22 AA 45 53  |ON ".ET$.", ".ES|
00001190: 24 00 97 15 24 04 8E 00  C1 15 2E 04 45 4D 24 B2  |$...$.......EM$.|
000011A0: 22 12 53 59 53 54 45 4D  20 4E 4F 54 20 52 45 53  |".SYSTEM NOT RES|
000011B0: 50 4F 4E 44 49 4E 47 20  50 52 4F 50 45 52 4C 59  |PONDING PROPERLY|
000011C0: 22 00 DD 15 38 04 45 4D  24 B2 45 4D 24 AA 45 4E  |"...8.EM$.EM$.EN|
000011D0: 24 AA 45 4D 24 AA 45 54  24 AA 45 53 24 00 E7 15  |$.EM$.ET$.ES$...|
000011E0: 3D 04 45 B2 45 AA 31 00  ED 15 42 04 8E 00 0D 16  |=.E.E.1...B.....|
000011F0: 4C 04 8F 20 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |L.. ************|
00001200: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 00 2A 16  |*************.*.|
00001210: 4D 04 8F 20 43 52 45 41  54 45 20 44 45 53 43 52  |M.. CREATE DESCR|
00001220: 49 50 54 4F 52 20 46 49  4C 45 00 44 16 4E 04 8F  |IPTOR FILE.D.N..|
00001230: 20 49 4E 50 55 54 3A 20  46 24 3D 20 46 49 4C 45  | INPUT: F$= FILE|
00001240: 4E 41 4D 45 00 6D 16 4F  04 8F 20 20 20 20 20 20  |NAME.m.O..      |
00001250: 20 20 49 44 24 2C 4E 52  2C 4E 46 2C 46 53 25 28  |  ID$,NR,NF,FS%(|
00001260: 29 2C 46 54 25 28 29 2C  46 48 24 28 29 00 96 16  |),FT%(),FH$()...|
00001270: 50 04 8F 20 20 20 20 20  20 20 20 44 44 3D 20 44  |P..        DD= D|
00001280: 45 53 43 52 49 50 54 4F  52 20 46 49 4C 45 20 44  |ESCRIPTOR FILE D|
00001290: 52 49 56 45 20 23 00 BB  16 51 04 8F 20 20 20 20  |RIVE #...Q..    |
000012A0: 20 20 20 20 52 44 3D 20  52 41 4E 44 4F 4D 20 44  |    RD= RANDOM D|
000012B0: 49 53 4B 20 44 52 49 56  45 20 23 00 DC 16 52 04  |ISK DRIVE #...R.|
000012C0: 8F 20 44 52 49 56 45 53  20 4D 55 53 54 20 42 45  |. DRIVES MUST BE|
000012D0: 20 49 4E 49 54 49 41 4C  49 5A 45 44 00 E2 16 55  | INITIALIZED...U|
000012E0: 04 8F 00 F0 16 56 04 52  53 B2 31 3A 44 B2 52 44  |.....V.RS.1:D.RD|
000012F0: 00 22 17 5B 04 81 41 30  B2 31 A4 4E 46 3A 46 50  |.".[..A0.1.NF:FP|
00001300: 25 28 41 30 29 B2 52 53  3A 52 53 B2 46 53 25 28  |%(A0).RS:RS.FS%(|
00001310: 41 30 29 AA 52 53 AA 31  3A 82 3A 52 53 B2 52 53  |A0).RS.1:.:RS.RS|
00001320: AB 31 00 36 17 5C 04 52  42 B2 B5 28 32 35 34 AD  |.1.6.\.RB..(254.|
00001330: 52 53 AA 45 50 29 00 56  17 60 04 9F 43 30 2C 44  |RS.EP).V.`..C0,D|
00001340: 4E 2C 43 30 2C 22 23 22  3A 8D 31 30 30 30 3A 8B  |N,C0,"#":.1000:.|
00001350: 45 A7 31 39 30 30 00 60  17 61 04 8D 31 32 38 30  |E.1900.`.a..1280|
00001360: 00 73 17 62 04 98 43 43  2C 22 42 2D 50 3A 22 43  |.s.b..CC,"B-P:"C|
00001370: 30 3B 31 00 89 17 63 04  81 41 30 B2 31 A4 52 42  |0;1...c..A0.1.RB|
00001380: 3A 81 41 31 B2 31 A4 4E  46 00 A4 17 64 04 98 43  |:.A1.1.NF...d..C|
00001390: 30 2C C8 28 53 50 24 2C  46 53 25 28 41 31 29 29  |0,.(SP$,FS%(A1))|
000013A0: 3B 4D 24 3B 00 AF 17 66  04 82 41 31 2C 41 30 00  |;M$;...f..A1,A0.|
000013B0: DC 17 6A 04 4E 42 B2 B5  28 4E 52 AD 52 42 AA 45  |..j.NB..(NR.RB.E|
000013C0: 50 29 3A 8B 28 4E 52 AD  52 42 AB 4E 42 29 AC 52  |P):.(NR.RB.NB).R|
000013D0: 42 B1 B2 31 A7 4E 42 B2  4E 42 AA 31 00 ED 17 6F  |B..1.NB.NB.1...o|
000013E0: 04 54 B2 31 3A 53 B2 30  3A 8D 31 35 30 00 09 18  |.T.1:S.0:.150...|
000013F0: 74 04 81 41 30 B2 30 A4  4E 42 AB 31 3A 8D 37 31  |t..A0.0.NB.1:.71|
00001400: 30 3A 8B 45 A7 31 39 30  30 00 28 18 79 04 49 54  |0:.E.1900.(.y.IT|
00001410: 25 28 41 30 29 B2 54 3A  49 53 25 28 41 30 29 B2  |%(A0).T:IS%(A0).|
00001420: 53 3A 8D 34 33 30 3A 82  00 31 18 7E 04 8D 37 31  |S:.430:..1.~..71|
00001430: 30 00 44 18 80 04 98 43  43 2C 22 42 2D 50 3A 22  |0.D....CC,"B-P:"|
00001440: 43 30 3B 31 00 70 18 83  04 98 43 30 2C 4E 52 3B  |C0;1.p....C0,NR;|
00001450: 4D 24 3B 31 3B 4D 24 3B  4E 42 3B 4D 24 3B 52 53  |M$;1;M$;NB;M$;RS|
00001460: 3B 4D 24 3B 52 42 3B 4D  24 3B 4E 46 3B 4D 24 3B  |;M$;RB;M$;NF;M$;|
00001470: 00 87 18 88 04 98 43 43  2C 22 42 2D 57 3A 22 43  |......CC,"B-W:"C|
00001480: 30 3B 44 3B 54 3B 53 00  B2 18 8D 04 41 24 B2 C4  |0;D;T;S.....A$..|
00001490: 28 44 44 29 AA 22 3A 22  AA C8 28 46 24 AA 53 50  |(DD).":"..(F$.SP|
000014A0: 24 2C 31 30 29 AA 22 2E  44 45 53 43 52 2C 55 2C  |$,10).".DESCR,U,|
000014B0: 57 22 00 C3 18 8E 04 9F  43 31 2C 44 4E 2C 43 31  |W"......C1,DN,C1|
000014C0: 2C 41 24 00 D5 18 8F 04  8D 31 30 30 30 3A 8B 45  |,A$......1000:.E|
000014D0: A7 31 39 30 30 00 EF 18  90 04 98 43 31 2C 49 44  |.1900......C1,ID|
000014E0: 24 3B 4D 24 3B 54 3B 4D  24 3B 53 3B 4D 24 3B 00  |$;M$;T;M$;S;M$;.|
000014F0: 24 19 92 04 81 41 30 B2  31 A4 4E 46 3A 98 43 31  |$....A0.1.NF:.C1|
00001500: 2C C7 28 46 53 25 28 41  30 29 29 3B C7 28 46 54  |,.(FS%(A0));.(FT|
00001510: 25 28 41 30 29 29 3B 46  48 24 28 41 30 29 3B 4D  |%(A0));FH$(A0);M|
00001520: 24 3B 3A 82 00 50 19 97  04 81 41 30 B2 30 A4 4E  |$;:..P....A0.0.N|
00001530: 42 AB 31 3A 98 43 31 2C  C7 28 49 54 25 28 41 30  |B.1:.C1,.(IT%(A0|
00001540: 29 29 3B C7 28 49 53 25  28 41 30 29 29 3B 3A 82  |));.(IS%(A0));:.|
00001550: 00 5E 19 9C 04 A0 43 31  3A A0 43 30 3A 8E 00 7E  |.^....C1:.C0:..~|
00001560: 19 B0 04 8F 20 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.... ***********|
00001570: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 00 97  |**************..|
00001580: 19 B1 04 8F 20 4F 50 45  4E 20 52 45 4C 41 54 49  |.... OPEN RELATI|
00001590: 56 45 20 46 49 4C 45 00  B1 19 B2 04 8F 20 49 4E  |VE FILE...... IN|
000015A0: 50 55 54 3A 20 46 24 3D  20 46 49 4C 45 4E 41 4D  |PUT: F$= FILENAM|
000015B0: 45 00 DA 19 B3 04 8F 20  20 20 20 20 20 20 20 44  |E......        D|
000015C0: 44 3D 20 44 45 53 43 52  49 50 54 4F 52 20 46 49  |D= DESCRIPTOR FI|
000015D0: 4C 45 20 44 52 49 56 45  20 23 00 FF 19 B4 04 8F  |LE DRIVE #......|
000015E0: 20 20 20 20 20 20 20 20  52 44 3D 20 52 41 4E 44  |        RD= RAND|
000015F0: 4F 4D 20 44 49 53 4B 20  44 52 49 56 45 20 23 00  |OM DISK DRIVE #.|
00001600: 20 1A B5 04 8F 20 44 52  49 56 45 53 20 4D 55 53  | .... DRIVES MUS|
00001610: 54 20 42 45 20 49 4E 49  54 49 41 4C 49 5A 45 44  |T BE INITIALIZED|
00001620: 00 26 1A B9 04 8F 00 51  1A BA 04 41 24 B2 C4 28  |.&.....Q...A$..(|
00001630: 44 44 29 AA 22 3A 22 AA  C8 28 46 24 AA 53 50 24  |DD).":"..(F$.SP$|
00001640: 2C 31 30 29 AA 22 2E 44  45 53 43 52 2C 55 2C 52  |,10).".DESCR,U,R|
00001650: 22 00 70 1A BF 04 9F 43  31 2C 44 4E 2C 43 31 2C  |".p....C1,DN,C1,|
00001660: 41 24 3A 8D 31 30 30 30  3A 8B 45 A7 31 39 30 30  |A$:.1000:.E.1900|
00001670: 00 80 1A C4 04 84 43 31  2C 49 44 24 2C 54 2C 53  |......C1,ID$,T,S|
00001680: 00 A0 1A C9 04 9F 43 30  2C 44 4E 2C 43 30 2C 22  |......C0,DN,C0,"|
00001690: 23 22 3A 8D 31 30 30 30  3A 8B 45 A7 31 39 30 30  |#":.1000:.E.1900|
000016A0: 00 AA 1A CA 04 8D 31 32  38 30 00 D1 1A CB 04 98  |......1280......|
000016B0: 43 43 2C 22 42 2D 52 3A  22 3B 43 30 3B 52 44 3B  |CC,"B-R:";C0;RD;|
000016C0: 54 3B 53 3A 8D 31 30 30  30 3A 8B 45 A7 31 39 30  |T;S:.1000:.E.190|
000016D0: 30 00 EB 1A CE 04 84 43  30 2C 4E 52 2C 46 52 2C  |0......C0,NR,FR,|
000016E0: 4E 42 2C 52 53 2C 52 42  2C 4E 46 00 06 1B D3 04  |NB,RS,RB,NF.....|
000016F0: 8D 31 30 30 3A 46 54 25  28 30 29 B2 54 3A 46 53  |.100:FT%(0).T:FS|
00001700: 25 28 30 29 B2 53 00 27  1B D8 04 81 41 30 B2 31  |%(0).S.'....A0.1|
00001710: A4 4E 46 3A 8D 31 32 39  38 3A 46 53 25 28 41 30  |.NF:.1298:FS%(A0|
00001720: 29 B2 C6 28 41 24 29 00  3F 1B DD 04 8D 31 32 39  |)..(A$).?....129|
00001730: 38 3A 46 54 25 28 41 30  29 B2 C6 28 41 24 29 00  |8:FT%(A0)..(A$).|
00001740: 51 1B E2 04 84 43 31 2C  46 48 24 28 41 30 29 3A  |Q....C1,FH$(A0):|
00001750: 82 00 74 1B E7 04 81 41  30 B2 30 A4 4E 42 AB 31  |..t....A0.0.NB.1|
00001760: 3A 8D 31 32 39 38 3A 49  54 25 28 41 30 29 B2 C6  |:.1298:IT%(A0)..|
00001770: 28 41 24 29 00 8E 1B EC  04 8D 31 32 39 38 3A 49  |(A$)......1298:I|
00001780: 53 25 28 41 30 29 B2 C6  28 41 24 29 3A 82 00 A0  |S%(A0)..(A$):...|
00001790: 1B F1 04 8D 31 30 30 30  3A 8B 45 A7 31 39 30 30  |....1000:.E.1900|
000017A0: 00 A8 1B F6 04 A0 43 31  00 AE 1B FB 04 8E 00 D8  |......C1........|
000017B0: 1B 00 05 98 43 43 2C 22  55 31 3A 22 3B 43 30 3B  |....CC,"U1:";C0;|
000017C0: 52 44 3B 22 2C 31 38 2C  30 22 3A 8D 31 30 30 30  |RD;",18,0":.1000|
000017D0: 3A 8B 45 A7 31 39 30 30  00 EE 1B 05 05 98 43 43  |:.E.1900......CC|
000017E0: 2C 22 42 2D 50 3A 22 3B  43 30 3B 31 36 32 00 33  |,"B-P:";C0;162.3|
000017F0: 1C 06 05 A1 23 43 30 2C  41 24 2C 41 31 24 3A 41  |....#C0,A$,A1$:A|
00001800: 24 B2 41 24 AA 41 31 24  3A 8B 49 44 24 B3 B1 41  |$.A$.A1$:.ID$..A|
00001810: 24 A7 45 4E B2 34 33 3A  45 4D 24 B2 22 44 49 53  |$.EN.43:EM$."DIS|
00001820: 4B 49 44 20 4D 49 53 4D  41 54 43 48 22 3A 89 31  |KID MISMATCH":.1|
00001830: 39 30 30 00 39 1C 0A 05  8E 00 54 1C 12 05 A1 23  |900.9.....T....#|
00001840: 43 31 2C 41 24 3A 8B 41  24 B2 22 22 A7 41 24 B2  |C1,A$:.A$."".A$.|
00001850: C7 28 30 29 00 5A 1C 13  05 8E 00 7A 1C 78 05 8F  |.(0).Z.....z.x..|
00001860: 20 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  | ***************|
00001870: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 00 94 1C 79 05 8F  |**********...y..|
00001880: 20 43 4C 4F 53 45 20 52  45 4C 41 54 49 56 45 20  | CLOSE RELATIVE |
00001890: 46 49 4C 45 00 C5 1C 7A  05 8F 20 49 4E 50 55 54  |FILE...z.. INPUT|
000018A0: 3A 20 56 41 52 49 41 42  4C 45 53 20 46 52 4F 4D  |: VARIABLES FROM|
000018B0: 20 4F 50 45 4E 20 53 48  4F 55 4C 44 20 42 45 20  | OPEN SHOULD BE |
000018C0: 56 41 4C 49 44 00 CB 1C  81 05 8F 00 DE 1C 82 05  |VALID...........|
000018D0: 98 43 43 2C 22 42 2D 50  3A 22 43 30 3B 31 00 0B  |.CC,"B-P:"C0;1..|
000018E0: 1D 8C 05 98 43 30 2C 4E  52 3B 4D 24 3B 46 52 3B  |....C0,NR;M$;FR;|
000018F0: 4D 24 3B 4E 42 3B 4D 24  3B 52 53 3B 4D 24 3B 52  |M$;NB;M$;RS;M$;R|
00001900: 42 3B 4D 24 3B 4E 46 3B  4D 24 3B 00 2C 1D 96 05  |B;M$;NF;M$;.,...|
00001910: 98 43 43 2C 22 42 2D 57  3A 22 43 30 3B 44 3B 46  |.CC,"B-W:"C0;D;F|
00001920: 54 25 28 30 29 3B 46 53  25 28 30 29 00 34 1D A0  |T%(0);FS%(0).4..|
00001930: 05 A0 43 30 00 3A 1D D2  05 8E 00 46 1D 6C 07 45  |..C0.:.....F.l.E|
00001940: B2 45 AA 31 3A 8E 00 88  1D D0 07 85 22 93 11 11  |.E.1:......."...|
00001950: 44 4F 20 59 4F 55 20 57  49 53 48 20 54 4F 20 43  |DO YOU WISH TO C|
00001960: 52 45 41 54 45 20 41 20  46 49 4C 45 A0 A0 59 9D  |REATE A FILE..Y.|
00001970: 9D 9D 22 3B 41 24 3A 8B  C8 28 41 24 2C 31 29 B2  |..";A$:..(A$,1).|
00001980: 22 4E 22 A7 32 31 30 30  00 BC 1D D1 07 85 22 11  |"N".2100......".|
00001990: 52 41 4E 44 4F 4D 20 46  49 4C 45 20 4E 41 4D 45  |RANDOM FILE NAME|
000019A0: 20 20 50 48 4F 4E 45 20  4C 49 53 54 9D 9D 9D 9D  |  PHONE LIST....|
000019B0: 9D 9D 9D 9D 9D 9D 9D 9D  22 3B 46 24 00 E2 1D D2  |........";F$....|
000019C0: 07 85 22 4B 45 59 20 46  49 4C 45 20 44 52 49 56  |.."KEY FILE DRIV|
000019D0: 45 20 4E 55 4D 42 45 52  20 20 30 9D 9D 9D 22 3B  |E NUMBER  0...";|
000019E0: 44 44 00 0B 1E D3 07 85  22 52 41 4E 44 4F 4D 20  |DD......"RANDOM |
000019F0: 46 49 4C 45 20 44 52 49  56 45 20 4E 55 4D 42 45  |FILE DRIVE NUMBE|
00001A00: 52 20 20 30 9D 9D 9D 22  3B 52 44 00 43 1E D5 07  |R  0...";RD.C...|
00001A10: 85 22 45 4E 54 45 52 20  49 44 20 4F 46 20 52 41  |."ENTER ID OF RA|
00001A20: 4E 44 4F 4D 20 44 49 53  4B 20 20 43 53 9D 9D 9D  |NDOM DISK  CS...|
00001A30: 9D 22 3B 49 44 24 3A 49  44 24 B2 C8 28 49 44 24  |.";ID$:ID$..(ID$|
00001A40: 2C 32 29 00 5F 1E D6 07  85 22 4E 55 4D 42 45 52  |,2)._...."NUMBER|
00001A50: 20 4F 46 20 52 45 43 4F  52 44 53 22 3B 4E 52 00  | OF RECORDS";NR.|
00001A60: 85 1E D7 07 85 22 4E 55  4D 42 45 52 20 4F 46 20  |....."NUMBER OF |
00001A70: 46 49 45 4C 44 53 20 50  45 52 20 52 45 43 4F 52  |FIELDS PER RECOR|
00001A80: 44 22 3B 4E 46 00 8E 1E  DA 07 8D 31 31 30 00 BE  |D";NF......110..|
00001A90: 1E DF 07 99 22 11 20 49  4E 50 55 54 20 46 49 45  |....". INPUT FIE|
00001AA0: 4C 44 20 4E 41 4D 45 2C  46 49 45 4C 44 20 53 49  |LD NAME,FIELD SI|
00001AB0: 5A 45 2C 46 49 45 4C 44  20 54 59 50 45 22 00 EE  |ZE,FIELD TYPE"..|
00001AC0: 1E E0 07 99 22 20 20 20  20 54 59 50 45 53 3A 20  |...."    TYPES: |
00001AD0: 30 3D 42 49 4E 41 52 59  2C 20 31 3D 4E 55 4D 45  |0=BINARY, 1=NUME|
00001AE0: 52 49 43 2C 20 32 3D 41  4C 50 48 41 11 22 00 F7  |RIC, 2=ALPHA."..|
00001AF0: 1E E3 07 52 53 B2 30 00  36 1F E4 07 81 49 B2 31  |...RS.0.6....I.1|
00001B00: A4 4E 46 3A 99 22 46 49  45 4C 44 22 3B 49 2C 3A  |.NF:."FIELD";I,:|
00001B10: 85 46 48 24 28 49 29 2C  46 53 25 28 49 29 2C 46  |.FH$(I),FS%(I),F|
00001B20: 54 25 28 49 29 3A 52 53  B2 46 53 25 28 49 29 AA  |T%(I):RS.FS%(I).|
00001B30: 52 53 AA 31 3A 82 00 55  1F E9 07 41 24 B2 22 49  |RS.1:..U...A$."I|
00001B40: 22 3A 8B 44 44 B2 52 44  A7 41 24 B2 22 49 22 AA  |":.DD.RD.A$."I".|
00001B50: C4 28 44 44 29 00 60 1F  EE 07 98 43 43 2C 41 24  |.(DD).`....CC,A$|
00001B60: 00 72 1F F8 07 8D 31 31  30 30 3A 8B 45 A7 33 39  |.r....1100:.E.39|
00001B70: 30 30 00 A1 1F 02 08 9F  34 2C 38 2C 34 2C C4 28  |00......4,8,4,.(|
00001B80: 44 44 29 AA 22 3A 22 AA  C8 28 46 24 AA 53 50 24  |DD).":"..(F$.SP$|
00001B90: 2C 31 30 29 AA 22 2E 4B  45 59 30 31 2C 55 2C 57  |,10).".KEY01,U,W|
00001BA0: 22 00 B1 1F 07 08 98 34  2C 30 3B 4D 24 3B 3A A0  |"......4,0;M$;:.|
00001BB0: 34 00 BB 1F 2A 08 89 32  31 32 30 00 DD 1F 34 08  |4...*..2120...4.|
00001BC0: 8F 20 4F 50 45 4E 20 52  41 4E 44 4F 4D 20 46 49  |. OPEN RANDOM FI|
00001BD0: 4C 45 20 46 4F 52 20 41  43 43 45 53 53 00 F9 1F  |LE FOR ACCESS...|
00001BE0: 37 08 85 22 11 52 41 4E  44 4F 4D 20 46 49 4C 45  |7..".RANDOM FILE|
00001BF0: 20 4E 41 4D 45 22 3B 46  24 00 19 20 39 08 85 22  | NAME";F$.. 9.."|
00001C00: 4B 45 59 20 46 49 4C 45  20 44 52 49 56 45 20 4E  |KEY FILE DRIVE N|
00001C10: 55 4D 42 45 52 22 3B 44  44 00 3C 20 3E 08 85 22  |UMBER";DD.< >.."|
00001C20: 52 41 4E 44 4F 4D 20 46  49 4C 45 20 44 52 49 56  |RANDOM FILE DRIV|
00001C30: 45 20 4E 55 4D 42 45 52  22 3B 52 44 00 4E 20 48  |E NUMBER";RD.N H|
00001C40: 08 8D 31 32 30 30 3A 8B  45 A7 33 39 30 30 00 7B  |..1200:.E.3900.{|
00001C50: 20 5C 08 9F 34 2C 38 2C  34 2C C4 28 44 44 29 AA  | \..4,8,4,.(DD).|
00001C60: 22 3A 22 AA C8 28 46 24  AA 53 50 24 2C 31 30 29  |":"..(F$.SP$,10)|
00001C70: AA 22 2E 4B 45 59 30 31  2C 55 22 00 90 20 5E 08  |.".KEY01,U".. ^.|
00001C80: 84 34 2C 52 52 3A 8B 52  52 B2 30 A7 32 31 34 37  |.4,RR:.RR.0.2147|
00001C90: 00 AF 20 61 08 81 49 B2  31 A4 52 52 3A 84 34 2C  |.. a..I.1.RR:.4,|
00001CA0: 4B 31 24 28 49 29 2C 52  52 25 28 49 29 3A 82 00  |K1$(I),RR%(I):..|
00001CB0: B6 20 63 08 A0 34 00 E4  20 66 08 99 22 93 11 11  |. c..4.. f.."...|
00001CC0: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 53 41  |..............SA|
00001CD0: 4D 50 4C 45 20 52 41 4E  44 4F 4D 20 41 43 43 45  |MPLE RANDOM ACCE|
00001CE0: 53 53 11 22 00 FC 20 6B  08 99 22 54 59 50 45 20  |SS.".. k.."TYPE |
00001CF0: 2F 2F 20 54 4F 20 51 55  49 54 11 22 00 1E 21 6C  |// TO QUIT."..!l|
00001D00: 08 99 22 28 48 49 54 20  52 45 54 55 52 4E 20 54  |.."(HIT RETURN T|
00001D10: 4F 20 41 44 44 20 52 45  43 4F 52 44 29 22 00 3B  |O ADD RECORD)".;|
00001D20: 21 70 08 99 22 11 11 57  48 4F 53 45 20 52 45 43  |!p.."..WHOSE REC|
00001D30: 4F 52 44 20 44 4F 20 59  4F 55 22 00 58 21 71 08  |ORD DO YOU".X!q.|
00001D40: 85 22 57 49 53 48 20 54  4F 20 53 45 45 A0 A0 A0  |."WISH TO SEE...|
00001D50: 9D 9D 9D 22 3B 52 52 24  00 6A 21 75 08 8B 52 52  |...";RR$.j!u..RR|
00001D60: 24 B2 22 A0 22 A7 32 33  31 30 00 7D 21 77 08 8B  |$.".".2310.}!w..|
00001D70: 52 52 24 B2 22 2F 2F 22  A7 32 34 30 30 00 99 21  |RR$."//".2400..!|
00001D80: 78 08 8B 52 52 24 B2 22  2F 44 49 52 22 A7 8D 34  |x..RR$."/DIR"..4|
00001D90: 30 30 30 3A 89 32 31 36  30 00 BC 21 7A 08 81 49  |000:.2160..!z..I|
00001DA0: 49 B2 31 A4 52 52 3A 8B  4B 31 24 28 49 49 29 B3  |I.1.RR:.K1$(II).|
00001DB0: B1 52 52 24 A7 82 3A 89  32 33 30 30 00 D0 21 7F  |.RR$..:.2300..!.|
00001DC0: 08 43 52 B2 52 52 25 28  49 49 29 3A 8D 33 30 30  |.CR.RR%(II):.300|
00001DD0: 00 F6 21 84 08 81 49 B2  31 A4 4E 46 3A 99 49 3B  |..!...I.1.NF:.I;|
00001DE0: 22 29 22 46 48 24 28 49  29 22 3A 22 2C 46 24 28  |")"FH$(I)":",F$(|
00001DF0: 49 29 3A 82 3A 99 00 FF  21 89 08 46 46 B2 30 00  |I):.:...!..FF.0.|
00001E00: 2B 22 8E 08 85 22 41 4E  59 20 4D 4F 44 53 A0 A0  |+"..."ANY MODS..|
00001E10: 4E 9D 9D 9D 22 3B 41 24  3A 8B C8 28 41 24 2C 31  |N...";A$:..(A$,1|
00001E20: 29 B3 B1 22 59 22 A7 32  32 32 30 00 40 22 93 08  |).."Y".2220.@"..|
00001E30: 85 22 57 48 49 43 48 20  46 49 45 4C 44 22 3B 41  |."WHICH FIELD";A|
00001E40: 00 6A 22 98 08 99 22 20  20 22 46 24 28 41 29 3A  |.j"..."  "F$(A):|
00001E50: 99 22 91 22 3B 3A 85 46  24 28 41 29 3A 46 28 41  |.".";:.F$(A):F(A|
00001E60: 29 B2 C5 28 46 24 28 41  29 29 00 79 22 A2 08 46  |)..(F$(A)).y"..F|
00001E70: 46 B2 31 3A 89 32 31 39  30 00 88 22 AC 08 8B 46  |F.1:.2190.."...F|
00001E80: 46 B2 30 A7 32 31 36 30  00 9F 22 AE 08 8B 41 B2  |F.0.2160.."...A.|
00001E90: 31 A7 4B 31 24 28 49 49  29 B2 46 24 28 41 29 00  |1.K1$(II).F$(A).|
00001EA0: A8 22 B1 08 8D 32 30 30  00 B2 22 B6 08 89 32 31  |."...200.."...21|
00001EB0: 36 30 00 CD 22 FC 08 99  22 11 52 45 43 4F 52 44  |60.."...".RECORD|
00001EC0: 20 4E 4F 54 20 50 52 45  53 45 4E 54 22 00 FD 22  | NOT PRESENT".."|
00001ED0: 01 09 85 22 44 4F 20 59  4F 55 20 57 49 53 48 20  |..."DO YOU WISH |
00001EE0: 54 4F 20 41 44 44 22 3B  41 24 3A 8B C8 28 41 24  |TO ADD";A$:..(A$|
00001EF0: 2C 31 29 B3 B1 22 59 22  A7 32 31 36 30 00 1C 23  |,1).."Y".2160..#|
00001F00: 06 09 99 22 11 2A 2A 2A  2A 20 41 44 44 20 52 45  |...".**** ADD RE|
00001F10: 43 4F 52 44 20 2A 2A 2A  2A 11 11 22 00 2C 23 08  |CORD ****..".,#.|
00001F20: 09 8B 46 52 B1 4E 52 A7  32 35 30 30 00 46 23 0B  |..FR.NR.2500.F#.|
00001F30: 09 43 52 B2 46 52 3A 46  52 B2 46 52 AA 31 3A 52  |.CR.FR:FR.FR.1:R|
00001F40: 52 B2 52 52 AA 31 00 72  23 10 09 81 49 B2 31 A4  |R.RR.1.r#...I.1.|
00001F50: 4E 46 3A 99 46 48 24 28  49 29 3B 3A 85 46 24 28  |NF:.FH$(I);:.F$(|
00001F60: 49 29 3A 46 28 49 29 B2  C5 28 46 24 28 49 29 29  |I):F(I)..(F$(I))|
00001F70: 3A 82 00 7B 23 1A 09 8D  32 30 30 00 98 23 24 09  |:..{#...200..#$.|
00001F80: 4B 31 24 28 52 52 29 B2  46 24 28 31 29 3A 52 52  |K1$(RR).F$(1):RR|
00001F90: 25 28 52 52 29 B2 43 52  00 A2 23 2E 09 89 32 31  |%(RR).CR..#...21|
00001FA0: 36 30 00 B8 23 60 09 8F  20 43 4C 4F 53 45 20 52  |60..#`.. CLOSE R|
00001FB0: 41 4E 44 20 46 49 4C 45  00 C2 23 65 09 8D 31 34  |AND FILE..#e..14|
00001FC0: 30 30 00 F5 23 6A 09 9F  34 2C 38 2C 34 2C 22 40  |00..#j..4,8,4,"@|
00001FD0: 22 AA C4 28 44 44 29 AA  22 3A 22 AA C8 28 46 24  |"..(DD).":"..(F$|
00001FE0: AA 53 50 24 2C 31 30 29  AA 22 2E 4B 45 59 30 31  |.SP$,10).".KEY01|
00001FF0: 2C 55 2C 57 22 00 07 24  74 09 8D 31 30 30 30 3A  |,U,W"..$t..1000:|
00002000: 8B 45 A7 33 39 30 30 00  15 24 7E 09 98 34 2C 52  |.E.3900..$~..4,R|
00002010: 52 3B 4D 24 3B 00 3B 24  88 09 81 49 B2 31 A4 52  |R;M$;.;$...I.1.R|
00002020: 52 3A 98 34 2C 4B 31 24  28 49 29 3B 4D 24 3B 52  |R:.4,K1$(I);M$;R|
00002030: 52 25 28 49 29 3B 4D 24  3B 3A 82 00 4D 24 8D 09  |R%(I);M$;:..M$..|
00002040: 8D 31 30 30 30 3A 8B 45  A7 33 39 30 30 00 54 24  |.1000:.E.3900.T$|
00002050: 92 09 A0 34 00 66 24 97  09 8D 31 30 30 30 3A 8B  |...4.f$...1000:.|
00002060: 45 A7 33 39 30 30 00 6C  24 BA 09 80 00 A8 24 C4  |E.3900.l$.....$.|
00002070: 09 99 22 54 48 45 20 46  49 4C 45 20 49 53 20 46  |.."THE FILE IS F|
00002080: 55 4C 4C 2C 20 4E 4F 20  41 44 44 49 54 49 4F 4E  |ULL, NO ADDITION|
00002090: 41 4C 20 52 45 43 4F 52  44 53 20 4D 41 59 20 42  |AL RECORDS MAY B|
000020A0: 45 20 41 44 44 45 44 22  00 B2 24 CE 09 89 32 31  |E ADDED"..$...21|
000020B0: 36 30 00 BF 24 3C 0F 99  45 2C 45 4D 24 3A 90 00  |60..$<..E,EM$:..|
000020C0: D9 24 A0 0F 81 44 49 B2  30 A4 4E 52 3A 99 4B 31  |.$...DI.0.NR:.K1|
000020D0: 24 28 44 49 29 3A 82 3A  8E 00 00 00 71           |$(DI):.:....q   |
....... 2031 RANDOMEXAMPLE. .....P.... S
UBROUTINES TO MANAGE RANDOM ACCESS FILES
......  VARIABLES ARE SET FROM DATA OF D
ESCRIPTOR FILE & KEY LIST FILES.........
 ...DEFINED BY USER PROGRAM...... VARIAB
LES SHOULD REFLECT DESIRED FILE STRUCTUR
E.*.... ALL FUNCTIONS ACT UPON THE VARIA
BLES DEFINED BELOW.0.....P.... *********
****************.V.....R...M$.G(13):. FI
ELD MARKER.....SP$."                    
                 "."":. SPACE FOR PADDIN
G.Z...C0.2:       . DIRECT CHANNEL.....C
1.3:       . SEQUENTIAL CHANNEL.!...CC.1
5:      . COMMAND CHANNEL.C...D.0:      
  . CURRENT DRIVE #.E...T.0:        . CU
RRENT TRACK #... .S.0:        . CURRENT 
SECTOR #...#.DD.0:       . DESCRIPTOR DR
IVE #.N.$.RD.0:       . RANDOM DRIVE #..
.(.ID$."":     . RANDOM DISK ID...-.NR.0
:       . # RECORDS IN R-FILE.8...CR.0: 
      . CURRENT RECORD #.A./.FR.0:      
 . 1ST FREE RECORD UNUSED...2.NF.0:     
  . # FIELDS IN RECORD...3.CF.0:       .
 CURRENT FIELD #.N.7.RB.0:       . # REC
ORDS PER BLOCK...8.RS.0:       . RECORD 
SIZE IN BYTES...<.NB.0:       . # BLOCKS
 IN R-FILE.>.A.E.0:        . ERROR FLAG,
 OK =0.S.B.. EN$,EM$,ET$,ES$,ET,ES  ERRO
R CHANNEL VARIABLES...F.EP..5.256:  . IN
TEGER CORRECTION.J.K.AS.0:       . INDEX
 ARRAY ADDRESSING STRATEGY...L.. AS=0: U
SE ARRAY INDEX; AS=1: T&S ARE SET, CR= R
ECORD OFFSET IN BLOCK.7.Z.. "A" VARIABLE
S ARE TEMPORARY.`._.DN.8:.CC,DN,CC:  . D
N= DEVICE NUMBER...B..2000:   . START OF
 USER PROGRAM...C.....D.. **************
***********.O.E.. RANDOM FILE DIMENSION 
ROUTINE...F..  1ST SET NR, NF & NB...G..
...I..150...N..FP%..1.....O.FP%..1...S..
 FS%(NF) :. FIELD SIZE.N.X.. FP%(NF) :. 
FIELD POSITION.T.}..          FP%(I)= SU
M [FS%(I-1)]...... FT%(NF) :. FIELD TYPE
: 0:BINARY, 1:NUMERIC, 2:ALPHA.M.... FH$
(NF) :. FIELD HEADING...... F$(NF)  :. F
IELD ARGS-ALPHA,BINARY...... F(NF)   :. 
FIELD ARGS-NUMERIC. ..........IT%..1...9
...IT%..1.\.... IT%(NB) :. TRACK INDEX A
RRAY... .. IS%(NB) :. SECTOR INDEX ARRAY
...... K1$(NR) :. PRIMARY KEY VALUE.Q...
. RR%(NR) :. RELATIVE RECORD LIST PER KE
Y.W.......H.. *************************.
..I.. UPDATE RECORD, CR...J.....M..900.4
.R..CC,"U1:"C0;D;T;S.H.W..CC,"B-P:"C0;RP
.U....CF.1.NF.^....500.F....CF.|....CC,"
U2:"C0;D;T;S......1000:.E.1900.........,
.. *************************.J.-.. READ 
RECORD, CR.P.....Y.1..900...6..CC,"U1:"C
0;D;T;S...;..CC,"B-P:"C0;RP...@..1000:.E
.1900.".E..CF.1.NF.+.J..600.3.O..CF.9.T.
..Y.... *************************...... 
UPDATE FIELD(CF) OF RECORD CR, SINGLE FI
ELD UPDATE............900......CC,"U1:"C
0;D;T;S.I....1000:.E.1900......CC,"B-P:"
C0;FP%(CF).RP......500 :. UPDATE FIELD..
....CC,"U2:"C0;D;T;S.&....1000:.E.1900.,
.....L.B.. *************************...C
.. READ FIELD(CF) OF RECORD CR, SINGLE F
IELD READ...D.....G..900...L..CC,"U1:"C0
;D;T;S...Q..1000:.E.1900.T.V..CC,"B-P:"C
0;FP%(CF).RP......600 :. READ FIELD.....
....... *************************.4.... 
UPDATE FIELD(CF), B-P IS SET.:.....N....
FT%(CF)..1.520.R...A$.I(SP$.D(F(CF)),FS%
(CF)):.530.....A$.H(F$(CF).SP$,FS%(CF)).
.....C0,A$;M$;.......D.X.. *************
************...Y.. READ FIELD(CF), B-P I
S SET...Z.....B.. FT%(CF) .645...G.A1$."
"...L..J.1.FS%(CF).5.Q..#C0,A$:.A$."".A$
.G(0).D.V.A1$.A1$.A$.U.{..:F$(CF).A1$.C.
...#C0,A$:..R....C0,F$(CF)......FT%(CF).
.1. ......F(CF).E(F$(CF)):....... ******
*******************...... ALLOCATE ONE B
LOCK, T & S =REQUESTED TRACK & SECTOR.3.
...  RETURNED T & S ARE ALLOCATED VALUES
  (T=18 IS SKIPPED).9.....Y.F..800:.E.19
00: . CHECK T & S.M.K..CC,"B-A:"D;T;S...
P..CC,EN,EM$,ET,ES...U..EN.0.....Z..EN..
65.1900......ET.18.T.19:S.0:.715.F...T.E
T:S.ES.O....715...... ******************
*******...... FREE ONE BLOCK, T & S = TR
ACK & SECTOR.".....B....800:.E.1900: . C
HECK T & S.V....CC,"B-F:"D;T;S.K....CC,E
N,EM$,ET,ES.W....EN.0........1900... .. 
*************************...!.. CHECK MA
X SECTOR..."...M.*..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.*.F.A3.
20.9.P..S.A3.1900.?.Z..._.... **********
***************...... SET RECORD'S TRACK
, SECTOR & RECORD POINTER FROM INDEX ARR
AYS...........D.RD.....E.0.U....AS..1.RP
.CR.RS.1:.950.....RP..((CR.1).RB.EP):.RP
.NB . RP.0.EN.41:.1900.....T.IT%(RP):S.I
S%(RP).B...RP..(((CR.1).RB.RP.EP).RS.RB)
.1.[....RP.254. EN.41:.1900.A.......... 
*************************...... INPUT 20
40 ERROR STATUS............CC,EN$,EM$,ET
,ES.M...EN.E(EN$):E.0...... EN$."00" . .
.....ET$.D(ET):ES$.D(ES)......EN$..I("0"
.J(D(EN),2),2).1070.<.... EN.1 . EM$. ET
$." ".EM$: ..F...E.E.1._...EM$.".".EN$."
. ".EM$...... EN.30 . EN.65 . EM$.EM$." 
ON ".ET$.", ".ES$...$...A...EM$.".SYSTEM
 NOT RESPONDING PROPERLY"...8.EM$.EM$.EN
$.EM$.ET$.ES$...=.E.E.1...B.....L.. ****
*********************.*.M.. CREATE DESCR
IPTOR FILE.D.N.. INPUT: F$= FILENAME.M.O
..        ID$,NR,NF,FS%(),FT%(),FH$()...
P..        DD= DESCRIPTOR FILE DRIVE #..
.Q..        RD= RANDOM DISK DRIVE #...R.
. DRIVES MUST BE INITIALIZED...U.....V.R
S.1:D.RD.".[..A0.1.NF:FP%(A0).RS:RS.FS%(
A0).RS.1:.:RS.RS.1.6.\.RB..(254.RS.EP).V
.`..C0,DN,C0,"#":.1000:.E.1900.`.A..1280
.S.B..CC,"B-P:"C0;1...C..A0.1.RB:.A1.1.N
F...D..C0,H(SP$,FS%(A1));M$;...F..A1,A0.
..J.NB..(NR.RB.EP):.(NR.RB.NB).RB..1.NB.
NB.1...O.T.1:S.0:.150...T..A0.0.NB.1:.71
0:.E.1900.(.Y.IT%(A0).T:IS%(A0).S:.430:.
.1.~..710.D....CC,"B-P:"C0;1.P....C0,NR;
M$;1;M$;NB;M$;RS;M$;RB;M$;NF;M$;......CC
,"B-W:"C0;D;T;S.....A$.D(DD).":".H(F$.SP
$,10).".DESCR,U,W".C....C1,DN,C1,A$.U...
.1000:.E.1900......C1,ID$;M$;T;M$;S;M$;.
$....A0.1.NF:.C1,G(FS%(A0));G(FT%(A0));F
H$(A0);M$;:..P....A0.0.NB.1:.C1,G(IT%(A0
));G(IS%(A0));:..^... C1: C0:..~.... ***
**********************...... OPEN RELATI
VE FILE...... INPUT: F$= FILENAME.Z.... 
       DD= DESCRIPTOR FILE DRIVE #......
        RD= RANDOM DISK DRIVE #. .... DR
IVES MUST BE INITIALIZED.&.....Q...A$.D(
DD).":".H(F$.SP$,10).".DESCR,U,R".P....C
1,DN,C1,A$:.1000:.E.1900...D..C1,ID$,T,S
. .I..C0,DN,C0,"#":.1000:.E.1900...J..12
80.Q.K..CC,"B-R:";C0;RD;T;S:.1000:.E.190
0...N..C0,NR,FR,NB,RS,RB,NF...S..100:FT%
(0).T:FS%(0).S.'.X..A0.1.NF:.1298:FS%(A0
).F(A$).?....1298:FT%(A0).F(A$).Q....C1,
FH$(A0):..T....A0.0.NB.1:.1298:IT%(A0).F
(A$)......1298:IS%(A0).F(A$):.. ....1000
:.E.1900..... C1.......X....CC,"U1:";C0;
RD;",18,0":.1000:.E.1900......CC,"B-P:";
C0;162.3....#C0,A$,A1$:A$.A$.A1$:.ID$..A
$.EN.43:EM$."DISKID MISMATCH":.1900.9...
..T....#C1,A$:.A$."".A$.G(0).Z.....Z.X..
 *************************...Y.. CLOSE R
ELATIVE FILE.E.Z.. INPUT: VARIABLES FROM
 OPEN SHOULD BE VALID.K..........CC,"B-P
:"C0;1......C0,NR;M$;FR;M$;NB;M$;RS;M$;R
B;M$;NF;M$;.,....CC,"B-W:"C0;D;FT%(0);FS
%(0).4. . C0.:.R...F.L.E.E.1:....P.."...
DO YOU WISH TO CREATE A FILE  Y...";A$:.
H(A$,1)."N".2100...Q..".RANDOM FILE NAME
  PHONE LIST............";F$...R.."KEY F
ILE DRIVE NUMBER  0...";DD...S.."RANDOM 
FILE DRIVE NUMBER  0...";RD.C.U.."ENTER 
ID OF RANDOM DISK  CS....";ID$:ID$.H(ID$
,2)._.V.."NUMBER OF RECORDS";NR...W.."NU
MBER OF FIELDS PER RECORD";NF...Z..110..
....". INPUT FIELD NAME,FIELD SIZE,FIELD
 TYPE"......"    TYPES: 0=BINARY, 1=NUME
RIC, 2=ALPHA.".....RS.0.6....I.1.NF:."FI
ELD";I,:.FH$(I),FS%(I),FT%(I):RS.FS%(I).
RS.1:..U...A$."I":.DD.RD.A$."I".D(DD).`.
...CC,A$.R....1100:.E.3900......4,8,4,D(
DD).":".H(F$.SP$,10).".KEY01,U,W"......4
,0;M$;: 4...*..2120...4.. OPEN RANDOM FI
LE FOR ACCESS...7..".RANDOM FILE NAME";F
$.. 9.."KEY FILE DRIVE NUMBER";DD.< >.."
RANDOM FILE DRIVE NUMBER";RD.N H..1200:.
E.3900.{ \..4,8,4,D(DD).":".H(F$.SP$,10)
.".KEY01,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 T
O ADD RECORD)".;!P.."..WHOSE RECORD DO Y
OU".X!Q.."WISH TO SEE   ...";RR$.J!U..RR
$." ".2310.}!W..RR$."//".2400..!X..RR$."
/DIR"..4000:.2160..!Z..II.1.RR:.K1$(II).
.RR$..:.2300.P!.CR.RR%(II):.300..!...I.
1.NF:.I;")"FH$(I)":",F$(I):.:...!..FF.0.
+"..."ANY MODS  N...";A$:.H(A$,1).."Y".2
220.@"..."WHICH FIELD";A.J"..."  "F$(A):
.".";:.F$(A):F(A).E(F$(A)).Y"..FF.1:.219
0.."...FF.0.2160.."...A.1.K1$(II).F$(A).
."...200.."...2160.M"...".RECORD NOT PRE
SENT".."..."DO YOU WISH TO ADD";A$:.H(A$
,1).."Y".2160..#...".**** ADD RECORD ***
*..".,#...FR.NR.2500.F#..CR.FR:FR.FR.1:R
R.RR.1.R#...I.1.NF:.FH$(I);:.F$(I):F(I).
E(F$(I)):..{#...200..#$.K1$(RR).F$(1):RR
%(RR).CR..#...2160..#`.. CLOSE RAND FILE
.B#E..1400..#J..4,8,4,"@".D(DD).":".H(F$
.SP$,10).".KEY01,U,W"..$T..1000:.E.3900.
.$~..4,RR;M$;.;$...I.1.RR:.4,K1$(I);M$;R
R%(I);M$;:..M$...1000:.E.3900.T$.. 4.F$.
..1000:.E.3900.L$.....$D.."THE FILE IS F
ULL, NO ADDITIONAL RECORDS MAY BE ADDED"
..$N..2160..$<..E,EM$:..Y$ ..DI.0.NR:.K1
$(DI):.:....Q
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL