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

RELATIVE ACCESS

FILE INFORMATION

FILENAME(S): RELATIVE ACCESS

FILE TYPE(S): PRG

FILE SIZE: 2K

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

APPEARS ON: 3 disk(s)

FILE HASH

c2ef2d97ede444b079d5755d08633e62dcdc097bba5be7a3faabd732d65be148

FOUND ON DISKS (3 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
C64 HULP 15 2 RELATIVE ACCESS PRG DuncanTwain 12 9 DOWNLOAD FILE
C64 HULP 23 2 RELATIVE ACCESS PRG DuncanTwain 2 1 DOWNLOAD FILE
UNIVERSAL DEMO RELATIVE ACCESS PRG DuncanTwain 12 17 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 04 1E 04 64 00 8F 20  2A 2A 2A 2A 2A 2A 2A 2A  |....d.. ********|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 00 3B  |**************.;|
00000020: 04 65 00 8F 20 2A 2A 20  20 20 20 20 20 20 45 58  |.e.. **       EX|
00000030: 41 4D 50 4C 45 20 20 20  20 2A 2A 00 58 04 66 00  |AMPLE    **.X.f.|
00000040: 8F 20 2A 2A 20 57 52 49  54 45 20 41 4E 44 20 52  |. ** WRITE AND R|
00000050: 45 41 44 20 41 20 2A 2A  00 75 04 67 00 8F 20 2A  |EAD A **.u.g.. *|
00000060: 2A 20 52 45 4C 41 54 49  56 45 20 20 41 43 43 45  |* RELATIVE  ACCE|
00000070: 53 53 20 2A 2A 00 92 04  68 00 8F 20 2A 2A 20 46  |SS **...h.. ** F|
00000080: 49 4C 45 20 4F 4E 20 20  44 52 49 56 45 20 30 20  |ILE ON  DRIVE 0 |
00000090: 2A 2A 00 AF 04 69 00 8F  20 2A 2A 2A 2A 2A 2A 2A  |**...i.. *******|
000000A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
000000B0: F5 04 6A 00 43 52 24 B2  C7 28 31 33 29 20 20 20  |..j.CR$..(13)   |
000000C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000D0: 20 3A 8F 20 55 53 45 20  43 41 52 52 49 41 47 45  | :. USE CARRIAGE|
000000E0: 20 52 45 54 55 52 4E 20  46 4F 52 20 44 45 4C 49  | RETURN FOR DELI|
000000F0: 4D 49 54 45 52 00 13 05  6B 00 8F 20 2A 2A 2A 2A  |MITER...k.. ****|
00000100: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000110: 2A 2A 2A 00 31 05 6C 00  8F 20 2A 20 20 57 52 49  |***.1.l.. *  WRI|
00000120: 54 45 20 52 41 4E 44 4F  4D 20 46 49 4C 45 20 20  |TE RANDOM FILE  |
00000130: 2A 00 4F 05 6D 00 8F 20  2A 2A 2A 2A 2A 2A 2A 2A  |*.O.m.. ********|
00000140: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 00  |***************.|
00000150: 96 05 6E 00 CD 23 31 2C  22 52 41 4E 44 4F 4D 22  |..n..#1,"RANDOM"|
00000160: 2C 4C 32 30 20 20 20 20  20 20 20 20 20 20 20 20  |,L20            |
00000170: 3A 8F 20 4F 50 45 4E 20  52 45 4C 41 54 49 56 45  |:. OPEN RELATIVE|
00000180: 20 46 49 4C 45 2C 20 4C  45 4E 47 54 48 20 32 30  | FILE, LENGTH 20|
00000190: 20 42 59 54 45 53 00 CE  05 73 00 8D 31 30 30 30  | BYTES...s..1000|
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 3A  8F 20 43 48 45 43 4B 20  |       :. CHECK |
000001C0: 46 4F 52 20 44 49 53 4B  20 45 52 52 4F 52 00 E3  |FOR DISK ERROR..|
000001D0: 05 75 00 99 20 22 57 52  49 54 49 4E 47 20 46 49  |.u.. "WRITING FI|
000001E0: 4C 45 22 00 26 06 78 00  81 49 B2 31 A4 32 36 20  |LE".&.x..I.1.26 |
000001F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000200: 20 20 20 20 20 3A 8F 20  53 54 41 52 54 20 4C 4F  |     :. START LO|
00000210: 4F 50 20 54 4F 20 57 52  49 54 45 20 32 36 20 52  |OP TO WRITE 26 R|
00000220: 45 43 4F 52 44 53 00 30  06 7D 00 42 24 B2 22 22  |ECORDS.0.}.B$.""|
00000230: 00 3B 06 82 00 81 4A B2  31 A4 35 00 73 06 8C 00  |.;....J.1.5.s...|
00000240: 41 24 B2 C7 28 49 AA 36  34 29 3A 42 24 B2 42 24  |A$..(I.64):B$.B$|
00000250: AA 41 24 3A 82 20 4A 20  20 20 3A 8F 20 47 45 4E  |.A$:. J   :. GEN|
00000260: 45 52 41 54 45 20 35 20  4C 45 54 54 45 52 20 57  |ERATE 5 LETTER W|
00000270: 4F 52 44 00 B1 06 96 00  98 31 2C 49 3B 43 52 24  |ORD......1,I;CR$|
00000280: 3B 42 24 3A 8D 31 30 30  30 20 20 20 20 20 20 3A  |;B$:.1000      :|
00000290: 8F 20 57 52 49 54 45 20  52 45 43 4F 52 44 20 23  |. WRITE RECORD #|
000002A0: 20 41 4E 44 20 57 4F 52  44 20 4F 4E 20 44 49 53  | AND WORD ON DIS|
000002B0: 4B 00 B8 06 A0 00 82 49  00 F0 06 AA 00 8D 31 30  |K......I......10|
000002C0: 30 30 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |00              |
000002D0: 20 20 20 20 20 20 20 20  20 3A 8F 20 43 48 45 43  |         :. CHEC|
000002E0: 4B 20 46 4F 52 20 44 49  53 4B 20 45 52 52 4F 52  |K FOR DISK ERROR|
000002F0: 00 22 07 B4 00 CE 23 31  20 20 20 20 20 20 20 20  |."....#1        |
00000300: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000310: 3A 8F 20 43 4C 4F 53 45  20 44 49 53 4B 20 46 49  |:. CLOSE DISK FI|
00000320: 4C 45 00 37 07 BE 00 99  22 93 46 49 4C 45 20 4F  |LE.7....".FILE O|
00000330: 4E 20 44 49 53 4B 22 00  3D 07 C2 00 8F 00 5A 07  |N DISK".=.....Z.|
00000340: C3 00 8F 20 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |... ************|
00000350: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 00 77 07 C4 00 8F  |**********.w....|
00000360: 20 2A 20 20 52 45 41 44  20 52 41 4E 44 4F 4D 20  | *  READ RANDOM |
00000370: 46 49 4C 45 20 20 2A 00  94 07 C5 00 8F 20 2A 2A  |FILE  *...... **|
00000380: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000390: 2A 2A 2A 2A 00 9A 07 C6  00 8F 00 CB 07 C8 00 CD  |****............|
000003A0: 23 31 2C 22 52 41 4E 44  4F 4D 22 3A 8D 31 30 30  |#1,"RANDOM":.100|
000003B0: 30 20 20 20 20 20 20 3A  8F 20 4F 50 45 4E 20 46  |0      :. OPEN F|
000003C0: 49 4C 45 20 54 4F 20 52  45 41 44 00 DB 07 D2 00  |ILE TO READ.....|
000003D0: 81 49 B2 32 36 A4 31 20  A9 AB 31 00 18 08 DC 00  |.I.26.1 ..1.....|
000003E0: CF 23 31 2C 28 49 29 3A  8D 31 30 30 30 20 20 20  |.#1,(I):.1000   |
000003F0: 20 20 20 20 20 20 20 3A  8F 20 53 54 41 52 54 20  |       :. START |
00000400: 57 49 54 48 20 4C 41 53  54 20 52 45 43 4F 52 44  |WITH LAST RECORD|
00000410: 20 49 4E 20 46 49 4C 45  00 52 08 E6 00 84 31 2C  | IN FILE.R....1,|
00000420: 41 2C 42 24 3A 8D 31 30  30 30 20 20 20 20 20 20  |A,B$:.1000      |
00000430: 20 20 20 20 3A 8F 20 52  45 41 44 20 42 41 43 4B  |    :. READ BACK|
00000440: 20 52 45 43 4F 52 44 20  23 20 41 4E 44 20 57 4F  | RECORD # AND WO|
00000450: 52 44 00 82 08 F0 00 99  20 41 2C 42 24 20 20 20  |RD...... A,B$   |
00000460: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000470: 20 20 20 3A 8F 20 44 49  53 50 4C 41 59 20 44 41  |   :. DISPLAY DA|
00000480: 54 41 00 89 08 FA 00 82  49 00 C1 08 04 01 8D 31  |TA......I......1|
00000490: 30 30 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |000             |
000004A0: 20 20 20 20 20 20 20 20  20 20 3A 8F 20 43 48 45  |          :. CHE|
000004B0: 43 4B 20 46 4F 52 20 44  49 53 4B 20 45 52 52 4F  |CK FOR DISK ERRO|
000004C0: 52 00 EE 08 0E 01 CE 23  31 20 20 20 20 20 20 20  |R......#1       |
000004D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000004E0: 20 3A 8F 20 43 4C 4F 53  45 20 46 49 4C 45 00 F4  | :. CLOSE FILE..|
000004F0: 08 26 01 8F 00 10 09 27  01 8F 20 2A 2A 2A 2A 2A  |.&.....'.. *****|
00000500: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000510: 00 2C 09 28 01 8F 20 2A  20 20 43 48 41 4E 47 45  |.,.(.. *  CHANGE|
00000520: 20 41 20 52 45 43 4F 52  44 20 20 2A 00 48 09 29  | A RECORD  *.H.)|
00000530: 01 8F 20 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.. *************|
00000540: 2A 2A 2A 2A 2A 2A 2A 2A  00 4E 09 2A 01 8F 00 89  |********.N.*....|
00000550: 09 2C 01 CD 23 31 2C 22  52 41 4E 44 4F 4D 22 3A  |.,..#1,"RANDOM":|
00000560: 8D 31 30 30 30 20 20 20  20 20 20 3A 8F 20 52 45  |.1000      :. RE|
00000570: 2D 4F 50 45 4E 20 46 49  4C 45 2C 20 52 45 41 44  |-OPEN FILE, READ|
00000580: 20 4F 52 20 57 52 49 54  45 00 CC 09 36 01 CF 23  | OR WRITE...6..#|
00000590: 31 2C 31 30 2C 36 3A 8D  31 30 30 30 20 20 20 20  |1,10,6:.1000    |
000005A0: 20 20 20 20 20 3A 8F 20  50 4F 53 49 54 49 4F 4E  |     :. POSITION|
000005B0: 20 54 4F 20 4D 49 44 44  4C 45 20 52 45 43 4F 52  | TO MIDDLE RECOR|
000005C0: 44 2C 20 32 4E 44 20 46  49 45 4C 44 00 FB 09 40  |D, 2ND FIELD...@|
000005D0: 01 98 31 2C 22 4E 45 57  20 57 4F 52 44 22 3A 8D  |..1,"NEW WORD":.|
000005E0: 31 30 30 30 20 20 20 20  3A 8F 20 57 52 49 54 45  |1000    :. WRITE|
000005F0: 20 4E 45 57 20 52 45 43  4F 52 44 00 3E 0A 4A 01  | NEW RECORD.>.J.|
00000600: CF 23 31 2C 31 30 3A 8D  31 30 30 30 20 20 20 20  |.#1,10:.1000    |
00000610: 20 20 20 20 20 20 20 3A  8F 20 50 4F 53 49 54 49  |       :. POSITI|
00000620: 4F 4E 20 42 41 43 4B 20  54 4F 20 42 45 47 49 4E  |ON BACK TO BEGIN|
00000630: 4E 49 4E 47 20 4F 46 20  52 45 43 4F 52 44 00 6F  |NING OF RECORD.o|
00000640: 0A 54 01 84 31 2C 41 2C  42 24 3A 8D 31 30 30 30  |.T..1,A,B$:.1000|
00000650: 20 20 20 20 20 20 20 20  20 20 3A 8F 20 52 45 41  |          :. REA|
00000660: 44 20 4D 49 44 44 4C 45  20 52 45 43 4F 52 44 00  |D MIDDLE RECORD.|
00000670: AC 0A 5E 01 99 3A 99 20  41 2C 20 42 24 20 20 20  |..^..:. A, B$   |
00000680: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000690: 3A 8F 20 44 49 53 50 4C  41 59 20 20 20 20 20 32  |:. DISPLAY     2|
000006A0: 35 20 20 20 4E 45 57 20  57 4F 52 44 00 DE 0A 68  |5   NEW WORD...h|
000006B0: 01 CE 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000006C0: 20 20 20 20 20 20 20 20  20 20 20 20 3A 8F 20 43  |            :. C|
000006D0: 4C 4F 53 45 20 41 4C 4C  20 46 49 4C 45 53 00 E4  |LOSE ALL FILES..|
000006E0: 0A 90 01 80 00 05 0B E3  03 8F 20 2A 2A 2A 2A 2A  |.......... *****|
000006F0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000700: 2A 2A 2A 2A 2A 00 26 0B  E4 03 8F 20 2A 20 20 43  |*****.&.... *  C|
00000710: 48 45 43 4B 20 46 4F 52  20 44 49 53 4B 20 45 52  |HECK FOR DISK ER|
00000720: 52 4F 52 20 20 2A 00 47  0B E5 03 8F 20 2A 2A 2A  |ROR  *.G.... ***|
00000730: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000740: 2A 2A 2A 2A 2A 2A 2A 00  85 0B E8 03 8B 20 44 53  |*******...... DS|
00000750: B3 32 30 20 A7 20 8E 20  20 20 20 20 20 20 20 20  |.20 . .         |
00000760: 20 20 3A 8F 20 45 52 52  4F 52 20 23 20 4C 45 53  |  :. ERROR # LES|
00000770: 53 20 54 48 41 4E 20 32  30 20 49 53 20 4E 4F 20  |S THAN 20 IS NO |
00000780: 45 52 52 4F 52 00 BF 0B  F2 03 99 44 53 24 20 20  |ERROR......DS$  |
00000790: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000007A0: 20 20 20 20 20 3A 8F 20  50 52 49 4E 54 20 54 48  |     :. PRINT TH|
000007B0: 45 20 45 52 52 4F 52 20  4D 45 53 53 41 47 45 00  |E ERROR MESSAGE.|
000007C0: EC 0B FC 03 CE 20 20 20  20 20 20 20 20 20 20 20  |.....           |
000007D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 3A 8F  |              :.|
000007E0: 20 43 4C 4F 53 45 20 46  49 4C 45 53 00 F2 0B 06  | CLOSE FILES....|
000007F0: 04 80 00 00 00                                    |.....           |
....D.. **********************.;.E.. ** 
      EXAMPLE    **.X.F.. ** WRITE AND R
EAD A **.U.G.. ** RELATIVE  ACCESS **...
H.. ** FILE ON  DRIVE 0 **...I.. *******
***************...J.CR$.G(13)           
         :. USE CARRIAGE RETURN FOR DELI
MITER...K.. ***********************.1.L.
. *  WRITE RANDOM FILE  *.O.M.. ********
***************...N.M#1,"RANDOM",L20    
        :. OPEN RELATIVE FILE, LENGTH 20
 BYTES.N.S..1000                       :
. CHECK FOR DISK ERROR...U.. "WRITING FI
LE".&.X..I.1.26                      :. 
START LOOP TO WRITE 26 RECORDS.0.}.B$.""
.;....J.1.5.S...A$.G(I.64):B$.B$.A$:. J 
  :. GENERATE 5 LETTER WORD......1,I;CR$
;B$:.1000      :. WRITE RECORD # AND WOR
D ON DISK... ..I......1000              
         :. CHECK FOR DISK ERROR."...N#1
                        :. CLOSE DISK FI
LE.7....".FILE ON DISK".=.B...Z.C.. ****
******************.W.D.. *  READ RANDOM 
FILE  *...E.. **********************...F
...K.H.M#1,"RANDOM":.1000      :. OPEN F
ILE TO READ...R..I.26.1 ..1.....O#1,(I):
.1000          :. START WITH LAST RECORD
 IN FILE.R....1,A,B$:.1000          :. R
EAD BACK RECORD # AND WORD...... A,B$   
                   :. DISPLAY DATA......
I.A....1000                       :. CHE
CK FOR DISK ERROR.....N#1               
         :. CLOSE FILE...&.....'.. *****
****************.,.(.. *  CHANGE A RECOR
D  *.H.).. *********************.N.*....
.,.M#1,"RANDOM":.1000      :. RE-OPEN FI
LE, READ OR WRITE.L.6.O#1,10,6:.1000    
     :. POSITION TO MIDDLE RECORD, 2ND F
IELD...@..1,"NEW WORD":.1000    :. WRITE
 NEW RECORD.>.J.O#1,10:.1000           :
. POSITION BACK TO BEGINNING OF RECORD.O
.T..1,A,B$:.1000          :. READ MIDDLE
 RECORD...^..:. A, B$                   
:. DISPLAY     25   NEW WORD...H.N      
                    :. CLOSE ALL FILES..
.......... **************************.&.
... *  CHECK FOR DISK ERROR  *.G.... ***
***********************...... DS.20 . . 
          :. ERROR # LESS THAN 20 IS NO 
ERROR......DS$                       :. 
PRINT THE ERROR MESSAGE.....N           
              :. CLOSE FILES.........
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL