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

T.STRING MAGIC.1

FILE INFORMATION

FILENAME(S): T.STRING MAGIC.1

FILE TYPE(S): PRG

FILE SIZE: 3.2K

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

APPEARS ON: 1 disk(s)

FILE HASH

b6d15e757b41c0aa9e00659ab1fd76873f43472bb61fd16d4cea8104d9696139

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
LOADSTAR 38 S 1 T.STRING MAGIC.1 PRG Sailor, Ganheden 29 16 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 80 5E 55 3A 48 41 43  4B 45 52 0D 0D 0D 20 20  |..^U:HACKER...  |
00000010: 20 20 20 20 20 20 20 20  D3 D4 D2 C9 CE C7 20 CD  |        ...... .|
00000020: C1 C7 C9 C3 C9 C1 CE 20  31 32 38 0D 20 20 20 20  |....... 128.    |
00000030: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 59  |              BY|
00000040: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 C2 52  |.             .R|
00000050: 55 43 45 20 CA 41 45 47  45 52 0D 0D C3 CF CD CD  |UCE .AEGER......|
00000060: CF C4 CF D2 C5 20 CD C1  C7 C1 DA C9 CE C5 0D C1  |..... ..........|
00000070: 55 47 55 53 54 20 31 39  38 37 0D 0D 2A 2A 2A 2A  |UGUST 1987..****|
00000080: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000090: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000000A0: 2A 0D CE CF D4 C5 3A 20  C2 45 43 41 55 53 45 20  |*.....: .ECAUSE |
000000B0: 54 48 49 53 20 50 52 4F  47 52 41 4D 20 49 53 20  |THIS PROGRAM IS |
000000C0: 57 52 49 54 54 45 4E 0D  46 4F 52 20 54 48 45 20  |WRITTEN.FOR THE |
000000D0: C3 2D 31 32 38 2C 20 49  54 20 43 41 4E 4E 4F 54  |.-128, IT CANNOT|
000000E0: 20 42 45 20 52 55 4E 20  4C 49 4B 45 0D 4F 54 48  | BE RUN LIKE.OTH|
000000F0: 45 52 20 50 52 4F 47 52  41 4D 53 20 4F 4E 20 CC  |ER PROGRAMS ON .|
00000100: CF C1 C4 D3 D4 C1 D2 2E  20 20 D4 4F 20 52 55 4E  |........  .O RUN|
00000110: 0D 54 48 45 20 50 52 4F  47 52 41 4D 2C 20 50 52  |.THE PROGRAM, PR|
00000120: 45 53 53 20 54 48 45 20  31 32 38 27 53 20 D2 C5  |ESS THE 128'S ..|
00000130: D3 C5 D4 0D 42 55 54 54  4F 4E 20 54 4F 20 50 55  |....BUTTON TO PU|
00000140: 54 20 54 48 45 20 43 4F  4D 50 55 54 45 52 20 49  |T THE COMPUTER I|
00000150: 4E 54 4F 20 31 32 38 0D  4D 4F 44 45 2E 20 20 C1  |NTO 128.MODE.  .|
00000160: 20 4D 45 4E 55 20 4F 46  20 41 4C 4C 20 31 32 38  | MENU OF ALL 128|
00000170: 20 50 52 4F 47 52 41 4D  53 20 4F 4E 0D D3 49 44  | PROGRAMS ON..ID|
00000180: 45 20 31 20 4F 46 20 54  48 45 20 44 49 53 4B 20  |E 1 OF THE DISK |
00000190: 57 49 4C 4C 20 42 45 20  44 49 53 50 4C 41 59 45  |WILL BE DISPLAYE|
000001A0: 44 2E 0D C3 48 4F 4F 53  45 20 54 48 45 20 50 52  |D...HOOSE THE PR|
000001B0: 4F 47 52 41 4D 20 59 4F  55 20 57 49 53 48 20 54  |OGRAM YOU WISH T|
000001C0: 4F 20 52 55 4E 0D 46 52  4F 4D 20 54 48 49 53 20  |O RUN.FROM THIS |
000001D0: 4D 45 4E 55 2E 0D 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |MENU..**********|
000001E0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000001F0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 0D 20 20 CF  |***********..  .|
00000200: 46 54 45 4E 20 49 54 20  49 53 20 4E 45 43 45 53  |FTEN IT IS NECES|
00000210: 53 41 52 59 20 54 4F 20  41 4C 54 45 52 20 54 48  |SARY TO ALTER TH|
00000220: 45 0D 43 4F 4E 54 45 4E  54 53 20 4F 46 20 41 20  |E.CONTENTS OF A |
00000230: 46 49 4C 45 27 53 20 43  48 41 52 41 43 54 45 52  |FILE'S CHARACTER|
00000240: 0D 53 54 52 49 4E 47 53  20 49 4E 20 53 4F 4D 45  |.STRINGS IN SOME|
00000250: 20 57 41 59 2E 20 20 D9  4F 55 20 4D 49 47 48 54  | WAY.  .OU MIGHT|
00000260: 20 4E 45 45 44 0D 54 4F  20 43 4F 4E 56 45 52 54  | NEED.TO CONVERT|
00000270: 20 D0 C5 D4 C1 D3 C3 C9  C9 20 54 4F 20 C1 D3 C3  | ........ TO ...|
00000280: C9 C9 20 42 45 46 4F 52  45 0D 53 45 4E 44 49 4E  |.. BEFORE.SENDIN|
00000290: 47 20 41 20 46 49 4C 45  20 54 4F 20 41 20 4D 4F  |G A FILE TO A MO|
000002A0: 44 45 4D 2C 20 46 4F 52  0D 45 58 41 4D 50 4C 45  |DEM, FOR.EXAMPLE|
000002B0: 2E 20 20 D9 4F 55 20 4D  49 47 48 54 20 57 41 4E  |.  .OU MIGHT WAN|
000002C0: 54 20 54 4F 20 43 48 41  4E 47 45 0D 54 48 45 20  |T TO CHANGE.THE |
000002D0: 43 4F 4C 4F 4E 53 20 4F  52 20 43 4F 4D 4D 41 53  |COLONS OR COMMAS|
000002E0: 20 49 4E 20 41 20 53 54  52 49 4E 47 20 54 4F 0D  | IN A STRING TO.|
000002F0: 4F 54 48 45 52 20 43 48  41 52 41 43 54 45 52 53  |OTHER CHARACTERS|
00000300: 20 54 4F 20 41 56 4F 49  44 20 50 52 4F 42 4C 45  | TO AVOID PROBLE|
00000310: 4D 53 0D 57 49 54 48 20  C9 CE D0 D5 D4 20 53 54  |MS.WITH ..... ST|
00000320: 41 54 45 4D 45 4E 54 53  2E 20 20 D3 D4 D2 C9 CE  |ATEMENTS.  .....|
00000330: C7 0D CD C1 C7 C9 C3 C9  C1 CE 20 44 45 4D 4F 4E  |.......... DEMON|
00000340: 53 54 52 41 54 45 53 20  45 49 47 48 54 20 52 4F  |STRATES EIGHT RO|
00000350: 55 54 49 4E 45 53 0D 57  48 49 43 48 20 41 4C 54  |UTINES.WHICH ALT|
00000360: 45 52 20 43 48 41 52 41  43 54 45 52 20 53 54 52  |ER CHARACTER STR|
00000370: 49 4E 47 53 20 49 4E 0D  55 53 45 46 55 4C 20 57  |INGS IN.USEFUL W|
00000380: 41 59 53 2E 0D 0D C1 42  4F 55 54 20 54 48 45 20  |AYS....BOUT THE |
00000390: D0 52 4F 47 52 41 4D 0D  2D 2D 2D 2D 2D 2D 2D 2D  |.ROGRAM.--------|
000003A0: 2D 2D 2D 2D 2D 2D 2D 2D  2D 0D 20 20 D4 48 45 20  |---------.  .HE |
000003B0: D3 D4 D2 C9 CE C7 20 CD  C1 C7 C9 C3 C9 C1 CE 20  |...... ........ |
000003C0: 52 4F 55 54 49 4E 45 53  20 41 52 45 0D 44 45 53  |ROUTINES ARE.DES|
000003D0: 49 47 4E 45 44 20 54 4F  20 42 45 20 55 53 45 44  |IGNED TO BE USED|
000003E0: 20 49 4E 20 59 4F 55 52  20 4F 57 4E 0D 50 52 4F  | IN YOUR OWN.PRO|
000003F0: 47 52 41 4D 53 2E 20 20  C1 20 53 45 54 55 50 20  |GRAMS.  . SETUP |
00000400: 53 55 42 52 4F 55 54 49  4E 45 20 28 4C 49 4E 45  |SUBROUTINE (LINE|
00000410: 53 0D 38 38 30 2D 39 34  30 20 49 4E 20 54 48 45  |S.880-940 IN THE|
00000420: 20 44 45 4D 4F 29 20 55  53 45 53 20 D0 CF C9 CE  | DEMO) USES ....|
00000430: D4 C5 D2 20 54 4F 0D 46  49 4E 44 20 54 48 45 20  |... TO.FIND THE |
00000440: 4C 4F 43 41 54 49 4F 4E  20 4F 46 20 54 48 45 20  |LOCATION OF THE |
00000450: 53 54 52 49 4E 47 2E 20  20 D4 48 45 0D 53 45 54  |STRING.  .HE.SET|
00000460: 55 50 20 52 4F 55 54 49  4E 45 20 50 4F 4B 45 53  |UP ROUTINE POKES|
00000470: 20 54 48 45 20 4C 45 4E  47 54 48 20 4F 46 20 54  | THE LENGTH OF T|
00000480: 48 45 0D 53 54 52 49 4E  47 20 28 C1 24 20 49 4E  |HE.STRING (.$ IN|
00000490: 20 54 48 45 20 44 45 4D  4F 29 20 49 4E 54 4F 20  | THE DEMO) INTO |
000004A0: 24 C6 C4 20 28 32 35 33  0D 44 45 43 49 4D 41 4C  |$.. (253.DECIMAL|
000004B0: 29 2C 20 41 4E 44 20 54  48 45 20 4C 4F 57 2D 42  |), AND THE LOW-B|
000004C0: 59 54 45 20 48 49 47 48  2D 42 59 54 45 0D 41 44  |YTE HIGH-BYTE.AD|
000004D0: 44 52 45 53 53 20 49 4E  54 4F 20 24 C6 C3 20 24  |DRESS INTO $.. $|
000004E0: C6 C4 20 28 32 35 31 2D  32 35 32 29 2E 0D D0 52  |.. (251-252)...R|
000004F0: 4F 47 52 41 4D 53 20 55  53 49 4E 47 20 D3 D4 D2  |OGRAMS USING ...|
00000500: C9 CE C7 20 CD C1 C7 C9  C3 C9 C1 CE 20 4D 55 53  |... ........ MUS|
00000510: 54 0D 41 4C 57 41 59 53  20 43 41 4C 4C 20 54 48  |T.ALWAYS CALL TH|
00000520: 45 20 53 45 54 55 50 20  52 4F 55 54 49 4E 45 2E  |E SETUP ROUTINE.|
00000530: 20 20 C1 4C 4C 0D 4F 54  48 45 52 20 49 4E 46 4F  |  .LL.OTHER INFO|
00000540: 52 4D 41 54 49 4F 4E 20  D3 D4 D2 C9 CE C7 20 CD  |RMATION ...... .|
00000550: C1 C7 C9 C3 C9 C1 CE 0D  4E 45 45 44 53 20 49 53  |........NEEDS IS|
00000560: 20 50 41 53 53 45 44 20  54 4F 20 49 54 20 57 48  | PASSED TO IT WH|
00000570: 45 4E 20 54 48 45 0D 4D  41 43 48 49 4E 45 20 4C  |EN THE.MACHINE L|
00000580: 41 4E 47 55 41 47 45 20  52 4F 55 54 49 4E 45 20  |ANGUAGE ROUTINE |
00000590: 41 54 20 24 C6 C3 30 30  0D 28 36 34 35 31 32 29  |AT $..00.(64512)|
000005A0: 20 49 53 20 43 41 4C 4C  45 44 2E 0D 0D D4 48 45  | IS CALLED....HE|
000005B0: 20 D2 4F 55 54 49 4E 45  53 0D 2D 2D 2D 2D 2D 2D  | .OUTINES.------|
000005C0: 2D 2D 2D 2D 2D 2D 0D CA  4F 42 20 30 20 2D 2D 20  |------..OB 0 -- |
000005D0: 43 4F 4E 56 45 52 54 53  20 C1 D3 C3 C9 C9 20 54  |CONVERTS ..... T|
000005E0: 4F 20 D0 C5 D4 C1 D3 C3  C9 C9 2E 0D D4 4F 20 55  |O ...........O U|
000005F0: 53 45 20 54 48 49 53 20  52 4F 55 54 49 4E 45 2C  |SE THIS ROUTINE,|
00000600: 20 C7 CF D3 D5 C2 20 54  48 45 20 53 45 54 55 50  | ..... THE SETUP|
00000610: 0D 52 4F 55 54 49 4E 45  2C 20 54 48 45 4E 20 49  |.ROUTINE, THEN I|
00000620: 4E 43 4C 55 44 45 20 54  48 45 20 4C 49 4E 45 0D  |NCLUDE THE LINE.|
00000630: 0D 20 20 20 20 20 20 20  C2 C1 CE CB 20 31 20 3A  |.       .... 1 :|
00000640: 20 D3 D9 D3 20 28 36 34  35 31 32 29 2C 30 0D 0D  | ... (64512),0..|
00000650: 49 4E 20 54 48 45 20 50  52 4F 47 52 41 4D 2E 20  |IN THE PROGRAM. |
00000660: 20 28 D4 48 45 20 22 2C  30 22 20 54 45 4C 4C 53  | (.HE ",0" TELLS|
00000670: 20 54 48 45 0D 50 52 4F  47 52 41 4D 20 54 4F 20  | THE.PROGRAM TO |
00000680: 50 45 52 46 4F 52 4D 20  CA 4F 42 20 30 2E 29 0D  |PERFORM .OB 0.).|
00000690: 0D CA 4F 42 20 31 20 2D  2D 20 43 4F 4E 56 45 52  |..OB 1 -- CONVER|
000006A0: 54 53 20 D0 C5 D4 C1 D3  C3 C9 C9 20 54 4F 20 C1  |TS ........ TO .|
000006B0: D3 C3 C9 C9 2E 0D C3 41  4C 4C 20 54 48 45 20 53  |.......ALL THE S|
000006C0: 45 54 55 50 20 52 4F 55  54 49 4E 45 2C 20 54 48  |ETUP ROUTINE, TH|
000006D0: 45 4E 20 49 4E 43 4C 55  44 45 0D 54 48 45 20 46  |EN INCLUDE.THE F|
000006E0: 4F 4C 4C 4F 57 49 4E 47  20 49 4E 20 59 4F 55 52  |OLLOWING IN YOUR|
000006F0: 20 50 52 4F 47 52 41 4D  3A 0D 0D 20 20 20 20 20  | PROGRAM:..     |
00000700: 20 20 C2 C1 CE CB 20 31  20 3A 20 D3 D9 D3 20 28  |  .... 1 : ... (|
00000710: 36 34 35 31 32 29 2C 31  0D 0D CA 4F 42 53 20 32  |64512),1...OBS 2|
00000720: 20 41 4E 44 20 33 20 2D  2D 20 C8 41 56 49 4E 47  | AND 3 -- .AVING|
00000730: 20 4D 49 58 45 44 20 55  50 50 45 52 0D 41 4E 44  | MIXED UPPER.AND|
00000740: 20 4C 4F 57 45 52 20 43  41 53 45 20 49 4E 20 53  | LOWER CASE IN S|
00000750: 54 52 49 4E 47 53 20 43  41 4E 20 52 55 49 4E 0D  |TRINGS CAN RUIN.|
00000760: 53 4F 52 54 49 4E 47 20  4F 52 20 43 41 55 53 45  |SORTING OR CAUSE|
00000770: 20 50 52 4F 42 4C 45 4D  53 20 46 4F 52 0D 50 52  | PROBLEMS FOR.PR|
00000780: 4F 47 52 41 4D 53 20 57  48 49 43 48 20 53 45 41  |OGRAMS WHICH SEA|
00000790: 52 43 48 20 46 4F 52 20  4B 45 59 57 4F 52 44 53  |RCH FOR KEYWORDS|
000007A0: 2E 0D CA 4F 42 20 32 20  4D 41 4B 45 53 20 41 4C  |...OB 2 MAKES AL|
000007B0: 4C 20 43 48 41 52 41 43  54 45 52 53 20 4C 4F 57  |L CHARACTERS LOW|
000007C0: 45 52 0D 43 41 53 45 3B  20 CA 4F 42 20 33 20 4D  |ER.CASE; .OB 3 M|
000007D0: 41 4B 45 53 20 41 4C 4C  20 43 48 41 52 41 43 54  |AKES ALL CHARACT|
000007E0: 45 52 53 0D 55 50 50 45  52 20 43 41 53 45 2E 20  |ERS.UPPER CASE. |
000007F0: C1 4E 20 45 58 41 4D 50  4C 45 20 49 53 3A 0D 0D  |.N EXAMPLE IS:..|
00000800: 20 20 20 20 C2 C1 CE CB  20 31 20 3A 20 D3 D9 D3  |    .... 1 : ...|
00000810: 20 28 36 34 35 31 32 29  2C 32 20 4F 52 20 33 0D  | (64512),2 OR 3.|
00000820: 0D CA 4F 42 20 34 20 2D  2D 20 C9 4E 20 50 52 4F  |..OB 4 -- .N PRO|
00000830: 47 52 41 4D 53 20 53 55  43 48 20 41 53 0D 44 41  |GRAMS SUCH AS.DA|
00000840: 54 41 42 41 53 45 53 2C  20 49 54 27 53 20 4F 46  |TABASES, IT'S OF|
00000850: 54 45 4E 20 4E 49 43 45  20 54 4F 20 4B 4E 4F 57  |TEN NICE TO KNOW|
00000860: 0D 48 4F 57 20 4D 41 4E  59 20 54 49 4D 45 53 20  |.HOW MANY TIMES |
00000870: 41 20 43 48 41 52 41 43  54 45 52 20 4F 43 43 55  |A CHARACTER OCCU|
00000880: 52 53 20 49 4E 0D 41 20  53 54 52 49 4E 47 2E 20  |RS IN.A STRING. |
00000890: 20 D4 4F 20 43 4F 55 4E  54 20 41 20 43 48 41 52  | .O COUNT A CHAR|
000008A0: 41 43 54 45 52 2C 20 55  53 45 0D 54 48 49 53 20  |ACTER, USE.THIS |
000008B0: 50 52 4F 43 45 53 53 3A  0D 0D 2D 2D 20 43 41 4C  |PROCESS:..-- CAL|
000008C0: 4C 20 54 48 45 20 53 45  54 55 50 20 52 4F 55 54  |L THE SETUP ROUT|
000008D0: 49 4E 45 0D 0D 2D 2D 20  53 45 54 20 C3 24 20 45  |INE..-- SET .$ E|
000008E0: 51 55 41 4C 20 54 4F 20  54 48 45 20 53 45 4C 45  |QUAL TO THE SELE|
000008F0: 43 54 45 44 0D 20 20 20  43 48 41 52 41 43 54 45  |CTED.   CHARACTE|
00000900: 52 0D 0D 2D 2D 20 55 53  45 3A 20 C2 C1 CE CB 31  |R..-- USE: ....1|
00000910: 3A D3 D9 D3 28 36 34 35  31 32 29 2C 34 2C C1 D3  |:...(64512),4,..|
00000920: C3 28 C3 24 29 0D 0D 2D  2D 20 55 53 45 20 D2 D2  |.(.$)..-- USE ..|
00000930: C5 C7 20 CE 20 49 4E 20  59 4F 55 52 20 50 52 4F  |.. . IN YOUR PRO|
00000940: 47 52 41 4D 2E 20 20 28  D3 45 45 0D 20 20 20 4C  |GRAM.  (.EE.   L|
00000950: 49 4E 45 53 20 35 31 30  2D 35 38 30 20 49 4E 20  |INES 510-580 IN |
00000960: 54 48 45 20 44 45 4D 4F  2E 29 0D 0D CA 4F 42 20  |THE DEMO.)...OB |
00000970: 35 20 2D 2D 20 53 57 41  50 53 20 54 57 4F 20 43  |5 -- SWAPS TWO C|
00000980: 48 41 52 41 43 54 45 52  53 2E 0D C3 48 41 4E 47  |HARACTERS...HANG|
00000990: 49 4E 47 20 41 4C 4C 20  4C 45 46 54 20 42 52 41  |ING ALL LEFT BRA|
000009A0: 43 4B 45 54 53 2C 20 22  5B 22 2C 20 57 49 54 48  |CKETS, "[", WITH|
000009B0: 0D 41 20 4C 45 46 54 20  50 41 52 45 4E 54 48 45  |.A LEFT PARENTHE|
000009C0: 53 49 53 20 43 48 41 52  41 43 54 45 52 2C 20 22  |SIS CHARACTER, "|
000009D0: 28 22 2C 20 49 53 0D 41  4E 20 45 58 41 4D 50 4C  |(", IS.AN EXAMPL|
000009E0: 45 3A 0D 0D 2D 2D 20 43  41 4C 4C 20 54 48 45 20  |E:..-- CALL THE |
000009F0: 53 45 54 55 50 20 52 4F  55 54 49 4E 45 0D 0D 2D  |SETUP ROUTINE..-|
00000A00: 2D 20 53 45 54 20 C2 24  3D C3 C8 D2 24 28 39 31  |- SET .$=...$(91|
00000A10: 29 20 28 54 48 45 20 4C  45 46 54 2D 42 52 41 43  |) (THE LEFT-BRAC|
00000A20: 4B 45 54 29 0D 0D 2D 2D  20 53 45 54 20 D0 24 3D  |KET)..-- SET .$=|
00000A30: 22 28 22 20 28 54 48 45  20 4C 45 46 54 20 50 41  |"(" (THE LEFT PA|
00000A40: 52 45 4E 54 48 45 53 49  53 29 0D 0D 2D 2D 20 55  |RENTHESIS)..-- U|
00000A50: 53 45 3A 20 C2 C1 CE CB  31 3A D3 D9 D3 28 36 34  |SE: ....1:...(64|
00000A60: 35 31 32 29 2C 35 2C C1  D3 C3 28 C2 24 29 2C 0D  |512),5,...(.$),.|
00000A70: 20 20 20 20 20 20 20 20  C1 D3 C3 28 D0 24 29 0D  |        ...(.$).|
00000A80: 0D CA 4F 42 20 36 20 2D  2D 20 45 4E 43 4F 44 45  |..OB 6 -- ENCODE|
00000A90: 53 20 41 20 53 54 52 49  4E 47 20 55 53 49 4E 47  |S A STRING USING|
00000AA0: 20 41 0D 54 52 41 4E 53  50 4F 53 49 54 49 4F 4E  | A.TRANSPOSITION|
00000AB0: 20 43 49 50 48 45 52 2E  20 20 28 C1 0D 54 52 41  | CIPHER.  (..TRA|
00000AC0: 4E 53 50 4F 53 49 54 49  4F 4E 20 43 49 50 48 45  |NSPOSITION CIPHE|
00000AD0: 52 20 4A 55 4D 42 4C 45  53 20 54 48 45 0D 43 48  |R JUMBLES THE.CH|
00000AE0: 41 52 41 43 54 45 52 53  20 4F 46 20 41 20 53 54  |ARACTERS OF A ST|
00000AF0: 52 49 4E 47 20 41 43 43  4F 52 44 49 4E 47 20 54  |RING ACCORDING T|
00000B00: 4F 20 41 0D 22 4B 45 59  20 4E 55 4D 42 45 52 2E  |O A."KEY NUMBER.|
00000B10: 22 20 20 D4 48 45 20 4B  45 59 20 4E 55 4D 42 45  |"  .HE KEY NUMBE|
00000B20: 52 20 4D 55 53 54 20 42  45 0D 4B 4E 4F 57 4E 20  |R MUST BE.KNOWN |
00000B30: 49 4E 20 4F 52 44 45 52  20 54 4F 20 44 45 43 49  |IN ORDER TO DECI|
00000B40: 50 48 45 52 20 41 4E 0D  45 4E 43 49 50 48 45 52  |PHER AN.ENCIPHER|
00000B50: 45 44 20 53 54 52 49 4E  47 2E 29 20 20 D4 4F 20  |ED STRING.)  .O |
00000B60: 45 4E 43 49 50 48 45 52  20 41 0D 53 54 52 49 4E  |ENCIPHER A.STRIN|
00000B70: 47 2C 0D 0D 2D 2D 20 43  41 4C 4C 20 53 45 54 55  |G,..-- CALL SETU|
00000B80: 50 20 52 4F 55 54 49 4E  45 0D 0D 2D 2D 20 55 53  |P ROUTINE..-- US|
00000B90: 45 3A 20 C2 C1 CE CB 31  3A D3 D9 D3 28 36 34 35  |E: ....1:...(645|
00000BA0: 31 32 29 2C 36 2C CB 0D  20 20 20 57 48 45 52 45  |12),6,..   WHERE|
00000BB0: 20 22 CB 22 20 49 53 20  41 20 4B 45 59 20 4E 55  | "." IS A KEY NU|
00000BC0: 4D 42 45 52 0D 20 20 20  46 52 4F 4D 20 31 20 54  |MBER.   FROM 1 T|
00000BD0: 4F 20 32 35 35 2E 0D 0D  CA 4F 42 20 37 20 2D 2D  |O 255....OB 7 --|
00000BE0: 20 44 45 43 49 50 48 45  52 53 20 41 4E 20 45 4E  | DECIPHERS AN EN|
00000BF0: 43 49 50 48 45 52 45 44  0D 53 54 52 49 4E 47 2E  |CIPHERED.STRING.|
00000C00: 20 20 D5 53 45 20 54 48  45 20 53 41 4D 45 20 D3  |  .SE THE SAME .|
00000C10: D9 D3 20 43 41 4C 4C 20  54 48 41 54 0D 57 41 53  |.. CALL THAT.WAS|
00000C20: 20 55 53 45 44 20 49 4E  20 CA 4F 42 20 36 2C 20  | USED IN .OB 6, |
00000C30: 42 55 54 20 53 55 42 53  54 49 54 55 54 45 20 22  |BUT SUBSTITUTE "|
00000C40: 37 22 0D 46 4F 52 20 22  36 22 20 49 4E 20 54 48  |7".FOR "6" IN TH|
00000C50: 45 20 D3 D9 D3 20 43 41  4C 4C 2E 0D 0D 0D C4 C9  |E ... CALL......|
00000C60: D3 CB 20 C6 C9 CC C5 D3  20 D4 C8 C9 D3 20 D0 D2  |.. ..... .... ..|
00000C70: CF C7 D2 C1 CD 20 D5 D3  C5 D3 3A 0D 0D D3 D4 D2  |..... ....:.....|
00000C80: C9 CE C7 20 CD C1 C7 C9  C3 2E 31 32 38 20 20 20  |... ......128   |
00000C90: D4 2E D3 D4 D2 C9 CE C7  20 CD C1 C7 C9 C3 2E 31  |........ ......1|
00000CA0: 0D 0D 20 20 20 20 20 20  20 20 2A 2A 2A 2A 20 C5  |..        **** .|
00000CB0: 4E 44 20 CF 46 20 D4 45  58 54 20 2A 2A 2A 2A 0D  |ND .F .EXT ****.|
..^U:HACKER...          STRING MAGICIAN 
128.                  BY.             BR
UCE JAEGER..COMMODORE MAGAZINE.AUGUST 19
87..************************************
*.NOTE: BECAUSE THIS PROGRAM IS WRITTEN.
FOR THE C-128, IT CANNOT BE RUN LIKE.OTH
ER PROGRAMS ON LOADSTAR.  TO RUN.THE PRO
GRAM, PRESS THE 128'S RESET.BUTTON TO PU
T THE COMPUTER INTO 128.MODE.  A MENU OF
 ALL 128 PROGRAMS ON.SIDE 1 OF THE DISK 
WILL BE DISPLAYED..CHOOSE THE PROGRAM YO
U WISH TO RUN.FROM THIS MENU..**********
***************************..  OFTEN IT 
IS NECESSARY TO ALTER THE.CONTENTS OF A 
FILE'S CHARACTER.STRINGS IN SOME WAY.  Y
OU MIGHT NEED.TO CONVERT PETASCII TO ASC
II BEFORE.SENDING A FILE TO A MODEM, FOR
.EXAMPLE.  YOU MIGHT WANT TO CHANGE.THE 
COLONS OR COMMAS IN A STRING TO.OTHER CH
ARACTERS TO AVOID PROBLEMS.WITH INPUT ST
ATEMENTS.  STRING.MAGICIAN DEMONSTRATES 
EIGHT ROUTINES.WHICH ALTER CHARACTER STR
INGS IN.USEFUL WAYS...ABOUT THE PROGRAM.
-----------------.  THE STRING MAGICIAN 
ROUTINES ARE.DESIGNED TO BE USED IN YOUR
 OWN.PROGRAMS.  A SETUP SUBROUTINE (LINE
S.880-940 IN THE DEMO) USES POINTER TO.F
IND THE LOCATION OF THE STRING.  THE.SET
UP ROUTINE POKES THE LENGTH OF THE.STRIN
G (A$ IN THE DEMO) INTO $FD (253.DECIMAL
), AND THE LOW-BYTE HIGH-BYTE.ADDRESS IN
TO $FC $FD (251-252)..PROGRAMS USING STR
ING MAGICIAN MUST.ALWAYS CALL THE SETUP 
ROUTINE.  ALL.OTHER INFORMATION STRING M
AGICIAN.NEEDS IS PASSED TO IT WHEN THE.M
ACHINE LANGUAGE ROUTINE AT $FC00.(64512)
 IS CALLED...THE ROUTINES.------------.J
OB 0 -- CONVERTS ASCII TO PETASCII..TO U
SE THIS ROUTINE, GOSUB THE SETUP.ROUTINE
, THEN INCLUDE THE LINE..       BANK 1 :
 SYS (64512),0..IN THE PROGRAM.  (THE ",
0" TELLS THE.PROGRAM TO PERFORM JOB 0.).
.JOB 1 -- CONVERTS PETASCII TO ASCII..CA
LL THE SETUP ROUTINE, THEN INCLUDE.THE F
OLLOWING IN YOUR PROGRAM:..       BANK 1
 : SYS (64512),1..JOBS 2 AND 3 -- HAVING
 MIXED UPPER.AND LOWER CASE IN STRINGS C
AN RUIN.SORTING OR CAUSE PROBLEMS FOR.PR
OGRAMS WHICH SEARCH FOR KEYWORDS..JOB 2 
MAKES ALL CHARACTERS LOWER.CASE; JOB 3 M
AKES ALL CHARACTERS.UPPER CASE. AN EXAMP
LE IS:..    BANK 1 : SYS (64512),2 OR 3.
.JOB 4 -- IN PROGRAMS SUCH AS.DATABASES,
 IT'S OFTEN NICE TO KNOW.HOW MANY TIMES 
A CHARACTER OCCURS IN.A STRING.  TO COUN
T A CHARACTER, USE.THIS PROCESS:..-- CAL
L THE SETUP ROUTINE..-- SET C$ EQUAL TO 
THE SELECTED.   CHARACTER..-- USE: BANK1
:SYS(64512),4,ASC(C$)..-- USE RREG N IN 
YOUR PROGRAM.  (SEE.   LINES 510-580 IN 
THE DEMO.)..JOB 5 -- SWAPS TWO CHARACTER
S..CHANGING ALL LEFT BRACKETS, "[", WITH
.A LEFT PARENTHESIS CHARACTER, "(", IS.A
N EXAMPLE:..-- CALL THE SETUP ROUTINE..-
- SET B$=CHR$(91) (THE LEFT-BRACKET)..--
 SET P$="(" (THE LEFT PARENTHESIS)..-- U
SE: BANK1:SYS(64512),5,ASC(B$),.        
ASC(P$)..JOB 6 -- ENCODES A STRING USING
 A.TRANSPOSITION CIPHER.  (A.TRANSPOSITI
ON CIPHER JUMBLES THE.CHARACTERS OF A ST
RING ACCORDING TO A."KEY NUMBER."  THE K
EY NUMBER MUST BE.KNOWN IN ORDER TO DECI
PHER AN.ENCIPHERED STRING.)  TO ENCIPHER
 A.STRING,..-- CALL SETUP ROUTINE..-- US
E: BANK1:SYS(64512),6,K.   WHERE "K" IS 
A KEY NUMBER.   FROM 1 TO 255...JOB 7 --
 DECIPHERS AN ENCIPHERED.STRING.  USE TH
E SAME SYS CALL THAT.WAS USED IN JOB 6, 
BUT SUBSTITUTE "7".FOR "6" IN THE SYS CA
LL....DISK FILES THIS PROGRAM USES:..STR
ING MAGIC.128   T.STRING MAGIC.1..      
  **** END OF TEXT ****.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL