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

T.BITS

FILE INFORMATION

FILENAME(S): T.BITS

FILE TYPE(S): PRG

FILE SIZE: 3.8K

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

APPEARS ON: 1 disk(s)

FILE HASH

c914df2f828dec39d578004e816e7590b2061acbc1802ca18130b166f10a7bb0

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
LOADSTAR 45 S 1 T.BITS PRG Sailor, Ganheden 31 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 80 5E 55 3A 5A 45 52  4F 0D 0D 20 20 20 20 20  |..^U:ZERO..     |
00000010: 20 20 20 20 D4 C9 D0 D3  3A 20 CD CC 20 D3 55 42  |    ....: .. .UB|
00000020: 53 43 52 49 50 54 45 52  0D 0D 20 20 20 20 20 20  |SCRIPTER..      |
00000030: 20 20 20 20 42 59 20 CD  41 52 54 49 4E 20 CD 41  |    BY .ARTIN .A|
00000040: 54 54 48 45 57 53 0D 0D  20 20 20 20 CF 4E 45 20  |TTHEWS..    .NE |
00000050: 4F 46 20 54 48 45 20 41  44 56 41 4E 54 41 47 45  |OF THE ADVANTAGE|
00000060: 53 20 4F 46 20 C2 C1 D3  C9 C3 20 49 53 0D 54 48  |S OF ..... IS.TH|
00000070: 45 20 45 41 53 45 20 49  4E 20 57 48 49 43 48 20  |E EASE IN WHICH |
00000080: 49 54 20 4F 46 46 45 52  53 20 43 45 52 54 41 49  |IT OFFERS CERTAI|
00000090: 4E 0D 46 55 4E 43 54 49  4F 4E 53 2E 20 20 CF 4E  |N.FUNCTIONS.  .N|
000000A0: 45 20 4F 46 20 54 48 45  53 45 20 46 55 4E 43 54  |E OF THESE FUNCT|
000000B0: 49 4F 4E 53 20 49 53 0D  53 55 42 53 43 52 49 50  |IONS IS.SUBSCRIP|
000000C0: 54 49 4E 47 2E 20 20 C6  4F 52 20 49 4C 4C 55 53  |TING.  .OR ILLUS|
000000D0: 54 52 41 54 49 4F 4E 2C  0D 43 4F 4E 53 49 44 45  |TRATION,.CONSIDE|
000000E0: 52 20 54 48 45 20 53 49  54 55 41 54 49 4F 4E 20  |R THE SITUATION |
000000F0: 57 48 45 52 45 20 54 57  4F 0D 4C 49 53 54 53 20  |WHERE TWO.LISTS |
00000100: 4F 52 20 54 41 42 4C 45  53 20 41 52 45 20 52 45  |OR TABLES ARE RE|
00000110: 51 55 49 52 45 44 2E 20  20 D4 48 45 0D 44 49 53  |QUIRED.  .HE.DIS|
00000120: 4B 20 44 49 52 45 43 54  4F 52 59 20 45 4E 54 52  |K DIRECTORY ENTR|
00000130: 49 45 53 20 41 4E 44 20  54 48 45 20 44 49 53 4B  |IES AND THE DISK|
00000140: 0D 4E 41 4D 45 53 20 4F  46 20 59 4F 55 52 20 44  |.NAMES OF YOUR D|
00000150: 49 53 4B 20 49 4E 56 45  4E 54 4F 52 59 20 43 4F  |ISK INVENTORY CO|
00000160: 55 4C 44 0D 42 45 20 53  55 43 48 20 4C 49 53 54  |ULD.BE SUCH LIST|
00000170: 53 2E 20 20 C3 4F 4D 42  49 4E 45 44 20 49 4E 54  |S.  .OMBINED INT|
00000180: 4F 20 4F 4E 45 0D 54 41  42 4C 45 2C 20 54 48 45  |O ONE.TABLE, THE|
00000190: 20 44 49 53 4B 20 4E 41  4D 45 20 57 4F 55 4C 44  | DISK NAME WOULD|
000001A0: 20 48 41 56 45 20 54 4F  0D 42 45 20 52 45 50 45  | HAVE TO.BE REPE|
000001B0: 41 54 45 44 20 46 4F 52  20 45 41 43 48 20 44 49  |ATED FOR EACH DI|
000001C0: 52 45 43 54 4F 52 59 20  45 4E 54 52 59 2E 0D 0D  |RECTORY ENTRY...|
000001D0: 0D 0D 20 20 20 20 C9 4E  20 54 57 4F 20 54 41 42  |..    .N TWO TAB|
000001E0: 4C 45 53 2C 20 54 48 45  20 44 49 53 4B 20 4E 41  |LES, THE DISK NA|
000001F0: 4D 45 20 4E 45 45 44 0D  45 58 49 53 54 20 4F 4E  |ME NEED.EXIST ON|
00000200: 4C 59 20 4F 4E 43 45 2E  20 20 C2 55 54 20 54 48  |LY ONCE.  .UT TH|
00000210: 45 20 50 52 4F 42 4C 45  4D 20 49 53 0D 4B 4E 4F  |E PROBLEM IS.KNO|
00000220: 57 49 4E 47 20 20 57 48  49 43 48 20 44 49 53 4B  |WING  WHICH DISK|
00000230: 20 4E 41 4D 45 20 42 45  4C 4F 4E 47 53 20 54 4F  | NAME BELONGS TO|
00000240: 0D 57 48 49 43 48 20 44  49 52 45 43 54 4F 52 59  |.WHICH DIRECTORY|
00000250: 20 45 4E 54 52 59 2E 0D  0D 20 20 20 20 C9 46 20  | ENTRY...    .F |
00000260: 54 48 45 20 44 49 53 4B  20 C9 C4 20 57 41 53 20  |THE DISK .. WAS |
00000270: 41 4C 53 4F 20 41 56 41  49 4C 41 42 4C 45 0D 54  |ALSO AVAILABLE.T|
00000280: 48 45 4E 20 54 48 45 20  4E 41 4D 45 20 54 41 42  |HEN THE NAME TAB|
00000290: 4C 45 20 43 4F 55 4C 44  20 42 45 0D 53 45 41 52  |LE COULD BE.SEAR|
000002A0: 43 48 45 44 20 53 45 52  49 41 4C 4C 59 20 28 49  |CHED SERIALLY (I|
000002B0: 2E 45 2E 20 53 54 41 52  54 49 4E 47 0D 45 41 43  |.E. STARTING.EAC|
000002C0: 48 20 54 49 4D 45 20 41  54 20 54 48 45 20 42 45  |H TIME AT THE BE|
000002D0: 47 49 4E 4E 49 4E 47 29  20 46 4F 52 20 41 0D 4D  |GINNING) FOR A.M|
000002E0: 41 54 43 48 2E 20 20 C8  4F 57 45 56 45 52 2C 20  |ATCH.  .OWEVER, |
000002F0: 49 46 20 54 48 45 20 4E  41 4D 45 20 54 41 42 4C  |IF THE NAME TABL|
00000300: 45 0D 45 4E 54 52 59 20  4E 55 4D 42 45 52 20 57  |E.ENTRY NUMBER W|
00000310: 41 53 20 53 54 4F 52 45  44 20 57 49 54 48 20 54  |AS STORED WITH T|
00000320: 48 45 0D 44 49 52 45 43  54 4F 52 59 20 54 41 42  |HE.DIRECTORY TAB|
00000330: 4C 45 20 45 4E 54 52 59  2C 20 54 48 45 4E 20 54  |LE ENTRY, THEN T|
00000340: 48 45 20 44 49 53 4B 0D  4E 41 4D 45 20 43 4F 55  |HE DISK.NAME COU|
00000350: 4C 44 20 42 45 20 41 43  43 45 53 53 45 44 20 44  |LD BE ACCESSED D|
00000360: 49 52 45 43 54 4C 59 20  42 59 0D 53 55 42 53 43  |IRECTLY BY.SUBSC|
00000370: 52 49 50 54 49 4E 47 2E  20 20 C1 20 52 45 4C 41  |RIPTING.  . RELA|
00000380: 54 49 56 45 4C 59 20 53  49 4D 50 4C 45 0D 50 52  |TIVELY SIMPLE.PR|
00000390: 4F 43 45 44 55 52 45 20  49 4E 20 C2 C1 D3 C9 C3  |OCEDURE IN .....|
000003A0: 2E 0D 0D 0D 0D 0D 20 20  20 20 D3 55 42 53 43 52  |......    .UBSCR|
000003B0: 49 50 54 49 4E 47 20 52  45 51 55 49 52 45 53 20  |IPTING REQUIRES |
000003C0: 54 48 45 0D 4D 55 4C 54  49 50 4C 59 49 4E 47 20  |THE.MULTIPLYING |
000003D0: 4F 46 20 54 48 45 20 49  54 45 4D 20 53 49 5A 45  |OF THE ITEM SIZE|
000003E0: 20 42 59 20 54 48 45 0D  4E 55 4D 42 45 52 20 49  | BY THE.NUMBER I|
000003F0: 4E 20 54 48 45 20 54 41  42 4C 45 20 4F 46 20 54  |N THE TABLE OF T|
00000400: 48 45 20 49 54 45 4D 0D  44 45 53 49 52 45 44 2E  |HE ITEM.DESIRED.|
00000410: 20 20 D4 48 45 20 54 48  45 4F 52 59 20 49 53 20  |  .HE THEORY IS |
00000420: 53 49 4D 50 4C 45 2C 20  42 55 54 2C 0D 49 4E 20  |SIMPLE, BUT,.IN |
00000430: CD CC 20 54 48 45 20 45  58 45 43 55 54 49 4F 4E  |.. THE EXECUTION|
00000440: 20 49 53 20 41 20 42 49  54 20 4D 4F 52 45 0D 44  | IS A BIT MORE.D|
00000450: 49 46 46 49 43 55 4C 54  2E 20 20 D4 48 45 20 46  |IFFICULT.  .HE F|
00000460: 4F 4C 4C 4F 57 49 4E 47  20 52 4F 55 54 49 4E 45  |OLLOWING ROUTINE|
00000470: 2C 0D D3 C5 D4 D0 D4 D2  20 28 D3 45 54 20 D0 4F  |,....... (.ET .O|
00000480: 49 4E 54 45 52 29 2C 20  49 53 20 41 20 CD CC 0D  |INTER), IS A ...|
00000490: 53 55 42 53 43 52 49 50  54 45 52 2E 20 20 C9 54  |SUBSCRIPTER.  .T|
000004A0: 20 41 43 43 45 50 54 53  20 54 48 45 20 49 54 45  | ACCEPTS THE ITE|
000004B0: 4D 0D 53 49 5A 45 20 49  4E 20 54 48 45 20 D8 20  |M.SIZE IN THE . |
000004C0: 52 45 47 49 53 54 45 52  20 41 4E 44 20 54 48 45  |REGISTER AND THE|
000004D0: 20 49 54 45 4D 0D 4E 55  4D 42 45 52 20 44 45 53  | ITEM.NUMBER DES|
000004E0: 49 52 45 44 20 49 4E 20  54 48 45 20 D9 20 52 45  |IRED IN THE . RE|
000004F0: 47 49 53 54 45 52 20 41  4E 44 0D 52 45 54 55 52  |GISTER AND.RETUR|
00000500: 4E 53 20 54 48 45 20 50  52 4F 44 55 43 54 20 4F  |NS THE PRODUCT O|
00000510: 46 20 54 48 45 53 45 20  54 57 4F 2E 0D D4 48 45  |F THESE TWO...HE|
00000520: 20 49 54 45 4D 20 4E 55  4D 42 45 52 20 49 53 20  | ITEM NUMBER IS |
00000530: 52 45 4C 41 54 49 56 45  20 54 4F 20 5A 45 52 4F  |RELATIVE TO ZERO|
00000540: 2C 0D 54 48 41 54 20 49  53 2C 20 54 48 45 20 46  |,.THAT IS, THE F|
00000550: 49 52 53 54 20 49 54 45  4D 20 49 53 20 5A 45 52  |IRST ITEM IS ZER|
00000560: 4F 20 41 4E 44 0D 54 48  45 20 53 45 43 4F 4E 44  |O AND.THE SECOND|
00000570: 2C 20 31 2C 20 41 4E 44  20 53 4F 20 46 4F 52 54  |, 1, AND SO FORT|
00000580: 48 2E 0D 0D 0D 0D 0D 0D  20 20 20 20 D4 48 45 20  |H.......    .HE |
00000590: 52 4F 55 54 49 4E 45 20  52 45 54 55 52 4E 53 2C  |ROUTINE RETURNS,|
000005A0: 20 49 4E 20 54 48 45 0D  CC D3 C2 2D CD D3 C2 20  | IN THE....-... |
000005B0: 46 4F 52 4D 41 54 2C 20  54 48 45 20 50 52 4F 44  |FORMAT, THE PROD|
000005C0: 55 43 54 20 4F 46 20 54  48 45 20 D8 0D 41 4E 44  |UCT OF THE ..AND|
000005D0: 20 D9 20 52 45 47 49 53  54 45 52 53 2E 20 20 D4  | . REGISTERS.  .|
000005E0: 48 45 20 41 44 44 49 54  49 4F 4E 20 4F 46 20 54  |HE ADDITION OF T|
000005F0: 48 45 0D 50 52 4F 44 55  43 54 20 54 4F 20 54 48  |HE.PRODUCT TO TH|
00000600: 45 20 42 41 53 45 20 41  44 44 52 45 53 53 20 4F  |E BASE ADDRESS O|
00000610: 46 20 54 48 45 0D 54 41  42 4C 45 20 57 49 4C 4C  |F THE.TABLE WILL|
00000620: 20 52 45 53 55 4C 54 20  49 4E 20 54 48 45 20 41  | RESULT IN THE A|
00000630: 44 44 52 45 53 53 20 4F  46 0D 54 48 45 20 44 45  |DDRESS OF.THE DE|
00000640: 53 49 52 45 44 20 49 54  45 4D 2E 0D 0D 20 20 20  |SIRED ITEM...   |
00000650: 20 D4 48 45 20 43 41 4C  4C 49 4E 47 20 53 45 51  | .HE CALLING SEQ|
00000660: 55 45 4E 43 45 20 54 4F  20 49 4E 56 4F 4B 45 0D  |UENCE TO INVOKE.|
00000670: 54 48 45 20 52 4F 55 54  49 4E 45 20 49 53 3A 0D  |THE ROUTINE IS:.|
00000680: 0D 20 31 29 20 CC 4F 41  44 20 54 48 45 20 D8 20  |. 1) .OAD THE . |
00000690: 52 45 47 49 53 54 45 52  20 57 49 54 48 20 54 48  |REGISTER WITH TH|
000006A0: 45 20 53 49 5A 45 0D 20  20 20 20 4F 46 20 45 41  |E SIZE.    OF EA|
000006B0: 43 48 20 54 41 42 4C 45  20 49 54 45 4D 2E 20 20  |CH TABLE ITEM.  |
000006C0: C5 56 45 52 59 20 49 54  45 4D 0D 20 20 20 20 4D  |.VERY ITEM.    M|
000006D0: 55 53 54 20 42 45 20 54  48 45 20 53 41 4D 45 20  |UST BE THE SAME |
000006E0: 4C 45 4E 47 54 48 3B 0D  0D 20 32 29 20 CC 4F 41  |LENGTH;.. 2) .OA|
000006F0: 44 20 54 48 45 20 D9 20  52 45 47 49 53 54 45 52  |D THE . REGISTER|
00000700: 20 57 49 54 48 20 54 48  45 0D 20 20 20 20 4E 55  | WITH THE.    NU|
00000710: 4D 42 45 52 20 49 4E 20  54 48 45 20 54 41 42 4C  |MBER IN THE TABL|
00000720: 45 20 44 45 53 49 52 45  44 2E 20 20 D4 48 45 0D  |E DESIRED.  .HE.|
00000730: 20 20 20 20 46 49 52 53  54 20 49 54 45 4D 20 49  |    FIRST ITEM I|
00000740: 53 20 5A 45 52 4F 2C 20  54 48 45 20 53 45 43 4F  |S ZERO, THE SECO|
00000750: 4E 44 20 49 53 0D 20 20  20 20 31 2C 20 45 54 43  |ND IS.    1, ETC|
00000760: 2E 3B 0D 0D 20 33 29 20  CA D3 D2 20 54 4F 20 D3  |.;.. 3) ... TO .|
00000770: C5 D4 D0 D4 D2 3B 0D 0D  20 34 29 20 D3 54 4F 52  |.....;.. 4) .TOR|
00000780: 45 20 54 48 45 20 52 45  54 55 52 4E 45 44 20 D8  |E THE RETURNED .|
00000790: 20 41 4E 44 20 D9 0D 20  20 20 20 52 45 47 49 53  | AND ..    REGIS|
000007A0: 54 45 52 53 2C 20 54 48  45 4E 20 41 44 44 20 54  |TERS, THEN ADD T|
000007B0: 48 45 53 45 20 54 4F 20  54 48 45 0D 20 20 20 20  |HESE TO THE.    |
000007C0: 54 48 45 20 54 41 42 4C  45 20 42 41 53 45 20 41  |THE TABLE BASE A|
000007D0: 44 44 52 45 53 53 2E 0D  0D 20 20 20 20 D3 C5 D4  |DDRESS...    ...|
000007E0: D0 D4 D2 20 52 45 51 55  49 52 45 53 20 54 48 52  |... REQUIRES THR|
000007F0: 45 45 20 44 41 54 41 20  46 49 45 4C 44 53 0D 57  |EE DATA FIELDS.W|
00000800: 48 49 43 48 20 41 52 45  3A 0D 0D C9 D4 CD D3 C9  |HICH ARE:.......|
00000810: DA 20 2E C2 D9 D4 C5 20  30 30 30 20 30 30 30 20  |. ..... 000 000 |
00000820: 3B 20 C9 54 45 4D 20 53  49 5A 45 20 57 4F 52 4B  |; .TEM SIZE WORK|
00000830: 0D C9 D4 CD CE D5 CD 20  2E C2 D9 D4 C5 20 30 30  |....... ..... 00|
00000840: 30 20 20 20 20 20 3B 20  CE 55 4D 42 45 52 20 49  |0     ; .UMBER I|
00000850: 4E 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |N.              |
00000860: 20 20 20 20 20 20 20 3B  20 20 54 41 42 4C 45 20  |       ;  TABLE |
00000870: 44 45 53 49 52 45 44 0D  D2 C5 D3 D5 CC D4 20 2C  |DESIRED....... ,|
00000880: C2 D9 D4 C5 20 30 30 30  20 30 30 30 20 3B 20 D2  |.... 000 000 ; .|
00000890: 45 53 55 4C 54 20 57 48  49 43 48 0D 20 20 20 20  |ESULT WHICH.    |
000008A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008B0: 20 3B 20 20 49 53 20 4C  4F 41 44 45 44 0D 20 20  | ;  IS LOADED.  |
000008C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008D0: 20 20 20 3B 20 20 49 4E  54 4F 20 D8 20 41 4E 44  |   ;  INTO . AND|
000008E0: 20 D9 0D 20 20 20 20 20  20 20 20 20 20 20 20 20  | ..             |
000008F0: 20 20 20 20 20 20 20 20  3B 20 20 4F 4E 20 52 45  |        ;  ON RE|
00000900: 54 55 52 4E 0D 0D 0D 0D  20 20 20 20 D4 48 45 20  |TURN....    .HE |
00000910: 52 4F 55 54 49 4E 45 20  42 45 47 49 4E 53 20 42  |ROUTINE BEGINS B|
00000920: 59 20 53 54 4F 52 49 4E  47 20 54 48 45 0D 49 4E  |Y STORING THE.IN|
00000930: 50 55 54 54 45 44 20 49  54 45 4D 20 53 49 5A 45  |PUTTED ITEM SIZE|
00000940: 20 41 4E 44 20 49 54 45  4D 20 4E 55 4D 42 45 52  | AND ITEM NUMBER|
00000950: 2E 0D D4 48 45 4E 20 54  48 45 20 52 45 53 55 4C  |...HEN THE RESUL|
00000960: 54 20 46 49 45 4C 44 20  49 53 20 49 4E 49 54 49  |T FIELD IS INITI|
00000970: 41 4C 49 5A 45 44 0D 54  4F 20 5A 45 52 4F 2E 0D  |ALIZED.TO ZERO..|
00000980: 0D D3 C5 D4 D0 D4 D2 20  D3 D4 D8 20 C9 D4 CD D3  |....... ... ....|
00000990: C9 DA 0D 20 20 20 20 20  20 20 D3 D4 D9 20 C9 D4  |...       ... ..|
000009A0: CD CE D5 CD 0D 20 20 20  20 20 20 20 CC C4 C1 20  |.....       ... |
000009B0: 23 30 0D 20 20 20 20 20  20 20 D3 D4 C1 20 D2 C5  |#0.       ... ..|
000009C0: D3 D5 CC D4 0D 20 20 20  20 20 20 20 D3 D4 C1 20  |.....       ... |
000009D0: D2 C5 D3 D5 CC D4 2B 31  0D 20 20 20 20 20 20 20  |......+1.       |
000009E0: D3 D4 C1 20 C9 D4 CD D3  C9 DA 2B 31 0D 0D 20 20  |... ......+1..  |
000009F0: 20 20 D3 C5 D4 D0 30 31  20 49 53 20 54 48 45 20  |  ....01 IS THE |
00000A00: 42 45 47 49 4E 49 4E 47  20 4F 46 20 54 48 45 0D  |BEGINING OF THE.|
00000A10: 4C 4F 4F 50 2E 20 D4 48  45 20 49 54 45 4D 20 53  |LOOP. .HE ITEM S|
00000A20: 49 5A 45 20 49 53 20 54  45 53 54 45 44 20 46 4F  |IZE IS TESTED FO|
00000A30: 52 0D 5A 45 52 4F 2C 20  41 4E 44 20 49 46 20 54  |R.ZERO, AND IF T|
00000A40: 52 55 45 20 41 20 42 52  41 4E 43 48 20 54 4F 20  |RUE A BRANCH TO |
00000A50: 54 48 45 0D 45 58 49 54  20 49 53 20 50 45 52 46  |THE.EXIT IS PERF|
00000A60: 4F 52 4D 45 44 2E 20 20  CF 54 48 45 52 57 49 53  |ORMED.  .THERWIS|
00000A70: 45 20 54 48 45 0D 49 54  45 4D 20 4E 55 4D 42 45  |E THE.ITEM NUMBE|
00000A80: 52 20 46 49 45 4C 44 20  49 53 20 53 48 49 46 54  |R FIELD IS SHIFT|
00000A90: 45 44 20 4C 45 46 54 0D  57 49 54 48 20 54 48 45  |ED LEFT.WITH THE|
00000AA0: 20 48 49 47 48 20 4F 52  44 45 52 20 42 49 54 20  | HIGH ORDER BIT |
00000AB0: 46 41 4C 4C 49 4E 47 20  49 4E 54 4F 0D 54 48 45  |FALLING INTO.THE|
00000AC0: 20 43 41 52 52 59 2E 0D  0D 20 20 20 20 C9 46 20  | CARRY...    .F |
00000AD0: 41 20 4F 4E 45 20 42 49  54 20 49 53 20 46 4F 55  |A ONE BIT IS FOU|
00000AE0: 4E 44 20 54 48 45 20 49  54 45 4D 0D 53 49 5A 45  |ND THE ITEM.SIZE|
00000AF0: 20 49 53 20 41 44 44 45  44 20 54 4F 20 54 48 45  | IS ADDED TO THE|
00000B00: 20 52 45 53 55 4C 54 2E  20 20 C9 46 20 54 48 45  | RESULT.  .F THE|
00000B10: 0D 42 49 54 20 49 53 20  5A 45 52 4F 20 54 48 45  |.BIT IS ZERO THE|
00000B20: 4E 20 41 20 42 52 41 4E  43 48 20 54 4F 20 4D 55  |N A BRANCH TO MU|
00000B30: 4C 54 49 50 4C 59 0D 42  59 20 54 57 4F 20 49 53  |LTIPLY.BY TWO IS|
00000B40: 20 50 45 52 46 4F 52 4D  45 44 2E 0D 0D D3 C5 D4  | PERFORMED......|
00000B50: D0 30 31 20 CC C4 C1 20  C9 D4 CD CE D5 CD 0D 20  |.01 ... ....... |
00000B60: 20 20 20 20 20 20 C2 C5  D1 20 D3 C5 D4 D0 30 33  |      ... ....03|
00000B70: 20 20 3B 20 C5 58 49 54  0D 20 20 20 20 20 20 20  |  ; .XIT.       |
00000B80: CC D3 D2 20 C9 D4 CD CE  D5 CD 0D 20 20 20 20 20  |... .......     |
00000B90: 20 20 C2 C3 C3 20 D3 C5  D4 D0 30 32 20 20 3B 20  |  ... ....02  ; |
00000BA0: DA 45 52 4F 20 42 49 54  20 42 52 41 4E 43 48 0D  |.ERO BIT BRANCH.|
00000BB0: 20 20 20 20 20 20 20 C3  CC C3 20 20 20 20 20 20  |       ...      |
00000BC0: 20 20 20 3B 20 C1 44 44  20 49 54 45 4D 20 53 49  |   ; .DD ITEM SI|
00000BD0: 5A 45 0D 20 20 20 20 20  20 20 CC C4 C1 20 D2 C5  |ZE.       ... ..|
00000BE0: D3 D5 CC D4 0D 20 20 20  20 20 20 20 C1 C4 C3 20  |.....       ... |
00000BF0: C9 D4 CD D3 C9 DA 0D 20  20 20 20 20 20 20 CC C4  |.......       ..|
00000C00: C1 20 D2 C5 D3 D5 CC D4  2B 31 0D 20 20 20 20 20  |. ......+1.     |
00000C10: 20 20 C1 C4 C3 20 C9 D4  CD D3 C9 DA 2B 31 0D 20  |  ... ......+1. |
00000C20: 20 20 20 20 20 20 D3 D4  C1 20 D2 C5 D3 D5 CC D4  |      ... ......|
00000C30: 2B 31 0D 0D 0D 0D 20 20  20 20 C1 46 54 45 52 20  |+1....    .FTER |
00000C40: 45 41 43 48 20 53 48 49  46 54 20 4F 46 20 54 48  |EACH SHIFT OF TH|
00000C50: 45 20 49 4E 50 55 54 0D  46 49 45 4C 44 2C 20 20  |E INPUT.FIELD,  |
00000C60: C9 D4 CD CE D5 CD 2C 20  54 48 45 20 50 4F 57 45  |......, THE POWE|
00000C70: 52 20 4F 46 20 54 48 45  0D 52 45 53 55 4C 54 20  |R OF THE.RESULT |
00000C80: 49 53 20 52 41 49 53 45  44 20 42 59 20 54 57 4F  |IS RAISED BY TWO|
00000C90: 2E 0D 0D D3 C5 D4 D0 30  32 20 C3 CC C3 20 20 20  |.......02 ...   |
00000CA0: 20 20 20 20 20 20 3B 20  CD 55 4C 54 49 50 4C 59  |      ; .ULTIPLY|
00000CB0: 20 42 59 20 54 57 4F 0D  20 20 20 20 20 20 20 C1  | BY TWO.       .|
00000CC0: D3 CC 20 C9 D4 CD D3 C9  DA 0D 20 20 20 20 20 20  |.. .......      |
00000CD0: 20 D2 CF CC 20 C9 D4 CD  D3 C9 DA 2B 31 0D 20 20  | ... ......+1.  |
00000CE0: 20 20 20 20 20 CA CD D0  20 D3 C5 D4 D0 30 31 20  |     ... ....01 |
00000CF0: 20 3B 20 D2 45 54 55 52  4E 20 54 4F 20 4D 41 49  | ; .ETURN TO MAI|
00000D00: 4E 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |N.              |
00000D10: 20 20 20 20 20 3B 20 20  4C 4F 4F 50 0D 0D 20 20  |     ;  LOOP..  |
00000D20: 20 20 C1 54 20 54 48 45  20 45 4E 44 20 4F 46 20  |  .T THE END OF |
00000D30: 54 48 45 20 52 4F 55 54  49 4E 45 2C 20 C9 D4 CD  |THE ROUTINE, ...|
00000D40: CE D5 CD 0D 49 53 20 5A  45 52 4F 2C 20 54 48 45  |....IS ZERO, THE|
00000D50: 20 45 58 49 54 20 49 53  20 54 48 52 4F 55 47 48  | EXIT IS THROUGH|
00000D60: 20 D3 C5 D4 D0 30 33 2E  0D D4 48 45 20 45 58 49  | ....03...HE EXI|
00000D70: 54 20 4C 4F 41 44 53 20  54 48 45 20 CC D3 C2 20  |T LOADS THE ... |
00000D80: 4F 46 20 54 48 45 20 52  45 53 55 4C 54 0D 49 4E  |OF THE RESULT.IN|
00000D90: 54 4F 20 54 48 45 20 D8  20 52 45 47 49 53 54 45  |TO THE . REGISTE|
00000DA0: 52 20 41 4E 44 20 54 48  45 20 CD D3 C2 20 49 4E  |R AND THE ... IN|
00000DB0: 54 4F 0D 54 48 45 20 D9  20 52 45 47 49 53 54 45  |TO.THE . REGISTE|
00000DC0: 52 2E 20 20 D4 48 45 4E  20 41 4E 20 D2 D4 D3 20  |R.  .HEN AN ... |
00000DD0: 54 4F 20 54 48 45 0D 43  41 4C 4C 49 4E 47 20 49  |TO THE.CALLING I|
00000DE0: 4E 53 54 52 55 43 54 49  4F 4E 20 53 45 51 55 45  |NSTRUCTION SEQUE|
00000DF0: 4E 43 45 20 49 53 0D 50  45 52 46 4F 52 4D 45 44  |NCE IS.PERFORMED|
00000E00: 2E 0D 0D 0D D3 C5 D4 D0  30 33 20 CC C4 D8 20 D2  |........03 ... .|
00000E10: C5 D3 D5 CC D4 0D 20 20  20 20 20 20 20 CC C4 D9  |......       ...|
00000E20: 20 D2 C5 D3 D5 CC D4 2B  31 0D 20 20 20 20 20 20  | ......+1.      |
00000E30: 20 D2 D4 D3 0D 0D 20 20  20 20 D9 4F 55 20 43 41  | .....    .OU CA|
00000E40: 4E 20 41 43 43 4F 4D 50  4C 49 53 48 20 54 48 49  |N ACCOMPLISH THI|
00000E50: 53 20 57 49 54 48 20 54  48 45 0D 46 4F 4C 4C 4F  |S WITH THE.FOLLO|
00000E60: 57 49 4E 47 20 49 4E 53  54 52 55 43 54 49 4F 4E  |WING INSTRUCTION|
00000E70: 20 53 45 51 55 45 4E 43  45 3A 0D 0D D2 C5 D4 D5  | SEQUENCE:......|
00000E80: D2 CE 20 D4 D8 C1 0D 20  20 20 20 20 20 20 C1 C4  |.. ....       ..|
00000E90: C3 20 C2 C1 D3 C5 0D 20  20 20 20 20 20 20 D3 D4  |. .....       ..|
00000EA0: C1 20 C2 C1 D3 C5 0D 20  20 20 20 20 20 20 D4 D9  |. .....       ..|
00000EB0: C1 0D 20 20 20 20 20 20  20 C1 C4 C3 20 C2 C1 D3  |..       ... ...|
00000EC0: C5 2B 31 0D 20 20 20 20  20 20 20 D3 D4 C1 20 C2  |.+1.       ... .|
00000ED0: C1 D3 C5 2B 31 0D 0D 20  20 20 20 D7 49 54 48 20  |...+1..    .ITH |
00000EE0: 54 48 49 53 20 41 50 50  52 4F 41 43 48 20 54 48  |THIS APPROACH TH|
00000EF0: 45 20 41 44 44 52 45 53  53 20 4F 46 0D 54 48 45  |E ADDRESS OF.THE|
00000F00: 20 49 54 45 4D 20 44 45  53 49 52 45 44 20 49 53  | ITEM DESIRED IS|
00000F10: 20 49 4E 20 54 48 45 20  46 49 45 4C 44 0D C2 C1  | IN THE FIELD...|
00000F20: D3 C5 2E 0D 0D 20 20 20  20 20 20 20 20 2A 2A 2A  |.....        ***|
00000F30: 2A 20 C5 4E 44 20 4F 46  20 D4 45 58 54 20 2A 2A  |* .ND OF .EXT **|
00000F40: 2A 2A 0D                                          |**.             |
..^U:ZERO..         TIPS: ML SUBSCRIPTER
..          BY MARTIN MATTHEWS..    ONE 
OF THE ADVANTAGES OF BASIC IS.THE EASE I
N WHICH IT OFFERS CERTAIN.FUNCTIONS.  ON
E OF THESE FUNCTIONS IS.SUBSCRIPTING.  F
OR ILLUSTRATION,.CONSIDER THE SITUATION 
WHERE TWO.LISTS OR TABLES ARE REQUIRED. 
 THE.DISK DIRECTORY ENTRIES AND THE DISK
.NAMES OF YOUR DISK INVENTORY COULD.BE S
UCH LISTS.  COMBINED INTO ONE.TABLE, THE
 DISK NAME WOULD HAVE TO.BE REPEATED FOR
 EACH DIRECTORY ENTRY.....    IN TWO TAB
LES, THE DISK NAME NEED.EXIST ONLY ONCE.
  BUT THE PROBLEM IS.KNOWING  WHICH DISK
 NAME BELONGS TO.WHICH DIRECTORY ENTRY..
.    IF THE DISK ID WAS ALSO AVAILABLE.T
HEN THE NAME TABLE COULD BE.SEARCHED SER
IALLY (I.E. STARTING.EACH TIME AT THE BE
GINNING) FOR A.MATCH.  HOWEVER, IF THE N
AME TABLE.ENTRY NUMBER WAS STORED WITH T
HE.DIRECTORY TABLE ENTRY, THEN THE DISK.
NAME COULD BE ACCESSED DIRECTLY BY.SUBSC
RIPTING.  A RELATIVELY SIMPLE.PROCEDURE 
IN BASIC......    SUBSCRIPTING REQUIRES 
THE.MULTIPLYING OF THE ITEM SIZE BY THE.
NUMBER IN THE TABLE OF THE ITEM.DESIRED.
  THE THEORY IS SIMPLE, BUT,.IN ML THE E
XECUTION IS A BIT MORE.DIFFICULT.  THE F
OLLOWING ROUTINE,.SETPTR (SET POINTER), 
IS A ML.SUBSCRIPTER.  IT ACCEPTS THE ITE
M.SIZE IN THE X REGISTER AND THE ITEM.NU
MBER DESIRED IN THE Y REGISTER AND.RETUR
NS THE PRODUCT OF THESE TWO..THE ITEM NU
MBER IS RELATIVE TO ZERO,.THAT IS, THE F
IRST ITEM IS ZERO AND.THE SECOND, 1, AND
 SO FORTH.......    THE ROUTINE RETURNS,
 IN THE.LSB-MSB FORMAT, THE PRODUCT OF T
HE X.AND Y REGISTERS.  THE ADDITION OF T
HE.PRODUCT TO THE BASE ADDRESS OF THE.TA
BLE WILL RESULT IN THE ADDRESS OF.THE DE
SIRED ITEM...    THE CALLING SEQUENCE TO
 INVOKE.THE ROUTINE IS:.. 1) LOAD THE X 
REGISTER WITH THE SIZE.    OF EACH TABLE
 ITEM.  EVERY ITEM.    MUST BE THE SAME 
LENGTH;.. 2) LOAD THE Y REGISTER WITH TH
E.    NUMBER IN THE TABLE DESIRED.  THE.
    FIRST ITEM IS ZERO, THE SECOND IS.  
  1, ETC.;.. 3) JSR TO SETPTR;.. 4) STOR
E THE RETURNED X AND Y.    REGISTERS, TH
EN ADD THESE TO THE.    THE TABLE BASE A
DDRESS...    SETPTR REQUIRES THREE DATA 
FIELDS.WHICH ARE:..ITMSIZ .BYTE 000 000 
; ITEM SIZE WORK.ITMNUM .BYTE 000     ; 
NUMBER IN.                     ;  TABLE 
DESIRED.RESULT ,BYTE 000 000 ; RESULT WH
ICH.                     ;  IS LOADED.  
                   ;  INTO X AND Y.     
                ;  ON RETURN....    THE 
ROUTINE BEGINS BY STORING THE.INPUTTED I
TEM SIZE AND ITEM NUMBER..THEN THE RESUL
T FIELD IS INITIALIZED.TO ZERO...SETPTR 
STX ITMSIZ.       STY ITMNUM.       LDA 
#0.       STA RESULT.       STA RESULT+1
.       STA ITMSIZ+1..    SETP01 IS THE 
BEGINING OF THE.LOOP. THE ITEM SIZE IS T
ESTED FOR.ZERO, AND IF TRUE A BRANCH TO 
THE.EXIT IS PERFORMED.  OTHERWISE THE.IT
EM NUMBER FIELD IS SHIFTED LEFT.WITH THE
 HIGH ORDER BIT FALLING INTO.THE CARRY..
.    IF A ONE BIT IS FOUND THE ITEM.SIZE
 IS ADDED TO THE RESULT.  IF THE.BIT IS 
ZERO THEN A BRANCH TO MULTIPLY.BY TWO IS
 PERFORMED...SETP01 LDA ITMNUM.       BE
Q SETP03  ; EXIT.       LSR ITMNUM.     
  BCC SETP02  ; ZERO BIT BRANCH.       C
LC         ; ADD ITEM SIZE.       LDA RE
SULT.       ADC ITMSIZ.       LDA RESULT
+1.       ADC ITMSIZ+1.       STA RESULT
+1....    AFTER EACH SHIFT OF THE INPUT.
FIELD,  ITMNUM, THE POWER OF THE.RESULT 
IS RAISED BY TWO...SETP02 CLC         ; 
MULTIPLY BY TWO.       ASL ITMSIZ.      
 ROL ITMSIZ+1.       JMP SETP01  ; RETUR
N TO MAIN.                   ;  LOOP..  
  AT THE END OF THE ROUTINE, ITMNUM.IS Z
ERO, THE EXIT IS THROUGH SETP03..THE EXI
T LOADS THE LSB OF THE RESULT.INTO THE X
 REGISTER AND THE MSB INTO.THE Y REGISTE
R.  THEN AN RTS TO THE.CALLING INSTRUCTI
ON SEQUENCE IS.PERFORMED....SETP03 LDX R
ESULT.       LDY RESULT+1.       RTS..  
  YOU CAN ACCOMPLISH THIS WITH THE.FOLLO
WING INSTRUCTION SEQUENCE:..RETURN TXA. 
      ADC BASE.       STA BASE.       TY
A.       ADC BASE+1.       STA BASE+1.. 
   WITH THIS APPROACH THE ADDRESS OF.THE
 ITEM DESIRED IS IN THE FIELD.BASE...   
     **** END OF TEXT ****.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL