00000000: 01 08 2E 08 0A 00 8F 20 20 4C 4F 4F 50 20 54 4F |....... LOOP TO|
00000010: 20 43 4F 50 59 20 52 4F 4D 20 49 4E 54 4F 20 52 | COPY ROM INTO R|
00000020: 41 4D 2C 20 42 45 48 49 4E 44 20 52 4F 4D 00 41 |AM, BEHIND ROM.A|
00000030: 08 14 00 81 41 B2 34 30 39 36 30 A4 34 39 31 35 |....A.40960.4915|
00000040: 32 00 4D 08 1E 00 97 41 2C C2 28 41 29 00 53 08 |2.M....A,.(A).S.|
00000050: 28 00 82 00 6D 08 32 00 8F 20 20 54 41 4B 45 20 |(...m.2.. TAKE |
00000060: 4F 55 54 20 42 41 53 49 43 20 52 4F 4D 00 77 08 |OUT BASIC ROM.w.|
00000070: 3C 00 97 31 2C 35 34 00 98 08 46 00 8F 20 20 50 |<..1,54...F.. P|
00000080: 55 54 20 52 45 53 45 52 56 45 44 20 57 4F 52 44 |UT RESERVED WORD|
00000090: 20 49 4E 54 4F 20 52 24 00 B1 08 50 00 85 22 11 | INTO R$...P..".|
000000A0: 52 45 53 45 52 56 45 44 20 57 4F 52 44 22 3B 52 |RESERVED WORD";R|
000000B0: 24 00 E5 08 5A 00 8F 20 20 53 45 54 20 54 45 52 |$...Z.. SET TER|
000000C0: 4D 49 4E 41 54 4F 52 20 4D 41 52 4B 45 52 20 4F |MINATOR MARKER O|
000000D0: 4E 20 4C 41 53 54 20 42 59 54 45 20 4F 46 20 53 |N LAST BYTE OF S|
000000E0: 54 52 49 4E 47 00 0C 09 64 00 52 24 B2 C8 28 52 |TRING...d.R$..(R|
000000F0: 24 2C C3 28 52 24 29 AB 31 29 AA C7 28 C6 28 C9 |$,.(R$).1)..(.(.|
00000100: 28 52 24 2C 31 29 29 AA 31 32 38 29 00 3A 09 6E |(R$,1)).128).:.n|
00000110: 00 8F 20 52 4F 55 54 49 4E 45 20 54 4F 20 53 45 |.. ROUTINE TO SE|
00000120: 41 52 43 48 20 52 4F 4D 20 46 4F 52 20 52 45 53 |ARCH ROM FOR RES|
00000130: 45 52 56 45 44 20 57 4F 52 44 00 43 09 78 00 8D |ERVED WORD.C.x..|
00000140: 32 39 30 00 67 09 82 00 8B 46 B2 30 A7 99 22 93 |290.g....F.0..".|
00000150: 11 11 20 20 20 20 20 20 20 4E 4F 54 20 46 4F 55 |.. NOT FOU|
00000160: 4E 44 22 3A 89 38 30 00 89 09 8C 00 85 22 59 4F |ND":.80......"YO|
00000170: 55 52 20 57 4F 52 44 20 28 53 41 4D 45 20 4C 45 |UR WORD (SAME LE|
00000180: 4E 47 54 48 29 22 3B 4E 24 00 B3 09 96 00 8F 20 |NGTH)";N$...... |
00000190: 20 43 48 45 43 4B 20 4C 45 4E 47 54 48 20 4F 46 | CHECK LENGTH OF|
000001A0: 20 57 4F 52 44 53 20 41 52 45 20 54 48 45 20 53 | WORDS ARE THE S|
000001B0: 41 4D 45 00 C9 09 A0 00 8B C3 28 4E 24 29 B3 B1 |AME.......(N$)..|
000001C0: C3 28 52 24 29 A7 31 34 30 00 DF 09 AA 00 8F 20 |.(R$).140...... |
000001D0: 20 41 44 44 20 54 45 52 4D 49 4E 41 54 4F 52 00 | ADD TERMINATOR.|
000001E0: 06 0A B4 00 4E 24 B2 C8 28 4E 24 2C C3 28 4E 24 |....N$..(N$,.(N$|
000001F0: 29 AB 31 29 AA C7 28 C6 28 C9 28 4E 24 2C 31 29 |).1)..(.(.(N$,1)|
00000200: 29 AA 31 32 38 29 00 26 0A BE 00 8F 20 20 4C 4F |).128).&.... LO|
00000210: 4F 50 20 54 4F 20 50 4F 4B 45 20 49 4E 20 4E 45 |OP TO POKE IN NE|
00000220: 57 20 57 4F 52 44 00 35 0A C8 00 81 4A B2 31 A4 |W WORD.5....J.1.|
00000230: C3 28 4E 24 29 00 4E 0A D2 00 97 41 44 AA 4A AB |.(N$).N....AD.J.|
00000240: 31 2C C6 28 CA 28 4E 24 2C 4A 2C 31 29 29 00 54 |1,.(.(N$,J,1)).T|
00000250: 0A DC 00 82 00 78 0A E6 00 99 22 93 11 11 11 11 |.....x....".....|
00000260: 11 20 20 20 20 41 4E 4F 54 48 45 52 20 57 4F 52 |. ANOTHER WOR|
00000270: 44 20 28 59 2F 4E 29 22 00 95 0A F0 00 A1 41 24 |D (Y/N)"......A$|
00000280: 3A 8B 41 24 B3 B1 22 59 22 AF 41 24 B3 B1 22 4E |:.A$.."Y".A$.."N|
00000290: 22 A7 32 34 30 00 A3 0A FA 00 8B 41 24 B2 22 4E |".240......A$."N|
000002A0: 22 A7 80 00 B7 0A 04 01 8F 20 20 41 4E 4F 54 48 |"........ ANOTH|
000002B0: 45 52 20 57 4F 52 44 00 BF 0A 0E 01 89 38 30 00 |ER WORD......80.|
000002C0: DB 0A 18 01 8F 20 20 53 54 41 52 54 20 41 44 44 |..... START ADD|
000002D0: 52 45 53 53 20 4F 46 20 52 4F 4D 00 E8 0A 22 01 |RESS OF ROM...".|
000002E0: 41 44 B2 34 30 39 36 30 00 02 0B 2C 01 8F 20 47 |AD.40960...,.. G|
000002F0: 45 54 20 46 49 52 53 54 20 43 48 41 52 41 43 54 |ET FIRST CHARACT|
00000300: 45 52 00 15 0B 36 01 43 B2 C6 28 CA 28 52 24 2C |ER...6.C..(.(R$,|
00000310: 31 2C 31 29 29 00 37 0B 40 01 8F 20 49 46 20 46 |1,1)).7.@.. IF F|
00000320: 49 52 53 54 20 43 48 41 52 2E 20 43 48 45 43 4B |IRST CHAR. CHECK|
00000330: 20 4F 54 48 45 52 53 00 48 0B 4A 01 8B C2 28 41 | OTHERS.H.J...(A|
00000340: 44 29 B2 43 A7 34 32 30 00 69 0B 54 01 8F 20 20 |D).C.420.i.T.. |
00000350: 4C 4F 4F 4B 20 41 54 20 4E 45 58 54 20 52 4F 4D |LOOK AT NEXT ROM|
00000360: 20 50 4F 53 49 54 49 4F 4E 00 75 0B 5E 01 41 44 | POSITION.u.^.AD|
00000370: B2 41 44 AA 31 00 9F 0B 68 01 8F 20 20 43 48 45 |.AD.1...h.. CHE|
00000380: 43 4B 20 46 4F 52 20 45 4E 44 20 4F 46 20 57 4F |CK FOR END OF WO|
00000390: 52 44 20 54 41 42 4C 45 20 49 4E 20 52 4F 4D 00 |RD TABLE IN ROM.|
000003A0: B4 0B 72 01 8B 41 44 B2 B1 34 32 30 30 30 A7 46 |..r..AD..42000.F|
000003B0: B2 30 3A 8E 00 CD 0B 86 01 8F 20 20 53 54 41 52 |.0:....... STAR|
000003C0: 54 53 20 4E 45 58 54 20 43 48 45 43 4B 00 D6 0B |TS NEXT CHECK...|
000003D0: 90 01 89 33 31 30 00 05 0C 9A 01 8F 20 20 53 45 |...310...... SE|
000003E0: 54 20 50 4F 49 4E 54 45 52 20 54 4F 20 50 4F 53 |T POINTER TO POS|
000003F0: 49 54 49 4F 4E 20 4F 46 20 53 45 43 4F 4E 44 20 |ITION OF SECOND |
00000400: 43 48 41 52 2E 00 11 0C A4 01 41 44 B2 41 44 AA |CHAR......AD.AD.|
00000410: 31 00 37 0C AE 01 8F 20 20 4C 4F 4F 50 20 43 48 |1.7.... LOOP CH|
00000420: 45 43 4B 20 52 45 53 54 20 4F 46 20 43 48 41 52 |ECK REST OF CHAR|
00000430: 2E 20 4D 41 54 43 48 00 46 0C B8 01 81 4A B2 32 |. MATCH.F....J.2|
00000440: A4 C3 28 52 24 29 00 5E 0C C2 01 8F 20 20 43 48 |..(R$).^.... CH|
00000450: 45 43 4B 20 45 41 43 48 20 43 48 41 52 2E 00 7F |ECK EACH CHAR...|
00000460: 0C CC 01 8B C2 28 41 44 AA 4A AB 32 29 B3 B1 C6 |.....(AD.J.2)...|
00000470: 28 CA 28 52 24 2C 4A 2C 31 29 29 A7 33 31 30 00 |(.(R$,J,1)).310.|
00000480: 85 0C D6 01 82 00 C2 0C E0 01 8F 20 20 53 45 54 |........... SET|
00000490: 20 50 4F 49 4E 54 45 52 20 54 4F 20 46 49 52 53 | POINTER TO FIRS|
000004A0: 54 20 53 54 41 52 54 20 4F 46 20 57 4F 52 44 20 |T START OF WORD |
000004B0: 41 4E 44 20 53 45 54 20 46 4F 55 4E 44 20 46 4C |AND SET FOUND FL|
000004C0: 41 47 00 D3 0C EA 01 41 44 B2 41 44 AB 31 3A 46 |AG.....AD.AD.1:F|
000004D0: B2 AB 31 00 D9 0C F4 01 8E 00 00 00 00 |..1.......... |
....... LOOP TO COPY ROM INTO RAM, BEHI
ND ROM.A....A.40960.49152.M....A,B(A).S.
(...M.2.. TAKE OUT BASIC ROM.W.<..1,54.
..F.. PUT RESERVED WORD INTO R$...P..".
RESERVED WORD";R$...Z.. SET TERMINATOR
MARKER ON LAST BYTE OF STRING...D.R$.H(R
$,C(R$).1).G(F(I(R$,1)).128).:.N.. ROUTI
NE TO SEARCH ROM FOR RESERVED WORD.C.X..
290.G....F.0.."... NOT FOUND":.80.
....."YOUR WORD (SAME LENGTH)";N$......
CHECK LENGTH OF WORDS ARE THE SAME.I. .
.C(N$)..C(R$).140...... ADD TERMINATOR.
....N$.H(N$,C(N$).1).G(F(I(N$,1)).128).&
.... LOOP TO POKE IN NEW WORD.5.H..J.1.
C(N$).N.R..AD.J.1,F(J(N$,J,1)).T.....X..
.."...... ANOTHER WORD (Y/N)"......A$
:.A$.."Y".A$.."N".240......A$."N".......
. ANOTHER WORD......80...... START ADD
RESS OF ROM...".AD.40960...,.. GET FIRST
CHARACTER...6.C.F(J(R$,1,1)).7.@.. IF F
IRST CHAR. CHECK OTHERS.H.J..B(AD).C.420
.I.T.. LOOK AT NEXT ROM POSITION.U.^.AD
.AD.1...H.. CHECK FOR END OF WORD TABLE
IN ROM...R..AD..42000.F.0:..M.... STAR
TS NEXT CHECK.V....310...... SET POINTE
R TO POSITION OF SECOND CHAR......AD.AD.
1.7.... LOOP CHECK REST OF CHAR. MATCH.
F....J.2.C(R$).^.B.. CHECK EACH CHAR..
.L..B(AD.J.2)..F(J(R$,J,1)).310...V...B.
... SET POINTER TO FIRST START OF WORD
AND SET FOUND FLAG.S...AD.AD.1:F..1.Y...
.....
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL