T.BYTES I
FILE INFORMATION
FILENAME(S): T.BYTES I
FILE TYPE(S): PRG
FILE SIZE: 6.6K
FIRST SEEN: 2025-11-30 18:05:23
APPEARS ON: 2 disk(s)
FILE HASH
1f8b1f981365695c0fac676c3eedb691bc5835643e569479de3efe70fd6c0d02
FOUND ON DISKS (2 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| LOADSTAR 58 S 1 | T.BYTES I | PRG | Xii | 24 | 8 | DOWNLOAD FILE |
| LOADSTAR 58 S 1 | T.BYTES I | PRG | Sailor, Ganheden | 24 | 8 | 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: C2 D9 D4 C5 D3 3A 20 D4 C8 C5 20 C8 C5 D8 C1 C4 |.....: ... .....| 00000020: C5 C3 C9 CD C1 CC 20 C4 D5 CD D0 0D 0D 20 20 20 |...... ...... | 00000030: 20 20 20 20 20 20 20 42 59 20 CD 41 52 54 59 20 | BY .ARTY | 00000040: CD 41 54 54 48 45 57 53 0D 0D 20 20 20 20 C8 41 |.ATTHEWS.. .A| 00000050: 56 45 20 59 4F 55 20 45 56 45 52 20 57 41 4E 54 |VE YOU EVER WANT| 00000060: 45 44 20 54 4F 20 53 45 45 20 C2 C1 D3 C9 C3 0D |ED TO SEE ......| 00000070: 46 52 4F 4D 20 54 48 45 20 4F 54 48 45 52 20 53 |FROM THE OTHER S| 00000080: 49 44 45 20 4F 46 20 54 48 45 20 4C 4F 4F 4B 49 |IDE OF THE LOOKI| 00000090: 4E 47 0D 47 4C 41 53 53 3F 20 20 D4 4F 20 53 45 |NG.GLASS? .O SE| 000000A0: 45 20 C2 C1 D3 C9 C3 20 41 53 20 49 54 20 49 53 |E ..... AS IT IS| 000000B0: 20 53 54 4F 52 45 44 0D 49 4E 20 4D 45 4D 4F 52 | STORED.IN MEMOR| 000000C0: 59 3F 20 20 D4 4F 20 53 45 45 20 54 48 45 20 56 |Y? .O SEE THE V| 000000D0: 41 52 49 41 42 4C 45 53 20 41 4E 44 0D 53 54 52 |ARIABLES AND.STR| 000000E0: 49 4E 47 53 20 41 53 20 54 48 45 59 20 41 52 45 |INGS AS THEY ARE| 000000F0: 20 53 54 4F 52 45 44 20 49 4E 20 4D 45 4D 4F 52 | STORED IN MEMOR| 00000100: 59 3F 0D C1 4E 44 20 53 45 45 20 54 48 45 53 45 |Y?..ND SEE THESE| 00000110: 20 57 4F 4E 44 45 52 53 20 49 4E 20 41 20 52 45 | WONDERS IN A RE| 00000120: 41 44 41 42 4C 45 0D 46 4F 52 4D 41 54 3F 20 20 |ADABLE.FORMAT? | 00000130: D7 45 4C 4C 2C 20 54 48 49 53 20 49 53 20 57 48 |.ELL, THIS IS WH| 00000140: 41 54 20 C8 C5 D8 20 C4 D5 CD D0 0D 42 52 49 4E |AT ... .....BRIN| 00000150: 47 53 20 54 4F 20 59 4F 55 2E 20 20 C9 54 20 49 |GS TO YOU. .T I| 00000160: 53 20 41 20 57 49 4E 44 4F 57 20 46 4F 52 0D C2 |S A WINDOW FOR..| 00000170: C1 D3 C9 C3 20 50 52 4F 47 52 41 4D 4D 45 52 53 |.... PROGRAMMERS| 00000180: 20 4A 55 53 54 20 41 53 20 41 20 4D 4F 4E 49 54 | JUST AS A MONIT| 00000190: 4F 52 0D 49 53 20 41 20 57 49 4E 44 4F 57 20 46 |OR.IS A WINDOW F| 000001A0: 4F 52 20 CD CC 20 50 52 4F 47 52 41 4D 4D 45 52 |OR .. PROGRAMMER| 000001B0: 53 2E 0D 0D 0D 0D 0D 20 20 20 20 D4 48 45 52 45 |S...... .HERE| 000001C0: 20 41 52 45 20 54 57 4F 20 4D 41 4A 4F 52 20 4F | ARE TWO MAJOR O| 000001D0: 42 53 54 41 43 4C 45 53 20 54 4F 0D 4F 56 45 52 |BSTACLES TO.OVER| 000001E0: 43 4F 4D 45 20 49 4E 20 41 20 C8 C5 D8 20 C4 D5 |COME IN A ... ..| 000001F0: CD D0 20 52 4F 55 54 49 4E 45 0D 28 31 29 20 48 |.. ROUTINE.(1) H| 00000200: 4F 57 20 54 4F 20 4D 41 53 4B 20 54 48 45 20 43 |OW TO MASK THE C| 00000210: 48 41 52 41 43 54 45 52 53 20 57 48 49 43 48 0D |HARACTERS WHICH.| 00000220: 57 49 4C 4C 20 43 4F 4E 46 55 53 45 20 54 48 45 |WILL CONFUSE THE| 00000230: 20 44 49 53 50 4C 41 59 45 44 20 4F 55 54 50 55 | DISPLAYED OUTPU| 00000240: 54 2C 0D 53 55 43 48 20 41 53 20 43 55 52 53 4F |T,.SUCH AS CURSO| 00000250: 52 20 43 4F 4E 54 52 4F 4C 20 4B 45 59 53 3B 20 |R CONTROL KEYS; | 00000260: 41 4E 44 20 28 32 29 0D 48 4F 57 20 54 4F 20 43 |AND (2).HOW TO C| 00000270: 4F 4E 56 45 52 54 20 54 48 45 20 C2 C1 D3 C9 C3 |ONVERT THE .....| 00000280: 20 49 4E 54 45 47 45 52 0D 56 41 52 49 41 42 4C | INTEGER.VARIABL| 00000290: 45 20 54 4F 20 41 20 C8 C5 D8 20 46 4F 52 4D 41 |E TO A ... FORMA| 000002A0: 54 2E 0D 0D 20 20 20 20 D4 48 45 20 43 4F 4E 56 |T... .HE CONV| 000002B0: 45 52 53 49 4F 4E 20 4F 46 20 C1 D3 C3 C9 C9 20 |ERSION OF ..... | 000002C0: 54 4F 0D C8 C5 D8 C1 C4 C5 C3 C9 CD C1 CC 20 49 |TO............ I| 000002D0: 4E 20 C2 C1 D3 C9 C3 20 52 45 51 55 49 52 45 53 |N ..... REQUIRES| 000002E0: 20 54 48 45 20 55 53 45 0D 4F 46 20 41 20 54 52 | THE USE.OF A TR| 000002F0: 41 4E 53 4C 41 54 49 4F 4E 20 54 41 42 4C 45 2E |ANSLATION TABLE.| 00000300: 20 20 D4 48 45 20 52 4F 55 54 49 4E 45 0D 42 45 | .HE ROUTINE.BE| 00000310: 47 49 4E 53 20 42 59 20 49 4E 49 54 49 41 4C 49 |GINS BY INITIALI| 00000320: 5A 49 4E 47 20 54 48 49 53 20 43 4F 4E 56 45 52 |ZING THIS CONVER| 00000330: 53 49 4F 4E 0D 54 41 42 4C 45 2E 0D 0D 20 31 30 |SION.TABLE... 10| 00000340: 30 20 C4 C9 CD 20 C8 D8 24 28 31 36 29 3A 0D 20 |0 ... ..$(16):. | 00000350: 20 20 20 20 20 20 C8 C3 24 20 3D 20 22 30 31 32 | ..$ = "012| 00000360: 33 34 35 36 37 38 39 C1 C2 C3 C4 C5 C6 22 0D 20 |3456789......". | 00000370: 31 31 30 20 C6 CF D2 20 C9 20 3D 20 31 20 D4 CF |110 ... . = 1 ..| 00000380: 20 31 36 3A 0D 20 20 20 20 20 20 20 C8 D8 24 28 | 16:. ..$(| 00000390: C9 29 20 3D 20 CD C9 C4 24 28 C8 C3 24 2C C9 2C |.) = ...$(..$,.,| 000003A0: 31 29 3A 20 CE C5 D8 D4 0D 0D 20 20 20 20 CC 49 |1): ...... .I| 000003B0: 4E 45 20 4E 55 4D 42 45 52 20 31 30 30 20 44 49 |NE NUMBER 100 DI| 000003C0: 4D 45 4E 53 49 4F 4E 53 20 41 4E 0D 41 52 52 41 |MENSIONS AN.ARRA| 000003D0: 59 20 46 4F 52 20 31 36 20 56 41 52 49 41 42 4C |Y FOR 16 VARIABL| 000003E0: 45 53 2E 20 20 CC 49 4E 45 20 31 31 30 0D 46 49 |ES. .INE 110.FI| 000003F0: 4C 4C 53 20 54 48 45 20 41 52 52 41 59 20 57 49 |LLS THE ARRAY WI| 00000400: 54 48 20 54 48 45 20 C8 C5 D8 20 4E 55 4D 42 45 |TH THE ... NUMBE| 00000410: 52 53 0D 30 20 54 48 52 4F 55 47 48 20 C6 2E 20 |RS.0 THROUGH .. | 00000420: 20 D4 48 49 53 20 41 52 52 41 59 20 49 53 20 4C | .HIS ARRAY IS L| 00000430: 41 54 45 52 0D 53 55 42 53 43 52 49 50 54 45 44 |ATER.SUBSCRIPTED| 00000440: 20 46 4F 52 20 54 48 45 20 50 52 4F 50 45 52 20 | FOR THE PROPER | 00000450: 44 49 53 50 4C 41 59 0D 56 41 4C 55 45 2E 0D 0D |DISPLAY.VALUE...| 00000460: 20 31 32 30 20 D0 20 3D 20 4E 4E 4E 4E 3A 20 D0 | 120 . = NNNN: .| 00000470: D3 20 3D 20 4E 4E 4E 4E 0D 0D 20 20 20 20 D0 20 |. = NNNN.. . | 00000480: 49 53 20 54 48 45 20 53 54 41 52 54 49 4E 47 20 |IS THE STARTING | 00000490: 41 44 44 52 45 53 53 20 41 4E 44 20 D0 D3 0D 49 |ADDRESS AND ...I| 000004A0: 53 20 54 48 45 20 41 44 44 52 45 53 53 20 41 54 |S THE ADDRESS AT| 000004B0: 20 57 48 49 43 48 20 54 4F 20 53 54 4F 50 2E 20 | WHICH TO STOP. | 000004C0: 20 D4 48 45 0D 52 4F 55 54 49 4E 45 20 57 49 4C | .HE.ROUTINE WIL| 000004D0: 4C 20 44 49 53 50 4C 41 59 20 4D 45 4D 4F 52 59 |L DISPLAY MEMORY| 000004E0: 20 46 52 4F 4D 20 D0 20 54 4F 0D D0 D3 2E 0D 0D | FROM . TO......| 000004F0: 20 31 33 30 20 C7 C5 D4 20 C1 24 3A 20 C9 C6 20 | 130 ... .$: .. | 00000500: C1 24 20 3C 3E 20 22 22 20 D4 C8 C5 CE 20 31 33 |.$ <> "" .... 13| 00000510: 30 0D 0D 20 20 20 20 D4 48 45 20 C7 C5 D4 20 53 |0.. .HE ... S| 00000520: 54 41 54 45 4D 45 4E 54 20 49 4E 20 4C 49 4E 45 |TATEMENT IN LINE| 00000530: 20 4E 55 4D 42 45 52 0D 31 33 30 20 49 53 20 55 | NUMBER.130 IS U| 00000540: 53 45 44 20 54 4F 20 44 52 41 49 4E 20 41 4E 59 |SED TO DRAIN ANY| 00000550: 20 4B 45 59 42 4F 41 52 44 0D 43 48 41 52 41 43 | KEYBOARD.CHARAC| 00000560: 54 45 52 20 4C 45 46 54 20 49 4E 20 54 48 45 20 |TER LEFT IN THE | 00000570: 42 55 46 46 45 52 2E 0D 0D 20 31 34 30 20 D0 CF |BUFFER... 140 ..| 00000580: CB C5 20 35 33 32 38 30 2C 36 3A 20 D0 CF CB C5 |.. 53280,6: ....| 00000590: 20 35 33 32 38 31 2C 36 0D 20 31 35 30 20 D0 D2 | 53281,6. 150 ..| 000005A0: C9 CE D4 20 22 5B 43 4C 45 41 52 2F 48 4F 4D 45 |... "[CLEAR/HOME| 000005B0: 5D 20 5B 43 4E 54 4C 2D 32 5D 22 0D 20 20 20 20 |] [CNTL-2]". | 000005C0: 20 20 C3 C8 D2 24 28 31 34 32 29 0D 20 31 36 30 | ...$(142). 160| 000005D0: 20 C7 CF D3 D5 C2 20 33 30 30 3A 20 C5 CE C4 0D | ..... 300: ....| 000005E0: 0D 20 20 20 20 D4 48 45 20 D0 CF CB C5 53 20 54 |. .HE ....S T| 000005F0: 4F 20 35 33 32 38 30 20 41 4E 44 20 35 33 32 38 |O 53280 AND 5328| 00000600: 31 20 53 45 54 0D 54 48 45 20 53 43 52 45 45 4E |1 SET.THE SCREEN| 00000610: 20 41 4E 44 20 42 4F 52 44 45 52 20 54 4F 20 42 | AND BORDER TO B| 00000620: 4C 55 45 2E 20 20 D4 48 45 0D D0 D2 C9 CE D4 20 |LUE. .HE...... | 00000630: 53 54 41 54 45 4D 45 4E 54 20 43 4C 45 41 52 53 |STATEMENT CLEARS| 00000640: 20 54 48 45 20 53 43 52 45 45 4E 2C 0D 53 45 54 | THE SCREEN,.SET| 00000650: 53 20 54 48 45 20 43 48 41 52 41 43 54 45 52 20 |S THE CHARACTER | 00000660: 43 4F 4C 4F 52 20 54 4F 20 57 48 49 54 45 2C 0D |COLOR TO WHITE,.| 00000670: 41 4E 44 20 53 45 4C 45 43 54 53 20 54 48 45 20 |AND SELECTS THE | 00000680: 55 50 50 45 52 20 43 41 53 45 20 47 52 41 50 48 |UPPER CASE GRAPH| 00000690: 49 43 53 0D 44 49 53 50 4C 41 59 20 4D 4F 44 45 |ICS.DISPLAY MODE| 000006A0: 2E 20 20 D4 48 45 20 C7 CF D3 D5 C2 20 54 4F 20 |. .HE ..... TO | 000006B0: 33 30 30 20 49 53 20 54 48 45 0D 4D 41 49 4E 20 |300 IS THE.MAIN | 000006C0: 52 4F 55 54 49 4E 45 2E 20 20 D7 48 45 4E 20 54 |ROUTINE. .HEN T| 000006D0: 48 45 20 4D 41 49 4E 20 52 4F 55 54 49 4E 45 0D |HE MAIN ROUTINE.| 000006E0: 49 53 20 43 4F 4D 50 4C 45 54 45 20 54 48 45 20 |IS COMPLETE THE | 000006F0: 50 52 4F 47 52 41 4D 20 45 4E 44 53 2E 0D 0D 0D |PROGRAM ENDS....| 00000700: 0D 0D 0D 0D 20 33 30 30 20 C7 CF D3 D5 C2 20 35 |.... 300 ..... 5| 00000710: 30 30 3A 20 D0 D2 C9 CE D4 20 D0 3B 22 20 3D 20 |00: ..... .;" = | 00000720: 22 3B D0 D0 24 0D 0D 20 20 20 20 D4 48 45 20 52 |";..$.. .HE R| 00000730: 4F 55 54 49 4E 45 20 42 45 47 49 4E 53 20 42 59 |OUTINE BEGINS BY| 00000740: 20 50 52 49 4E 54 49 4E 47 20 54 48 45 0D C1 D3 | PRINTING THE...| 00000750: C3 C9 C9 20 56 41 4C 55 45 20 4F 46 20 D0 20 41 |... VALUE OF . A| 00000760: 4E 44 20 49 54 53 20 46 4F 55 52 2D 0D 43 48 41 |ND ITS FOUR-.CHA| 00000770: 52 41 43 54 45 52 20 C8 C5 D8 C1 C4 C5 C3 C9 CD |RACTER .........| 00000780: C1 CC 20 45 51 55 49 56 41 4C 45 4E 54 20 49 4E |.. EQUIVALENT IN| 00000790: 0D 54 48 45 20 56 41 52 49 41 42 4C 45 20 D0 D0 |.THE VARIABLE ..| 000007A0: 24 2E 20 20 CC 49 4E 45 20 4E 55 4D 42 45 52 20 |$. .INE NUMBER | 000007B0: 35 30 30 0D 42 45 47 49 4E 53 20 54 48 45 20 52 |500.BEGINS THE R| 000007C0: 4F 55 54 49 4E 45 20 46 4F 52 20 54 48 45 20 C1 |OUTINE FOR THE .| 000007D0: D3 C3 C9 C9 20 54 4F 0D C8 C5 D8 20 43 4F 4E 56 |.... TO.... CONV| 000007E0: 45 52 53 49 4F 4E 2E 0D 0D 20 33 31 30 20 C6 CF |ERSION... 310 ..| 000007F0: D2 20 CA 20 3D 20 31 20 D4 CF 20 31 36 3A 20 C9 |. . = 1 .. 16: .| 00000800: C6 20 D0 3E D0 D3 20 D4 C8 C5 CE 0D 33 38 30 0D |. .>.. .....380.| 00000810: 0D 20 20 20 20 D4 48 45 20 44 49 53 50 4C 41 59 |. .HE DISPLAY| 00000820: 20 57 49 4C 4C 20 43 4F 4E 54 41 49 4E 20 31 36 | WILL CONTAIN 16| 00000830: 20 4C 49 4E 45 53 0D 4F 46 20 45 49 47 48 54 20 | LINES.OF EIGHT | 00000840: 43 48 41 52 41 43 54 45 52 20 50 4F 53 49 54 49 |CHARACTER POSITI| 00000850: 4F 4E 53 20 45 41 43 48 2E 20 CA 0D 49 53 20 54 |ONS EACH. ..IS T| 00000860: 48 45 20 43 4F 4E 54 52 4F 4C 4C 49 4E 47 20 56 |HE CONTROLLING V| 00000870: 41 52 49 41 42 4C 45 20 46 4F 52 20 54 48 45 0D |ARIABLE FOR THE.| 00000880: 53 49 58 54 45 45 4E 20 4C 49 4E 45 53 2E 0D 0D |SIXTEEN LINES...| 00000890: 0D 20 20 20 20 D4 48 45 20 54 45 53 54 20 46 4F |. .HE TEST FO| 000008A0: 52 20 D0 20 47 52 45 41 54 45 52 20 54 48 41 4E |R . GREATER THAN| 000008B0: 20 D0 D3 20 49 53 0D 41 20 54 45 53 54 20 46 4F | .. IS.A TEST FO| 000008C0: 52 20 43 4F 4D 50 4C 45 54 49 4F 4E 2E 20 20 C8 |R COMPLETION. .| 000008D0: 4F 57 45 56 45 52 2C 0D 49 4E 53 54 45 41 44 20 |OWEVER,.INSTEAD | 000008E0: 4F 46 20 45 58 49 54 49 4E 47 2C 20 54 48 45 20 |OF EXITING, THE | 000008F0: 52 4F 55 54 49 4E 45 20 57 49 4C 4C 0D 43 4F 4E |ROUTINE WILL.CON| 00000900: 54 49 4E 55 45 20 42 59 20 42 59 50 41 53 53 49 |TINUE BY BYPASSI| 00000910: 4E 47 20 45 56 45 52 59 54 48 49 4E 47 20 42 55 |NG EVERYTHING BU| 00000920: 54 0D 54 48 45 20 CE C5 D8 D4 20 53 54 41 54 45 |T.THE .... STATE| 00000930: 4D 45 4E 54 2E 20 20 D4 48 45 52 45 20 49 53 20 |MENT. .HERE IS | 00000940: 41 20 52 45 41 53 4F 4E 0D 46 4F 52 20 54 48 49 |A REASON.FOR THI| 00000950: 53 2E 20 20 C2 C1 D3 C9 C3 20 55 53 45 53 20 54 |S. ..... USES T| 00000960: 48 45 20 53 54 41 43 4B 20 54 4F 0D 43 4F 4E 54 |HE STACK TO.CONT| 00000970: 52 4F 4C 20 C6 CF D2 2D CE C5 D8 D4 20 4C 4F 4F |ROL ...-.... LOO| 00000980: 50 53 2E 20 20 C9 4D 50 52 4F 50 45 52 0D 45 58 |PS. .MPROPER.EX| 00000990: 49 54 49 4E 47 20 46 52 4F 4D 20 41 20 C6 CF D2 |ITING FROM A ...| 000009A0: 2D CE C5 D8 D4 20 4C 4F 4F 50 20 57 49 4C 4C 0D |-.... LOOP WILL.| 000009B0: 4C 45 41 56 45 20 47 41 52 42 41 47 45 20 49 4E |LEAVE GARBAGE IN| 000009C0: 20 54 48 45 20 53 54 41 43 4B 20 41 4E 44 0D 49 | THE STACK AND.I| 000009D0: 4E 43 52 45 41 53 45 20 54 48 45 20 4C 49 4B 45 |NCREASE THE LIKE| 000009E0: 4C 49 48 4F 4F 44 20 4F 46 20 41 4E 20 22 CF D5 |LIHOOD OF AN "..| 000009F0: D4 20 CF C6 0D CD C5 CD CF D2 D9 22 20 45 52 52 |. ........." ERR| 00000A00: 4F 52 20 44 55 45 20 54 4F 20 41 20 46 55 4C 4C |OR DUE TO A FULL| 00000A10: 20 53 54 41 43 4B 2E 0D C9 54 27 53 20 41 20 47 | STACK...T'S A G| 00000A20: 4F 4F 44 20 49 44 45 41 20 54 4F 20 50 41 59 20 |OOD IDEA TO PAY | 00000A30: 41 54 54 45 4E 54 49 4F 4E 20 54 4F 0D 54 48 45 |ATTENTION TO.THE| 00000A40: 53 45 20 44 45 54 41 49 4C 53 2E 0D 0D 0D 0D 0D |SE DETAILS......| 00000A50: 0D 0D 20 33 31 35 20 C1 C1 24 20 3D 20 22 22 3A |.. 315 ..$ = "":| 00000A60: 20 C1 31 24 20 3D 20 22 22 0D 20 33 32 30 20 C7 | .1$ = "". 320 .| 00000A70: C5 D4 20 C1 24 3A 20 C9 C6 20 C1 24 20 3D 20 22 |.. .$: .. .$ = "| 00000A80: D8 22 20 D4 C8 C5 CE 0D 20 20 20 20 20 20 20 D0 |." ..... .| 00000A90: 20 3D 20 D0 D3 20 2B 20 31 3A 20 C7 CF D4 CF 20 | = .. + 1: .... | 00000AA0: 33 38 30 0D 0D 20 20 20 20 C1 C1 24 20 41 4E 44 |380.. ..$ AND| 00000AB0: 20 C1 31 24 20 41 52 45 20 49 4E 49 54 49 41 4C | .1$ ARE INITIAL| 00000AC0: 49 5A 45 44 20 54 4F 20 41 4E 0D 45 4D 50 54 59 |IZED TO AN.EMPTY| 00000AD0: 20 53 54 52 49 4E 47 20 46 4F 52 20 45 41 43 48 | STRING FOR EACH| 00000AE0: 20 4C 49 4E 45 20 49 54 45 52 41 54 49 4F 4E 0D | LINE ITERATION.| 00000AF0: 4F 46 20 54 48 45 20 52 4F 55 54 49 4E 45 2E 20 |OF THE ROUTINE. | 00000B00: 20 C1 C1 24 20 57 49 4C 4C 20 43 4F 4E 54 41 49 | ..$ WILL CONTAI| 00000B10: 4E 20 54 48 45 0D 44 49 53 50 4C 41 59 41 42 4C |N THE.DISPLAYABL| 00000B20: 45 20 C8 C5 D8 20 56 41 4C 55 45 20 46 4F 52 20 |E ... VALUE FOR | 00000B30: 54 48 45 20 43 55 52 52 45 4E 54 0D 45 49 47 48 |THE CURRENT.EIGH| 00000B40: 54 20 42 59 54 45 53 2E 20 20 C1 31 24 20 49 53 |T BYTES. .1$ IS| 00000B50: 20 54 48 45 20 53 54 52 49 4E 47 20 4F 46 0D 45 | THE STRING OF.E| 00000B60: 49 47 48 54 20 42 59 54 45 53 20 54 4F 20 42 45 |IGHT BYTES TO BE| 00000B70: 20 50 52 49 4E 54 45 44 20 4F 4E 20 41 20 4C 49 | PRINTED ON A LI| 00000B80: 4E 45 2E 0D D4 48 45 20 C7 C5 D4 20 49 53 20 41 |NE...HE ... IS A| 00000B90: 20 54 45 53 54 20 46 4F 52 20 41 4E 20 45 41 52 | TEST FOR AN EAR| 00000BA0: 4C 59 20 45 58 49 54 2E 0D CF 4E 20 45 41 43 48 |LY EXIT...N EACH| 00000BB0: 20 4C 49 4E 45 20 49 54 45 52 41 54 49 4F 4E 20 | LINE ITERATION | 00000BC0: 54 48 45 20 4B 45 59 42 4F 41 52 44 0D 49 4E 50 |THE KEYBOARD.INP| 00000BD0: 55 54 20 49 53 20 54 45 53 54 45 44 20 54 4F 20 |UT IS TESTED TO | 00000BE0: 53 45 45 20 49 46 20 41 4E 20 22 D8 22 20 48 41 |SEE IF AN "." HA| 00000BF0: 53 0D 42 45 45 4E 20 50 52 45 53 53 45 44 2E 20 |S.BEEN PRESSED. | 00000C00: 20 C9 46 20 53 4F 2C 20 54 48 45 20 52 4F 55 54 | .F SO, THE ROUT| 00000C10: 49 4E 45 0D 45 58 49 54 53 2E 20 20 D4 48 45 20 |INE.EXITS. .HE | 00000C20: D2 55 4E 20 C9 54 20 44 45 4D 4F 20 41 4C 53 4F |.UN .T DEMO ALSO| 00000C30: 20 43 48 45 43 4B 53 0D 46 4F 52 20 41 20 22 D0 | CHECKS.FOR A ".| 00000C40: 22 20 4B 45 59 50 52 45 53 53 20 54 4F 20 54 4F |" KEYPRESS TO TO| 00000C50: 47 47 4C 45 20 54 48 45 0D 50 52 49 4E 54 45 52 |GGLE THE.PRINTER| 00000C60: 20 46 55 4E 43 54 49 4F 4E 2E 0D 0D 0D 20 33 33 | FUNCTION.... 33| 00000C70: 30 20 C6 CF D2 20 C9 20 3D 20 31 20 D4 CF 20 38 |0 ... . = 1 .. 8| 00000C80: 3A 20 C1 20 3D 20 D0 C5 C5 CB 28 D0 20 2B 20 C9 |: . = ....(. + .| 00000C90: 29 0D 0D 20 20 20 20 D4 48 45 20 56 41 52 49 41 |).. .HE VARIA| 00000CA0: 42 4C 45 20 C9 20 43 4F 4E 54 52 4F 4C 53 20 54 |BLE . CONTROLS T| 00000CB0: 48 45 20 4E 55 4D 42 45 52 0D 4F 46 20 C8 C5 D8 |HE NUMBER.OF ...| 00000CC0: 20 43 48 41 52 41 43 54 45 52 53 20 54 4F 20 50 | CHARACTERS TO P| 00000CD0: 52 49 4E 54 20 4F 4E 20 41 20 4C 49 4E 45 2E 0D |RINT ON A LINE..| 00000CE0: C5 41 43 48 20 43 48 41 52 41 43 54 45 52 20 49 |.ACH CHARACTER I| 00000CF0: 53 20 4F 42 54 41 49 4E 45 44 20 57 49 54 48 20 |S OBTAINED WITH | 00000D00: 41 20 D0 C5 C5 CB 0D 53 54 41 54 45 4D 45 4E 54 |A .....STATEMENT| 00000D10: 20 41 4E 44 20 54 48 45 20 C1 D3 C3 C9 C9 20 56 | AND THE ..... V| 00000D20: 41 4C 55 45 20 49 53 0D 50 4C 41 43 45 44 20 49 |ALUE IS.PLACED I| 00000D30: 4E 20 C1 2E 0D 0D 20 33 34 30 20 C1 32 20 3D 20 |N .... 340 .2 = | 00000D40: 28 C1 20 C1 CE C4 20 31 35 29 20 2B 20 31 3A 0D |(. ... 15) + 1:.| 00000D50: 20 20 20 20 20 20 20 20 C1 31 20 3D 20 C9 CE D4 | .1 = ...| 00000D60: 28 C1 20 2F 20 31 36 29 20 2B 20 31 0D 20 33 35 |(. / 16) + 1. 35| 00000D70: 30 20 C1 C1 24 20 3D 20 C1 C1 24 20 2B 20 C8 D8 |0 ..$ = ..$ + ..| 00000D80: 24 28 C1 31 29 20 2B 20 C8 D8 24 28 C1 32 29 20 |$(.1) + ..$(.2) | 00000D90: 2B 0D 20 20 20 20 20 20 20 20 C3 C8 D2 24 28 33 |+. ...$(3| 00000DA0: 32 29 0D 0D 20 20 20 20 D4 48 45 20 4C 4F 57 20 |2).. .HE LOW | 00000DB0: 4F 52 44 45 52 20 C8 C5 D8 20 56 41 4C 55 45 20 |ORDER ... VALUE | 00000DC0: 49 53 20 50 4C 41 43 45 44 0D 49 4E 20 C1 32 20 |IS PLACED.IN .2 | 00000DD0: 42 59 20 4D 41 53 4B 49 4E 47 20 54 48 45 20 4C |BY MASKING THE L| 00000DE0: 4F 57 20 4F 52 44 45 52 20 46 4F 55 52 0D 42 49 |OW ORDER FOUR.BI| 00000DF0: 54 53 20 46 52 4F 4D 20 54 48 45 20 C1 D3 C3 C9 |TS FROM THE ....| 00000E00: C9 20 43 48 41 52 41 43 54 45 52 2E 20 20 D4 48 |. CHARACTER. .H| 00000E10: 45 0D 48 49 47 48 20 4F 52 44 45 52 20 43 48 41 |E.HIGH ORDER CHA| 00000E20: 52 41 43 54 45 52 2C 20 C1 31 2C 20 49 53 20 4F |RACTER, .1, IS O| 00000E30: 42 54 41 49 4E 45 44 0D 42 59 20 44 49 56 49 44 |BTAINED.BY DIVID| 00000E40: 49 4E 47 20 54 48 45 20 C1 D3 C3 C9 C9 20 43 48 |ING THE ..... CH| 00000E50: 41 52 41 43 54 45 52 20 42 59 20 31 36 2E 0D 0D |ARACTER BY 16...| 00000E60: 20 20 20 20 D4 48 49 53 20 49 53 20 54 48 45 20 | .HIS IS THE | 00000E70: 53 41 4D 45 20 41 53 20 53 48 49 46 54 49 4E 47 |SAME AS SHIFTING| 00000E80: 20 54 48 45 0D 43 48 41 52 41 43 54 45 52 20 54 | THE.CHARACTER T| 00000E90: 4F 20 54 48 45 20 52 49 47 48 54 20 42 59 20 46 |O THE RIGHT BY F| 00000EA0: 4F 55 52 20 42 49 54 53 2E 0D C1 31 20 41 4E 44 |OUR BITS...1 AND| 00000EB0: 20 C1 32 20 41 52 45 20 55 53 45 44 20 41 53 20 | .2 ARE USED AS | 00000EC0: 53 55 42 53 43 52 49 50 54 53 20 54 4F 0D 4F 42 |SUBSCRIPTS TO.OB| 00000ED0: 54 41 49 4E 20 54 48 45 20 54 57 4F 20 C8 C5 D8 |TAIN THE TWO ...| 00000EE0: 20 43 48 41 52 41 43 54 45 52 53 20 57 48 49 43 | CHARACTERS WHIC| 00000EF0: 48 0D 52 45 50 52 45 53 45 4E 54 20 54 48 45 20 |H.REPRESENT THE | 00000F00: C1 D3 C3 C9 C9 20 56 41 4C 55 45 20 50 4C 41 43 |..... VALUE PLAC| 00000F10: 45 44 20 49 4E 20 C1 2E 0D 0D 20 20 20 20 D4 48 |ED IN .... .H| 00000F20: 45 20 C3 C8 D2 24 28 33 32 29 20 49 53 20 41 20 |E ...$(32) IS A | 00000F30: 53 50 41 43 45 20 57 48 49 43 48 20 49 53 0D 55 |SPACE WHICH IS.U| 00000F40: 53 45 44 20 54 4F 20 53 45 50 41 52 41 54 45 20 |SED TO SEPARATE | 00000F50: 45 41 43 48 20 C8 C5 D8 20 43 48 41 52 41 43 54 |EACH ... CHARACT| 00000F60: 45 52 0D 50 41 49 52 2E 0D 0D 0D 0D 0D 0D 0D 0D |ER.PAIR.........| 00000F70: 0D 0D 0D 20 33 35 35 20 C9 C6 20 C1 20 3D 20 31 |... 355 .. . = 1| 00000F80: 33 20 CF D2 20 C1 20 3D 20 31 34 31 20 CF D2 20 |3 .. . = 141 .. | 00000F90: C1 20 3D 20 33 34 0D 20 20 20 20 20 20 20 20 20 |. = 34. | 00000FA0: CF D2 20 C1 20 3D 20 31 30 20 D4 C8 C5 CE 20 C1 |.. . = 10 .... .| 00000FB0: 20 3D 20 33 32 0D 20 33 36 30 20 C1 31 24 20 3D | = 32. 360 .1$ =| 00000FC0: 20 C1 31 24 20 2B 20 C3 C8 D2 24 28 C1 29 3A 20 | .1$ + ...$(.): | 00000FD0: CE C5 D8 D4 0D 0D 20 20 20 20 D4 48 45 20 C1 D3 |...... .HE ..| 00000FE0: C3 C9 C9 20 56 41 4C 55 45 53 20 41 42 4F 56 45 |... VALUES ABOVE| 00000FF0: 20 52 45 50 52 45 53 45 4E 54 20 41 0D 43 41 52 | REPRESENT A.CAR| 00001000: 52 49 41 47 45 20 52 45 54 55 52 4E 2C 20 41 20 |RIAGE RETURN, A | 00001010: 53 48 49 46 54 45 44 20 43 41 52 52 49 41 47 45 |SHIFTED CARRIAGE| 00001020: 0D 52 45 54 55 52 4E 2C 20 41 20 51 55 4F 54 45 |.RETURN, A QUOTE| 00001030: 2C 20 41 4E 44 20 41 20 50 52 49 4E 54 45 52 20 |, AND A PRINTER | 00001040: 4C 49 4E 45 0D 46 45 45 44 2E 20 20 C1 31 24 20 |LINE.FEED. .1$ | 00001050: 49 53 20 55 53 45 44 20 54 4F 20 50 52 49 4E 54 |IS USED TO PRINT| 00001060: 20 54 48 45 20 42 59 54 45 53 0D 41 53 20 46 4F | THE BYTES.AS FO| 00001070: 55 4E 44 20 49 4E 20 4D 45 4D 4F 52 59 2E 20 20 |UND IN MEMORY. | 00001080: D4 48 45 20 C1 31 24 20 53 54 52 49 4E 47 0D 49 |.HE .1$ STRING.I| 00001090: 53 20 50 52 45 46 49 58 45 44 20 57 49 54 48 20 |S PREFIXED WITH | 000010A0: 41 20 51 55 4F 54 45 20 54 4F 20 50 55 54 20 54 |A QUOTE TO PUT T| 000010B0: 48 45 0D 4F 55 54 50 55 54 20 49 4E 20 51 55 4F |HE.OUTPUT IN QUO| 000010C0: 54 45 20 4D 4F 44 45 2E 20 C8 4F 57 45 56 45 52 |TE MODE. .OWEVER| 000010D0: 2C 0D 43 41 52 52 49 41 47 45 20 52 45 54 55 52 |,.CARRIAGE RETUR| 000010E0: 4E 53 20 41 4E 44 20 4C 49 4E 45 20 46 45 45 44 |NS AND LINE FEED| 000010F0: 53 20 41 52 45 0D 4E 4F 54 20 4D 41 53 4B 45 44 |S ARE.NOT MASKED| 00001100: 20 42 59 20 51 55 4F 54 45 53 2C 20 41 4E 44 2C | BY QUOTES, AND,| 00001110: 20 41 20 53 45 43 4F 4E 44 0D 51 55 4F 54 45 20 | A SECOND.QUOTE | 00001120: 57 49 4C 4C 20 54 55 52 4E 20 4F 46 46 20 51 55 |WILL TURN OFF QU| 00001130: 4F 54 45 20 4D 4F 44 45 2E 20 20 D3 4F 2C 0D 54 |OTE MODE. .O,.T| 00001140: 48 45 53 45 20 43 48 41 52 41 43 54 45 52 20 4D |HESE CHARACTER M| 00001150: 55 53 54 20 42 45 20 4D 41 53 4B 45 44 20 42 59 |UST BE MASKED BY| 00001160: 20 54 48 45 0D 50 52 4F 47 52 41 4D 2E 20 20 D4 | THE.PROGRAM. .| 00001170: 48 45 59 20 41 52 45 20 52 45 50 4C 41 43 45 44 |HEY ARE REPLACED| 00001180: 20 42 59 20 41 20 53 50 41 43 45 0D C3 C8 D2 24 | BY A SPACE....$| 00001190: 28 33 32 29 2E 20 20 D4 48 45 20 CE C5 D8 D4 20 |(32). .HE .... | 000011A0: 53 54 41 54 45 4D 45 4E 54 0D 43 4F 4D 50 4C 45 |STATEMENT.COMPLE| 000011B0: 54 45 53 20 54 48 45 20 50 52 49 4E 54 20 41 20 |TES THE PRINT A | 000011C0: 4C 49 4E 45 20 4C 4F 4F 50 2E 0D 0D 20 33 37 30 |LINE LOOP... 370| 000011D0: 20 C7 CF D3 D5 C2 20 35 30 30 3A 0D 20 20 20 20 | ..... 500:. | 000011E0: 20 20 D0 D2 C9 CE D4 20 D0 D0 24 3B 20 C1 C1 24 | ..... ..$; ..$| 000011F0: 20 22 20 22 20 C3 C8 D2 24 28 33 34 29 20 C1 31 | " " ...$(34) .1| 00001200: 24 0D 20 20 20 20 20 20 20 D0 20 3D 20 D0 20 2B |$. . = . +| 00001210: 20 38 0D 20 33 38 30 20 CE C5 D8 D4 3A 20 C9 C6 | 8. 380 ....: ..| 00001220: 20 D0 20 3E 20 D0 D3 20 D4 C8 C5 CE 20 D2 C5 D4 | . > .. .... ...| 00001230: D5 D2 CE 0D 0D 20 20 20 20 CC 49 4E 45 20 4E 55 |..... .INE NU| 00001240: 4D 42 45 52 20 35 30 30 20 42 45 47 49 4E 53 20 |MBER 500 BEGINS | 00001250: 54 48 45 20 52 4F 55 54 49 4E 45 0D 57 48 49 43 |THE ROUTINE.WHIC| 00001260: 48 20 43 4F 4E 56 45 52 54 53 20 41 20 54 57 4F |H CONVERTS A TWO| 00001270: 20 42 59 54 45 20 C1 D3 C3 C9 C9 0D 56 41 52 49 | BYTE ......VARI| 00001280: 41 42 4C 45 2C 20 D0 2C 20 49 4E 54 4F 20 41 20 |ABLE, ., INTO A | 00001290: 46 4F 55 52 20 42 59 54 45 0D 44 49 53 50 4C 41 |FOUR BYTE.DISPLA| 000012A0: 59 41 42 4C 45 20 C8 C5 D8 20 53 54 52 49 4E 47 |YABLE ... STRING| 000012B0: 20 49 4E 20 D0 D0 24 2E 20 20 D4 48 45 4E 0D D0 | IN ..$. .HEN..| 000012C0: D0 24 20 28 54 48 45 20 4C 4F 43 41 54 49 4F 4E |.$ (THE LOCATION| 000012D0: 29 2C 20 C1 C1 24 20 28 54 48 45 20 C8 C5 D8 0D |), ..$ (THE ....| 000012E0: 56 41 4C 55 45 53 29 2C 20 41 20 51 55 4F 54 45 |VALUES), A QUOTE| 000012F0: 20 49 4E 20 C3 C8 D2 24 20 46 4F 52 4D 41 54 2C | IN ...$ FORMAT,| 00001300: 20 41 4E 44 2C 0D C1 31 24 20 28 54 48 45 20 42 | AND,..1$ (THE B| 00001310: 59 54 45 53 29 20 41 52 45 20 50 52 49 4E 54 45 |YTES) ARE PRINTE| 00001320: 44 2E 20 20 D4 48 45 0D 50 4F 53 49 54 49 4F 4E |D. .HE.POSITION| 00001330: 20 50 4F 49 4E 54 45 52 20 D0 20 49 53 20 49 4E | POINTER . IS IN| 00001340: 43 52 45 41 53 45 44 20 42 59 0D 45 49 47 48 54 |CREASED BY.EIGHT| 00001350: 2C 20 54 48 45 20 4E 55 4D 42 45 52 20 4F 46 20 |, THE NUMBER OF | 00001360: 42 59 54 45 53 20 44 49 53 50 4C 41 59 45 44 2E |BYTES DISPLAYED.| 00001370: 0D C9 46 20 54 48 45 20 53 54 4F 50 20 50 4F 53 |..F THE STOP POS| 00001380: 49 54 49 4F 4E 20 48 41 53 20 42 45 45 4E 20 52 |ITION HAS BEEN R| 00001390: 45 41 43 48 45 44 0D 54 48 45 4E 20 54 48 45 20 |EACHED.THEN THE | 000013A0: 52 4F 55 54 49 4E 45 20 45 58 49 54 53 2E 0D 0D |ROUTINE EXITS...| 000013B0: 0D 0D 20 33 39 30 20 D0 D2 C9 CE D4 20 22 20 C1 |.. 390 ..... " .| 000013C0: CE D9 20 CB C5 D9 20 D4 CF 20 C3 CF CE D4 C9 CE |.. ... .. ......| 000013D0: D5 C5 22 3A 0D 20 20 20 20 20 20 D7 C1 C9 D4 20 |..":. .... | 000013E0: 31 39 38 2C 31 35 3A 20 C7 C5 D4 20 C1 24 3A 20 |198,15: ... .$: | 000013F0: C7 CF D4 CF 20 33 30 30 0D 0D 20 20 20 20 C1 46 |.... 300.. .F| 00001400: 54 45 52 20 50 52 49 4E 54 49 4E 47 20 31 36 20 |TER PRINTING 16 | 00001410: 4C 49 4E 45 53 20 54 48 45 0D 50 52 4F 47 52 41 |LINES THE.PROGRA| 00001420: 4D 20 50 41 55 53 45 53 20 55 4E 54 49 4C 20 41 |M PAUSES UNTIL A| 00001430: 4E 59 20 4B 45 59 20 49 53 0D 50 52 45 53 53 45 |NY KEY IS.PRESSE| 00001440: 44 2E 20 CD 45 4D 4F 52 59 20 4C 4F 43 41 54 49 |D. .EMORY LOCATI| 00001450: 4F 4E 20 31 39 38 20 43 4F 4E 54 41 49 4E 53 0D |ON 198 CONTAINS.| 00001460: 54 48 45 20 4E 55 4D 42 45 52 20 4F 46 20 43 48 |THE NUMBER OF CH| 00001470: 41 52 41 43 54 45 52 53 20 49 4E 20 54 48 45 0D |ARACTERS IN THE.| 00001480: 4B 45 59 42 4F 41 52 44 20 42 55 46 46 45 52 2E |KEYBOARD BUFFER.| 00001490: 20 D4 48 45 20 D7 C1 C9 D4 20 53 54 41 54 45 4D | .HE .... STATEM| 000014A0: 45 4E 54 0D 54 48 45 4E 20 43 41 55 53 45 53 20 |ENT.THEN CAUSES | 000014B0: 54 48 45 20 50 52 4F 47 52 41 4D 20 54 4F 20 50 |THE PROGRAM TO P| 000014C0: 41 55 53 45 0D 55 4E 54 49 4C 20 41 20 4B 45 59 |AUSE.UNTIL A KEY| 000014D0: 20 49 53 20 50 52 45 53 53 45 44 20 28 4C 4F 43 | IS PRESSED (LOC| 000014E0: 41 54 49 4F 4E 20 31 39 38 0D 44 4F 45 53 20 4E |ATION 198.DOES N| 000014F0: 4F 54 20 45 51 55 41 4C 20 5A 45 52 4F 2E 29 2E |OT EQUAL ZERO.).| 00001500: 20 D4 48 45 20 C7 C5 D4 20 49 53 0D 55 53 45 44 | .HE ... IS.USED| 00001510: 20 4F 4E 4C 59 20 54 4F 20 43 4C 45 41 52 20 54 | ONLY TO CLEAR T| 00001520: 48 45 20 42 55 46 46 45 52 20 41 4E 44 20 54 48 |HE BUFFER AND TH| 00001530: 45 0D 50 52 4F 47 52 41 4D 20 42 52 41 4E 43 48 |E.PROGRAM BRANCH| 00001540: 45 53 20 54 4F 20 54 48 45 20 42 45 47 49 4E 4E |ES TO THE BEGINN| 00001550: 49 4E 47 20 4F 46 0D 54 48 45 20 4D 41 49 4E 20 |ING OF.THE MAIN | 00001560: 50 52 49 4E 54 20 4C 4F 4F 50 2E 0D 0D 0D 0D 0D |PRINT LOOP......| 00001570: 0D 20 35 30 30 20 D0 31 20 3D 20 C9 CE D4 28 D0 |. 500 .1 = ...(.| 00001580: 20 2F 20 31 36 5E 32 29 3A 0D 20 20 20 20 20 20 | / 16^2):. | 00001590: D0 32 20 3D 20 C9 CE D4 28 D0 20 2D 20 28 D0 31 |.2 = ...(. - (.1| 000015A0: 20 2A 20 31 36 5E 32 29 29 0D 0D 20 20 20 20 D0 | * 16^2)).. .| 000015B0: 20 49 53 20 41 4E 20 C1 D3 C3 C9 C9 20 56 41 52 | IS AN ..... VAR| 000015C0: 49 41 42 4C 45 20 57 48 49 43 48 0D 43 4F 4E 53 |IABLE WHICH.CONS| 000015D0: 49 53 54 53 20 4F 46 20 54 57 4F 20 42 59 54 45 |ISTS OF TWO BYTE| 000015E0: 53 2E 20 20 C9 4E 20 4E 55 4D 42 45 52 20 42 41 |S. .N NUMBER BA| 000015F0: 53 45 0D 54 45 4E 20 45 41 43 48 20 4E 55 4D 42 |SE.TEN EACH NUMB| 00001600: 45 52 20 54 4F 20 54 48 45 20 4C 45 46 54 20 4F |ER TO THE LEFT O| 00001610: 46 20 54 48 45 0D 4C 41 53 54 20 49 53 20 31 30 |F THE.LAST IS 10| 00001620: 20 54 49 4D 45 53 20 47 52 45 41 54 45 52 20 54 | TIMES GREATER T| 00001630: 48 41 4E 20 54 48 45 0D 50 52 45 56 49 4F 55 53 |HAN THE.PREVIOUS| 00001640: 20 4F 4E 45 2E 20 20 C9 4E 20 42 41 53 45 20 31 | ONE. .N BASE 1| 00001650: 36 20 54 48 45 20 46 41 43 54 4F 52 0D 49 53 20 |6 THE FACTOR.IS | 00001660: 31 36 2E 20 20 D4 48 45 20 48 49 2D 42 59 54 45 |16. .HE HI-BYTE| 00001670: 20 49 53 20 54 48 45 20 4E 55 4D 42 45 52 20 4F | IS THE NUMBER O| 00001680: 46 0D 32 35 36 53 20 49 4E 20 D0 2E 20 20 D9 4F |F.256S IN .. .O| 00001690: 55 20 47 45 54 20 54 48 45 20 48 49 2D 42 59 54 |U GET THE HI-BYT| 000016A0: 45 20 42 59 0D 44 49 56 49 44 49 4E 47 20 D0 20 |E BY.DIVIDING . | 000016B0: 42 59 20 32 35 36 20 28 31 36 5E 32 29 20 41 4E |BY 256 (16^2) AN| 000016C0: 44 20 54 41 4B 49 4E 47 0D 54 48 45 20 49 4E 54 |D TAKING.THE INT| 000016D0: 45 47 45 52 20 56 41 4C 55 45 20 4F 46 20 54 48 |EGER VALUE OF TH| 000016E0: 45 20 41 4E 53 57 45 52 20 57 48 49 43 48 0D 53 |E ANSWER WHICH.S| 000016F0: 54 52 49 50 53 20 4F 46 46 20 41 4E 59 20 52 45 |TRIPS OFF ANY RE| 00001700: 4D 41 49 4E 44 45 52 2E 20 20 D9 4F 55 20 47 45 |MAINDER. .OU GE| 00001710: 54 0D 54 48 45 20 4C 4F 2D 42 59 54 45 20 4F 46 |T.THE LO-BYTE OF| 00001720: 20 D0 20 42 59 20 4D 55 4C 54 49 50 4C 59 49 4E | . BY MULTIPLYIN| 00001730: 47 20 54 48 45 0D 48 49 2D 42 59 54 45 20 42 59 |G THE.HI-BYTE BY| 00001740: 20 32 35 36 20 41 4E 44 20 53 55 42 54 52 41 43 | 256 AND SUBTRAC| 00001750: 54 49 4E 47 20 54 48 45 0D 52 45 53 55 4C 54 20 |TING THE.RESULT | 00001760: 46 52 4F 4D 20 D0 2E 20 20 D4 48 49 53 20 49 53 |FROM .. .HIS IS| 00001770: 20 54 59 50 49 43 41 4C 20 C8 C5 D8 0D 43 4F 4E | TYPICAL ....CON| 00001780: 56 45 52 53 49 4F 4E 20 41 4E 44 20 49 53 20 44 |VERSION AND IS D| 00001790: 4F 4E 45 20 41 4C 4C 20 54 48 45 20 54 49 4D 45 |ONE ALL THE TIME| 000017A0: 2E 0D 0D 0D 20 35 31 30 20 D0 C2 20 3D 20 D0 31 |.... 510 .. = .1| 000017B0: 20 C1 CE C4 20 31 35 20 2B 20 31 3A 0D 20 20 20 | ... 15 + 1:. | 000017C0: 20 20 20 D0 31 20 3D 20 D0 31 20 2F 20 31 36 3A | .1 = .1 / 16:| 000017D0: 0D 20 20 20 20 20 20 20 D0 C1 20 3D 20 D0 31 20 |. .. = .1 | 000017E0: C1 CE C4 20 31 35 20 2B 20 31 0D 20 35 32 30 20 |... 15 + 1. 520 | 000017F0: D0 C4 20 3D 20 D0 32 20 C1 CE C4 20 31 35 20 2B |.. = .2 ... 15 +| 00001800: 20 31 3A 0D 20 20 20 20 20 20 D0 32 20 3D 20 D0 | 1:. .2 = .| 00001810: 32 20 2F 20 31 36 3A 0D 20 20 20 20 20 20 20 D0 |2 / 16:. .| 00001820: C3 20 3D 20 D0 31 20 C1 CE C4 20 31 35 20 2B 20 |. = .1 ... 15 + | 00001830: 31 0D 20 35 33 30 20 D0 D0 24 20 3D 20 C8 D8 24 |1. 530 ..$ = ..$| 00001840: 28 D0 C1 29 20 2B 20 C8 D8 24 28 D0 C2 29 20 2B |(..) + ..$(..) +| 00001850: 0D 20 20 20 20 20 20 20 20 C8 D8 24 28 D0 C3 29 |. ..$(..)| 00001860: 20 2B 20 C8 D8 24 28 D0 C4 29 20 2B 20 C3 C8 D2 | + ..$(..) + ...| 00001870: 24 28 33 32 29 0D 20 35 34 30 20 D2 C5 D4 D5 D2 |$(32). 540 .....| 00001880: CE 0D 0D 20 20 20 20 D4 48 45 20 4E 55 4D 42 45 |... .HE NUMBE| 00001890: 52 20 D0 31 20 41 4E 44 20 D0 32 20 41 52 45 20 |R .1 AND .2 ARE | 000018A0: 42 52 4F 4B 45 4E 0D 49 4E 54 4F 20 54 48 45 49 |BROKEN.INTO THEI| 000018B0: 52 20 43 4F 4D 50 4F 4E 45 4E 54 20 50 41 52 54 |R COMPONENT PART| 000018C0: 53 20 41 53 0D 56 41 52 49 41 42 4C 45 53 20 D0 |S AS.VARIABLES .| 000018D0: C1 2C 20 D0 C2 2C 20 D0 C3 2C 20 41 4E 44 20 D0 |., .., .., AND .| 000018E0: C4 2E 20 20 D4 48 49 53 20 49 53 0D 54 48 45 20 |.. .HIS IS.THE | 000018F0: 53 41 4D 45 20 54 45 43 48 4E 49 51 55 45 20 55 |SAME TECHNIQUE U| 00001900: 53 45 44 20 49 4E 20 4C 49 4E 45 0D 4E 55 4D 42 |SED IN LINE.NUMB| 00001910: 45 52 53 20 33 34 30 2D 33 35 30 2E 20 20 C5 41 |ERS 340-350. .A| 00001920: 43 48 20 43 4F 4D 50 4F 4E 45 4E 54 20 4F 52 0D |CH COMPONENT OR.| 00001930: 42 41 53 45 20 31 36 20 4E 55 4D 42 45 52 20 49 |BASE 16 NUMBER I| 00001940: 53 20 55 53 45 44 20 41 53 20 41 20 53 55 42 53 |S USED AS A SUBS| 00001950: 43 52 49 50 54 0D 54 4F 20 4F 42 54 41 49 4E 20 |CRIPT.TO OBTAIN | 00001960: 54 48 45 20 C8 C5 D8 20 44 49 53 50 4C 41 59 41 |THE ... DISPLAYA| 00001970: 42 4C 45 20 56 41 4C 55 45 2E 0D D4 48 45 20 44 |BLE VALUE...HE D| 00001980: 49 53 50 4C 41 59 41 42 4C 45 20 C8 C5 D8 20 4E |ISPLAYABLE ... N| 00001990: 55 4D 42 45 52 20 49 53 0D 52 45 54 55 52 4E 45 |UMBER IS.RETURNE| 000019A0: 44 20 49 4E 20 54 48 45 20 56 41 52 49 41 42 4C |D IN THE VARIABL| 000019B0: 45 20 D0 D0 24 2E 0D 0D 20 20 20 20 D3 45 45 20 |E ..$... .EE | 000019C0: C2 D9 D4 C5 D3 20 C9 C9 20 46 4F 52 20 54 48 45 |..... .. FOR THE| 000019D0: 20 D2 55 4E 20 C9 54 0D 50 52 4F 47 52 41 4D 20 | .UN .T.PROGRAM | 000019E0: 54 48 41 54 20 44 45 4D 4F 4E 53 54 52 41 54 45 |THAT DEMONSTRATE| 000019F0: 53 20 54 48 45 20 C8 C5 D8 0D C4 D5 CD D0 20 54 |S THE ........ T| 00001A00: 45 43 48 4E 49 51 55 45 53 20 41 4E 44 20 53 48 |ECHNIQUES AND SH| 00001A10: 4F 57 53 20 59 4F 55 20 57 48 41 54 0D 4B 49 4E |OWS YOU WHAT.KIN| 00001A20: 44 20 4F 46 20 4F 55 54 50 55 54 20 59 4F 55 20 |D OF OUTPUT YOU | 00001A30: 43 41 4E 20 45 58 50 45 43 54 2E 0D 0D 20 20 20 |CAN EXPECT... | 00001A40: 20 20 20 20 20 2A 2A 2A 2A 20 C5 CE C4 20 CF C6 | **** ... ..| 00001A50: 20 D4 C5 D8 D4 20 2A 2A 2A 2A 0D | .... ****. |
..^U:ZERO.. BYTES: THE HEXADECIMAL D
UMP.. BY MARTY MATTHEWS.. HA
VE YOU EVER WANTED TO SEE BASIC.FROM THE
OTHER SIDE OF THE LOOKING.GLASS? TO SE
E BASIC AS IT IS STORED.IN MEMORY? TO S
EE THE VARIABLES AND.STRINGS AS THEY ARE
STORED IN MEMORY?.AND SEE THESE WONDERS
IN A READABLE.FORMAT? WELL, THIS IS WH
AT HEX DUMP.BRINGS TO YOU. IT IS A WIND
OW FOR.BASIC PROGRAMMERS JUST AS A MONIT
OR.IS A WINDOW FOR ML PROGRAMMERS......
THERE ARE TWO MAJOR OBSTACLES TO.OVER
COME IN A HEX DUMP ROUTINE.(1) HOW TO MA
SK THE CHARACTERS WHICH.WILL CONFUSE THE
DISPLAYED OUTPUT,.SUCH AS CURSOR CONTRO
L KEYS; AND (2).HOW TO CONVERT THE BASIC
INTEGER.VARIABLE TO A HEX FORMAT...
THE CONVERSION OF ASCII TO.HEXADECIMAL I
N BASIC REQUIRES THE USE.OF A TRANSLATIO
N TABLE. THE ROUTINE.BEGINS BY INITIALI
ZING THIS CONVERSION.TABLE... 100 DIM HX
$(16):. HC$ = "0123456789ABCDEF".
110 FOR I = 1 TO 16:. HX$(I) = MID
$(HC$,I,1): NEXT.. LINE NUMBER 100 DI
MENSIONS AN.ARRAY FOR 16 VARIABLES. LIN
E 110.FILLS THE ARRAY WITH THE HEX NUMBE
RS.0 THROUGH F. THIS ARRAY IS LATER.SUB
SCRIPTED FOR THE PROPER DISPLAY.VALUE...
120 P = NNNN: PS = NNNN.. P IS THE S
TARTING ADDRESS AND PS.IS THE ADDRESS AT
WHICH TO STOP. THE.ROUTINE WILL DISPLA
Y MEMORY FROM P TO.PS... 130 GET A$: IF
A$ <> "" THEN 130.. THE GET STATEMENT
IN LINE NUMBER.130 IS USED TO DRAIN ANY
KEYBOARD.CHARACTER LEFT IN THE BUFFER..
. 140 POKE 53280,6: POKE 53281,6. 150 PR
INT "[CLEAR/HOME] [CNTL-2]". CHR$(1
42). 160 GOSUB 300: END.. THE POKES T
O 53280 AND 53281 SET.THE SCREEN AND BOR
DER TO BLUE. THE.PRINT STATEMENT CLEARS
THE SCREEN,.SETS THE CHARACTER COLOR TO
WHITE,.AND SELECTS THE UPPER CASE GRAPH
ICS.DISPLAY MODE. THE GOSUB TO 300 IS T
HE.MAIN ROUTINE. WHEN THE MAIN ROUTINE.
IS COMPLETE THE PROGRAM ENDS........ 300
GOSUB 500: PRINT P;" = ";PP$.. THE R
OUTINE BEGINS BY PRINTING THE.ASCII VALU
E OF P AND ITS FOUR-.CHARACTER HEXADECIM
AL EQUIVALENT IN.THE VARIABLE PP$. LINE
NUMBER 500.BEGINS THE ROUTINE FOR THE A
SCII TO.HEX CONVERSION... 310 FOR J = 1
TO 16: IF P>PS THEN.380.. THE DISPLAY
WILL CONTAIN 16 LINES.OF EIGHT CHARACTE
R POSITIONS EACH. J.IS THE CONTROLLING V
ARIABLE FOR THE.SIXTEEN LINES.... THE
TEST FOR P GREATER THAN PS IS.A TEST FO
R COMPLETION. HOWEVER,.INSTEAD OF EXITI
NG, THE ROUTINE WILL.CONTINUE BY BYPASSI
NG EVERYTHING BUT.THE NEXT STATEMENT. T
HERE IS A REASON.FOR THIS. BASIC USES T
HE STACK TO.CONTROL FOR-NEXT LOOPS. IMP
ROPER.EXITING FROM A FOR-NEXT LOOP WILL.
LEAVE GARBAGE IN THE STACK AND.INCREASE
THE LIKELIHOOD OF AN "OUT OF.MEMORY" ERR
OR DUE TO A FULL STACK..IT'S A GOOD IDEA
TO PAY ATTENTION TO.THESE DETAILS......
.. 315 AA$ = "": A1$ = "". 320 GET A$: I
F A$ = "X" THEN. P = PS + 1: GOTO
380.. AA$ AND A1$ ARE INITIALIZED TO
AN.EMPTY STRING FOR EACH LINE ITERATION.
OF THE ROUTINE. AA$ WILL CONTAIN THE.DI
SPLAYABLE HEX VALUE FOR THE CURRENT.EIGH
T BYTES. A1$ IS THE STRING OF.EIGHT BYT
ES TO BE PRINTED ON A LINE..THE GET IS A
TEST FOR AN EARLY EXIT..ON EACH LINE IT
ERATION THE KEYBOARD.INPUT IS TESTED TO
SEE IF AN "X" HAS.BEEN PRESSED. IF SO,
THE ROUTINE.EXITS. THE RUN IT DEMO ALSO
CHECKS.FOR A "P" KEYPRESS TO TOGGLE THE
.PRINTER FUNCTION.... 330 FOR I = 1 TO 8
: A = PEEK(P + I).. THE VARIABLE I CO
NTROLS THE NUMBER.OF HEX CHARACTERS TO P
RINT ON A LINE..EACH CHARACTER IS OBTAIN
ED WITH A PEEK.STATEMENT AND THE ASCII V
ALUE IS.PLACED IN A... 340 A2 = (A AND 1
5) + 1:. A1 = INT(A / 16) + 1. 35
0 AA$ = AA$ + HX$(A1) + HX$(A2) +.
CHR$(32).. THE LOW ORDER HEX VALUE
IS PLACED.IN A2 BY MASKING THE LOW ORDER
FOUR.BITS FROM THE ASCII CHARACTER. TH
E.HIGH ORDER CHARACTER, A1, IS OBTAINED.
BY DIVIDING THE ASCII CHARACTER BY 16...
THIS IS THE SAME AS SHIFTING THE.CHA
RACTER TO THE RIGHT BY FOUR BITS..A1 AND
A2 ARE USED AS SUBSCRIPTS TO.OBTAIN THE
TWO HEX CHARACTERS WHICH.REPRESENT THE
ASCII VALUE PLACED IN A... THE CHR$(3
2) IS A SPACE WHICH IS.USED TO SEPARATE
EACH HEX CHARACTER.PAIR............ 355
IF A = 13 OR A = 141 OR A = 34.
OR A = 10 THEN A = 32. 360 A1$ = A1$ + C
HR$(A): NEXT.. THE ASCII VALUES ABOVE
REPRESENT A.CARRIAGE RETURN, A SHIFTED
CARRIAGE.RETURN, A QUOTE, AND A PRINTER
LINE.FEED. A1$ IS USED TO PRINT THE BYT
ES.AS FOUND IN MEMORY. THE A1$ STRING.I
S PREFIXED WITH A QUOTE TO PUT THE.OUTPU
T IN QUOTE MODE. HOWEVER,.CARRIAGE RETUR
NS AND LINE FEEDS ARE.NOT MASKED BY QUOT
ES, AND, A SECOND.QUOTE WILL TURN OFF QU
OTE MODE. SO,.THESE CHARACTER MUST BE M
ASKED BY THE.PROGRAM. THEY ARE REPLACED
BY A SPACE.CHR$(32). THE NEXT STATEMEN
T.COMPLETES THE PRINT A LINE LOOP... 370
GOSUB 500:. PRINT PP$; AA$ " " CHR
$(34) A1$. P = P + 8. 380 NEXT: IF
P > PS THEN RETURN.. LINE NUMBER 500
BEGINS THE ROUTINE.WHICH CONVERTS A TWO
BYTE ASCII.VARIABLE, P, INTO A FOUR BYT
E.DISPLAYABLE HEX STRING IN PP$. THEN.P
P$ (THE LOCATION), AA$ (THE HEX.VALUES),
A QUOTE IN CHR$ FORMAT, AND,.A1$ (THE B
YTES) ARE PRINTED. THE.POSITION POINTER
P IS INCREASED BY.EIGHT, THE NUMBER OF
BYTES DISPLAYED..IF THE STOP POSITION HA
S BEEN REACHED.THEN THE ROUTINE EXITS...
.. 390 PRINT " ANY KEY TO CONTINUE":.
WAIT 198,15: GET A$: GOTO 300.. AF
TER PRINTING 16 LINES THE.PROGRAM PAUSES
UNTIL ANY KEY IS.PRESSED. MEMORY LOCATI
ON 198 CONTAINS.THE NUMBER OF CHARACTERS
IN THE.KEYBOARD BUFFER. THE WAIT STATEM
ENT.THEN CAUSES THE PROGRAM TO PAUSE.UNT
IL A KEY IS PRESSED (LOCATION 198.DOES N
OT EQUAL ZERO.). THE GET IS.USED ONLY TO
CLEAR THE BUFFER AND THE.PROGRAM BRANCH
ES TO THE BEGINNING OF.THE MAIN PRINT LO
OP....... 500 P1 = INT(P / 16^2):.
P2 = INT(P - (P1 * 16^2)).. P IS AN A
SCII VARIABLE WHICH.CONSISTS OF TWO BYTE
S. IN NUMBER BASE.TEN EACH NUMBER TO TH
E LEFT OF THE.LAST IS 10 TIMES GREATER T
HAN THE.PREVIOUS ONE. IN BASE 16 THE FA
CTOR.IS 16. THE HI-BYTE IS THE NUMBER O
F.256S IN P. YOU GET THE HI-BYTE BY.DIV
IDING P BY 256 (16^2) AND TAKING.THE INT
EGER VALUE OF THE ANSWER WHICH.STRIPS OF
F ANY REMAINDER. YOU GET.THE LO-BYTE OF
P BY MULTIPLYING THE.HI-BYTE BY 256 AND
SUBTRACTING THE.RESULT FROM P. THIS IS
TYPICAL HEX.CONVERSION AND IS DONE ALL
THE TIME.... 510 PB = P1 AND 15 + 1:.
P1 = P1 / 16:. PA = P1 AND 15 +
1. 520 PD = P2 AND 15 + 1:. P2 = P
2 / 16:. PC = P1 AND 15 + 1. 530 P
P$ = HX$(PA) + HX$(PB) +. HX$(PC)
+ HX$(PD) + CHR$(32). 540 RETURN.. T
HE NUMBER P1 AND P2 ARE BROKEN.INTO THEI
R COMPONENT PARTS AS.VARIABLES PA, PB, P
C, AND PD. THIS IS.THE SAME TECHNIQUE U
SED IN LINE.NUMBERS 340-350. EACH COMPO
NENT OR.BASE 16 NUMBER IS USED AS A SUBS
CRIPT.TO OBTAIN THE HEX DISPLAYABLE VALU
E..THE DISPLAYABLE HEX NUMBER IS.RETURNE
D IN THE VARIABLE PP$... SEE BYTES II
FOR THE RUN IT.PROGRAM THAT DEMONSTRATE
S THE HEX.DUMP TECHNIQUES AND SHOWS YOU
WHAT.KIND OF OUTPUT YOU CAN EXPECT...
**** END OF TEXT ****.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL