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

T.BIT.1

FILE INFORMATION

FILENAME(S): T.BIT.1

FILE TYPE(S): PRG

FILE SIZE: 5.4K

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

APPEARS ON: 1 disk(s)

FILE HASH

84e866d8be69c9163d16cc47c7cd7c580d09234bdba15fbfc4fbdbd838e986de

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
LOADSTAR 41 S 2 T.BIT.1 PRG Sailor, Ganheden 16 9 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 80 5E 55 3A 5A 45 52  4F 0D 0D 0D 20 20 20 20  |..^U:ZERO...    |
00000010: 20 20 20 20 20 20 20 20  C2 49 54 20 C2 59 20 C2  |        .IT .Y .|
00000020: 49 54 0D 20 20 20 20 20  20 20 20 20 20 20 20 20  |IT.             |
00000030: 20 D0 41 52 54 20 31 0D  0D 20 20 20 20 20 20 20  | .ART 1..       |
00000040: 20 20 20 C2 59 20 CD 49  4B 45 20 CD 41 59 4E 41  |   .Y .IKE .AYNA|
00000050: 52 44 0D 20 20 20 20 20  20 20 20 20 20 20 20 20  |RD.             |
00000060: 26 20 CA 49 4D 20 D2 4F  57 0D 0D 20 20 D4 48 49  |& .IM .OW..  .HI|
00000070: 53 20 4D 4F 4E 54 48 20  57 45 27 4C 4C 20 43 52  |S MONTH WE'LL CR|
00000080: 45 41 54 45 20 41 20 CD  41 43 48 49 4E 45 0D CC  |EATE A .ACHINE..|
00000090: 41 4E 47 55 41 47 45 20  C9 CE D0 D5 D4 20 52 4F  |ANGUAGE ..... RO|
000000A0: 55 54 49 4E 45 20 54 48  41 54 20 41 4C 4C 4F 57  |UTINE THAT ALLOW|
000000B0: 53 0D 59 4F 55 20 54 4F  20 46 49 4C 54 45 52 20  |S.YOU TO FILTER |
000000C0: 43 45 52 54 41 49 4E 20  47 52 4F 55 50 53 20 4F  |CERTAIN GROUPS O|
000000D0: 46 0D 43 48 41 52 41 43  54 45 52 53 20 28 45 2E  |F.CHARACTERS (E.|
000000E0: 47 2E 20 CC CF D7 C5 D2  C3 C1 D3 C5 2C 0D D5 D0  |G. .........,...|
000000F0: D0 C5 D2 C3 C1 D3 C5 2C  20 CE D5 CD C2 C5 D2 D3  |......., .......|
00000100: 2C 20 45 54 43 29 20 4F  52 20 43 4F 4D 42 49 4E  |, ETC) OR COMBIN|
00000110: 45 0D 54 48 45 53 45 20  47 52 4F 55 50 53 2E 20  |E.THESE GROUPS. |
00000120: D4 4F 20 43 41 4C 4C 20  54 48 49 53 20 52 4F 55  |.O CALL THIS ROU|
00000130: 54 49 4E 45 2C 0D 59 4F  55 20 53 48 4F 55 4C 44  |TINE,.YOU SHOULD|
00000140: 20 45 4E 54 45 52 3A 0D  0D 20 D3 D9 D3 20 33 32  | ENTER:.. ... 32|
00000150: 37 36 38 2C 5B CD CC C5  CE 5D 2C 5B C6 D5 CE C3  |768,[....],[....|
00000160: D4 C9 CF CE 5D 2C 5B D3  D4 D2 C9 CE C7 5D 0D 0D  |....],[......]..|
00000170: CD CC C5 CE 2C 20 C6 D5  CE C3 D4 C9 CF CE 20 41  |...., ........ A|
00000180: 4E 44 20 D3 D4 D2 C9 CE  C7 20 41 52 45 20 45 58  |ND ...... ARE EX|
00000190: 50 4C 41 49 4E 2D 0D 45  44 20 41 54 20 54 48 45  |PLAIN-.ED AT THE|
000001A0: 20 45 4E 44 20 4F 46 20  54 48 49 53 20 41 52 54  | END OF THIS ART|
000001B0: 49 43 4C 45 2E 20 D4 48  49 53 0D 52 4F 55 54 49  |ICLE. .HIS.ROUTI|
000001C0: 4E 45 20 43 41 4E 20 4F  4E 4C 59 20 42 45 20 55  |NE CAN ONLY BE U|
000001D0: 53 45 44 20 46 4F 52 20  D3 D4 D2 C9 CE C7 D3 21  |SED FOR .......!|
000001E0: 0D C9 46 20 59 4F 55 20  57 41 4E 54 20 54 4F 20  |..F YOU WANT TO |
000001F0: 47 45 54 20 41 20 4E 55  4D 45 52 49 43 20 56 41  |GET A NUMERIC VA|
00000200: 4C 55 45 2C 0D 55 53 45  20 D6 C1 CC 20 54 4F 20  |LUE,.USE ... TO |
00000210: 54 41 4B 45 20 54 48 45  20 56 41 4C 55 45 20 4F  |TAKE THE VALUE O|
00000220: 46 20 54 48 45 0D 53 54  52 49 4E 47 20 59 4F 55  |F THE.STRING YOU|
00000230: 20 53 55 50 50 4C 59 2E  0D 0D 20 20 D4 48 45 20  | SUPPLY...  .HE |
00000240: 46 4F 4C 4C 4F 57 49 4E  47 20 49 53 20 49 4E 20  |FOLLOWING IS IN |
00000250: 53 59 4D 42 4F 4C 49 43  20 46 4F 52 4D 41 54 0D  |SYMBOLIC FORMAT.|
00000260: 41 4E 44 20 57 41 53 20  4F 52 49 47 49 4E 41 4C  |AND WAS ORIGINAL|
00000270: 4C 59 20 57 52 49 54 54  45 4E 20 55 53 49 4E 47  |LY WRITTEN USING|
00000280: 20 54 48 45 0D CD C5 D2  CC C9 CE 20 41 53 53 45  | THE....... ASSE|
00000290: 4D 42 4C 45 52 2E 20 C6  4F 52 20 41 20 42 45 54  |MBLER. .OR A BET|
000002A0: 54 45 52 20 55 4E 44 45  52 2D 0D 53 54 41 4E 44  |TER UNDER-.STAND|
000002B0: 49 4E 47 20 4F 46 20 48  4F 57 20 54 48 45 20 50  |ING OF HOW THE P|
000002C0: 52 4F 47 52 41 4D 20 57  4F 52 4B 53 2C 0D 54 48  |ROGRAM WORKS,.TH|
000002D0: 45 20 46 4F 4C 4C 4F 57  49 4E 47 20 49 53 20 48  |E FOLLOWING IS H|
000002E0: 45 41 56 49 4C 59 20 44  4F 43 55 4D 45 4E 54 45  |EAVILY DOCUMENTE|
000002F0: 44 2E 0D C6 4F 52 20 41  20 4D 49 4C 44 4C 59 20  |D...OR A MILDLY |
00000300: 44 4F 43 55 4D 45 4E 54  45 44 20 44 45 53 43 52  |DOCUMENTED DESCR|
00000310: 49 50 54 49 4F 4E 2C 0D  53 45 45 20 54 48 45 20  |IPTION,.SEE THE |
00000320: 53 4F 55 52 43 45 20 46  49 4C 45 20 4F 4E 20 53  |SOURCE FILE ON S|
00000330: 49 44 45 20 32 20 4F 46  0D 54 48 49 53 20 49 53  |IDE 2 OF.THIS IS|
00000340: 53 55 45 20 45 4E 54 49  54 4C 45 44 20 22 C7 C5  |SUE ENTITLED "..|
00000350: D4 27 CE 20 D3 D4 CF D2  C5 34 38 2E CF 2E 22 0D  |.'. .....48...".|
00000360: 0D CE CF D4 C5 3A 20 20  5B C1 5D 20 4D 45 41 4E  |.....:  [.] MEAN|
00000370: 53 20 C1 43 43 55 4D 55  4C 41 54 4F 52 0D 20 20  |S .CCUMULATOR.  |
00000380: 20 20 20 20 20 5B D8 5D  20 4D 45 41 4E 53 20 D8  |     [.] MEANS .|
00000390: 20 D2 45 47 49 53 54 45  52 0D 20 20 20 20 20 20  | .EGISTER.      |
000003A0: 20 5B D9 5D 20 4D 45 41  4E 53 20 D9 20 D2 45 47  | [.] MEANS . .EG|
000003B0: 49 53 54 45 52 0D 20 20  20 20 20 20 20 C1 4C 4C  |ISTER.       .LL|
000003C0: 20 4E 55 4D 42 45 52 53  20 53 48 4F 57 4E 20 41  | NUMBERS SHOWN A|
000003D0: 52 45 20 C4 C5 C3 C9 CD  C1 CC 21 0D 0D 20 D4 48  |RE .......!.. .H|
000003E0: 45 20 46 4F 4C 4C 4F 57  49 4E 47 20 47 52 4F 55  |E FOLLOWING GROU|
000003F0: 50 20 4F 46 20 C5 D1 D5  27 53 20 41 52 45 20 54  |P OF ...'S ARE T|
00000400: 48 45 0D C5 D1 D5 C1 D4  C5 D3 20 46 4F 52 20 54  |HE........ FOR T|
00000410: 48 45 20 43 4F 44 45 2E  20 20 D4 48 45 59 20 54  |HE CODE.  .HEY T|
00000420: 45 4C 4C 20 54 48 45 0D  41 44 44 52 45 53 53 45  |ELL THE.ADDRESSE|
00000430: 53 20 55 53 45 44 20 46  4F 52 20 45 41 43 48 20  |S USED FOR EACH |
00000440: 53 59 4D 42 4F 4C 49 43  0D 57 4F 52 44 2E 0D 0D  |SYMBOLIC.WORD...|
00000450: 20 20 C7 C5 D4 C9 CE 20  20 20 20 C5 D1 D5 20 36  |  .....    ... 6|
00000460: 35 35 30 38 0D 20 20 D0  D2 C9 CE D4 20 20 20 20  |5508.  .....    |
00000470: C5 D1 D5 20 36 35 34 39  30 0D 20 20 C3 C8 D2 C7  |... 65490.  ....|
00000480: C5 D4 20 20 20 C5 D1 D5  20 31 31 35 0D 20 20 D0  |..   ... 115.  .|
00000490: D4 D2 C7 C5 D4 20 20 20  C5 D1 D5 20 34 35 31 39  |.....   ... 4519|
000004A0: 35 0D 20 20 C7 C5 D4 C3  CF CD 20 20 20 C5 D1 D5  |5.  ......   ...|
000004B0: 20 35 37 38 37 30 0D 20  20 C3 CF CD CE D5 CD 20  | 57870.  ...... |
000004C0: 20 20 C5 D1 D5 20 35 37  38 35 36 0D 20 20 C2 D9  |  ... 57856.  ..|
000004D0: D4 C5 20 20 20 20 20 C5  D1 D5 20 32 35 31 0D 20  |..     ... 251. |
000004E0: 20 D3 D4 D2 C9 CE C7 20  20 20 C5 D1 D5 20 35 32  | ......   ... 52|
000004F0: 30 30 30 0D 0D 20 20 CE  4F 57 2C 20 4F 4E 20 57  |000..  .OW, ON W|
00000500: 49 54 48 20 54 48 45 20  50 52 4F 47 52 41 4D 2E  |ITH THE PROGRAM.|
00000510: 2E 2E 0D 0D 20 20 C6 49  52 53 54 20 57 45 20 4E  |....  .IRST WE N|
00000520: 45 45 44 20 54 4F 20 50  41 52 53 45 20 54 48 45  |EED TO PARSE THE|
00000530: 20 54 48 52 45 45 0D 56  41 4C 55 45 53 20 54 48  | THREE.VALUES TH|
00000540: 41 54 20 46 4F 4C 4C 4F  57 20 54 48 45 20 D3 D9  |AT FOLLOW THE ..|
00000550: D3 20 53 54 41 54 45 4D  45 4E 54 2E 0D D4 48 45  |. STATEMENT...HE|
00000560: 20 46 49 52 53 54 20 CA  D3 D2 20 50 41 52 53 45  | FIRST ... PARSE|
00000570: 53 20 CD CC C5 CE 2C 20  54 48 45 20 4D 41 58 49  |S ...., THE MAXI|
00000580: 2D 0D 4D 55 4D 20 4E 55  4D 42 45 52 20 4F 46 20  |-.MUM NUMBER OF |
00000590: 43 48 41 52 41 43 54 45  52 53 20 59 4F 55 20 57  |CHARACTERS YOU W|
000005A0: 41 4E 54 20 54 48 45 0D  55 53 45 52 20 54 4F 20  |ANT THE.USER TO |
000005B0: 42 45 20 41 42 4C 45 20  54 4F 20 45 4E 54 45 52  |BE ABLE TO ENTER|
000005C0: 2E 20 CD CC C5 CE 20 49  53 0D 41 4E 20 49 4E 54  |. .... IS.AN INT|
000005D0: 45 47 45 52 20 52 41 4E  47 49 4E 47 20 46 52 4F  |EGER RANGING FRO|
000005E0: 4D 20 30 20 54 4F 20 32  35 35 2E 0D 0D 20 20 D4  |M 0 TO 255...  .|
000005F0: 48 45 20 53 45 43 4F 4E  44 20 CA D3 D2 20 50 41  |HE SECOND ... PA|
00000600: 52 53 45 53 20 C6 D5 CE  C3 D4 C9 CF CE 2C 20 54  |RSES ........, T|
00000610: 48 45 0D 46 49 4C 54 45  52 20 54 48 41 54 20 43  |HE.FILTER THAT C|
00000620: 4F 4E 54 52 4F 4C 53 20  57 48 41 54 20 43 48 41  |ONTROLS WHAT CHA|
00000630: 52 41 43 54 45 52 53 0D  54 48 45 20 55 53 45 52  |RACTERS.THE USER|
00000640: 20 43 41 4E 20 45 4E 54  45 52 2E 20 C6 D5 CE C3  | CAN ENTER. ....|
00000650: D4 C9 CF CE 20 49 53 20  41 4E 0D 49 4E 54 45 47  |.... IS AN.INTEG|
00000660: 45 52 20 52 41 4E 47 49  4E 47 20 46 52 4F 4D 20  |ER RANGING FROM |
00000670: 30 20 54 4F 20 32 35 35  2E 0D 0D 20 20 20 20 20  |0 TO 255...     |
00000680: 20 20 20 20 CA D3 D2 20  C3 CF CD CE D5 CD 0D 20  |    ... ....... |
00000690: 20 20 20 20 20 20 20 20  D3 D4 D8 20 CD CC C5 CE  |        ... ....|
000006A0: 0D 0D 20 20 20 20 20 20  20 20 20 CA D3 D2 20 C3  |..         ... .|
000006B0: CF CD CE D5 CD 0D 20 20  20 20 20 20 20 20 20 D3  |......         .|
000006C0: D4 D8 20 C6 D5 CE C3 D4  C9 CF CE 0D 0D 20 20 D4  |.. ..........  .|
000006D0: 48 45 20 4E 45 58 54 20  54 57 4F 20 CA D3 D2 53  |HE NEXT TWO ...S|
000006E0: 20 50 41 52 53 45 20 54  48 45 20 53 54 52 49 4E  | PARSE THE STRIN|
000006F0: 47 0D 54 48 41 54 20 59  4F 55 20 45 4E 54 45 52  |G.THAT YOU ENTER|
00000700: 2E 20 D4 48 45 59 20 54  52 41 4E 53 46 45 52 20  |. .HEY TRANSFER |
00000710: 54 4F 20 CD CC 0D 54 48  45 20 49 4E 46 4F 52 4D  |TO ...THE INFORM|
00000720: 41 54 49 4F 4E 20 4E 45  45 44 45 44 20 54 4F 20  |ATION NEEDED TO |
00000730: 46 49 4E 44 20 57 48 45  52 45 0D 54 48 45 20 53  |FIND WHERE.THE S|
00000740: 54 52 49 4E 47 20 49 53  20 49 4E 20 4D 45 4D 4F  |TRING IS IN MEMO|
00000750: 52 59 20 41 4E 44 20 48  4F 57 20 4C 4F 4E 47 0D  |RY AND HOW LONG.|
00000760: 49 54 20 49 53 2E 20 C9  46 20 4E 4F 20 53 54 52  |IT IS. .F NO STR|
00000770: 49 4E 47 20 49 53 20 46  4F 55 4E 44 2C 20 49 54  |ING IS FOUND, IT|
00000780: 20 49 53 0D 43 52 45 41  54 45 44 2E 20 C1 46 54  | IS.CREATED. .FT|
00000790: 45 52 20 54 48 45 20 CA  D3 D2 53 2C 20 5B C1 5D  |ER THE ...S, [.]|
000007A0: 20 43 4F 4E 54 41 49 4E  53 0D 54 48 45 20 4C 4F  | CONTAINS.THE LO|
000007B0: 57 20 42 59 54 45 20 4F  46 20 57 48 45 52 45 20  |W BYTE OF WHERE |
000007C0: 54 48 45 20 53 54 52 49  4E 47 20 49 53 0D 49 4E  |THE STRING IS.IN|
000007D0: 20 4D 45 4D 4F 52 59 20  2D 2D 20 5B D9 5D 20 43  | MEMORY -- [.] C|
000007E0: 4F 4E 54 41 49 4E 53 20  54 48 45 20 48 49 47 48  |ONTAINS THE HIGH|
000007F0: 0D 42 59 54 45 20 4F 46  20 57 48 45 52 45 20 54  |.BYTE OF WHERE T|
00000800: 48 45 20 53 54 52 49 4E  47 20 49 53 20 53 54 4F  |HE STRING IS STO|
00000810: 52 45 44 20 49 4E 0D 4D  45 4D 4F 52 59 2E 0D 0D  |RED IN.MEMORY...|
00000820: 20 20 20 20 20 20 20 20  20 CA D3 D2 20 C3 C8 D2  |         ... ...|
00000830: C7 C5 D4 0D 20 20 20 20  20 20 20 20 20 CA D3 D2  |....         ...|
00000840: 20 D0 D4 D2 C7 C5 D4 0D  20 20 20 20 20 20 20 20  | .......        |
00000850: 20 D3 D4 C1 20 C2 D9 D4  C5 0D 20 20 20 20 20 20  | ... .....      |
00000860: 20 20 20 D3 D4 D9 20 C2  D9 D4 C5 2B 31 0D 0D 20  |   ... ....+1.. |
00000870: 20 D4 48 45 20 4E 45 58  54 20 53 54 41 54 45 4D  | .HE NEXT STATEM|
00000880: 45 4E 54 53 20 53 45 54  55 50 20 54 48 45 0D 56  |ENTS SETUP THE.V|
00000890: 41 52 49 41 42 4C 45 53  20 54 4F 20 42 45 20 55  |ARIABLES TO BE U|
000008A0: 53 45 44 2E 20 20 D0 CF  C9 CE D4 C5 D2 20 49 53  |SED.  ....... IS|
000008B0: 20 54 48 45 0D 43 4F 55  4E 54 45 52 20 4F 46 20  | THE.COUNTER OF |
000008C0: 54 48 45 20 4E 55 4D 42  45 52 20 4F 46 20 43 48  |THE NUMBER OF CH|
000008D0: 41 52 41 43 54 45 52 53  0D 54 48 41 54 20 48 41  |ARACTERS.THAT HA|
000008E0: 56 45 20 42 45 45 4E 20  45 4E 54 45 52 45 44 2E  |VE BEEN ENTERED.|
000008F0: 20 CC CF C4 C5 CC C1 D9  20 41 4E 44 0D C8 C9 C4  | ....... AND....|
00000900: C5 CC C1 D9 20 41 52 45  20 54 48 45 20 4C 4F 57  |.... ARE THE LOW|
00000910: 20 41 4E 44 20 48 49 47  48 20 42 59 54 45 53 0D  | AND HIGH BYTES.|
00000920: 4F 46 20 41 20 44 45 4C  41 59 20 55 53 45 44 20  |OF A DELAY USED |
00000930: 4F 4E 20 54 48 45 20 43  55 52 53 4F 52 0D 52 4F  |ON THE CURSOR.RO|
00000940: 55 54 49 4E 45 2E 20 20  C3 D2 D3 D2 D0 D4 D2 20  |UTINE.  ....... |
00000950: 49 53 20 54 48 45 20 43  4F 55 4E 54 45 52 20 46  |IS THE COUNTER F|
00000960: 4F 52 0D 54 48 45 20 43  55 52 53 4F 52 20 43 4F  |OR.THE CURSOR CO|
00000970: 4C 4F 52 53 20 41 4E 44  20 43 55 52 53 4F 52 0D  |LORS AND CURSOR.|
00000980: 43 48 41 52 41 43 54 45  52 53 20 41 4E 44 20 49  |CHARACTERS AND I|
00000990: 53 20 55 53 45 44 20 54  4F 20 43 52 45 41 54 45  |S USED TO CREATE|
000009A0: 20 54 48 45 0D 42 4F 55  4E 43 49 4E 47 2C 20 46  | THE.BOUNCING, F|
000009B0: 4C 41 53 48 49 4E 47 20  43 55 52 53 4F 52 2E 0D  |LASHING CURSOR..|
000009C0: 0D 20 20 20 20 20 20 20  20 20 CC C4 D9 20 23 30  |.         ... #0|
000009D0: 30 0D 20 20 20 20 20 20  20 20 20 D3 D4 D9 20 D0  |0.         ... .|
000009E0: CF C9 CE D4 C5 D2 0D 20  20 20 20 20 20 20 20 20  |.......         |
000009F0: D3 D4 D9 20 CC CF C4 C5  CC C1 D9 0D 20 20 20 20  |... ........    |
00000A00: 20 20 20 20 20 D3 D4 D9  20 C8 C9 C4 C5 CC C1 D9  |     ... .......|
00000A10: 0D 20 20 20 20 20 20 20  20 20 CC C4 C1 20 23 30  |.         ... #0|
00000A20: 31 0D 20 20 20 20 20 20  20 20 20 D3 D4 C1 20 C3  |1.         ... .|
00000A30: D2 D3 D2 D0 D4 D2 0D 0D  20 20 D4 48 45 20 46 4F  |........  .HE FO|
00000A40: 4C 4C 4F 57 49 4E 47 20  52 4F 55 54 49 4E 45 20  |LLOWING ROUTINE |
00000A50: 57 49 4C 4C 20 53 43 41  4E 20 54 48 45 0D 4B 45  |WILL SCAN THE.KE|
00000A60: 59 42 4F 41 52 44 2E 20  C9 46 20 41 20 4B 45 59  |YBOARD. .F A KEY|
00000A70: 20 48 41 53 20 42 45 45  4E 20 50 52 45 53 53 45  | HAS BEEN PRESSE|
00000A80: 44 2C 0D 49 54 20 42 52  41 4E 43 48 45 53 20 54  |D,.IT BRANCHES T|
00000A90: 4F 20 C7 CF D4 C9 D4 2E  0D 0D C9 CE C5 D2 20 20  |O ............  |
00000AA0: 20 20 20 CA D3 D2 20 C7  C5 D4 C9 CE 0D 20 20 20  |   ... ......   |
00000AB0: 20 20 20 20 20 20 C3 CD  D0 20 23 30 30 0D 20 20  |      ... #00.  |
00000AC0: 20 20 20 20 20 20 20 C2  CE C5 20 C7 CF D4 C9 D4  |       ... .....|
00000AD0: 0D 0D 20 20 CF 4B 2C 20  4E 4F 20 4B 45 59 20 48  |..  .K, NO KEY H|
00000AE0: 41 53 20 42 45 45 4E 20  50 52 45 53 53 45 44 2C  |AS BEEN PRESSED,|
00000AF0: 20 53 4F 2C 0D 4C 45 54  27 53 20 46 4C 41 53 48  | SO,.LET'S FLASH|
00000B00: 20 54 48 45 20 43 55 52  53 4F 52 2E 0D 0D 20 20  | THE CURSOR...  |
00000B10: C6 49 52 53 54 20 57 45  20 4E 45 45 44 20 54 4F  |.IRST WE NEED TO|
00000B20: 20 41 44 44 20 31 20 54  4F 20 54 48 45 20 44 45  | ADD 1 TO THE DE|
00000B30: 4C 41 59 0D 41 44 44 52  45 53 53 45 53 2C 20 41  |LAY.ADDRESSES, A|
00000B40: 4E 44 2C 20 49 46 20 C8  C9 C4 C5 CC C1 D9 20 44  |ND, IF ....... D|
00000B50: 4F 45 53 20 4E 4F 54 0D  45 51 55 41 4C 20 32 2C  |OES NOT.EQUAL 2,|
00000B60: 20 54 48 45 4E 20 42 52  41 4E 43 48 20 42 41 43  | THEN BRANCH BAC|
00000B70: 4B 20 55 50 20 54 4F 20  C9 CE C5 D2 0D 41 4E 44  |K UP TO .....AND|
00000B80: 20 47 45 54 20 41 4E 54  48 45 52 20 43 48 41 52  | GET ANTHER CHAR|
00000B90: 41 43 54 45 52 2E 0D 0D  20 20 20 20 20 20 20 20  |ACTER...        |
00000BA0: 20 C3 CC C3 0D 20 20 20  20 20 20 20 20 20 CC C4  | ....         ..|
00000BB0: C1 20 CC CF C4 C5 CC C1  D9 0D 20 20 20 20 20 20  |. ........      |
00000BC0: 20 20 20 C1 C4 C3 20 23  30 31 0D 20 20 20 20 20  |   ... #01.     |
00000BD0: 20 20 20 20 D3 D4 C1 20  CC CF C4 C5 CC C1 D9 0D  |    ... ........|
00000BE0: 20 20 20 20 20 20 20 20  20 CC C4 C1 20 C8 C9 C4  |         ... ...|
00000BF0: C5 CC C1 D9 0D 20 20 20  20 20 20 20 20 20 C1 C4  |.....         ..|
00000C00: C3 20 23 30 30 0D 20 20  20 20 20 20 20 20 20 D3  |. #00.         .|
00000C10: D4 C1 20 C8 C9 C4 C5 CC  C1 D9 0D 20 20 20 20 20  |.. ........     |
00000C20: 20 20 20 20 CC C4 C1 20  C8 C9 C4 C5 CC C1 D9 0D  |    ... ........|
00000C30: 20 20 20 20 20 20 20 20  20 C3 CD D0 20 23 32 0D  |         ... #2.|
00000C40: 20 20 20 20 20 20 20 20  20 C2 CE C5 20 C9 CE C5  |         ... ...|
00000C50: D2 0D 0D 20 20 CF 55 52  20 44 45 4C 41 59 20 48  |...  .UR DELAY H|
00000C60: 41 53 20 42 45 45 4E 20  52 45 41 43 48 45 44 2C  |AS BEEN REACHED,|
00000C70: 20 53 4F 20 57 45 0D 4E  45 45 44 20 54 4F 20 5A  | SO WE.NEED TO Z|
00000C80: 45 52 4F 20 54 48 45 20  44 45 4C 41 59 53 2C 20  |ERO THE DELAYS, |
00000C90: 47 45 54 20 54 48 45 0D  56 41 4C 55 45 53 20 54  |GET THE.VALUES T|
00000CA0: 48 41 54 20 52 45 50 52  45 53 45 4E 54 20 54 48  |HAT REPRESENT TH|
00000CB0: 45 20 43 55 52 53 4F 52  0D 43 48 41 52 41 43 54  |E CURSOR.CHARACT|
00000CC0: 45 52 20 41 4E 44 20 43  4F 4C 4F 52 2C 20 41 4E  |ER AND COLOR, AN|
00000CD0: 44 20 27 D0 CF CB C5 27  20 54 48 45 4D 0D 4F 4E  |D '....' THEM.ON|
00000CE0: 20 54 48 45 20 53 43 52  45 45 4E 2E 0D 0D 20 20  | THE SCREEN...  |
00000CF0: 20 20 20 20 20 20 20 CC  C4 C1 20 23 30 30 0D 20  |       ... #00. |
00000D00: 20 20 20 20 20 20 20 20  D3 D4 C1 20 CC CF C4 C5  |        ... ....|
00000D10: CC C1 D9 0D 20 20 20 20  20 20 20 20 20 D3 D4 C1  |....         ...|
00000D20: 20 C8 C9 C4 C5 CC C1 D9  0D 20 20 20 20 20 20 20  | ........       |
00000D30: 20 20 CC C4 D9 20 C3 D2  D3 D2 D0 D4 D2 0D 20 20  |  ... ........  |
00000D40: 20 20 20 20 20 20 20 CC  C4 C1 20 C3 D2 D3 D2 C3  |       ... .....|
00000D50: C8 D2 2C D9 0D 20 20 20  20 20 20 20 20 20 CC C4  |..,..         ..|
00000D60: D9 20 32 31 31 0D 20 20  20 20 20 20 20 20 20 D3  |. 211.         .|
00000D70: D4 C1 20 28 32 30 39 29  2C D9 0D 20 20 20 20 20  |.. (209),..     |
00000D80: 20 20 20 20 CC C4 C1 20  32 30 39 0D 20 20 20 20  |    ... 209.    |
00000D90: 20 20 20 20 20 D3 D4 C1  20 32 35 33 0D 20 20 20  |     ... 253.   |
00000DA0: 20 20 20 20 20 20 CC C4  C1 20 23 32 31 36 0D 20  |      ... #216. |
00000DB0: 20 20 20 20 20 20 20 20  D3 C2 C3 20 36 34 38 0D  |        ... 648.|
00000DC0: 20 20 20 20 20 20 20 20  20 D3 D4 C1 20 D4 C5 CD  |         ... ...|
00000DD0: D0 0D 20 20 20 20 20 20  20 20 20 C3 CC C3 0D 20  |..         .... |
00000DE0: 20 20 20 20 20 20 20 20  CC C4 C1 20 32 31 30 0D  |        ... 210.|
00000DF0: 20 20 20 20 20 20 20 20  20 C1 C4 C3 20 D4 C5 CD  |         ... ...|
00000E00: D0 0D 20 20 20 20 20 20  20 20 20 D3 D4 C1 20 32  |..         ... 2|
00000E10: 35 34 0D 20 20 20 20 20  20 20 20 20 CC C4 D9 20  |54.         ... |
00000E20: C3 D2 D3 D2 D0 D4 D2 0D  20 20 20 20 20 20 20 20  |........        |
00000E30: 20 CC C4 C1 20 C3 D2 D3  D2 C3 CC D2 2C D9 0D 20  | ... .......,.. |
00000E40: 20 20 20 20 20 20 20 20  CC C4 D9 20 32 31 31 0D  |        ... 211.|
00000E50: 20 20 20 20 20 20 20 20  20 D3 D4 C1 20 28 32 35  |         ... (25|
00000E60: 33 29 2C D9 0D 0D 20 20  CE 4F 57 2C 20 57 45 20  |3),...  .OW, WE |
00000E70: 4E 45 45 44 20 54 4F 20  43 48 45 43 4B 20 46 4F  |NEED TO CHECK FO|
00000E80: 52 20 54 48 45 20 45 4E  44 0D 4F 46 20 C3 D2 D3  |R THE END.OF ...|
00000E90: D2 D0 D4 D2 2E 20 C9 46  20 54 48 45 20 45 4E 44  |..... .F THE END|
00000EA0: 20 28 33 30 29 20 48 41  53 20 42 45 45 4E 0D 52  | (30) HAS BEEN.R|
00000EB0: 45 41 43 48 45 44 2C 20  57 45 20 5A 45 52 4F 20  |EACHED, WE ZERO |
00000EC0: 54 48 45 20 43 4F 55 4E  54 45 52 20 41 4E 44 0D  |THE COUNTER AND.|
00000ED0: 4A 55 4D 50 20 54 4F 20  C9 CE C5 D2 2E 0D 0D 20  |JUMP TO ....... |
00000EE0: 20 20 20 20 20 20 20 20  CC C4 C1 20 C3 D2 D3 D2  |        ... ....|
00000EF0: D0 D4 D2 0D 20 20 20 20  20 20 20 20 20 C3 CD D0  |....         ...|
00000F00: 20 23 33 30 0D 20 20 20  20 20 20 20 20 20 C2 C5  | #30.         ..|
00000F10: D1 20 D2 C5 D3 C5 D4 0D  20 20 20 20 20 20 20 20  |. ......        |
00000F20: 20 C9 CE C3 20 C3 D2 D3  D2 D0 D4 D2 0D 20 20 20  | ... ........   |
00000F30: 20 20 20 20 20 20 CA CD  D0 20 C9 CE C5 D2 0D D2  |      ... ......|
00000F40: C5 D3 C5 D4 20 20 20 20  CC C4 C1 20 23 30 0D 20  |....    ... #0. |
00000F50: 20 20 20 20 20 20 20 20  D3 D4 C1 20 C3 D2 D3 D2  |        ... ....|
00000F60: D0 D4 D2 0D 20 20 20 20  20 20 20 20 20 CA CD D0  |....         ...|
00000F70: 20 C9 CE C5 D2 0D 0D 20  20 CE 4F 57 2C 20 57 48  | ......  .OW, WH|
00000F80: 45 4E 20 41 20 4B 45 59  20 49 53 20 50 52 45 53  |EN A KEY IS PRES|
00000F90: 53 45 44 2C 20 49 54 0D  4A 55 4D 50 53 20 54 4F  |SED, IT.JUMPS TO|
00000FA0: 20 54 48 45 20 C7 CF D4  C9 D4 20 52 4F 55 54 49  | THE ..... ROUTI|
00000FB0: 4E 45 2E 0D 0D 20 20 D4  48 49 53 20 49 53 20 54  |NE...  .HIS IS T|
00000FC0: 48 45 20 C7 CF D4 C9 D4  20 52 4F 55 54 49 4E 45  |HE ..... ROUTINE|
00000FD0: 3A 0D 0D 20 20 C4 49 44  20 54 48 45 20 55 53 45  |:..  .ID THE USE|
00000FE0: 52 20 50 52 45 53 53 20  D2 C5 D4 D5 D2 CE 3F 20  |R PRESS ......? |
00000FF0: C9 46 20 D9 C5 D3 2C 0D  4A 55 4D 50 20 54 4F 20  |.F ...,.JUMP TO |
00001000: D3 D7 C9 D4 C3 C8 3B 20  4F 54 48 45 52 57 49 53  |......; OTHERWIS|
00001010: 45 2C 20 42 52 41 4E 43  48 20 54 4F 0D CE CA CD  |E, BRANCH TO....|
00001020: D0 2E 0D 0D C7 CF D4 C9  D4 20 20 20 20 C3 CD D0  |.........    ...|
00001030: 20 23 31 33 20 20 20 20  20 20 20 3B 20 5B D2 C5  | #13       ; [..|
00001040: D4 D5 D2 CE 5D 0D 20 20  20 20 20 20 20 20 20 C2  |....].         .|
00001050: CE C5 20 CE CA CD D0 0D  20 20 20 20 20 20 20 20  |.. .....        |
00001060: 20 CA CD D0 20 D3 D7 C9  D4 C3 C8 0D 0D 20 20 C4  | ... ........  .|
00001070: 49 44 20 54 48 45 20 55  53 45 52 20 50 52 45 53  |ID THE USER PRES|
00001080: 53 20 54 48 45 20 C4 C5  CC 20 4B 45 59 3F 20 C9  |S THE ... KEY? .|
00001090: 46 0D CE CF 2C 20 54 48  45 4E 20 42 52 41 4E 43  |F..., THEN BRANC|
000010A0: 48 20 54 4F 20 CE C5 D8  D4 2E 0D 0D CE CA CD D0  |H TO ...........|
000010B0: 20 20 20 20 20 C3 CD D0  20 23 32 30 20 20 20 20  |     ... #20    |
000010C0: 20 20 20 3B 20 5B C4 C5  CC 5D 0D 20 20 20 20 20  |   ; [...].     |
000010D0: 20 20 20 20 C2 CE C5 20  CE C5 D8 D4 0D 0D 20 20  |    ... ......  |
000010E0: D4 48 45 20 C4 C5 CC 20  4B 45 59 20 57 41 53 20  |.HE ... KEY WAS |
000010F0: 50 52 45 53 53 45 44 2E  20 D3 4F 2C 20 57 45 0D  |PRESSED. .O, WE.|
00001100: 4E 45 45 44 20 54 4F 20  43 48 45 43 4B 20 D0 CF  |NEED TO CHECK ..|
00001110: C9 CE D4 C5 D2 2E 20 C9  46 20 49 54 20 45 51 55  |...... .F IT EQU|
00001120: 41 4C 53 0D 30 2C 20 54  48 45 4E 20 4A 55 53 54  |ALS.0, THEN JUST|
00001130: 20 42 52 41 4E 43 48 20  42 41 43 4B 20 54 4F 20  | BRANCH BACK TO |
00001140: C9 CE C5 D2 2E 0D C9 46  20 49 54 20 44 4F 45 53  |.......F IT DOES|
00001150: 4E 27 54 20 45 51 55 41  4C 20 30 2C 20 57 45 20  |N'T EQUAL 0, WE |
00001160: 4E 45 45 44 20 54 4F 0D  44 45 43 52 45 4D 45 4E  |NEED TO.DECREMEN|
00001170: 54 20 D0 CF C9 CE D4 C5  D2 20 41 4E 44 20 27 D0  |T ....... AND '.|
00001180: CF CB C5 27 20 41 20 53  50 41 43 45 0D 4F 4E 20  |...' A SPACE.ON |
00001190: 54 48 45 20 53 43 52 45  45 4E 20 57 48 45 52 45  |THE SCREEN WHERE|
000011A0: 20 54 48 45 20 43 55 52  53 4F 52 20 49 53 2E 0D  | THE CURSOR IS..|
000011B0: D4 48 45 4E 2C 20 55 53  49 4E 47 20 54 48 45 20  |.HEN, USING THE |
000011C0: CB C5 D2 CE C1 CC 20 52  4F 55 54 49 4E 45 20 C3  |...... ROUTINE .|
000011D0: C8 D2 CF D5 D4 0D 57 45  20 27 D0 D2 C9 CE D4 27  |......WE '.....'|
000011E0: 20 41 20 42 41 43 4B 53  50 41 43 45 2E 0D 0D C4  | A BACKSPACE....|
000011F0: C5 C3 D0 D4 D2 20 20 20  CC C4 C1 20 D0 CF C9 CE  |.....   ... ....|
00001200: D4 C5 D2 0D 20 20 20 20  20 20 20 20 20 C3 CD D0  |....         ...|
00001210: 20 23 30 30 0D 20 20 20  20 20 20 20 20 20 C2 C5  | #00.         ..|
00001220: D1 20 C9 CE C5 D2 0D 20  20 20 20 20 20 20 20 20  |. .....         |
00001230: C4 C5 C3 20 D0 CF C9 CE  D4 C5 D2 0D 20 20 20 20  |... ........    |
00001240: 20 20 20 20 20 CC C4 C1  20 23 33 32 20 20 20 20  |     ... #32    |
00001250: 20 20 20 3B 20 5B D3 D0  C1 C3 C5 5D 0D 20 20 20  |   ; [.....].   |
00001260: 20 20 20 20 20 20 CC C4  D9 20 32 31 31 0D 20 20  |      ... 211.  |
00001270: 20 20 20 20 20 20 20 D3  D4 C1 20 28 32 30 39 29  |       ... (209)|
00001280: 2C D9 0D 20 20 20 20 20  20 20 20 20 CC C4 C1 20  |,..         ... |
00001290: 23 32 30 20 20 20 20 20  20 20 3B 20 5B C4 C5 CC  |#20       ; [...|
000012A0: 5D 0D 20 20 20 20 20 20  20 20 20 CA D3 D2 20 D0  |].         ... .|
000012B0: D2 C9 CE D4 0D 20 20 20  20 20 20 20 20 20 CA CD  |.....         ..|
000012C0: D0 20 C9 CE C5 D2 0D 0D  20 20 D4 48 45 20 4B 45  |. ......  .HE KE|
000012D0: 59 20 50 52 45 53 53 45  44 20 57 41 53 20 CE CF  |Y PRESSED WAS ..|
000012E0: D4 20 54 48 45 20 C4 C5  CC 0D 4B 45 59 2C 20 53  |. THE ....KEY, S|
000012F0: 4F 20 57 45 20 4E 45 45  44 20 54 4F 20 43 48 45  |O WE NEED TO CHE|
00001300: 43 4B 20 54 48 45 20 48  49 47 48 20 42 49 54 2E  |CK THE HIGH BIT.|
00001310: 0D C9 46 20 49 54 27 53  20 53 45 54 20 28 31 29  |..F IT'S SET (1)|
00001320: 20 54 48 45 4E 20 CA D5  CD D0 20 54 4F 20 D3 D4  | THEN .... TO ..|
00001330: CF D2 C5 2E 0D C9 46 20  4E 4F 54 2C 20 42 52 41  |......F NOT, BRA|
00001340: 4E 43 48 20 54 4F 20 CE  CE 2E 0D 0D CE C5 D8 D4  |NCH TO .........|
00001350: 20 20 20 20 20 D3 D4 C1  20 C3 C8 C1 D2 0D 20 20  |     ... .....  |
00001360: 20 20 20 20 20 20 20 CC  C4 C1 20 C6 D5 CE C3 D4  |       ... .....|
00001370: C9 CF CE 0D 20 20 20 20  20 20 20 20 20 C3 CD D0  |....         ...|
00001380: 20 23 31 32 38 0D 20 20  20 20 20 20 20 20 20 C2  | #128.         .|
00001390: CE C5 20 CE CE 0D 20 20  20 20 20 20 20 20 20 CA  |.. ...         .|
000013A0: CD D0 20 D3 D4 CF D2 C5  0D 0D 20 20 D4 48 45 20  |.. .......  .HE |
000013B0: 48 49 47 48 20 42 49 54  20 57 41 53 20 4E 4F 54  |HIGH BIT WAS NOT|
000013C0: 20 53 45 54 20 28 30 29  2C 20 53 4F 20 57 45 0D  | SET (0), SO WE.|
000013D0: 4E 45 45 44 20 54 4F 20  43 48 45 43 4B 20 54 48  |NEED TO CHECK TH|
000013E0: 45 20 4C 45 4E 47 54 48  20 4F 46 20 54 48 45 0D  |E LENGTH OF THE.|
000013F0: 53 54 52 49 4E 47 20 28  D0 CF C9 CE D4 C5 D2 29  |STRING (.......)|
00001400: 2E 20 C9 46 20 49 54 27  53 20 4C 45 53 53 20 54  |. .F IT'S LESS T|
00001410: 48 41 4E 0D CD CC C5 CE  20 54 48 45 4E 20 42 52  |HAN..... THEN BR|
00001420: 41 4E 43 48 20 54 4F 20  CE 30 3B 20 4F 54 48 45  |ANCH TO .0; OTHE|
00001430: 52 57 49 53 45 2C 0D 4A  55 4D 50 20 42 41 43 4B  |RWISE,.JUMP BACK|
00001440: 20 54 4F 20 C9 CE C5 D2  2E 0D 0D CE CE 20 20 20  | TO .........   |
00001450: 20 20 20 20 CC C4 C1 20  D0 CF C9 CE D4 C5 D2 0D  |    ... ........|
00001460: 20 20 20 20 20 20 20 20  20 C3 CD D0 20 CD CC C5  |         ... ...|
00001470: CE 0D 20 20 20 20 20 20  20 20 20 C2 C3 C3 20 CE  |..         ... .|
00001480: 30 0D 20 20 20 20 20 20  20 20 20 CA CD D0 20 C9  |0.         ... .|
00001490: CE C5 D2 0D 0D 20 20 C9  46 20 54 48 45 20 43 48  |.....  .F THE CH|
000014A0: 41 52 41 43 54 45 52 20  54 48 45 20 55 53 45 52  |ARACTER THE USER|
000014B0: 20 45 4E 54 45 52 45 44  0D 49 53 20 47 52 45 41  | ENTERED.IS GREA|
000014C0: 54 45 52 20 54 48 41 4E  20 4F 52 20 45 51 55 41  |TER THAN OR EQUA|
000014D0: 4C 20 54 4F 20 41 20 53  50 41 43 45 0D 54 48 45  |L TO A SPACE.THE|
000014E0: 4E 20 42 52 41 4E 43 48  20 54 4F 20 CE 31 2E 20  |N BRANCH TO .1. |
000014F0: CF 54 48 45 52 57 49 53  45 20 4A 55 4D 50 0D 42  |.THERWISE JUMP.B|
00001500: 41 43 4B 20 55 50 20 54  4F 20 C9 CE C5 D2 2E 0D  |ACK UP TO ......|
00001510: 0D CE 30 20 20 20 20 20  20 20 CC C4 C1 20 C3 C8  |..0       ... ..|
00001520: C1 D2 0D 20 20 20 20 20  20 20 20 20 C3 CD D0 20  |...         ... |
00001530: 23 33 32 20 20 20 20 20  20 20 3B 20 5B D3 D0 C1  |#32       ; [...|
00001540: C3 C5 5D 0D 20 20 20 20  20 20 20 20 20 C2 C3 D3  |..].         ...|
00001550: 20 CE 31 0D 20 20 20 20  20 20 20 20 20 CA CD D0  | .1.         ...|
00001560: 20 C9 CE C5 D2 0D 0D 20  20 20 20 20 2A 2A 2A 2A  | ......     ****|
00001570: 20 C5 4E 44 20 CF 46 20  D0 41 52 54 20 31 20 D4  | .ND .F .ART 1 .|
00001580: 45 58 54 20 2A 2A 2A 2A  0D                       |EXT ****.       |
..^U:ZERO...            BIT BY BIT.     
         PART 1..          BY MIKE MAYNA
RD.             & JIM ROW..  THIS MONTH 
WE'LL CREATE A MACHINE.LANGUAGE INPUT RO
UTINE THAT ALLOWS.YOU TO FILTER CERTAIN 
GROUPS OF.CHARACTERS (E.G. LOWERCASE,.UP
PERCASE, NUMBERS, ETC) OR COMBINE.THESE 
GROUPS. TO CALL THIS ROUTINE,.YOU SHOULD
 ENTER:.. SYS 32768,[MLEN],[FUNCTION],[S
TRING]..MLEN, FUNCTION AND STRING ARE EX
PLAIN-.ED AT THE END OF THIS ARTICLE. TH
IS.ROUTINE CAN ONLY BE USED FOR STRINGS!
.IF YOU WANT TO GET A NUMERIC VALUE,.USE
 VAL TO TAKE THE VALUE OF THE.STRING YOU
 SUPPLY...  THE FOLLOWING IS IN SYMBOLIC
 FORMAT.AND WAS ORIGINALLY WRITTEN USING
 THE.MERLIN ASSEMBLER. FOR A BETTER UNDE
R-.STANDING OF HOW THE PROGRAM WORKS,.TH
E FOLLOWING IS HEAVILY DOCUMENTED..FOR A
 MILDLY DOCUMENTED DESCRIPTION,.SEE THE 
SOURCE FILE ON SIDE 2 OF.THIS ISSUE ENTI
TLED "GET'N STORE48.O."..NOTE:  [A] MEAN
S ACCUMULATOR.       [X] MEANS X REGISTE
R.       [Y] MEANS Y REGISTER.       ALL
 NUMBERS SHOWN ARE DECIMAL!.. THE FOLLOW
ING GROUP OF EQU'S ARE THE.EQUATES FOR T
HE CODE.  THEY TELL THE.ADDRESSES USED F
OR EACH SYMBOLIC.WORD...  GETIN    EQU 6
5508.  PRINT    EQU 65490.  CHRGET   EQU
 115.  PTRGET   EQU 45195.  GETCOM   EQU
 57870.  COMNUM   EQU 57856.  BYTE     E
QU 251.  STRING   EQU 52000..  NOW, ON W
ITH THE PROGRAM.....  FIRST WE NEED TO P
ARSE THE THREE.VALUES THAT FOLLOW THE SY
S STATEMENT..THE FIRST JSR PARSES MLEN, 
THE MAXI-.MUM NUMBER OF CHARACTERS YOU W
ANT THE.USER TO BE ABLE TO ENTER. MLEN I
S.AN INTEGER RANGING FROM 0 TO 255...  T
HE SECOND JSR PARSES FUNCTION, THE.FILTE
R THAT CONTROLS WHAT CHARACTERS.THE USER
 CAN ENTER. FUNCTION IS AN.INTEGER RANGI
NG FROM 0 TO 255...         JSR COMNUM. 
        STX MLEN..         JSR COMNUM.  
       STX FUNCTION..  THE NEXT TWO JSRS
 PARSE THE STRING.THAT YOU ENTER. THEY T
RANSFER TO ML.THE INFORMATION NEEDED TO 
FIND WHERE.THE STRING IS IN MEMORY AND H
OW LONG.IT IS. IF NO STRING IS FOUND, IT
 IS.CREATED. AFTER THE JSRS, [A] CONTAIN
S.THE LOW BYTE OF WHERE THE STRING IS.IN
 MEMORY -- [Y] CONTAINS THE HIGH.BYTE OF
 WHERE THE STRING IS STORED IN.MEMORY...
         JSR CHRGET.         JSR PTRGET.
         STA BYTE.         STY BYTE+1.. 
 THE NEXT STATEMENTS SETUP THE.VARIABLES
 TO BE USED.  POINTER IS THE.COUNTER OF 
THE NUMBER OF CHARACTERS.THAT HAVE BEEN 
ENTERED. LODELAY AND.HIDELAY ARE THE LOW
 AND HIGH BYTES.OF A DELAY USED ON THE C
URSOR.ROUTINE.  CRSRPTR IS THE COUNTER F
OR.THE CURSOR COLORS AND CURSOR.CHARACTE
RS AND IS USED TO CREATE THE.BOUNCING, F
LASHING CURSOR...         LDY #00.      
   STY POINTER.         STY LODELAY.    
     STY HIDELAY.         LDA #01.      
   STA CRSRPTR..  THE FOLLOWING ROUTINE 
WILL SCAN THE.KEYBOARD. IF A KEY HAS BEE
N PRESSED,.IT BRANCHES TO GOTIT...INER  
   JSR GETIN.         CMP #00.         B
NE GOTIT..  OK, NO KEY HAS BEEN PRESSED,
 SO,.LET'S FLASH THE CURSOR...  FIRST WE
 NEED TO ADD 1 TO THE DELAY.ADDRESSES, A
ND, IF HIDELAY DOES NOT.EQUAL 2, THEN BR
ANCH BACK UP TO INER.AND GET ANTHER CHAR
ACTER...         CLC.         LDA LODELA
Y.         ADC #01.         STA LODELAY.
         LDA HIDELAY.         ADC #00.  
       STA HIDELAY.         LDA HIDELAY.
         CMP #2.         BNE INER..  OUR
 DELAY HAS BEEN REACHED, SO WE.NEED TO Z
ERO THE DELAYS, GET THE.VALUES THAT REPR
ESENT THE CURSOR.CHARACTER AND COLOR, AN
D 'POKE' THEM.ON THE SCREEN...         L
DA #00.         STA LODELAY.         STA
 HIDELAY.         LDY CRSRPTR.         L
DA CRSRCHR,Y.         LDY 211.         S
TA (209),Y.         LDA 209.         STA
 253.         LDA #216.         SBC 648.
         STA TEMP.         CLC.         
LDA 210.         ADC TEMP.         STA 2
54.         LDY CRSRPTR.         LDA CRS
RCLR,Y.         LDY 211.         STA (25
3),Y..  NOW, WE NEED TO CHECK FOR THE EN
D.OF CRSRPTR. IF THE END (30) HAS BEEN.R
EACHED, WE ZERO THE COUNTER AND.JUMP TO 
INER...         LDA CRSRPTR.         CMP
 #30.         BEQ RESET.         INC CRS
RPTR.         JMP INER.RESET    LDA #0. 
        STA CRSRPTR.         JMP INER.. 
 NOW, WHEN A KEY IS PRESSED, IT.JUMPS TO
 THE GOTIT ROUTINE...  THIS IS THE GOTIT
 ROUTINE:..  DID THE USER PRESS RETURN? 
IF YES,.JUMP TO SWITCH; OTHERWISE, BRANC
H TO.NJMP...GOTIT    CMP #13       ; [RE
TURN].         BNE NJMP.         JMP SWI
TCH..  DID THE USER PRESS THE DEL KEY? I
F.NO, THEN BRANCH TO NEXT...NJMP     CMP
 #20       ; [DEL].         BNE NEXT..  
THE DEL KEY WAS PRESSED. SO, WE.NEED TO 
CHECK POINTER. IF IT EQUALS.0, THEN JUST
 BRANCH BACK TO INER..IF IT DOESN'T EQUA
L 0, WE NEED TO.DECREMENT POINTER AND 'P
OKE' A SPACE.ON THE SCREEN WHERE THE CUR
SOR IS..THEN, USING THE KERNAL ROUTINE C
HROUT.WE 'PRINT' A BACKSPACE...DECPTR   
LDA POINTER.         CMP #00.         BE
Q INER.         DEC POINTER.         LDA
 #32       ; [SPACE].         LDY 211.  
       STA (209),Y.         LDA #20     
  ; [DEL].         JSR PRINT.         JM
P INER..  THE KEY PRESSED WAS NOT THE DE
L.KEY, SO WE NEED TO CHECK THE HIGH BIT.
.IF IT'S SET (1) THEN JUMP TO STORE..IF 
NOT, BRANCH TO NN...NEXT     STA CHAR.  
       LDA FUNCTION.         CMP #128.  
       BNE NN.         JMP STORE..  THE 
HIGH BIT WAS NOT SET (0), SO WE.NEED TO 
CHECK THE LENGTH OF THE.STRING (POINTER)
. IF IT'S LESS THAN.MLEN THEN BRANCH TO 
N0; OTHERWISE,.JUMP BACK TO INER...NN   
    LDA POINTER.         CMP MLEN.      
   BCC N0.         JMP INER..  IF THE CH
ARACTER THE USER ENTERED.IS GREATER THAN
 OR EQUAL TO A SPACE.THEN BRANCH TO N1. 
OTHERWISE JUMP.BACK UP TO INER...N0     
  LDA CHAR.         CMP #32       ; [SPA
CE].         BCS N1.         JMP INER.. 
    **** END OF PART 1 TEXT ****.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL