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

BAS. WORD

FILE INFORMATION

FILENAME(S): BAS. WORD

FILE TYPE(S): PRG

FILE SIZE: 1.2K

FIRST SEEN: 2025-11-30 18:15:06

APPEARS ON: 1 disk(s)

FILE HASH

a41dfc1a3e1999453ef103fc5d502b84eb4cbfee33d6b4a37438d4d60d24d772

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SPEL C64 BAS. WORD PRG Sailor, Lex 10 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 60 0F 60 0A 00 99 20  22 4A 4F 48 41 4E 22 00  |.`.`... "JOHAN".|
00000010: 22 60 14 00 81 41 B2 34  30 39 36 30 A4 34 39 31  |"`...A.40960.491|
00000020: 35 32 00 2E 60 1E 00 97  41 2C C2 28 41 29 00 34  |52..`...A,.(A).4|
00000030: 60 28 00 82 00 4E 60 32  00 8F 20 20 54 41 4B 45  |`(...N`2..  TAKE|
00000040: 20 4F 55 54 20 42 41 53  49 43 20 52 4F 4D 00 58  | OUT BASIC ROM.X|
00000050: 60 3C 00 97 31 2C 35 34  00 79 60 46 00 8F 20 20  |`<..1,54.y`F..  |
00000060: 50 55 54 20 52 45 53 45  52 56 45 44 20 57 4F 52  |PUT RESERVED WOR|
00000070: 44 20 49 4E 54 4F 20 52  24 00 92 60 50 00 85 22  |D INTO R$..`P.."|
00000080: 11 52 45 53 45 52 56 45  44 20 57 4F 52 44 22 3B  |.RESERVED WORD";|
00000090: 52 24 00 C6 60 5A 00 8F  20 20 53 45 54 20 54 45  |R$..`Z..  SET TE|
000000A0: 52 4D 49 4E 41 54 4F 52  20 4D 41 52 4B 45 52 20  |RMINATOR MARKER |
000000B0: 4F 4E 20 4C 41 53 54 20  42 59 54 45 20 4F 46 20  |ON LAST BYTE OF |
000000C0: 53 54 52 49 4E 47 00 ED  60 64 00 52 24 B2 C8 28  |STRING..`d.R$..(|
000000D0: 52 24 2C C3 28 52 24 29  AB 31 29 AA C7 28 C6 28  |R$,.(R$).1)..(.(|
000000E0: C9 28 52 24 2C 31 29 29  AA 31 32 38 29 00 1B 61  |.(R$,1)).128)..a|
000000F0: 6E 00 8F 20 52 4F 55 54  49 4E 45 20 54 4F 20 53  |n.. ROUTINE TO S|
00000100: 45 41 52 43 48 20 52 4F  4D 20 46 4F 52 20 52 45  |EARCH ROM FOR RE|
00000110: 53 45 52 56 45 44 20 57  4F 52 44 00 24 61 78 00  |SERVED WORD.$ax.|
00000120: 8D 32 39 30 00 48 61 82  00 8B 46 B2 30 A7 99 22  |.290.Ha...F.0.."|
00000130: 93 11 11 20 20 20 20 20  20 20 4E 4F 54 20 46 4F  |...       NOT FO|
00000140: 55 4E 44 22 3A 89 38 30  00 6A 61 8C 00 85 22 59  |UND":.80.ja..."Y|
00000150: 4F 55 52 20 57 4F 52 44  20 28 53 41 4D 45 20 4C  |OUR WORD (SAME L|
00000160: 45 4E 47 54 48 29 22 3B  4E 24 00 94 61 96 00 8F  |ENGTH)";N$..a...|
00000170: 20 20 43 48 45 43 4B 20  4C 45 4E 47 54 48 20 4F  |  CHECK LENGTH O|
00000180: 46 20 57 4F 52 44 53 20  41 52 45 20 54 48 45 20  |F WORDS ARE THE |
00000190: 53 41 4D 45 00 AA 61 A0  00 8B C3 28 4E 24 29 B3  |SAME..a....(N$).|
000001A0: B1 C3 28 52 24 29 A7 31  34 30 00 C0 61 AA 00 8F  |..(R$).140..a...|
000001B0: 20 20 41 44 44 20 54 45  52 4D 49 4E 41 54 4F 52  |  ADD TERMINATOR|
000001C0: 00 E7 61 B4 00 4E 24 B2  C8 28 4E 24 2C C3 28 4E  |..a..N$..(N$,.(N|
000001D0: 24 29 AB 31 29 AA C7 28  C6 28 C9 28 4E 24 2C 31  |$).1)..(.(.(N$,1|
000001E0: 29 29 AA 31 32 38 29 00  07 62 BE 00 8F 20 20 4C  |)).128)..b...  L|
000001F0: 4F 4F 50 20 54 4F 20 50  4F 4B 45 20 49 4E 20 4E  |OOP TO POKE IN N|
00000200: 45 57 20 57 4F 52 44 00  16 62 C8 00 81 4A B2 31  |EW WORD..b...J.1|
00000210: A4 C3 28 4E 24 29 00 2F  62 D2 00 97 41 44 AA 4A  |..(N$)./b...AD.J|
00000220: AB 31 2C C6 28 CA 28 4E  24 2C 4A 2C 31 29 29 00  |.1,.(.(N$,J,1)).|
00000230: 35 62 DC 00 82 00 59 62  E6 00 99 22 93 11 11 11  |5b....Yb..."....|
00000240: 11 11 20 20 20 20 41 4E  4F 54 48 45 52 20 57 4F  |..    ANOTHER WO|
00000250: 52 44 20 28 59 2F 4E 29  22 00 76 62 F0 00 A1 41  |RD (Y/N)".vb...A|
00000260: 24 3A 8B 41 24 B3 B1 22  59 22 AF 41 24 B3 B1 22  |$:.A$.."Y".A$.."|
00000270: 4E 22 A7 32 34 30 00 84  62 FA 00 8B 41 24 B2 22  |N".240..b...A$."|
00000280: 4E 22 A7 80 00 98 62 04  01 8F 20 20 41 4E 4F 54  |N"....b...  ANOT|
00000290: 48 45 52 20 57 4F 52 44  00 A0 62 0E 01 89 38 30  |HER WORD..b...80|
000002A0: 00 BC 62 18 01 8F 20 20  53 54 41 52 54 20 41 44  |..b...  START AD|
000002B0: 44 52 45 53 53 20 4F 46  20 52 4F 4D 00 C9 62 22  |DRESS OF ROM..b"|
000002C0: 01 41 44 B2 34 30 39 36  30 00 E3 62 2C 01 8F 20  |.AD.40960..b,.. |
000002D0: 47 45 54 20 46 49 52 53  54 20 43 48 41 52 41 43  |GET FIRST CHARAC|
000002E0: 54 45 52 00 F6 62 36 01  43 B2 C6 28 CA 28 52 24  |TER..b6.C..(.(R$|
000002F0: 2C 31 2C 31 29 29 00 18  63 40 01 8F 20 49 46 20  |,1,1))..c@.. IF |
00000300: 46 49 52 53 54 20 43 48  41 52 2E 20 43 48 45 43  |FIRST CHAR. CHEC|
00000310: 4B 20 4F 54 48 45 52 53  00 29 63 4A 01 8B C2 28  |K OTHERS.)cJ...(|
00000320: 41 44 29 B2 43 A7 34 32  30 00 4A 63 54 01 8F 20  |AD).C.420.JcT.. |
00000330: 20 4C 4F 4F 4B 20 41 54  20 4E 45 58 54 20 52 4F  | LOOK AT NEXT RO|
00000340: 4D 20 50 4F 53 49 54 49  4F 4E 00 56 63 5E 01 41  |M POSITION.Vc^.A|
00000350: 44 B2 41 44 AA 31 00 80  63 68 01 8F 20 20 43 48  |D.AD.1..ch..  CH|
00000360: 45 43 4B 20 46 4F 52 20  45 4E 44 20 4F 46 20 57  |ECK FOR END OF W|
00000370: 4F 52 44 20 54 41 42 4C  45 20 49 4E 20 52 4F 4D  |ORD TABLE IN ROM|
00000380: 00 95 63 72 01 8B 41 44  B2 B1 34 32 30 30 30 A7  |..cr..AD..42000.|
00000390: 46 B2 30 3A 8E 00 AE 63  86 01 8F 20 20 53 54 41  |F.0:...c...  STA|
000003A0: 52 54 53 20 4E 45 58 54  20 43 48 45 43 4B 00 B7  |RTS NEXT CHECK..|
000003B0: 63 90 01 89 33 31 30 00  E6 63 9A 01 8F 20 20 53  |c...310..c...  S|
000003C0: 45 54 20 50 4F 49 4E 54  45 52 20 54 4F 20 50 4F  |ET POINTER TO PO|
000003D0: 53 49 54 49 4F 4E 20 4F  46 20 53 45 43 4F 4E 44  |SITION OF SECOND|
000003E0: 20 43 48 41 52 2E 00 F2  63 A4 01 41 44 B2 41 44  | CHAR...c..AD.AD|
000003F0: AA 31 00 18 64 AE 01 8F  20 20 4C 4F 4F 50 20 43  |.1..d...  LOOP C|
00000400: 48 45 43 4B 20 52 45 53  54 20 4F 46 20 43 48 41  |HECK REST OF CHA|
00000410: 52 2E 20 4D 41 54 43 48  00 27 64 B8 01 81 4A B2  |R. MATCH.'d...J.|
00000420: 32 A4 C3 28 52 24 29 00  3F 64 C2 01 8F 20 20 43  |2..(R$).?d...  C|
00000430: 48 45 43 4B 20 45 41 43  48 20 43 48 41 52 2E 00  |HECK EACH CHAR..|
00000440: 60 64 CC 01 8B C2 28 41  44 AA 4A AB 32 29 B3 B1  |`d....(AD.J.2)..|
00000450: C6 28 CA 28 52 24 2C 4A  2C 31 29 29 A7 33 31 30  |.(.(R$,J,1)).310|
00000460: 00 66 64 D6 01 82 00 A3  64 E0 01 8F 20 20 53 45  |.fd.....d...  SE|
00000470: 54 20 50 4F 49 4E 54 45  52 20 54 4F 20 46 49 52  |T POINTER TO FIR|
00000480: 53 54 20 53 54 41 52 54  20 4F 46 20 57 4F 52 44  |ST START OF WORD|
00000490: 20 41 4E 44 20 53 45 54  20 46 4F 55 4E 44 20 46  | AND SET FOUND F|
000004A0: 4C 41 47 00 B4 64 EA 01  41 44 B2 41 44 AB 31 3A  |LAG..d..AD.AD.1:|
000004B0: 46 B2 AB 31 00 BA 64 F4  01 8E 00 00 00 00 4C     |F..1..d.......L |
.`.`... "JOHAN"."`...A.40960.49152..`...
A,B(A).4`(...N`2..  TAKE OUT BASIC ROM.X
`<..1,54.Y`F..  PUT RESERVED WORD INTO R
$..`P..".RESERVED WORD";R$.F`Z..  SET TE
RMINATOR MARKER ON LAST BYTE OF STRING..
`D.R$.H(R$,C(R$).1).G(F(I(R$,1)).128)..A
N.. ROUTINE TO SEARCH ROM FOR RESERVED W
ORD.$AX..290.HA...F.0.."...       NOT FO
UND":.80.JA..."YOUR WORD (SAME LENGTH)";
N$..A...  CHECK LENGTH OF WORDS ARE THE 
SAME..A ..C(N$)..C(R$).140..A...  ADD TE
RMINATOR..A..N$.H(N$,C(N$).1).G(F(I(N$,1
)).128)..B...  LOOP TO POKE IN NEW WORD.
.BH..J.1.C(N$)./BR..AD.J.1,F(J(N$,J,1)).
5B....YB..."......    ANOTHER WORD (Y/N)
".VB...A$:.A$.."Y".A$.."N".240..B...A$."
N"....B...  ANOTHER WORD. B...80..B...  
START ADDRESS OF ROM.IB".AD.40960..B,.. 
GET FIRST CHARACTER..B6.C.F(J(R$,1,1))..
C@.. IF FIRST CHAR. CHECK OTHERS.)CJ..B(
AD).C.420.JCT..  LOOK AT NEXT ROM POSITI
ON.VC^.AD.AD.1..CH..  CHECK FOR END OF W
ORD TABLE IN ROM..CR..AD..42000.F.0:...C
...  STARTS NEXT CHECK..C...310..C...  S
ET POINTER TO POSITION OF SECOND CHAR...
C..AD.AD.1..D...  LOOP CHECK REST OF CHA
R. MATCH.'D...J.2.C(R$).?DB..  CHECK EAC
H CHAR..`DL..B(AD.J.2)..F(J(R$,J,1)).310
.FDV....D...  SET POINTER TO FIRST START
 OF WORD AND SET FOUND FLAG..D..AD.AD.1:
F..1..D.......L
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL