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