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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL