T.ML RELOCATER
FILE INFORMATION
FILENAME(S): T.ML RELOCATER
FILE TYPE(S): PRG
FILE SIZE: 5.3K
FIRST SEEN: 2025-11-30 18:05:26
APPEARS ON: 2 disk(s)
FILE HASH
d9c36ff9fd37e39422bda5e217456ebc82f6836365f0a9718209c8a99e253d40
FOUND ON DISKS (2 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| LOADSTAR 61 S 2 | T.ML RELOCATER | PRG | Xii | 14 | 1 | DOWNLOAD FILE |
| LOADSTAR 61 S 2 | T.ML RELOCATER | PRG | Sailor, Ganheden | 14 | 1 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 00 80 5E 55 3A 43 42 4D 0D 20 20 20 20 20 20 20 |..^U:CBM. | 00000010: CD 20 CC 20 2D 20 D2 20 C5 20 CC 20 CF 20 C3 20 |. . - . . . . . | 00000020: C1 20 D4 20 C5 20 D2 0D 0D 20 20 20 20 20 20 20 |. . . ... | 00000030: 20 20 20 42 59 20 CA 45 46 46 20 C2 41 42 55 53 | BY .EFF .ABUS| 00000040: 43 48 41 4B 0D 0D 20 46 52 4F 4D 20 C3 4F 4D 4D |CHAK.. FROM .OMM| 00000050: 4F 44 4F 52 45 20 CD 41 47 41 5A 49 4E 45 20 2D |ODORE .AGAZINE -| 00000060: 20 CA 55 4E 45 20 31 39 38 39 0D 0D 20 20 20 20 | .UNE 1989.. | 00000070: D4 48 45 52 45 20 57 49 4C 4C 20 42 45 20 54 49 |.HERE WILL BE TI| 00000080: 4D 45 53 20 57 48 45 4E 20 59 4F 55 20 48 41 56 |MES WHEN YOU HAV| 00000090: 45 0D 41 20 43 4F 55 50 4C 45 20 4F 46 20 4D 41 |E.A COUPLE OF MA| 000000A0: 43 48 49 4E 45 20 4C 41 4E 47 55 41 47 45 20 52 |CHINE LANGUAGE R| 000000B0: 4F 55 54 49 4E 45 53 0D 54 48 41 54 20 59 4F 55 |OUTINES.THAT YOU| 000000C0: 20 57 41 4E 54 20 54 4F 20 55 53 45 20 49 4E 20 | WANT TO USE IN | 000000D0: 41 20 50 52 4F 47 52 41 4D 20 42 55 54 0D 42 4F |A PROGRAM BUT.BO| 000000E0: 54 48 20 4F 46 20 54 48 45 4D 20 48 41 50 50 45 |TH OF THEM HAPPE| 000000F0: 4E 20 54 4F 20 52 45 53 49 44 45 20 49 4E 20 54 |N TO RESIDE IN T| 00000100: 48 45 0D 53 41 4D 45 20 50 4C 41 43 45 20 49 4E |HE.SAME PLACE IN| 00000110: 20 4D 45 4D 4F 52 59 2E 20 20 D4 48 49 53 20 4F | MEMORY. .HIS O| 00000120: 46 54 45 4E 0D 4F 43 43 55 52 53 20 57 49 54 48 |FTEN.OCCURS WITH| 00000130: 20 52 4F 55 54 49 4E 45 53 20 54 48 41 54 20 52 | ROUTINES THAT R| 00000140: 45 53 49 44 45 20 49 4E 0D 54 48 45 20 43 41 53 |ESIDE IN.THE CAS| 00000150: 53 45 54 54 45 20 42 55 46 46 45 52 2E 20 20 D7 |SETTE BUFFER. .| 00000160: 45 4C 4C 2C 20 41 43 43 4F 52 44 49 4E 47 0D 54 |ELL, ACCORDING.T| 00000170: 4F 20 CD 49 4B 45 20 D2 49 56 45 52 53 20 41 54 |O .IKE .IVERS AT| 00000180: 20 C3 4F 4D 4D 4F 44 4F 52 45 20 CD 41 47 41 5A | .OMMODORE .AGAZ| 00000190: 49 4E 45 2C 0D 54 48 49 53 20 50 52 4F 47 52 41 |INE,.THIS PROGRA| 000001A0: 4D 20 57 4F 4E 27 54 20 48 45 4C 50 20 59 4F 55 |M WON'T HELP YOU| 000001B0: 20 2D 2D 20 49 54 0D 4F 4E 4C 59 20 52 45 4C 4F | -- IT.ONLY RELO| 000001C0: 43 41 54 45 53 20 43 4F 44 45 20 46 4F 55 4E 44 |CATES CODE FOUND| 000001D0: 20 49 4E 20 48 49 47 48 45 52 0D 4D 45 4D 4F 52 | IN HIGHER.MEMOR| 000001E0: 59 2C 20 4C 49 4B 45 20 24 C3 30 30 30 2E 20 20 |Y, LIKE $.000. | 000001F0: C2 55 54 20 44 4F 4E 27 54 0D 44 45 53 50 41 49 |.UT DON'T.DESPAI| 00000200: 52 2C 20 41 46 54 45 52 20 C9 20 44 45 53 43 52 |R, AFTER . DESCR| 00000210: 49 42 45 20 CD CC 20 D2 C5 CC CF C3 C1 D4 C5 D2 |IBE .. .........| 00000220: 0D C9 27 4C 4C 20 54 45 4C 4C 20 59 4F 55 20 48 |..'LL TELL YOU H| 00000230: 4F 57 20 C9 20 52 45 4C 4F 43 41 54 45 20 CD CC |OW . RELOCATE ..| 00000240: 20 43 4F 44 45 2E 0D 0D 20 20 20 20 D4 48 49 53 | CODE... .HIS| 00000250: 20 50 52 4F 47 52 41 4D 20 49 53 20 55 53 45 46 | PROGRAM IS USEF| 00000260: 55 4C 20 46 4F 52 20 C2 C1 D3 C9 C3 0D 41 4E 44 |UL FOR ......AND| 00000270: 20 4E 4F 56 49 43 45 20 CD 2D CC 20 50 52 4F 47 | NOVICE .-. PROG| 00000280: 52 41 4D 4D 45 52 53 2E 20 20 C9 54 20 57 4F 52 |RAMMERS. .T WOR| 00000290: 4B 53 0D 42 45 53 54 20 57 49 54 48 20 53 4D 41 |KS.BEST WITH SMA| 000002A0: 4C 4C 20 50 52 4F 47 52 41 4D 53 20 54 48 41 54 |LL PROGRAMS THAT| 000002B0: 20 4C 41 43 4B 0D 44 41 54 41 2E 20 20 C9 20 44 | LACK.DATA. . D| 000002C0: 4F 20 4D 45 41 4E 20 D3 CD C1 CC CC 20 50 52 4F |O MEAN ..... PRO| 000002D0: 47 52 41 4D 53 2E 0D CD CC 2D D2 45 4C 4F 43 41 |GRAMS....-.ELOCA| 000002E0: 54 4F 52 20 54 4F 4F 4B 20 41 4C 4D 4F 53 54 20 |TOR TOOK ALMOST | 000002F0: 54 57 4F 20 48 4F 55 52 53 20 54 4F 0D 52 45 4C |TWO HOURS TO.REL| 00000300: 4F 43 41 54 45 20 41 20 35 20 42 4C 4F 43 4B 20 |OCATE A 5 BLOCK | 00000310: 46 49 4C 45 21 0D 0D 20 20 20 20 CF 4E 43 45 20 |FILE!.. .NCE | 00000320: D2 D5 CE 2C 20 CD CC 2D D2 C5 CC CF C3 C1 D4 C5 |..., ..-........| 00000330: D2 20 41 53 4B 53 20 46 4F 52 0D 54 48 45 20 4E |. ASKS FOR.THE N| 00000340: 41 4D 45 20 4F 46 20 54 48 45 20 CD CC 20 52 4F |AME OF THE .. RO| 00000350: 55 54 49 4E 45 2E 20 20 D4 48 45 0D D3 D4 C1 D2 |UTINE. .HE.....| 00000360: D4 C9 CE C7 20 41 44 44 52 45 53 53 20 4F 46 20 |.... ADDRESS OF | 00000370: 54 48 45 20 50 52 4F 47 52 41 4D 20 49 53 0D 54 |THE PROGRAM IS.T| 00000380: 48 45 4E 20 44 49 53 50 4C 41 59 45 44 2E 20 20 |HEN DISPLAYED. | 00000390: D4 48 45 4E 20 59 4F 55 20 45 4E 54 45 52 20 54 |.HEN YOU ENTER T| 000003A0: 48 45 0D 44 45 53 49 52 45 44 20 4C 4F 43 41 54 |HE.DESIRED LOCAT| 000003B0: 49 4F 4E 2E 20 20 CE 45 58 54 20 59 4F 55 20 41 |ION. .EXT YOU A| 000003C0: 52 45 20 41 53 4B 45 44 0D 49 46 20 54 48 45 52 |RE ASKED.IF THER| 000003D0: 45 20 49 53 20 41 4E 59 20 C4 C1 D4 C1 20 49 4E |E IS ANY .... IN| 000003E0: 20 54 48 45 20 50 52 4F 47 52 41 4D 2E 0D C1 4E | THE PROGRAM...N| 000003F0: 53 57 45 52 20 D9 45 53 2F CE 4F 2F CD 41 59 42 |SWER .ES/.O/.AYB| 00000400: 45 2E 20 20 C5 4E 54 45 52 20 CD 20 49 46 0D 59 |E. .NTER . IF.Y| 00000410: 4F 55 27 52 45 20 4E 4F 54 20 53 55 52 45 2E 20 |OU'RE NOT SURE. | 00000420: 20 D4 48 45 20 46 49 4E 41 4C 20 50 52 4F 4D 50 | .HE FINAL PROMP| 00000430: 54 0D 57 49 4C 4C 20 41 53 4B 20 46 4F 52 20 41 |T.WILL ASK FOR A| 00000440: 20 CE C5 D7 20 46 49 4C 45 4E 41 4D 45 2E 0D 0D | ... FILENAME...| 00000450: 0D 0D 20 20 20 20 C9 46 20 59 4F 55 20 41 4E 53 |.. .F YOU ANS| 00000460: 57 45 52 45 44 20 59 45 53 20 4F 52 20 4D 41 59 |WERED YES OR MAY| 00000470: 42 45 20 54 4F 0D 54 48 45 20 C4 C1 D4 C1 20 51 |BE TO.THE .... Q| 00000480: 55 45 53 54 49 4F 4E 20 59 4F 55 27 4C 4C 20 42 |UESTION YOU'LL B| 00000490: 45 20 41 53 4B 45 44 20 46 4F 52 0D 53 54 41 52 |E ASKED FOR.STAR| 000004A0: 54 49 4E 47 20 4F 52 20 45 4E 44 49 4E 47 20 53 |TING OR ENDING S| 000004B0: 45 47 4D 45 4E 54 53 20 4F 46 20 54 48 45 0D 43 |EGMENTS OF THE.C| 000004C0: 4F 44 45 20 54 4F 20 49 53 4F 4C 41 54 45 20 54 |ODE TO ISOLATE T| 000004D0: 48 45 20 44 41 54 41 20 50 41 52 54 2E 20 20 D4 |HE DATA PART. .| 000004E0: 48 49 53 0D 49 53 20 41 4E 20 49 4E 54 45 4C 4C |HIS.IS AN INTELL| 000004F0: 49 47 45 4E 54 20 54 48 49 4E 47 20 46 4F 52 20 |IGENT THING FOR | 00000500: 54 48 45 0D 50 52 4F 47 52 41 4D 20 54 4F 20 44 |THE.PROGRAM TO D| 00000510: 4F 20 41 4C 54 48 4F 55 47 48 20 C9 20 46 45 45 |O ALTHOUGH . FEE| 00000520: 4C 20 54 48 41 54 20 49 46 0D 41 20 4E 4F 56 49 |L THAT IF.A NOVI| 00000530: 43 45 20 50 52 4F 47 52 41 4D 4D 45 52 20 49 53 |CE PROGRAMMER IS| 00000540: 20 49 4E 20 4E 45 45 44 20 4F 46 20 CD CC 0D D2 | IN NEED OF ....| 00000550: C5 CC CF C3 C1 D4 C5 D2 20 48 45 20 50 52 4F 42 |........ HE PROB| 00000560: 41 42 4C 59 20 44 4F 45 53 4E 27 54 20 4B 4E 4F |ABLY DOESN'T KNO| 00000570: 57 0D 57 48 41 54 20 49 53 20 44 41 54 41 20 41 |W.WHAT IS DATA A| 00000580: 4E 44 20 57 48 41 54 20 49 53 4E 27 54 2E 0D 0D |ND WHAT ISN'T...| 00000590: 20 20 20 20 D4 4F 20 45 4E 44 20 54 48 45 20 27 | .O END THE '| 000005A0: 44 41 54 41 20 49 53 4F 4C 41 54 49 4F 4E 27 0D |DATA ISOLATION'.| 000005B0: 53 45 51 55 45 4E 43 45 2C 20 45 4E 54 45 52 20 |SEQUENCE, ENTER | 000005C0: 41 20 30 20 54 48 45 4E 20 53 49 54 20 42 41 43 |A 0 THEN SIT BAC| 000005D0: 4B 20 41 4E 44 0D 57 41 49 54 2E 20 20 CA 45 46 |K AND.WAIT. .EF| 000005E0: 46 20 C2 41 42 55 53 43 48 41 4B 20 55 53 45 44 |F .ABUSCHAK USED| 000005F0: 20 53 4F 4D 45 0D 46 41 49 52 4C 59 20 53 4F 50 | SOME.FAIRLY SOP| 00000600: 48 49 53 54 49 43 41 54 45 44 20 41 4C 47 4F 52 |HISTICATED ALGOR| 00000610: 49 54 48 4D 53 20 46 4F 52 0D 44 45 54 45 52 4D |ITHMS FOR.DETERM| 00000620: 49 4E 49 4E 47 20 49 46 20 54 48 45 20 43 4F 44 |INING IF THE COD| 00000630: 45 20 49 54 27 53 20 57 4F 52 4B 49 4E 47 0D 4F |E IT'S WORKING.O| 00000640: 4E 20 49 53 20 44 41 54 41 20 4F 52 20 4E 4F 54 |N IS DATA OR NOT| 00000650: 2C 20 53 49 4E 43 45 20 44 41 54 41 20 44 4F 45 |, SINCE DATA DOE| 00000660: 53 4E 27 54 0D 4E 45 45 44 20 54 4F 20 42 45 20 |SN'T.NEED TO BE | 00000670: 43 48 41 4E 47 45 44 20 57 48 45 4E 20 52 45 4C |CHANGED WHEN REL| 00000680: 4F 43 41 54 49 4E 47 2E 0D 0D 20 20 20 20 C9 4E |OCATING... .N| 00000690: 20 54 48 45 20 41 52 54 49 43 4C 45 20 49 4E 20 | THE ARTICLE IN | 000006A0: 54 48 45 20 4D 41 47 41 5A 49 4E 45 0D 54 48 45 |THE MAGAZINE.THE| 000006B0: 52 45 20 41 52 45 20 51 55 49 54 45 20 41 20 46 |RE ARE QUITE A F| 000006C0: 45 57 20 44 49 53 43 4C 41 49 4D 45 52 53 2C 0D |EW DISCLAIMERS,.| 000006D0: 49 4E 44 49 43 41 54 49 4E 47 20 54 48 41 54 20 |INDICATING THAT | 000006E0: 54 48 49 53 20 50 52 4F 47 52 41 4D 20 49 53 20 |THIS PROGRAM IS | 000006F0: 4E 4F 54 0D 31 30 30 25 20 52 45 4C 49 41 42 4C |NOT.100% RELIABL| 00000700: 45 2E 20 20 D7 4F 55 4C 44 20 59 4F 55 20 42 45 |E. .OULD YOU BE| 00000710: 4C 49 45 56 45 0D 35 30 25 3F 20 20 CE 4F 54 48 |LIEVE.50%? .OTH| 00000720: 49 4E 47 20 41 47 41 49 4E 53 54 20 CA 45 46 46 |ING AGAINST .EFF| 00000730: 20 C2 41 42 55 53 43 48 41 4B 2C 0D 42 55 54 20 | .ABUSCHAK,.BUT | 00000740: 41 20 52 45 4C 4F 43 41 54 45 52 20 52 45 51 55 |A RELOCATER REQU| 00000750: 49 52 45 53 20 41 20 CC CF D4 20 4F 46 0D 43 4F |IRES A ... OF.CO| 00000760: 4D 50 55 54 45 52 20 49 4E 54 45 4C 4C 49 47 45 |MPUTER INTELLIGE| 00000770: 4E 43 45 20 54 4F 20 57 4F 52 4B 2E 0D D0 41 52 |NCE TO WORK...AR| 00000780: 41 44 4F 58 49 43 41 4C 4C 59 2C 20 49 54 20 44 |ADOXICALLY, IT D| 00000790: 4F 45 53 4E 27 54 20 54 41 4B 45 20 4D 55 43 48 |OESN'T TAKE MUCH| 000007A0: 0D 48 55 4D 41 4E 20 49 4E 54 45 4C 4C 49 47 45 |.HUMAN INTELLIGE| 000007B0: 4E 43 45 20 54 4F 20 52 45 4C 4F 43 41 54 45 20 |NCE TO RELOCATE | 000007C0: 43 4F 44 45 2C 0D 57 48 49 43 48 20 49 53 20 57 |CODE,.WHICH IS W| 000007D0: 48 59 20 C9 27 4C 4C 20 45 58 50 4C 41 49 4E 20 |HY .'LL EXPLAIN | 000007E0: 48 4F 57 20 C9 0D 52 45 4C 4F 43 41 54 45 20 43 |HOW ..RELOCATE C| 000007F0: 4F 44 45 2E 0D 0D 20 20 20 20 C6 49 52 53 54 20 |ODE... .IRST | 00000800: 4F 46 20 41 4C 4C 2C 20 4C 45 54 27 53 20 41 53 |OF ALL, LET'S AS| 00000810: 53 55 4D 45 20 54 48 41 54 0D 59 4F 55 20 48 41 |SUME THAT.YOU HA| 00000820: 56 45 20 54 57 4F 20 52 4F 55 54 49 4E 45 53 20 |VE TWO ROUTINES | 00000830: 54 48 41 54 20 52 45 53 49 44 45 20 49 4E 0D 54 |THAT RESIDE IN.T| 00000840: 48 45 20 43 41 53 53 45 54 54 45 20 42 55 46 46 |HE CASSETTE BUFF| 00000850: 45 52 2E 20 20 CF 4E 45 20 4F 46 20 54 48 45 4D |ER. .NE OF THEM| 00000860: 20 4D 55 53 54 0D 47 4F 20 55 50 20 54 4F 20 54 | MUST.GO UP TO T| 00000870: 48 45 20 24 C3 30 30 30 20 41 52 45 41 2E 20 20 |HE $.000 AREA. | 00000880: D3 4F 20 59 4F 55 20 4C 4F 41 44 0D 55 50 20 59 |.O YOU LOAD.UP Y| 00000890: 4F 55 52 20 CD CC 20 4D 4F 4E 49 54 4F 52 2E 20 |OUR .. MONITOR. | 000008A0: 20 D9 45 53 2C 20 59 4F 55 27 4C 4C 20 4E 45 45 | .ES, YOU'LL NEE| 000008B0: 44 0D 41 4E 20 CD CC 20 4D 4F 4E 49 54 4F 52 20 |D.AN .. MONITOR | 000008C0: 4C 49 4B 45 20 54 48 45 20 4F 4E 45 20 49 4E 20 |LIKE THE ONE IN | 000008D0: 54 48 45 0D C3 2D 31 32 38 20 4F 52 20 CA 49 4D |THE..-128 OR .IM| 000008E0: 20 C2 55 54 54 45 52 46 49 45 4C 44 27 53 20 D3 | .UTTERFIELD'S .| 000008F0: D5 D0 C5 D2 CD CF CE 2E 0D 0D 20 20 20 20 C9 27 |.......... .'| 00000900: 4D 20 41 53 53 55 4D 49 4E 47 20 54 48 41 54 20 |M ASSUMING THAT | 00000910: 59 4F 55 20 4B 4E 4F 57 20 48 4F 57 20 54 4F 0D |YOU KNOW HOW TO.| 00000920: 4C 4F 41 44 2C 20 53 41 56 45 20 41 4E 44 20 54 |LOAD, SAVE AND T| 00000930: 52 41 4E 53 46 45 52 20 57 49 54 48 20 41 0D 4D |RANSFER WITH A.M| 00000940: 4F 4E 49 54 4F 52 2E 20 20 D9 4F 55 20 43 41 4E |ONITOR. .OU CAN| 00000950: 27 54 20 4A 55 53 54 20 54 52 41 4E 53 46 45 52 |'T JUST TRANSFER| 00000960: 20 54 48 45 0D 43 4F 44 45 20 55 50 20 54 4F 20 | THE.CODE UP TO | 00000970: 24 C3 30 30 30 20 42 45 43 41 55 53 45 20 53 4F |$.000 BECAUSE SO| 00000980: 4D 45 20 4F 46 20 54 48 45 0D CA D3 D2 53 2C 20 |ME OF THE....S, | 00000990: CA CD D0 53 2C 20 D3 D4 C1 53 20 41 4E 44 20 CC |...S, ...S AND .| 000009A0: C4 C1 53 20 57 49 4C 4C 20 42 45 0D 57 52 4F 4E |..S WILL BE.WRON| 000009B0: 47 2E 20 D4 48 4F 53 45 20 41 52 45 20 54 48 45 |G. .HOSE ARE THE| 000009C0: 20 43 4F 4D 4D 41 4E 44 53 20 54 48 41 54 20 CD | COMMANDS THAT .| 000009D0: CC 0D D2 C5 CC CF C3 C1 D4 C5 D2 20 57 4F 52 4B |........... WORK| 000009E0: 53 20 4F 4E 2E 20 20 C2 CE C5 53 20 41 4E 44 20 |S ON. ...S AND | 000009F0: C2 C5 D1 53 0D 41 52 45 20 53 45 4C 46 2D 52 45 |...S.ARE SELF-RE| 00000A00: 4C 4F 43 41 54 41 42 4C 45 20 41 4E 44 20 59 4F |LOCATABLE AND YO| 00000A10: 55 20 57 4F 4E 27 54 0D 4E 45 45 44 20 54 4F 20 |U WON'T.NEED TO | 00000A20: 43 48 41 4E 47 45 20 54 48 45 4D 2E 0D 0D 20 20 |CHANGE THEM... | 00000A30: 20 20 C8 45 52 45 20 49 53 20 54 48 45 20 43 52 | .ERE IS THE CR| 00000A40: 55 58 20 4F 46 20 4D 59 20 4D 45 54 48 4F 44 2E |UX OF MY METHOD.| 00000A50: 0D CA 55 53 54 20 41 42 4F 55 54 20 41 4C 4C 20 |..UST ABOUT ALL | 00000A60: 4F 46 20 54 48 45 20 43 4F 44 45 20 54 48 41 54 |OF THE CODE THAT| 00000A70: 20 4E 45 45 44 53 0D 54 4F 20 42 45 20 43 48 41 | NEEDS.TO BE CHA| 00000A80: 4E 47 45 44 20 41 52 45 20 54 48 52 45 45 2D 42 |NGED ARE THREE-B| 00000A90: 59 54 45 0D 43 4F 4D 4D 41 4E 44 53 2E 20 20 D4 |YTE.COMMANDS. .| 00000AA0: 48 45 20 54 57 4F 2D 42 59 54 45 20 43 4F 4D 4D |HE TWO-BYTE COMM| 00000AB0: 41 4E 44 53 20 41 52 45 0D 55 53 55 41 4C 4C 59 |ANDS ARE.USUALLY| 00000AC0: 20 4F 4B 41 59 2C 20 4E 4F 20 4D 41 54 54 45 52 | OKAY, NO MATTER| 00000AD0: 20 57 48 45 52 45 20 54 48 45 59 0D 41 52 45 2E | WHERE THEY.ARE.| 00000AE0: 0D 0D 0D 20 20 20 20 D3 4F 20 4C 45 54 27 53 20 |... .O LET'S | 00000AF0: 4C 4F 4F 4B 20 41 54 20 4F 55 52 20 CD CC 20 43 |LOOK AT OUR .. C| 00000B00: 4F 44 45 20 57 49 54 48 0D 54 48 41 20 4D 4F 4E |ODE WITH.THA MON| 00000B10: 49 54 4F 52 2E 20 20 C9 54 20 4C 4F 4F 4B 53 20 |ITOR. .T LOOKS | 00000B20: 53 4F 4D 45 54 48 49 4E 47 20 4C 49 4B 45 3A 0D |SOMETHING LIKE:.| 00000B30: 0D 2E 2C 30 33 33 C3 20 32 30 20 37 33 20 30 30 |..,033. 20 73 00| 00000B40: 20 CA D3 D2 20 24 30 30 37 33 0D 2E 2C 30 33 33 | ... $0073..,033| 00000B50: C6 20 38 C4 20 39 36 20 30 33 20 D3 D4 C1 20 24 |. 8. 96 03 ... $| 00000B60: 30 33 39 36 0D 2E 2C 30 33 34 32 20 31 38 20 20 |0396..,0342 18 | 00000B70: 20 20 20 20 20 C3 CC C3 0D 2E 2C 30 33 34 33 20 | .....,0343 | 00000B80: C5 39 20 32 C6 20 20 20 20 D3 C2 C3 20 23 24 32 |.9 2. ... #$2| 00000B90: C6 0D 2E 2C 30 33 34 35 20 38 C4 20 39 36 20 30 |...,0345 8. 96 0| 00000BA0: 33 20 D3 D4 C1 20 24 30 33 39 36 0D 2E 2C 30 33 |3 ... $0396..,03| 00000BB0: 34 38 20 32 30 20 37 33 20 30 30 20 CA D3 D2 20 |48 20 73 00 ... | 00000BC0: 24 30 30 37 33 0D 2E 2C 30 33 34 C2 20 32 30 20 |$0073..,034. 20 | 00000BD0: C6 C4 20 C1 C5 20 CA D3 D2 20 24 C1 C5 C6 C4 0D |.. .. ... $.....| 00000BE0: 2E 2C 30 33 34 C5 20 32 30 20 39 C5 20 C2 37 20 |.,034. 20 9. .7 | 00000BF0: CA D3 D2 20 24 C2 37 39 C5 0D 2E 2C 30 33 35 31 |... $.79...,0351| 00000C00: 20 38 C5 20 39 38 20 30 33 20 D3 D4 D8 20 24 30 | 8. 98 03 ... $0| 00000C10: 33 39 38 0D 2E 2C 30 33 35 34 20 C1 39 20 30 30 |398..,0354 .9 00| 00000C20: 20 20 20 20 CC C4 C1 20 23 30 30 0D 2E 2C 30 33 | ... #00..,03| 00000C30: 35 36 20 38 35 20 C6 C2 20 20 20 20 D3 D4 C1 20 |56 85 .. ... | 00000C40: 24 C6 C2 0D 2E 2C 30 33 35 38 20 C1 C5 20 39 36 |$....,0358 .. 96| 00000C50: 20 30 33 20 CC C4 D8 20 24 30 33 39 36 0D 0D 20 | 03 ... $0396.. | 00000C60: 20 20 20 CE 4F 54 49 43 45 20 54 48 41 54 20 54 | .OTICE THAT T| 00000C70: 48 45 20 30 33 53 20 41 52 45 20 41 4C 4C 20 49 |HE 03S ARE ALL I| 00000C80: 4E 0D 54 48 45 20 53 41 4D 45 20 43 4F 4C 55 4D |N.THE SAME COLUM| 00000C90: 4E 2C 20 54 48 45 20 54 48 49 52 44 2D 42 59 54 |N, THE THIRD-BYT| 00000CA0: 45 0D 43 4F 4C 55 4D 4E 2E 0D 0D 20 20 20 20 D4 |E.COLUMN... .| 00000CB0: 48 45 20 30 33 20 49 53 20 54 48 45 20 48 49 2D |HE 03 IS THE HI-| 00000CC0: 42 59 54 45 20 4F 46 20 54 48 45 0D 41 44 44 52 |BYTE OF THE.ADDR| 00000CD0: 45 53 53 45 53 20 54 48 41 54 20 4E 45 45 44 20 |ESSES THAT NEED | 00000CE0: 54 4F 20 42 45 20 43 48 41 4E 47 45 44 20 49 46 |TO BE CHANGED IF| 00000CF0: 0D 57 45 20 41 52 45 20 54 4F 20 52 45 4C 4F 43 |.WE ARE TO RELOC| 00000D00: 41 54 45 20 54 48 49 53 20 43 4F 44 45 20 54 4F |ATE THIS CODE TO| 00000D10: 20 54 48 45 0D 24 C3 30 30 30 20 41 52 45 41 2E | THE.$.000 AREA.| 00000D20: 20 20 C7 45 4E 45 52 41 4C 4C 59 20 C9 20 44 4F | .ENERALLY . DO| 00000D30: 4E 27 54 20 57 4F 52 52 59 0D 41 42 4F 55 54 20 |N'T WORRY.ABOUT | 00000D40: 54 48 45 20 4C 4F 2D 42 59 54 45 20 57 48 45 4E |THE LO-BYTE WHEN| 00000D50: 20 C9 20 52 45 4C 4F 43 41 54 45 0D 43 4F 44 45 | . RELOCATE.CODE| 00000D60: 2E 20 20 C9 46 20 C9 27 4D 20 4D 4F 56 49 4E 47 |. .F .'M MOVING| 00000D70: 20 46 52 4F 4D 20 24 30 33 33 C3 20 54 4F 0D 54 | FROM $033. TO.T| 00000D80: 48 45 20 24 C3 30 30 30 20 41 52 45 41 2C 20 C9 |HE $.000 AREA, .| 00000D90: 20 52 45 4C 4F 43 41 54 45 20 54 48 45 20 43 4F | RELOCATE THE CO| 00000DA0: 44 45 0D 54 4F 20 24 C3 C4 33 C3 20 4F 52 20 24 |DE.TO $..3. OR $| 00000DB0: C3 30 33 C3 20 41 4E 44 20 4A 55 53 54 20 D3 D9 |.03. AND JUST ..| 00000DC0: D3 20 54 4F 20 49 54 0D 41 54 20 54 48 41 54 20 |. TO IT.AT THAT | 00000DD0: 4C 4F 43 41 54 49 4F 4E 2E 20 20 C9 46 20 49 54 |LOCATION. .F IT| 00000DE0: 27 53 20 49 4D 50 45 52 41 54 49 56 45 0D 54 48 |'S IMPERATIVE.TH| 00000DF0: 41 54 20 54 48 45 20 43 4F 44 45 20 52 45 53 49 |AT THE CODE RESI| 00000E00: 44 45 20 41 54 2C 20 53 41 59 2C 20 24 C3 38 30 |DE AT, SAY, $.80| 00000E10: 30 2C 0D 54 48 45 4E 20 59 4F 55 27 4C 4C 20 48 |0,.THEN YOU'LL H| 00000E20: 41 56 45 20 54 4F 20 43 48 41 4E 47 45 20 54 48 |AVE TO CHANGE TH| 00000E30: 45 20 42 59 54 45 0D 54 4F 20 54 48 45 20 4C 45 |E BYTE.TO THE LE| 00000E40: 46 54 20 4F 46 20 54 48 45 20 30 33 53 20 41 4C |FT OF THE 03S AL| 00000E50: 53 4F 2E 0D 0D 20 20 20 20 D3 4F 20 41 4C 4C 20 |SO... .O ALL | 00000E60: 59 4F 55 20 44 4F 20 49 53 20 4A 55 53 54 20 43 |YOU DO IS JUST C| 00000E70: 55 52 53 4F 52 20 55 50 0D 54 4F 20 54 48 45 20 |URSOR UP.TO THE | 00000E80: 30 33 53 20 41 4E 44 20 43 48 41 4E 47 45 20 54 |03S AND CHANGE T| 00000E90: 48 45 4D 20 54 4F 20 C3 C4 53 20 4F 52 0D 57 48 |HEM TO ..S OR.WH| 00000EA0: 41 54 45 56 45 52 2E 20 20 D7 48 45 4E 20 59 4F |ATEVER. .HEN YO| 00000EB0: 55 20 50 52 45 53 53 20 D2 C5 D4 D5 D2 CE 20 54 |U PRESS ...... T| 00000EC0: 48 45 0D 43 4F 44 45 20 54 4F 20 54 48 45 20 52 |HE.CODE TO THE R| 00000ED0: 49 47 48 54 20 57 49 4C 4C 20 43 48 41 4E 47 45 |IGHT WILL CHANGE| 00000EE0: 2E 20 20 C4 CF CE 27 D4 0D D2 D5 CE 20 D4 C8 C5 |. ...'..... ...| 00000EF0: 20 D0 D2 CF C7 D2 C1 CD 20 D9 C5 D4 21 21 21 0D | ....... ...!!!.| 00000F00: 0D 20 20 20 20 D7 48 45 4E 20 59 4F 55 20 48 41 |. .HEN YOU HA| 00000F10: 56 45 20 41 4C 4C 20 4F 46 20 54 48 45 20 30 33 |VE ALL OF THE 03| 00000F20: 53 0D 43 48 41 4E 47 45 44 2C 20 54 48 45 4E 20 |S.CHANGED, THEN | 00000F30: 54 52 41 4E 53 46 45 52 20 54 48 45 20 43 4F 44 |TRANSFER THE COD| 00000F40: 45 20 54 4F 0D 24 C3 C4 33 C3 20 41 4E 44 20 54 |E TO.$..3. AND T| 00000F50: 48 45 4E 20 53 41 56 45 20 49 54 20 46 52 4F 4D |HEN SAVE IT FROM| 00000F60: 20 54 48 45 52 45 2E 0D D4 41 20 44 41 21 21 21 | THERE...A DA!!!| 00000F70: 20 20 C9 54 27 53 20 44 4F 4E 45 2E 20 20 C6 49 | .T'S DONE. .I| 00000F80: 47 55 52 45 20 4F 55 54 20 54 48 45 0D 4E 45 57 |GURE OUT THE.NEW| 00000F90: 20 41 44 44 52 45 53 53 20 54 4F 20 D3 D9 D3 20 | ADDRESS TO ... | 00000FA0: 54 4F 20 41 4E 44 20 59 4F 55 27 52 45 20 4F 4E |TO AND YOU'RE ON| 00000FB0: 0D 59 4F 55 52 20 57 41 59 2E 0D 0D 20 20 20 20 |.YOUR WAY... | 00000FC0: C9 4E 20 54 48 45 20 43 41 53 53 45 54 54 45 20 |.N THE CASSETTE | 00000FD0: 42 55 46 46 45 52 2C 20 54 48 45 0D 48 49 2D 42 |BUFFER, THE.HI-B| 00000FE0: 59 54 45 20 49 53 20 41 4C 57 41 59 53 20 30 33 |YTE IS ALWAYS 03| 00000FF0: 2E 20 20 C9 46 20 59 4F 55 20 41 52 45 0D 4D 4F |. .F YOU ARE.MO| 00001000: 56 49 4E 47 20 4C 4F 4E 47 45 52 20 43 4F 44 45 |VING LONGER CODE| 00001010: 20 46 52 4F 4D 2C 20 53 41 59 2C 20 24 C3 38 30 | FROM, SAY, $.80| 00001020: 30 0D 54 4F 20 24 39 34 30 30 2C 20 59 4F 55 27 |0.TO $9400, YOU'| 00001030: 4C 4C 20 48 41 56 45 20 54 4F 20 43 48 41 4E 47 |LL HAVE TO CHANG| 00001040: 45 20 41 4C 4C 0D C3 38 53 20 28 49 4E 20 54 48 |E ALL..8S (IN TH| 00001050: 45 20 54 48 49 52 44 2D 42 59 54 45 20 43 4F 4C |E THIRD-BYTE COL| 00001060: 55 4D 4E 29 20 54 4F 0D 39 34 53 2C 20 41 4C 4C |UMN) TO.94S, ALL| 00001070: 20 C3 39 53 20 54 4F 20 39 35 53 2C 20 41 4C 4C | .9S TO 95S, ALL| 00001080: 20 C3 C1 53 20 54 4F 20 39 36 53 2C 0D 45 54 43 | ..S TO 96S,.ETC| 00001090: 2E 0D 0D 0D 0D 0D 0D 20 20 20 20 CF 4E 45 20 4D |....... .NE M| 000010A0: 4F 52 45 20 54 48 49 4E 47 20 54 4F 20 4C 4F 4F |ORE THING TO LOO| 000010B0: 4B 20 46 4F 52 2E 20 20 C9 46 0D 59 4F 55 20 53 |K FOR. .F.YOU S| 000010C0: 45 45 20 43 4F 44 45 20 54 48 41 54 20 4C 4F 4F |EE CODE THAT LOO| 000010D0: 4B 53 20 4C 49 4B 45 20 54 48 49 53 3A 0D 0D 2E |KS LIKE THIS:...| 000010E0: 2C 30 33 36 36 20 C1 39 20 30 33 20 20 20 20 CC |,0366 .9 03 .| 000010F0: C4 C1 20 23 24 30 33 0D 2E 2C 30 33 36 38 20 38 |.. #$03..,0368 8| 00001100: 35 20 C6 C3 20 20 20 20 D3 D4 C1 20 24 C6 C3 0D |5 .. ... $...| 00001110: 2E 2C 30 33 36 C1 20 C1 39 20 33 C3 20 20 20 20 |.,036. .9 3. | 00001120: CC C4 C1 20 23 24 33 C3 0D 2E 2C 30 33 36 C3 20 |... #$3...,036. | 00001130: 38 35 20 C6 C2 20 20 20 20 D3 D4 C1 20 24 C6 C2 |85 .. ... $..| 00001140: 0D 2E 2C 30 33 36 C5 20 C2 31 20 C6 C2 20 20 20 |..,036. .1 .. | 00001150: 20 CC C4 C1 20 28 24 C6 C2 29 2C D9 0D 0D 54 48 | ... ($..),...TH| 00001160: 45 20 43 4F 44 45 20 49 53 20 50 52 4F 42 41 42 |E CODE IS PROBAB| 00001170: 4C 59 20 53 54 4F 52 49 4E 47 20 24 30 33 33 C3 |LY STORING $033.| 00001180: 0D 49 4E 54 4F 20 5A 45 52 4F 20 50 41 47 45 20 |.INTO ZERO PAGE | 00001190: 46 4F 52 20 53 4F 4D 45 20 49 4E 44 49 52 45 43 |FOR SOME INDIREC| 000011A0: 54 0D 49 4E 44 45 58 49 4E 47 2E 20 20 D4 48 45 |T.INDEXING. .HE| 000011B0: 53 45 20 42 59 54 45 53 20 4E 45 45 44 20 54 4F |SE BYTES NEED TO| 000011C0: 20 42 45 0D 43 48 41 4E 47 45 44 20 41 4C 53 4F | BE.CHANGED ALSO| 000011D0: 2E 20 20 C9 46 20 59 4F 55 20 4A 55 53 54 20 57 |. .F YOU JUST W| 000011E0: 4F 52 52 59 0D 41 42 4F 55 54 20 54 48 45 20 48 |ORRY.ABOUT THE H| 000011F0: 49 2D 42 59 54 45 53 20 4C 49 4B 45 20 C9 20 44 |I-BYTES LIKE . D| 00001200: 4F 2C 20 54 48 45 4E 0D 54 48 45 20 30 33 20 49 |O, THEN.THE 03 I| 00001210: 53 20 41 4C 4C 20 54 48 41 54 20 4E 45 45 44 53 |S ALL THAT NEEDS| 00001220: 20 54 4F 20 42 45 0D 43 48 41 4E 47 45 44 2E 20 | TO BE.CHANGED. | 00001230: 20 C7 45 4E 45 52 41 4C 4C 59 2C 20 54 48 4F 55 | .ENERALLY, THOU| 00001240: 47 48 2C 20 41 4C 4C 20 59 4F 55 0D 4E 45 45 44 |GH, ALL YOU.NEED| 00001250: 20 54 4F 20 53 43 41 4E 20 46 4F 52 20 49 53 20 | TO SCAN FOR IS | 00001260: 54 48 45 20 54 48 49 52 44 2D 42 59 54 45 0D 43 |THE THIRD-BYTE.C| 00001270: 4F 4C 55 4D 4E 2E 0D 0D 20 20 20 20 D3 4F 20 54 |OLUMN... .O T| 00001280: 52 59 20 CD CC 20 D2 C5 CC CF C3 C1 D4 C5 D2 20 |RY .. ......... | 00001290: 54 48 45 20 4E 45 58 54 20 54 49 4D 45 0D 59 4F |THE NEXT TIME.YO| 000012A0: 55 20 48 41 56 45 20 54 4F 20 52 45 4C 4F 43 41 |U HAVE TO RELOCA| 000012B0: 54 45 20 41 20 53 4D 41 4C 4C 20 CD CC 0D 52 4F |TE A SMALL ...RO| 000012C0: 55 54 49 4E 45 2E 20 20 C9 46 20 49 54 20 44 4F |UTINE. .F IT DO| 000012D0: 45 53 4E 27 54 20 57 4F 52 4B 20 50 52 4F 50 45 |ESN'T WORK PROPE| 000012E0: 52 4C 59 0D 41 46 54 45 52 57 41 52 44 53 2C 20 |RLY.AFTERWARDS, | 000012F0: 49 54 27 53 20 42 45 43 41 55 53 45 20 49 54 20 |IT'S BECAUSE IT | 00001300: 49 53 0D 49 4E 43 52 45 44 49 42 4C 59 20 44 49 |IS.INCREDIBLY DI| 00001310: 46 46 49 43 55 4C 54 20 46 4F 52 20 41 20 50 52 |FFICULT FOR A PR| 00001320: 4F 47 52 41 4D 20 54 4F 0D 52 45 43 4F 47 4E 49 |OGRAM TO.RECOGNI| 00001330: 5A 45 20 57 48 41 54 20 53 48 4F 55 4C 44 20 42 |ZE WHAT SHOULD B| 00001340: 45 20 43 48 41 4E 47 45 44 20 41 4E 44 0D 57 48 |E CHANGED AND.WH| 00001350: 41 54 20 53 48 4F 55 4C 44 4E 27 54 2E 20 20 D4 |AT SHOULDN'T. .| 00001360: 48 45 4E 20 55 53 45 20 4D 59 20 4D 45 54 48 4F |HEN USE MY METHO| 00001370: 44 2E 0D D4 48 45 20 48 55 4D 41 4E 20 45 59 45 |D...HE HUMAN EYE| 00001380: 20 43 41 4E 20 51 55 49 43 4B 4C 59 20 53 45 45 | CAN QUICKLY SEE| 00001390: 20 57 48 41 54 20 49 53 0D 52 45 41 4C 20 43 4F | WHAT IS.REAL CO| 000013A0: 44 45 20 41 4E 44 20 57 48 41 54 20 49 53 20 44 |DE AND WHAT IS D| 000013B0: 41 54 41 2E 20 20 C4 41 54 41 20 28 41 53 0D 53 |ATA. .ATA (AS.S| 000013C0: 45 45 4E 20 42 59 20 41 20 4D 4F 4E 49 54 4F 52 |EEN BY A MONITOR| 000013D0: 29 20 48 41 53 20 41 20 42 55 4E 43 48 20 4F 46 |) HAS A BUNCH OF| 000013E0: 0D 3F 3F 3F 53 20 4F 52 20 53 4F 4D 45 20 4F 54 |.???S OR SOME OT| 000013F0: 48 45 52 20 53 59 4D 42 4F 4C 20 49 4E 20 49 54 |HER SYMBOL IN IT| 00001400: 2E 0D D2 45 41 4C 20 43 4F 44 45 20 4C 4F 4F 4B |...EAL CODE LOOK| 00001410: 53 20 56 45 52 59 20 4E 45 41 54 2E 0D 0D 20 20 |S VERY NEAT... | 00001420: 20 20 C9 20 41 50 50 4C 41 55 44 20 CA 45 46 46 | . APPLAUD .EFF| 00001430: 20 C2 41 42 55 53 43 48 41 4B 20 46 4F 52 0D 41 | .ABUSCHAK FOR.A| 00001440: 54 54 45 4D 50 54 49 4E 47 20 41 20 4E 45 41 52 |TTEMPTING A NEAR| 00001450: 2D 49 4D 50 4F 53 53 49 42 4C 45 20 54 41 53 4B |-IMPOSSIBLE TASK| 00001460: 2C 0D 42 55 54 20 53 4F 4D 45 54 49 4D 45 53 20 |,.BUT SOMETIMES | 00001470: 49 54 27 53 20 42 45 53 54 20 54 4F 20 55 53 45 |IT'S BEST TO USE| 00001480: 20 54 48 45 0D 42 45 53 54 20 50 52 4F 43 45 53 | THE.BEST PROCES| 00001490: 53 4F 52 20 4F 46 20 41 4C 4C 2C 20 54 48 45 20 |SOR OF ALL, THE | 000014A0: 48 55 4D 41 4E 0D 42 52 41 49 4E 2E 0D 0D C4 C9 |HUMAN.BRAIN.....| 000014B0: D3 CB 20 C6 C9 CC C5 D3 20 D4 C8 C9 D3 20 D0 D2 |.. ..... .... ..| 000014C0: CF C7 D2 C1 CD 20 D5 D3 C5 D3 0D 0D CD CC 20 D2 |..... ........ .| 000014D0: C5 CC CF C3 C1 D4 C5 D2 20 20 20 20 20 20 20 D4 |........ .| 000014E0: 2E CD CC 20 D2 C5 CC CF C3 C1 D4 C5 D2 0D 0D 20 |... ........... | 000014F0: 20 20 20 20 20 20 20 2A 2A 2A 2A 20 C5 4E 44 20 | **** .ND | 00001500: 4F 46 20 D4 45 58 54 20 2A 2A 2A 2A 0D |OF .EXT ****. |
..^U:CBM. M L - R E L O C A T E R.
. BY JEFF BABUSCHAK.. FROM COMM
ODORE MAGAZINE - JUNE 1989.. THERE WI
LL BE TIMES WHEN YOU HAVE.A COUPLE OF MA
CHINE LANGUAGE ROUTINES.THAT YOU WANT TO
USE IN A PROGRAM BUT.BOTH OF THEM HAPPE
N TO RESIDE IN THE.SAME PLACE IN MEMORY.
THIS OFTEN.OCCURS WITH ROUTINES THAT R
ESIDE IN.THE CASSETTE BUFFER. WELL, ACC
ORDING.TO MIKE RIVERS AT COMMODORE MAGAZ
INE,.THIS PROGRAM WON'T HELP YOU -- IT.O
NLY RELOCATES CODE FOUND IN HIGHER.MEMOR
Y, LIKE $C000. BUT DON'T.DESPAIR, AFTER
I DESCRIBE ML RELOCATER.I'LL TELL YOU H
OW I RELOCATE ML CODE... THIS PROGRAM
IS USEFUL FOR BASIC.AND NOVICE M-L PROG
RAMMERS. IT WORKS.BEST WITH SMALL PROGR
AMS THAT LACK.DATA. I DO MEAN SMALL PRO
GRAMS..ML-RELOCATOR TOOK ALMOST TWO HOUR
S TO.RELOCATE A 5 BLOCK FILE!.. ONCE
RUN, ML-RELOCATER ASKS FOR.THE NAME OF T
HE ML ROUTINE. THE.STARTING ADDRESS OF
THE PROGRAM IS.THEN DISPLAYED. THEN YOU
ENTER THE.DESIRED LOCATION. NEXT YOU A
RE ASKED.IF THERE IS ANY DATA IN THE PRO
GRAM..ANSWER YES/NO/MAYBE. ENTER M IF.Y
OU'RE NOT SURE. THE FINAL PROMPT.WILL A
SK FOR A NEW FILENAME..... IF YOU ANS
WERED YES OR MAYBE TO.THE DATA QUESTION
YOU'LL BE ASKED FOR.STARTING OR ENDING S
EGMENTS OF THE.CODE TO ISOLATE THE DATA
PART. THIS.IS AN INTELLIGENT THING FOR
THE.PROGRAM TO DO ALTHOUGH I FEEL THAT I
F.A NOVICE PROGRAMMER IS IN NEED OF ML.R
ELOCATER HE PROBABLY DOESN'T KNOW.WHAT I
S DATA AND WHAT ISN'T... TO END THE '
DATA ISOLATION'.SEQUENCE, ENTER A 0 THEN
SIT BACK AND.WAIT. JEFF BABUSCHAK USED
SOME.FAIRLY SOPHISTICATED ALGORITHMS FO
R.DETERMINING IF THE CODE IT'S WORKING.O
N IS DATA OR NOT, SINCE DATA DOESN'T.NEE
D TO BE CHANGED WHEN RELOCATING... IN
THE ARTICLE IN THE MAGAZINE.THERE ARE Q
UITE A FEW DISCLAIMERS,.INDICATING THAT
THIS PROGRAM IS NOT.100% RELIABLE. WOUL
D YOU BELIEVE.50%? NOTHING AGAINST JEFF
BABUSCHAK,.BUT A RELOCATER REQUIRES A L
OT OF.COMPUTER INTELLIGENCE TO WORK..PAR
ADOXICALLY, IT DOESN'T TAKE MUCH.HUMAN I
NTELLIGENCE TO RELOCATE CODE,.WHICH IS W
HY I'LL EXPLAIN HOW I.RELOCATE CODE...
FIRST OF ALL, LET'S ASSUME THAT.YOU HA
VE TWO ROUTINES THAT RESIDE IN.THE CASSE
TTE BUFFER. ONE OF THEM MUST.GO UP TO T
HE $C000 AREA. SO YOU LOAD.UP YOUR ML M
ONITOR. YES, YOU'LL NEED.AN ML MONITOR
LIKE THE ONE IN THE.C-128 OR JIM BUTTERF
IELD'S SUPERMON... I'M ASSUMING THAT
YOU KNOW HOW TO.LOAD, SAVE AND TRANSFER
WITH A.MONITOR. YOU CAN'T JUST TRANSFER
THE.CODE UP TO $C000 BECAUSE SOME OF TH
E.JSRS, JMPS, STAS AND LDAS WILL BE.WRON
G. THOSE ARE THE COMMANDS THAT ML.RELOCA
TER WORKS ON. BNES AND BEQS.ARE SELF-RE
LOCATABLE AND YOU WON'T.NEED TO CHANGE T
HEM... HERE IS THE CRUX OF MY METHOD.
.JUST ABOUT ALL OF THE CODE THAT NEEDS.T
O BE CHANGED ARE THREE-BYTE.COMMANDS. T
HE TWO-BYTE COMMANDS ARE.USUALLY OKAY, N
O MATTER WHERE THEY.ARE.... SO LET'S
LOOK AT OUR ML CODE WITH.THA MONITOR. I
T LOOKS SOMETHING LIKE:...,033C 20 73 00
JSR $0073..,033F 8D 96 03 STA $0396..,0
342 18 CLC..,0343 E9 2F SBC #$2
F..,0345 8D 96 03 STA $0396..,0348 20 73
00 JSR $0073..,034B 20 FD AE JSR $AEFD.
.,034E 20 9E B7 JSR $B79E..,0351 8E 98 0
3 STX $0398..,0354 A9 00 LDA #00..,03
56 85 FB STA $FB..,0358 AE 96 03 LDX
$0396.. NOTICE THAT THE 03S ARE ALL I
N.THE SAME COLUMN, THE THIRD-BYTE.COLUMN
... THE 03 IS THE HI-BYTE OF THE.ADDR
ESSES THAT NEED TO BE CHANGED IF.WE ARE
TO RELOCATE THIS CODE TO THE.$C000 AREA.
GENERALLY I DON'T WORRY.ABOUT THE LO-B
YTE WHEN I RELOCATE.CODE. IF I'M MOVING
FROM $033C TO.THE $C000 AREA, I RELOCAT
E THE CODE.TO $CD3C OR $C03C AND JUST SY
S TO IT.AT THAT LOCATION. IF IT'S IMPER
ATIVE.THAT THE CODE RESIDE AT, SAY, $C80
0,.THEN YOU'LL HAVE TO CHANGE THE BYTE.T
O THE LEFT OF THE 03S ALSO... SO ALL
YOU DO IS JUST CURSOR UP.TO THE 03S AND
CHANGE THEM TO CDS OR.WHATEVER. WHEN YO
U PRESS RETURN THE.CODE TO THE RIGHT WIL
L CHANGE. DON'T.RUN THE PROGRAM YET!!!.
. WHEN YOU HAVE ALL OF THE 03S.CHANGE
D, THEN TRANSFER THE CODE TO.$CD3C AND T
HEN SAVE IT FROM THERE..TA DA!!! IT'S D
ONE. FIGURE OUT THE.NEW ADDRESS TO SYS
TO AND YOU'RE ON.YOUR WAY... IN THE C
ASSETTE BUFFER, THE.HI-BYTE IS ALWAYS 03
. IF YOU ARE.MOVING LONGER CODE FROM, S
AY, $C800.TO $9400, YOU'LL HAVE TO CHANG
E ALL.C8S (IN THE THIRD-BYTE COLUMN) TO.
94S, ALL C9S TO 95S, ALL CAS TO 96S,.ETC
....... ONE MORE THING TO LOOK FOR.
IF.YOU SEE CODE THAT LOOKS LIKE THIS:...
,0366 A9 03 LDA #$03..,0368 85 FC
STA $FC..,036A A9 3C LDA #$3C..,036C
85 FB STA $FB..,036E B1 FB LDA ($F
B),Y..THE CODE IS PROBABLY STORING $033C
.INTO ZERO PAGE FOR SOME INDIRECT.INDEXI
NG. THESE BYTES NEED TO BE.CHANGED ALSO
. IF YOU JUST WORRY.ABOUT THE HI-BYTES
LIKE I DO, THEN.THE 03 IS ALL THAT NEEDS
TO BE.CHANGED. GENERALLY, THOUGH, ALL
YOU.NEED TO SCAN FOR IS THE THIRD-BYTE.C
OLUMN... SO TRY ML RELOCATER THE NEXT
TIME.YOU HAVE TO RELOCATE A SMALL ML.RO
UTINE. IF IT DOESN'T WORK PROPERLY.AFTE
RWARDS, IT'S BECAUSE IT IS.INCREDIBLY DI
FFICULT FOR A PROGRAM TO.RECOGNIZE WHAT
SHOULD BE CHANGED AND.WHAT SHOULDN'T. T
HEN USE MY METHOD..THE HUMAN EYE CAN QUI
CKLY SEE WHAT IS.REAL CODE AND WHAT IS D
ATA. DATA (AS.SEEN BY A MONITOR) HAS A
BUNCH OF.???S OR SOME OTHER SYMBOL IN IT
..REAL CODE LOOKS VERY NEAT... I APPL
AUD JEFF BABUSCHAK FOR.ATTEMPTING A NEAR
-IMPOSSIBLE TASK,.BUT SOMETIMES IT'S BES
T TO USE THE.BEST PROCESSOR OF ALL, THE
HUMAN.BRAIN...DISK FILES THIS PROGRAM US
ES..ML RELOCATER T.ML RELOCATER..
**** END OF TEXT ****.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL