RANDOM 1.00
FILE INFORMATION
FILENAME(S): RANDOM 1.00
FILE TYPE(S): PRG
FILE SIZE: 4.2K
FIRST SEEN: 2025-11-30 21:28:03
APPEARS ON: 1 disk(s)
FILE HASH
0ca344723891b2ffc5eab13f0f2916fcbad3284ccf70f3c31d5a5e4d25a009b5
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| UNIVERSAL DEMO | RANDOM 1.00 | PRG | DuncanTwain | 23 | 0 |
⚠ CORRUPT 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 |,ET,ES.....EN. |
....... 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.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL