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

XREF.PAL

FILE INFORMATION

FILENAME(S): XREF.PAL

FILE TYPE(S): PRG

FILE SIZE: 21.8K

FIRST SEEN: 2025-11-30 21:12:51

APPEARS ON: 1 disk(s)

FILE HASH

2c465bdc83d702eef27521c81eebff6746a2761b17b55d65c38df32a305470b2

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR DISK XREF.PAL PRG DuncanTwain 6 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 04 1C 04 64 00 8F 20  53 41 56 45 20 22 40 30  |....d.. SAVE "@0|
00000010: 3A 58 52 45 46 2E 50 41  4C 22 2C 38 00 22 04 6E  |:XREF.PAL",8.".n|
00000020: 00 8F 00 2C 04 78 00 9E  20 37 30 30 00 3B 04 82  |...,.x.. 700.;..|
00000030: 00 3B 20 20 2E 4F 50 54  20 4F 4F 00 41 04 8C 00  |.;  .OPT OO.A...|
00000040: 3B 00 6A 04 96 00 3B AB  AB AB AB AB AB AB AB AB  |;.j...;.........|
00000050: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00000060: AB AB AB AB AB AB AB AB  AB AB 00 8E 04 A0 00 3B  |...............;|
00000070: 56 41 52 2E 20 AF 20 4C  49 4E 45 20 23 20 43 52  |VAR. . LINE # CR|
00000080: 4F 53 53 52 45 46 20 50  52 4F 47 52 41 4D 00 94  |OSSREF PROGRAM..|
00000090: 04 AA 00 3B 00 B3 04 B4  00 3B 4D 41 45 20 41 53  |...;.....;MAE AS|
000000A0: 53 45 4D 42 4C 45 52 20  20 20 38 AD 31 35 AD 31  |SEMBLER   8.15.1|
000000B0: 39 38 33 00 D1 04 BE 00  3B 43 91 56 45 52 54 45  |983.....;C.VERTE|
000000C0: 44 20 A4 20 50 41 4C 20  33 30 AD 33 AD 31 39 38  |D . PAL 30.3.198|
000000D0: 37 00 D7 04 C8 00 3B 00  00 05 D2 00 3B AB AB AB  |7.....;.....;...|
000000E0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
000000F0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00000100: 00 06 05 DC 00 3B 00 2D  05 E6 00 43 48 52 A1 20  |.....;.-...CHR. |
00000110: B2 20 24 30 30 37 33 20  3B A1 20 42 59 54 45 20  |. $0073 ;. BYTE |
00000120: 4F 46 20 42 41 53 49 43  20 54 45 58 54 00 57 05  |OF BASIC TEXT.W.|
00000130: F0 00 9C 43 48 4E 20 B2  20 24 46 46 43 43 20 3B  |...CHN . $FFCC ;|
00000140: 52 45 53 45 54 20 43 48  41 4E 4E 45 4C 53 20 A4  |RESET CHANNELS .|
00000150: 20 96 41 4C 54 53 3B 00  80 05 FA 00 53 45 54 4C  | .ALTS;.....SETL|
00000160: 46 53 20 B2 20 24 46 46  42 41 20 3B 53 45 54 20  |FS . $FFBA ;SET |
00000170: BC 2E 31 53 54 20 26 20  32 4E 44 20 41 44 44 52  |..1ST & 2ND ADDR|
00000180: 00 A2 05 04 01 53 45 54  4E 41 4D 20 B2 20 24 46  |.....SETNAM . $F|
00000190: 46 42 44 20 3B 53 45 54  20 46 49 4C 45 20 4E 41  |FBD ;SET FILE NA|
000001A0: 4D 45 00 C9 05 0E 01 43  48 4B 4F 55 54 20 B2 20  |ME.....CHKOUT . |
000001B0: 24 46 46 43 39 20 3B 9F  20 43 48 41 4E 4E 45 4C  |$FFC9 ;. CHANNEL|
000001C0: 20 81 20 4F 55 54 50 55  54 00 F3 05 18 01 43 48  | . OUTPUT.....CH|
000001D0: 52 4F 55 54 20 B2 20 24  46 46 44 32 20 3B 4F 55  |ROUT . $FFD2 ;OU|
000001E0: 54 50 55 54 20 43 48 41  52 20 A4 20 43 48 41 4E  |TPUT CHAR . CHAN|
000001F0: 4E 45 4C 00 11 06 22 01  A1 49 4E 20 B2 20 24 46  |NEL..."..IN . $F|
00000200: 46 45 34 20 3B A1 20 4B  45 59 20 50 52 45 53 53  |FE4 ;. KEY PRESS|
00000210: 3B 00 2A 06 2C 01 A0 20  B2 20 24 46 46 43 33 20  |;.*.,.. . $FFC3 |
00000220: 3B A0 20 41 20 46 49 4C  45 3B 00 48 06 36 01 9F  |;. A FILE;.H.6..|
00000230: 20 B2 20 24 46 46 43 30  20 3B 9F 20 41 20 BC 49  | . $FFC0 ;. A .I|
00000240: 43 41 4C 20 46 49 4C 45  00 68 06 40 01 52 36 35  |CAL FILE.h.@.R65|
00000250: 31 30 20 B2 20 24 30 31  20 3B 85 AD 4F 55 54 50  |10 . $01 ;..OUTP|
00000260: 55 54 20 52 45 47 53 3B  00 8F 06 4A 01 4C 49 4E  |UT REGS;...J.LIN|
00000270: 4E 55 4D 20 B2 20 24 31  34 20 3B 4C 49 4E 45 20  |NUM . $14 ;LINE |
00000280: 4E 55 4D 20 53 A4 52 41  47 45 20 41 52 45 41 00  |NUM S.RAGE AREA.|
00000290: B2 06 54 01 4D 45 4D 53  49 5A 20 B2 20 24 33 37  |..T.MEMSIZ . $37|
000002A0: 20 3B A4 50 20 4F 46 20  42 41 53 49 43 20 4D 45  | ;.P OF BASIC ME|
000002B0: 4D 3B 00 DE 06 5E 01 41  4C 4C 52 45 46 20 B2 20  |M;...^.ALLREF . |
000002C0: 24 34 42 20 3B 46 4C 41  47 AB 20 50 52 54 20 41  |$4B ;FLAG. PRT A|
000002D0: 4C 4C 20 56 41 52 20 26  20 23 20 52 45 46 00 09  |LL VAR & # REF..|
000002E0: 07 68 01 41 4C 4C 56 4E  20 B2 20 24 34 43 20 3B  |.h.ALLVN . $4C ;|
000002F0: 46 4C 41 47 AB 20 50 52  54 20 41 4C 4C 20 56 41  |FLAG. PRT ALL VA|
00000300: 52 20 B0 20 23 20 52 45  46 00 2B 07 72 01 53 32  |R . # REF.+.r.S2|
00000310: 41 44 52 20 B2 20 24 31  39 20 3B 41 44 44 52 20  |ADR . $19 ;ADDR |
00000320: 4F 46 20 42 55 46 31 20  B0 20 32 00 4F 07 7C 01  |OF BUF1 . 2.O.|.|
00000330: 53 31 41 44 52 20 B2 20  24 31 42 20 3B 41 44 44  |S1ADR . $1B ;ADD|
00000340: 52 20 4F 46 20 43 4D 50  20 53 54 52 49 4E 47 00  |R OF CMP STRING.|
00000350: 6E 07 86 01 53 31 C3 20  B2 20 24 31 44 20 3B C3  |n...S1. . $1D ;.|
00000360: 47 54 48 20 4F 46 20 43  4D 50 20 53 54 52 00 8D  |GTH OF CMP STR..|
00000370: 07 90 01 4C 4E 80 20 B2  20 24 46 42 20 3B B9 20  |...LN. . $FB ;. |
00000380: 50 4F B5 45 52 20 81 20  4C 4E 42 55 46 00 B2 07  |PO.ER . LNBUF...|
00000390: 9A 01 42 53 80 20 B2 20  24 31 45 20 3B 46 4C 41  |..BS. . $1E ;FLA|
000003A0: 47 AB 20 80 20 4F 46 20  42 41 53 49 43 20 4C 49  |G. . OF BASIC LI|
000003B0: 4E 45 00 D3 07 A4 01 50  4F B5 20 B2 20 24 32 30  |NE.....PO. . $20|
000003C0: 20 3B B9 54 49 91 20 49  4E 20 42 41 53 49 43 20  | ;.TI. IN BASIC |
000003D0: 50 52 47 00 F5 07 AE 01  54 45 50 42 55 46 20 B2  |PRG.....TEPBUF .|
000003E0: 20 24 46 44 20 3B 54 45  50 20 4C 4E 42 55 46 20  | $FD ;TEP LNBUF |
000003F0: 50 4F B5 45 52 00 15 08  B8 01 50 52 47 80 20 B2  |PO.ER.....PRG. .|
00000400: 20 24 30 32 20 3B 46 4C  41 47 20 81 20 80 20 4F  | $02 ;FLAG . . O|
00000410: 46 20 50 52 47 00 3B 08  C2 01 54 58 54 54 41 42  |F PRG.;...TXTTAB|
00000420: 20 B2 20 24 32 42 20 3B  53 54 41 52 54 20 4F 46  | . $2B ;START OF|
00000430: 20 42 41 53 49 43 20 54  45 58 54 00 5D 08 CC 01  | BASIC TEXT.]...|
00000440: 56 41 52 54 41 42 20 B2  20 24 32 44 20 3B 80 20  |VARTAB . $2D ;. |
00000450: 4F 46 20 42 41 53 49 43  20 54 45 58 54 00 88 08  |OF BASIC TEXT...|
00000460: D6 01 4D 53 47 46 4C 47  20 B2 20 24 39 44 20 3B  |..MSGFLG . $9D ;|
00000470: 46 4C 41 47 AB 20 44 49  52 45 43 54 20 B0 20 50  |FLAG. DIRECT . P|
00000480: 52 4F 47 20 4D 4F 44 45  00 8E 08 E0 01 3B 00 9A  |ROG MODE.....;..|
00000490: 08 EA 01 AC B2 24 43 30  30 30 00 A0 08 F4 01 3B  |.....$C000.....;|
000004A0: 00 C3 08 FE 01 3B AC 20  20 42 52 41 4E 43 48 20  |.....;.  BRANCH |
000004B0: A4 20 49 4E 49 54 49 41  54 49 91 20 43 4F 44 45  |. INITIATI. CODE|
000004C0: 20 20 AC 00 C9 08 08 02  3B 00 F4 08 12 02 50 52  |  ......;.....PR|
000004D0: 47 53 54 52 20 4A 53 52  20 42 41 4B 4F 55 54 20  |GSTR JSR BAKOUT |
000004E0: 3B 49 4E 49 54 2E 20 43  4F 44 45 20 49 53 20 55  |;INIT. CODE IS U|
000004F0: 4E 44 45 52 00 12 09 1C  02 4A 4D 50 20 53 54 41  |NDER.....JMP STA|
00000500: 52 54 20 3B 42 41 53 49  43 20 52 4F 4D 20 AB 20  |RT ;BASIC ROM . |
00000510: CB 21 00 18 09 26 02 3B  00 3D 09 30 02 3B AC 20  |.!...&.;.=.0.;. |
00000520: 20 20 4F 55 54 50 55 54  20 26 20 4F 54 48 45 52  |  OUTPUT & OTHER|
00000530: 20 53 54 52 49 4E 47 53  20 20 20 20 AC 00 43 09  | STRINGS    ..C.|
00000540: 3A 02 3B 00 67 09 44 02  4D 45 53 47 20 2E C6 20  |:.;.g.D.MESG .. |
00000550: 22 46 45 52 22 20 3B 58  22 52 45 46 22 20 42 41  |"FER" ;X"REF" BA|
00000560: 43 4B 57 41 52 44 53 00  98 09 4E 02 4D 45 53 47  |CKWARDS...N.MESG|
00000570: 34 20 2E 42 59 54 45 20  24 30 30 20 3A 20 2E C6  |4 .BYTE $00 : ..|
00000580: 20 22 50 4C 45 22 20 3B  48 22 45 4C 50 22 20 42  | "PLE" ;H"ELP" B|
00000590: 41 43 4B 57 41 52 44 53  00 9E 09 58 02 3B 00 C4  |ACKWARDS...X.;..|
000005A0: 09 62 02 3B B2 B2 B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |.b.;............|
000005B0: B2 B2 B2 B2 B2 B2 B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |................|
000005C0: B2 B2 B2 B2 00 E6 09 6C  02 3B 20 20 20 53 54 41  |.......l.;   STA|
000005D0: 52 54 20 4F 46 20 53 55  42 52 4F 55 54 49 4E 45  |RT OF SUBROUTINE|
000005E0: 53 20 54 48 41 54 00 0B  0A 76 02 3B 4F 50 45 52  |S THAT...v.;OPER|
000005F0: 41 54 45 20 42 45 4C 4F  57 20 24 41 30 30 30 20  |ATE BELOW $A000 |
00000600: 28 42 41 53 49 43 20 52  4F 4D 29 00 31 0A 80 02  |(BASIC ROM).1...|
00000610: 3B B2 B2 B2 B2 B2 B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |;...............|
00000620: B2 B2 B2 B2 B2 B2 B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |................|
00000630: B2 00 37 0A 8A 02 3B 00  59 0A 94 02 3B AC 20 20  |..7...;.Y...;.  |
00000640: 53 55 42 52 4F 55 54 49  4E 45 20 A4 20 45 58 49  |SUBROUTINE . EXI|
00000650: 54 20 42 41 43 4B 20 20  AC 00 77 0A 9E 02 3B AC  |T BACK  ..w...;.|
00000660: 20 A4 20 43 48 52 A1 20  41 46 54 45 52 20 50 45  | . CHR. AFTER PE|
00000670: 52 81 4D 49 4E 47 AC 00  98 0A A8 02 3B AC 20 54  |R.MING......;. T|
00000680: 48 45 20 43 4F 4D 4D AF  53 20 54 48 41 54 20 57  |HE COMM.S THAT W|
00000690: 45 52 45 20 20 20 20 AC  00 BA 0A B2 02 3B AC 20  |ERE    ......;. |
000006A0: 52 45 50 4C 41 43 45 44  20 42 59 20 54 48 45 20  |REPLACED BY THE |
000006B0: 42 52 41 4E 43 48 20 A4  20 AC 00 DD 0A BC 02 3B  |BRANCH . ......;|
000006C0: AC 20 54 48 49 53 20 50  52 4F 47 52 41 4D 2E 20  |. THIS PROGRAM. |
000006D0: 20 20 20 20 20 20 20 20  20 20 20 20 AC 00 E3 0A  |            ....|
000006E0: C6 02 3B 00 01 0B D0 02  A1 31 53 54 20 4C 44 59  |..;......1ST LDY|
000006F0: 20 23 30 30 20 3B 52 45  53 45 54 20 85 20 42 55  | #00 ;RESET . BU|
00000700: 46 00 1E 0B DA 02 53 54  59 20 24 37 41 20 3B A4  |F.....STY $7A ;.|
00000710: 20 53 54 41 52 54 20 4F  46 20 42 55 46 3B 00 3B  | START OF BUF;.;|
00000720: 0B E4 02 4C 44 41 20 28  24 37 41 29 2C 59 20 3B  |...LDA ($7A),Y ;|
00000730: A1 20 31 53 54 20 43 48  41 52 3B 00 56 0B EE 02  |. 1ST CHAR;.V...|
00000740: CB 42 41 43 4B 20 4C 44  59 20 50 4F B5 20 3B 8C  |.BACK LDY PO. ;.|
00000750: 20 58 20 26 20 59 00 74  0B F8 02 4C 44 58 20 50  | X & Y.t...LDX P|
00000760: 4F B5 AA 31 20 3B 81 20  43 48 52 A1 20 43 41 4C  |O..1 ;. CHR. CAL|
00000770: 4C 45 52 3B 00 81 0B 02  03 43 4D 50 20 23 24 33  |LER;.....CMP #$3|
00000780: 41 00 8D 0B 0C 03 42 43  53 20 52 54 4E 00 9B 0B  |A.....BCS RTN...|
00000790: 16 03 4A 4D 50 20 24 30  30 38 30 00 A7 0B 20 03  |..JMP $0080... .|
000007A0: 52 54 4E 20 52 54 53 00  AD 0B 2A 03 3B 00 D2 0B  |RTN RTS...*.;...|
000007B0: 34 03 3B AC 20 54 48 45  20 46 4F 4C 4C 4F 57 49  |4.;. THE FOLLOWI|
000007C0: 4E 47 20 43 4F 44 45 20  42 41 4E 4B 53 20 20 20  |NG CODE BANKS   |
000007D0: 20 AC 00 F6 0B 3E 03 3B  AC 20 54 48 45 20 42 41  | ....>.;. THE BA|
000007E0: 53 49 43 20 52 4F 4D 20  4F 55 54 20 91 20 45 4E  |SIC ROM OUT . EN|
000007F0: 54 52 59 20 20 AC 00 18  0C 48 03 3B AC 20 AF 20  |TRY  ....H.;. . |
00000800: 42 41 43 4B 20 49 54 20  49 4E 20 91 20 45 58 49  |BACK IT IN . EXI|
00000810: 54 20 20 20 20 20 20 AC  00 1E 0C 52 03 3B 00 3F  |T      ....R.;.?|
00000820: 0C 5C 03 42 41 4B 4F 55  54 20 53 45 49 20 3B 44  |.\.BAKOUT SEI ;D|
00000830: 49 53 41 42 4C 45 20 B5  45 52 52 55 50 54 3B 00  |ISABLE .ERRUPT;.|
00000840: 5F 0C 66 03 4C 44 41 20  52 36 35 31 30 20 3B A1  |_.f.LDA R6510 ;.|
00000850: 20 50 52 45 53 45 4E 54  20 53 54 41 54 55 53 00  | PRESENT STATUS.|
00000860: 7E 0C 70 03 AF 20 23 24  46 45 20 3B 42 41 4E 4B  |~.p.. #$FE ;BANK|
00000870: 20 4F 55 54 20 41 30 30  30 AB 42 46 46 46 00 A4  | OUT A000.BFFF..|
00000880: 0C 7A 03 42 4E 45 20 53  54 52 45 47 20 3B 49 54  |.z.BNE STREG ;IT|
00000890: 20 57 91 22 54 3D 30 2D  55 4E 43 4F 4E 20 42 52  | W."T=0-UNCON BR|
000008A0: 41 4E 43 48 00 C4 0C 84  03 42 41 4B 49 4E 20 43  |ANCH.....BAKIN C|
000008B0: 4C 49 20 3B 45 4E 41 42  4C 45 20 B5 45 52 52 55  |LI ;ENABLE .ERRU|
000008C0: 50 54 53 3B 00 E4 0C 8E  03 4C 44 41 20 52 36 35  |PTS;.....LDA R65|
000008D0: 31 30 20 3B A1 20 50 52  45 53 45 4E 54 20 53 54  |10 ;. PRESENT ST|
000008E0: 41 54 55 53 00 03 0D 98  03 B0 41 20 23 24 30 31  |ATUS......A #$01|
000008F0: 20 3B 42 41 4E 4B 20 49  4E 20 41 30 30 30 AB 42  | ;BANK IN A000.B|
00000900: 46 46 46 00 23 0D A2 03  53 54 52 45 47 20 53 54  |FFF.#...STREG ST|
00000910: 41 20 52 36 35 31 30 20  3B 94 20 A2 20 53 54 41  |A R6510 ;. . STA|
00000920: 54 55 53 00 37 0D AC 03  52 54 53 20 3B 8E 20 A4  |TUS.7...RTS ;. .|
00000930: 20 43 41 4C 4C 45 52 00  3D 0D B6 03 3B 00 44 0D  | CALLER.=...;.D.|
00000940: C0 03 3B AC 00 63 0D CA  03 3B AC 20 20 4F 55 54  |..;..c...;.  OUT|
00000950: 50 55 54 20 A4 20 99 45  52 20 B0 20 43 52 54 20  |PUT . .ER . CRT |
00000960: 20 20 AC 00 69 0D D4 03  3B 00 84 0D DE 03 4F 55  |  ..i...;.....OU|
00000970: 54 50 55 54 20 50 48 41  20 3B 94 20 54 48 45 20  |TPUT PHA ;. THE |
00000980: 43 48 41 52 00 9F 0D E8  03 4A 53 52 20 42 41 4B  |CHAR.....JSR BAK|
00000990: 49 4E 20 3B 42 41 4E 4B  20 52 4F 4D 20 49 4E 00  |IN ;BANK ROM IN.|
000009A0: BB 0D F2 03 50 4C 41 20  3B 50 55 54 20 43 48 41  |....PLA ;PUT CHA|
000009B0: 52 20 42 41 43 4B 20 49  4E 20 41 00 D2 0D FC 03  |R BACK IN A.....|
000009C0: 4A 53 52 20 43 48 52 4F  55 54 20 3B 99 20 43 48  |JSR CHROUT ;. CH|
000009D0: 41 52 00 FE 0D 06 04 4A  4D 50 20 42 41 4B 4F 55  |AR.....JMP BAKOU|
000009E0: 54 20 3B 42 41 4E 4B 20  52 4F 4D 20 4F 55 54 20  |T ;BANK ROM OUT |
000009F0: 26 20 52 54 53 20 A4 20  43 41 4C 4C 45 52 00 04  |& RTS . CALLER..|
00000A00: 0E 10 04 3B 00 1D 0E 1A  04 3B 22 44 4F 4E 45 22  |...;.....;"DONE"|
00000A10: 20 45 58 49 54 20 A4 20  42 41 53 49 43 00 23 0E  | EXIT . BASIC.#.|
00000A20: 24 04 3B 00 44 0E 2E 04  44 91 45 58 49 20 4A 53  |$.;.D...D.EXI JS|
00000A30: 52 20 42 41 4B 49 4E 20  3B 42 41 4E 4B 20 49 4E  |R BAKIN ;BANK IN|
00000A40: 20 52 4F 4D 00 60 0E 38  04 4C 44 41 20 23 30 34  | ROM.`.8.LDA #04|
00000A50: 20 3B A0 20 4F 55 54 50  55 54 20 46 49 4C 45 3B  | ;. OUTPUT FILE;|
00000A60: 00 6A 0E 42 04 4A 53 52  20 A0 00 77 0E 4C 04 4A  |.j.B.JSR ..w.L.J|
00000A70: 53 52 20 9C 43 48 4E 00  99 0E 56 04 4A 4D 50 20  |SR .CHN...V.JMP |
00000A80: 28 24 30 33 30 32 29 20  3B 42 41 53 49 43 20 57  |($0302) ;BASIC W|
00000A90: 41 52 4D 20 53 54 41 52  54 00 9F 0E 60 04 3B 00  |ARM START...`.;.|
00000AA0: BA 0E 6A 04 3B 58 52 45  46 B3 43 52 B1 20 45 58  |..j.;XREF.CR. EX|
00000AB0: 49 54 20 A4 20 42 41 53  49 43 00 C0 0E 74 04 3B  |IT . BASIC...t.;|
00000AC0: 00 E1 0E 7E 04 43 52 4F  55 54 20 4A 53 52 20 42  |...~.CROUT JSR B|
00000AD0: 41 4B 49 4E 20 3B 42 41  4E 4B 20 49 4E 20 52 4F  |AKIN ;BANK IN RO|
00000AE0: 4D 00 FD 0E 88 04 4A 4D  50 20 24 41 36 41 37 20  |M.....JMP $A6A7 |
00000AF0: 3B 9B 20 42 41 53 49 43  20 4C 49 4E 45 00 03 0F  |;. BASIC LINE...|
00000B00: 92 04 3B 00 24 0F 9C 04  3B 42 41 4E 4B 20 49 4E  |..;.$...;BANK IN|
00000B10: 20 42 41 53 49 43 20 26  20 A1 20 4B 45 59 20 50  | BASIC & . KEY P|
00000B20: 52 45 53 53 00 2A 0F A6  04 3B 00 4D 0F B0 04 4B  |RESS.*...;.M...K|
00000B30: 45 59 53 55 42 20 4A 53  52 20 42 41 4B 49 4E 20  |EYSUB JSR BAKIN |
00000B40: 3B 42 41 4E 4B 20 49 4E  20 52 4F 4D 3B 00 67 0F  |;BANK IN ROM;.g.|
00000B50: BA 04 4A 53 52 20 A1 49  4E 20 3B A1 20 4B 45 59  |..JSR .IN ;. KEY|
00000B60: 20 50 52 45 53 53 3B 00  7D 0F C4 04 50 48 41 20  | PRESS;.}...PHA |
00000B70: 3B 94 20 4B 45 59 20 50  52 45 53 53 3B 00 8C 0F  |;. KEY PRESS;...|
00000B80: CE 04 4A 53 52 20 42 41  4B 4F 55 54 00 A2 0F D8  |..JSR BAKOUT....|
00000B90: 04 50 4C 41 20 3B 8C 20  4B 45 59 20 50 52 45 53  |.PLA ;. KEY PRES|
00000BA0: 53 3B 00 AA 0F E2 04 52  54 53 00 B0 0F EC 04 3B  |S;.....RTS.....;|
00000BB0: 00 D7 0F F6 04 3B B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |.....;..........|
00000BC0: B2 B2 B2 B2 B2 B2 B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |................|
00000BD0: B2 B2 B2 B2 B2 B2 B2 00  F9 0F 00 05 3B 80 20 4F  |............;. O|
00000BE0: 46 20 53 55 42 52 4F 55  54 49 4E 45 53 20 42 45  |F SUBROUTINES BE|
00000BF0: 4C 4F 57 20 24 41 30 30  30 00 20 10 0A 05 3B B2  |LOW $A000. ...;.|
00000C00: B2 B2 B2 B2 B2 B2 B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |................|
00000C10: B2 B2 B2 B2 B2 B2 B2 B2  B2 B2 B2 B2 B2 B2 B2 B2  |................|
00000C20: 00 26 10 14 05 3B 00 49  10 1E 05 3B AC 20 20 20  |.&...;.I...;.   |
00000C30: 53 54 41 52 54 20 4F 46  20 50 52 4F 47 52 41 4D  |START OF PROGRAM|
00000C40: 20 20 20 20 20 20 20 20  AC 00 4F 10 28 05 3B 00  |        ..O.(.;.|
00000C50: 6A 10 32 05 45 4E 54 52  59 20 53 54 59 20 50 4F  |j.2.ENTRY STY PO|
00000C60: B5 20 3B 94 20 58 20 26  20 59 00 8B 10 3C 05 53  |. ;. X & Y...<.S|
00000C70: 54 58 20 50 4F B5 AA 31  20 3B 46 52 4F 4D 20 43  |TX PO..1 ;FROM C|
00000C80: 48 52 A1 20 43 41 4C 4C  45 52 3B 00 A8 10 46 05  |HR. CALLER;...F.|
00000C90: 4C 44 58 20 4D 53 47 46  4C 47 20 20 20 20 20 20  |LDX MSGFLG      |
00000CA0: 20 20 20 20 20 3B 49 4E  00 CB 10 50 05 42 50 4C  |     ;IN...P.BPL|
00000CB0: 20 CB 42 41 43 4B 20 3B  8B 20 49 4E 20 50 52 4F  | .BACK ;. IN PRO|
00000CC0: 47 20 4D 4F 44 45 AB 45  58 49 54 00 F8 10 5A 05  |G MODE.EXIT...Z.|
00000CD0: 4C 44 58 20 24 30 30 37  41 20 3B 22 49 53 20 49  |LDX $007A ;"IS I|
00000CE0: 54 20 54 48 45 20 31 53  54 20 4C 45 54 54 45 52  |T THE 1ST LETTER|
00000CF0: 20 49 4E 20 42 55 46 3F  00 12 11 64 05 42 4E 45  | IN BUF?...d.BNE|
00000D00: 20 CB 42 41 43 4B 20 3B  8B 20 A8 20 A7 20 45 58  | .BACK ;. . . EX|
00000D10: 49 54 00 34 11 6E 05 43  4D 50 20 23 22 58 22 20  |IT.4.n.CMP #"X" |
00000D20: 3B 22 49 53 20 31 53 54  20 4C 45 54 54 45 52 20  |;"IS 1ST LETTER |
00000D30: 41 20 58 3F 00 4B 11 78  05 42 45 51 20 48 45 52  |A X?.K.x.BEQ HER|
00000D40: 45 20 3B 45 58 49 54 20  8B 20 A8 00 6E 11 82 05  |E ;EXIT . ..n...|
00000D50: 4C 44 59 20 23 24 30 33  20 3B 8B 20 22 48 22 20  |LDY #$03 ;. "H" |
00000D60: 43 48 45 43 4B 20 82 20  33 20 43 48 41 52 00 93  |CHECK . 3 CHAR..|
00000D70: 11 8C 05 4C 44 58 20 23  B3 4D 45 53 47 34 20 3B  |...LDX #.MESG4 ;|
00000D80: 50 4E 54 20 A4 20 4C 53  42 20 4F 46 20 22 48 45  |PNT . LSB OF "HE|
00000D90: 4C 50 27 00 B3 11 96 05  43 4D 50 20 23 22 48 22  |LP'.....CMP #"H"|
00000DA0: 20 3B 22 31 53 54 20 4C  45 54 54 45 52 20 3D 20  | ;"1ST LETTER = |
00000DB0: 48 20 3F 00 D9 11 A0 05  42 45 51 20 4D 45 53 41  |H ?.....BEQ MESA|
00000DC0: 44 44 20 3B 43 48 45 43  4B 20 8B 20 22 45 4C 50  |DD ;CHECK . "ELP|
00000DD0: 22 20 46 4F 4C 4C 4F 57  53 00 E7 11 AA 05 42 4E  |" FOLLOWS.....BN|
00000DE0: 45 20 CB 42 41 43 4B 00  10 12 B4 05 48 45 52 45  |E .BACK.....HERE|
00000DF0: 20 4C 44 59 20 23 24 30  32 20 3B 59 B2 4E 55 4D  | LDY #$02 ;Y.NUM|
00000E00: 20 4F 46 20 43 48 41 52  20 A4 20 43 48 45 43 4B  | OF CHAR . CHECK|
00000E10: 00 34 12 BE 05 4C 44 58  20 23 B3 4D 45 53 47 20  |.4...LDX #.MESG |
00000E20: 3B 50 4E 54 20 A4 20 4C  53 42 20 4F 46 20 22 58  |;PNT . LSB OF "X|
00000E30: 52 45 46 27 00 5F 12 C8  05 4D 45 53 41 44 44 20  |REF'._...MESADD |
00000E40: 53 54 58 20 4D 45 53 43  4D 50 AA 31 20 3B 50 4E  |STX MESCMP.1 ;PN|
00000E50: 54 20 A4 20 48 45 4C 50  20 B0 20 58 52 45 46 00  |T . HELP . XREF.|
00000E60: 7B 12 D2 05 4C 4F 4F 50  20 4A 53 52 20 43 48 52  |{...LOOP JSR CHR|
00000E70: A1 20 3B A1 20 82 20 43  48 41 52 00 9E 12 DC 05  |. ;. . CHAR.....|
00000E80: 4D 45 53 43 4D 50 20 43  4D 50 20 4D 45 53 47 2C  |MESCMP CMP MESG,|
00000E90: 59 20 3B 43 4D 50 20 A4  20 22 52 45 46 27 00 BF  |Y ;CMP . "REF'..|
00000EA0: 12 E6 05 42 4E 45 20 A1  31 53 54 20 3B 44 4F 45  |...BNE .1ST ;DOE|
00000EB0: 53 4E 22 54 3D 22 52 45  46 22 2D 45 58 49 54 00  |SN"T="REF"-EXIT.|
00000EC0: DE 12 F0 05 44 45 59 20  3B 50 4F B5 20 A4 20 82  |....DEY ;PO. . .|
00000ED0: 20 43 48 41 52 20 49 4E  20 22 52 45 46 27 00 F7  | CHAR IN "REF'..|
00000EE0: 12 FA 05 42 50 4C 20 4C  4F 4F 50 20 3B 43 4D 50  |...BPL LOOP ;CMP|
00000EF0: 20 82 20 43 48 41 52 00  FD 12 04 06 3B 00 0E 13  | . CHAR.....;...|
00000F00: 0E 06 4C 44 41 20 4D 45  53 43 4D 50 AA 31 00 14  |..LDA MESCMP.1..|
00000F10: 13 18 06 3B 00 39 13 22  06 43 4D 50 20 23 B3 4D  |...;.9.".CMP #.M|
00000F20: 45 53 47 20 3B 22 57 48  49 43 48 20 43 4F 4D 2E  |ESG ;"WHICH COM.|
00000F30: 20 45 4E 54 45 52 45 44  3F 00 5A 13 2C 06 42 45  | ENTERED?.Z.,.BE|
00000F40: 51 20 58 52 45 46 20 3B  CB 20 8B 20 22 58 52 45  |Q XREF ;. . "XRE|
00000F50: 46 22 20 45 4E 54 45 52  45 44 00 60 13 36 06 3B  |F" ENTERED.`.6.;|
00000F60: 00 7B 13 40 06 3B 45 58  49 54 20 A4 20 22 48 45  |.{.@.;EXIT . "HE|
00000F70: 4C 50 22 20 52 4F 55 54  49 4E 45 00 81 13 4A 06  |LP" ROUTINE...J.|
00000F80: 3B 00 90 13 54 06 4A 53  52 20 42 41 4B 4F 55 54  |;...T.JSR BAKOUT|
00000F90: 00 9D 13 5E 06 4A 4D 50  20 48 45 4C 50 00 A3 13  |...^.JMP HELP...|
00000FA0: 68 06 3B 00 CD 13 72 06  3B 22 50 52 49 4E 54 20  |h.;...r.;"PRINT |
00000FB0: 42 41 53 49 43 20 4C 49  4E 45 20 57 48 45 52 45  |BASIC LINE WHERE|
00000FC0: 20 52 45 46 20 41 50 50  45 41 52 53 3F 00 D3 13  | REF APPEARS?...|
00000FD0: 7C 06 3B 00 F1 13 86 06  58 52 45 46 20 4C 44 41  ||.;.....XREF LDA|
00000FE0: 20 23 B1 42 55 46 31 20  3B 50 4E 54 20 81 20 A1  | #.BUF1 ;PNT . .|
00000FF0: C3 00 01 14 90 06 53 54  41 20 53 32 41 44 52 AA  |......STA S2ADR.|
00001000: 31 00 18 14 9A 06 4A 53  52 20 43 48 52 A1 20 3B  |1.....JSR CHR. ;|
00001010: A1 20 82 20 43 48 41 52  00 33 14 A4 06 43 4D 50  |. . CHAR.3...CMP|
00001020: 20 23 24 30 30 20 3B 44  4F 45 53 20 49 54 B2 80  | #$00 ;DOES IT..|
00001030: 20 4F 46 00 4D 14 AE 06  42 4E 45 20 53 4B 49 50  | OF.M...BNE SKIP|
00001040: 31 20 3B 4C 49 4E 45 20  8B 20 A8 AB CB 00 5C 14  |1 ;LINE . ....\.|
00001050: B8 06 4A 53 52 20 42 41  4B 4F 55 54 00 67 14 C2  |..JSR BAKOUT.g..|
00001060: 06 4A 4D 50 20 43 52 00  6D 14 CC 06 3B 00 90 14  |.JMP CR.m...;...|
00001070: D6 06 3B 53 45 54 55 50  20 4F 55 54 50 55 54 20  |..;SETUP OUTPUT |
00001080: 46 49 4C 45 20 81 20 43  52 54 20 B0 20 50 52 54  |FILE . CRT . PRT|
00001090: 00 96 14 E0 06 3B 00 AD  14 EA 06 53 4B 49 50 31  |.....;.....SKIP1|
000010A0: 20 50 48 41 20 3B 94 20  43 48 41 52 3B 00 C6 14  | PHA ;. CHAR;...|
000010B0: F4 06 4C 44 41 20 23 30  34 20 3B A0 20 43 48 41  |..LDA #04 ;. CHA|
000010C0: 4E 4E 45 4C 20 A4 00 E5  14 FE 06 4A 53 52 20 A0  |NNEL ......JSR .|
000010D0: 20 3B 50 52 45 56 45 4E  54 20 22 4F 50 45 4E 22  | ;PREVENT "OPEN"|
000010E0: 20 45 52 52 3B 00 F6 14  08 07 50 4C 41 20 3B 8C  | ERR;.....PLA ;.|
000010F0: 20 43 48 41 52 3B 00 14  15 12 07 4C 44 58 20 23  | CHAR;.....LDX #|
00001100: 24 33 20 3B 58 B2 44 45  56 49 43 45 20 23 20 81  |$3 ;X.DEVICE # .|
00001110: 20 43 52 54 00 30 15 1C  07 4C 44 59 20 23 24 32  | CRT.0...LDY #$2|
00001120: 34 20 3B 43 52 54 20 4C  49 4E 45 20 C3 47 54 48  |4 ;CRT LINE .GTH|
00001130: 00 57 15 26 07 43 4D 50  20 23 24 32 41 20 3B 22  |.W.&.CMP #$2A ;"|
00001140: 53 45 4E 44 20 4F 55 54  50 55 54 20 54 4F 20 50  |SEND OUTPUT TO P|
00001150: 52 49 4E 54 45 52 3F 00  7D 15 30 07 42 4E 45 20  |RINTER?.}.0.BNE |
00001160: 53 45 54 43 52 54 20 3B  22 4E 4F 3F 20 53 45 54  |SETCRT ;"NO? SET|
00001170: 55 50 20 4F 55 54 50 55  54 20 43 52 54 00 94 15  |UP OUTPUT CRT...|
00001180: 3A 07 4A 53 52 20 43 48  52 A1 20 3B A1 20 82 20  |:.JSR CHR. ;. . |
00001190: 43 48 41 52 00 B3 15 44  07 4C 44 58 20 23 24 30  |CHAR...D.LDX #$0|
000011A0: 34 20 3B 58 B2 44 45 56  49 43 45 20 23 20 81 20  |4 ;X.DEVICE # . |
000011B0: 99 45 52 00 CF 15 4E 07  4C 44 59 20 23 24 34 43  |.ER...N.LDY #$4C|
000011C0: 20 3B 99 45 52 20 4C 49  4E 45 20 C3 47 54 48 00  | ;.ER LINE .GTH.|
000011D0: F2 15 58 07 53 45 54 43  52 54 20 53 54 59 20 50  |..X.SETCRT STY P|
000011E0: 52 54 C3 AA 31 20 3B 94  20 4C 49 4E 45 20 C3 47  |RT..1 ;. LINE .G|
000011F0: 54 48 00 0A 16 62 07 50  48 41 20 3B 94 20 50 52  |TH...b.PHA ;. PR|
00001200: 45 53 45 4E 54 20 43 48  41 52 00 25 16 6C 07 4C  |ESENT CHAR.%.l.L|
00001210: 44 41 20 23 24 30 34 20  3B BC 49 43 41 4C 20 46  |DA #$04 ;.ICAL F|
00001220: 49 4C 45 20 23 00 3F 16  76 07 4C 44 59 20 23 24  |ILE #.?.v.LDY #$|
00001230: 46 46 20 3B 53 80 20 4E  4F 20 43 4F 4D 4D AF 00  |FF ;S. NO COMM..|
00001240: 62 16 80 07 4A 53 52 20  53 45 54 4C 46 53 20 3B  |b...JSR SETLFS ;|
00001250: 53 45 54 55 50 20 41 20  BC 49 43 41 4C 20 46 49  |SETUP A .ICAL FI|
00001260: 4C 45 00 7F 16 8A 07 4C  44 41 20 23 24 30 30 20  |LE.....LDA #$00 |
00001270: 3B 4E 41 4D 45 20 C3 47  54 48 B2 5A 45 52 4F 00  |;NAME .GTH.ZERO.|
00001280: 9F 16 94 07 4A 53 52 20  53 45 54 4E 41 4D 20 3B  |....JSR SETNAM ;|
00001290: 53 45 54 55 50 20 46 49  4C 45 20 4E 41 4D 45 00  |SETUP FILE NAME.|
000012A0: B7 16 9E 07 4A 53 52 20  9F 20 3B 9F 20 BC 49 43  |....JSR . ;. .IC|
000012B0: 41 4C 20 46 49 4C 45 00  CD 16 A8 07 4C 44 58 20  |AL FILE.....LDX |
000012C0: 23 30 34 20 3B 9F 20 4F  55 54 50 55 54 00 E6 16  |#04 ;. OUTPUT...|
000012D0: B2 07 4A 53 52 20 43 48  4B 4F 55 54 20 3B 43 48  |..JSR CHKOUT ;CH|
000012E0: 41 4E 4E 45 4C 3B 00 04  17 BC 07 4A 53 52 20 42  |ANNEL;.....JSR B|
000012F0: 41 4B 4F 55 54 20 3B 42  41 4E 4B 20 4F 55 54 20  |AKOUT ;BANK OUT |
00001300: 52 4F 4D 3B 00 20 17 C6  07 4A 4D 50 20 42 4C 52  |ROM;. ...JMP BLR|
00001310: 4F 4D 20 3B 89 20 4D 41  49 4E 20 50 52 47 4D 3B  |OM ;. MAIN PRGM;|
00001320: 00 26 17 D0 07 3B 00 4A  17 DA 07 3B AC 20 54 48  |.&...;.J...;. TH|
00001330: 45 20 46 4F 4C 4C 4F 57  49 4E 47 20 43 4F 44 45  |E FOLLOWING CODE|
00001340: 20 4F 50 45 52 41 54 45  53 AC 00 6E 17 E4 07 3B  | OPERATES..n...;|
00001350: AC 20 55 4E 44 45 52 20  54 48 45 20 42 41 53 49  |. UNDER THE BASI|
00001360: 43 20 52 4F 4D 20 20 20  20 20 20 20 20 AC 00 74  |C ROM        ..t|
00001370: 17 EE 07 3B 00 98 17 F8  07 AC B2 24 41 30 30 30  |...;.......$A000|
00001380: 20 3B 54 48 45 20 53 54  41 52 54 20 4F 46 20 42  | ;THE START OF B|
00001390: 41 53 49 43 20 52 4F 4D  00 9E 17 02 08 3B 00 C5  |ASIC ROM.....;..|
000013A0: 17 0C 08 42 4C 52 4F 4D  20 4C 44 58 20 54 58 54  |...BLROM LDX TXT|
000013B0: 54 41 42 20 3B 43 48 45  43 4B 20 8B 20 54 48 45  |TAB ;CHECK . THE|
000013C0: 52 45 20 49 53 00 DE 17  16 08 49 4E 58 20 3B 41  |RE IS.....INX ;A|
000013D0: 20 42 41 53 49 43 20 50  52 47 4D 20 49 4E 00 EE  | BASIC PRGM IN..|
000013E0: 17 20 08 49 4E 58 20 3B  4D 45 4D B0 59 3B 00 10  |. .INX ;MEM.Y;..|
000013F0: 18 2A 08 43 50 58 20 56  41 52 54 41 42 20 3B 43  |.*.CPX VARTAB ;C|
00001400: 4D 50 20 4C 4F 57 20 42  59 54 45 20 31 53 54 3B  |MP LOW BYTE 1ST;|
00001410: 00 2E 18 34 08 42 4E 45  20 54 45 58 54 49 4E 20  |...4.BNE TEXTIN |
00001420: 3B 8B 20 A8 20 B2 20 A7  20 54 48 45 52 45 00 51  |;. . . . THERE.Q|
00001430: 18 3E 08 4C 44 58 20 54  58 54 54 41 42 AA 31 20  |.>.LDX TXTTAB.1 |
00001440: 3B 49 53 20 54 58 45 58  54 20 49 4E 20 4D 45 4D  |;IS TXEXT IN MEM|
00001450: 3B 00 72 18 48 08 43 50  58 20 56 41 52 54 41 42  |;.r.H.CPX VARTAB|
00001460: AA 31 20 3B 43 4D 50 20  48 49 47 48 20 42 59 54  |.1 ;CMP HIGH BYT|
00001470: 45 3B 00 9A 18 52 08 42  4E 45 20 54 45 58 54 49  |E;...R.BNE TEXTI|
00001480: 4E 20 3B 22 3C 3E 3F 20  54 48 45 4E 20 54 48 45  |N ;"<>? THEN THE|
00001490: 52 45 27 53 20 54 45 58  54 3B 00 BA 18 5C 08 4A  |RE'S TEXT;...\.J|
000014A0: 4D 50 20 4A 50 44 91 45  58 49 20 3B 8B 20 B2 20  |MP JPD.EXI ;. . |
000014B0: A7 20 4E 4F 20 54 45 58  54 3B 00 C0 18 66 08 3B  |. NO TEXT;...f.;|
000014C0: 00 EC 18 70 08 54 45 58  54 49 4E 20 4A 53 52 20  |...p.TEXTIN JSR |
000014D0: 53 45 50 4D 45 53 20 3B  50 52 54 20 53 45 50 41  |SEPMES ;PRT SEPA|
000014E0: 52 41 54 49 4E 47 20 4D  45 53 47 3B 00 01 19 7A  |RATING MESG;...z|
000014F0: 08 50 4C 41 20 3B 8C 20  43 48 41 52 41 43 54 45  |.PLA ;. CHARACTE|
00001500: 52 00 07 19 84 08 3B 00  26 19 8E 08 3B 53 45 54  |R.....;.&...;SET|
00001510: 55 50 20 46 4C 41 47 53  20 41 43 43 B0 44 49 4E  |UP FLAGS ACC.DIN|
00001520: 47 20 A4 20 85 3B 00 47  19 98 08 3B 58 52 45 46  |G . .;.G...;XREF|
00001530: 40 20 20 AB 20 41 4C 4C  52 45 46 B2 31 20 20 20  |@  . ALLREF.1   |
00001540: 41 4C 4C 56 4E B2 30 00  68 19 A2 08 3B 58 52 45  |ALLVN.0.h...;XRE|
00001550: 46 40 41 20 AB 20 41 4C  4C 52 45 46 B2 30 20 20  |F@A . ALLREF.0  |
00001560: 20 41 4C 4C 56 4E B2 30  00 89 19 AC 08 3B 58 52  | ALLVN.0.....;XR|
00001570: 45 46 41 20 20 AB 20 41  4C 4C 52 45 46 B2 30 20  |EFA  . ALLREF.0 |
00001580: 20 20 41 4C 4C 56 4E B2  31 00 8F 19 B6 08 3B 00  |  ALLVN.1.....;.|
00001590: AF 19 C0 08 4C 44 59 20  23 30 30 20 3B 5A 45 52  |....LDY #00 ;ZER|
000015A0: 4F 20 A4 20 52 45 53 45  54 20 46 4C 41 47 53 00  |O . RESET FLAGS.|
000015B0: CA 19 CA 08 53 54 59 20  41 4C 4C 52 45 46 20 3B  |....STY ALLREF ;|
000015C0: AF 20 81 20 49 4E 44 45  58 3B 00 D8 19 D4 08 49  |. . INDEX;.....I|
000015D0: 4E 43 20 41 4C 4C 56 4E  00 F7 19 DE 08 43 4D 50  |NC ALLVN.....CMP|
000015E0: 20 23 22 40 22 20 3B 22  4C 49 53 54 20 41 4C 4C  | #"@" ;"LIST ALL|
000015F0: 20 52 45 46 27 53 3F 00  0E 1A E8 08 42 4E 45 20  | REF'S?.....BNE |
00001600: 53 4B 49 50 32 20 3B CB  20 8B 20 4E 4F 3B 00 2F  |SKIP2 ;. . NO;./|
00001610: 1A F2 08 49 4E 43 20 41  4C 4C 52 45 46 20 3B 22  |...INC ALLREF ;"|
00001620: 40 22 20 57 41 53 20 45  4E 54 45 52 45 44 3B 00  |@" WAS ENTERED;.|
00001630: 3D 1A FC 08 53 54 59 20  41 4C 4C 56 4E 00 43 1A  |=...STY ALLVN.C.|
00001640: 06 09 3B 00 68 1A 10 09  3B A1 20 56 41 52 49 41  |..;.h...;. VARIA|
00001650: 42 4C 45 20 B0 20 23 20  46 4F 4C 4C 4F 57 49 4E  |BLE . # FOLLOWIN|
00001660: 47 20 22 58 52 45 46 27  00 6E 1A 1A 09 3B 00 8C  |G "XREF'.n...;..|
00001670: 1A 24 09 4C 4F 4F 50 32  20 4A 53 52 20 43 48 52  |.$.LOOP2 JSR CHR|
00001680: A1 20 3B A1 20 41 20 43  48 41 52 3B 00 A8 1A 2E  |. ;. A CHAR;....|
00001690: 09 43 4D 50 20 23 30 30  20 3B 22 45 4E 44 20 4F  |.CMP #00 ;"END O|
000016A0: 46 20 49 4E 50 55 54 3F  00 BF 1A 38 09 42 45 51  |F INPUT?...8.BEQ|
000016B0: 20 80 53 54 52 20 3B CB  20 8B 20 59 45 53 3B 00  | .STR ;. . YES;.|
000016C0: E2 1A 42 09 53 4B 49 50  32 20 53 54 41 20 42 55  |..B.SKIP2 STA BU|
000016D0: 46 31 AA 31 2C 59 20 3B  94 20 53 54 52 49 4E 47  |F1.1,Y ;. STRING|
000016E0: 20 A4 00 FD 1A 4C 09 53  54 41 20 42 55 46 32 AA  | ....L.STA BUF2.|
000016F0: 31 2C 59 20 3B 42 55 46  46 45 52 53 3B 00 05 1B  |1,Y ;BUFFERS;...|
00001700: 56 09 49 4E 59 00 20 1B  60 09 43 50 59 20 23 30  |V.INY. .`.CPY #0|
00001710: 35 20 3B A1 20 4D 41 58  2E 20 4E 55 4D 42 45 52  |5 ;. MAX. NUMBER|
00001720: 00 3F 1B 6A 09 42 4E 45  20 4C 4F 4F 50 32 20 3B  |.?.j.BNE LOOP2 ;|
00001730: 22 4F 46 20 43 48 41 52  41 43 54 45 52 53 3F 00  |"OF CHARACTERS?.|
00001740: 5B 1B 74 09 80 53 54 52  20 53 54 59 20 42 55 46  |[.t..STR STY BUF|
00001750: 31 20 3B 94 20 53 54 52  49 4E 47 00 6F 1B 7E 09  |1 ;. STRING.o.~.|
00001760: 53 54 59 20 42 55 46 32  20 3B C3 47 54 48 3B 00  |STY BUF2 ;.GTH;.|
00001770: 85 1B 88 09 54 59 41 20  3B 8B 20 4E 4F 20 53 54  |....TYA ;. NO ST|
00001780: 52 20 57 41 53 00 A3 1B  92 09 42 45 51 20 4C 4F  |R WAS.....BEQ LO|
00001790: 4F 50 33 AB 32 20 3B 45  4E 54 45 52 45 44 20 59  |OP3.2 ;ENTERED Y|
000017A0: B2 30 3B 00 C3 1B 9C 09  4C 44 41 20 23 30 30 20  |.0;.....LDA #00 |
000017B0: 3B 58 52 45 46 40 41 20  57 41 53 20 45 4E 54 45  |;XREF@A WAS ENTE|
000017C0: 52 45 44 00 E2 1B A6 09  53 54 41 20 41 4C 4C 52  |RED.....STA ALLR|
000017D0: 45 46 20 3B 50 52 47 2E  20 4C 4F 4F 50 53 20 32  |EF ;PRG. LOOPS 2|
000017E0: 20 8B 00 FF 1B B0 09 42  45 51 20 53 54 52 45 4E  | ......BEQ STREN|
000017F0: 54 20 3B 41 4C 4C 52 45  46 20 B3 B1 20 30 3B 00  |T ;ALLREF .. 0;.|
00001800: 05 1C BA 09 3B 00 25 1C  C4 09 3B 8B 20 4E 4F 20  |....;.%...;. NO |
00001810: 53 54 52 20 45 4E 54 45  52 45 44 20 A7 20 50 52  |STR ENTERED . PR|
00001820: 54 20 41 4C 4C 00 46 1C  CE 09 3B 52 45 46 2E 20  |T ALL.F...;REF. |
00001830: 53 54 41 52 54 49 4E 47  20 57 49 54 48 20 5A 45  |STARTING WITH ZE|
00001840: 52 4F 20 55 50 3B 00 4C  1C D8 09 3B 00 69 1C E2  |RO UP;.L...;.i..|
00001850: 09 4C 44 58 20 23 24 30  42 20 3B 31 32 20 43 48  |.LDX #$0B ;12 CH|
00001860: 41 52 20 A4 20 4D 4F 56  45 00 88 1C EC 09 4C 4F  |AR . MOVE.....LO|
00001870: 4F 50 33 20 4C 44 41 20  4D 45 53 42 55 46 2C 58  |OP3 LDA MESBUF,X|
00001880: 20 3B A1 20 43 48 41 52  00 AD 1C F6 09 53 54 41  | ;. CHAR.....STA|
00001890: 20 42 55 46 31 2C 58 20  3B 4D 4F 56 45 20 49 54  | BUF1,X ;MOVE IT|
000018A0: 20 A4 20 54 48 45 20 42  55 46 31 26 32 00 C7 1C  | . THE BUF1&2...|
000018B0: 00 0A 44 45 58 20 3B 42  55 4D 50 20 49 4E 44 45  |..DEX ;BUMP INDE|
000018C0: 58 20 52 45 47 53 3B 00  E8 1C 0A 0A 42 50 4C 20  |X REGS;.....BPL |
000018D0: 4C 4F 4F 50 33 20 3B 9A  20 55 4E 54 49 4C 20 41  |LOOP3 ;. UNTIL A|
000018E0: 4C 4C 20 4D 4F 56 45 44  00 0E 1D 14 0A 53 54 52  |LL MOVED.....STR|
000018F0: 45 4E 54 20 4C 44 58 20  54 58 54 54 41 42 20 3B  |ENT LDX TXTTAB ;|
00001900: 53 54 41 52 54 20 4F 46  20 42 41 53 49 43 00 16  |START OF BASIC..|
00001910: 1D 1E 0A 44 45 58 00 2F  1D 28 0A 53 54 58 20 50  |...DEX./.(.STX P|
00001920: 4F B5 20 3B 94 20 A4 20  22 47 45 54 42 59 27 00  |O. ;. . "GETBY'.|
00001930: 50 1D 32 0A 4C 44 41 20  54 58 54 54 41 42 AA 31  |P.2.LDA TXTTAB.1|
00001940: 20 3B A1 20 4D 53 42 20  4F 46 20 53 54 41 52 54  | ;. MSB OF START|
00001950: 00 67 1D 3C 0A 53 54 41  20 50 4F B5 AA 31 20 3B  |.g.<.STA PO..1 ;|
00001960: 94 20 49 54 20 A4 4F 00  86 1D 46 0A 4C 44 41 20  |. IT .O...F.LDA |
00001970: 23 24 30 30 20 3B 5A 45  52 4F 20 54 48 45 20 46  |#$00 ;ZERO THE F|
00001980: 4C 41 47 20 49 4E 00 A1  1D 50 0A 53 54 41 20 4E  |LAG IN...P.STA N|
00001990: 55 4D 50 4E 54 AA 31 20  3B A1 C3 20 28 A8 20 23  |UMPNT.1 ;.. (. #|
000019A0: 29 00 C1 1D 5A 0A 49 4E  43 20 42 53 80 20 3B 53  |)...Z.INC BS. ;S|
000019B0: 45 54 20 80 20 4F 46 20  4C 49 4E 45 20 46 4C 41  |ET . OF LINE FLA|
000019C0: 47 00 E8 1D 64 0A 53 54  41 20 50 52 47 80 20 3B  |G...d.STA PRG. ;|
000019D0: 5A 45 52 4F 20 80 20 4F  46 20 42 41 53 49 43 20  |ZERO . OF BASIC |
000019E0: 50 52 47 20 46 4C 41 47  00 0D 1E 6E 0A 53 54 41  |PRG FLAG...n.STA|
000019F0: 20 45 58 49 54 31 30 AA  31 20 3B 4C 4F 4F 50 20  | EXIT10.1 ;LOOP |
00001A00: 54 48 52 55 20 50 52 47  20 46 4C 41 47 00 2F 1E  |THRU PRG FLAG./.|
00001A10: 78 0A 4C 44 41 20 23 B3  4C 4E 42 55 46 20 3B 52  |x.LDA #.LNBUF ;R|
00001A20: 45 53 45 54 20 50 4F B5  45 52 20 4F 46 20 B9 00  |ESET PO.ER OF ..|
00001A30: 52 1E 82 0A 53 54 41 20  4C 4E 80 20 3B 49 4E 20  |R...STA LN. ;IN |
00001A40: 4C 49 4E 45 20 53 A4 52  41 47 45 20 42 55 46 46  |LINE S.RAGE BUFF|
00001A50: 45 52 00 75 1E 8C 0A 4C  44 41 20 23 B1 4C 4E 42  |ER.u...LDA #.LNB|
00001A60: 55 46 20 3B A4 20 53 54  41 52 54 20 4F 46 20 42  |UF ;. START OF B|
00001A70: 55 46 46 45 52 00 83 1E  96 0A 53 54 41 20 4C 4E  |UFFER.....STA LN|
00001A80: 80 AA 31 00 89 1E A0 0A  3B 00 AC 1E AA 0A 3B 22  |..1.....;.....;"|
00001A90: 57 41 53 20 41 20 4E 4F  2E 20 4F 52 20 41 20 56  |WAS A NO. OR A V|
00001AA0: 41 52 2E 20 45 4E 54 45  52 45 44 3F 00 B2 1E B4  |AR. ENTERED?....|
00001AB0: 0A 3B 00 CF 1E BE 0A 4C  44 41 20 42 55 46 31 AA  |.;.....LDA BUF1.|
00001AC0: 31 20 3B A1 20 31 53 54  20 43 48 41 52 20 AF 00  |1 ;. 1ST CHAR ..|
00001AD0: F1 1E C8 0A 43 4D 50 20  23 24 33 41 20 3B 43 48  |....CMP #$3A ;CH|
00001AE0: 45 43 4B 20 8B 20 49 53  20 41 20 4E 55 4D 42 45  |ECK . IS A NUMBE|
00001AF0: 52 00 08 1F D2 0A 42 43  53 20 A8 4E 55 4D 20 3B  |R.....BCS .NUM ;|
00001B00: CB 20 8B 20 88 54 45 52  00 2F 1F DC 0A 49 4E 43  |. . .TER./...INC|
00001B10: 20 4E 55 4D 50 4E 54 AA  31 20 3B 4E 55 4D 20 45  | NUMPNT.1 ;NUM E|
00001B20: 4E 54 45 52 45 44 AB 53  45 54 20 46 4C 41 47 00  |NTERED.SET FLAG.|
00001B30: 35 1F E6 0A 3B 00 57 1F  F0 0A 3B 53 54 41 52 54  |5...;.W...;START|
00001B40: 20 4F 46 20 46 49 4E 44  20 56 41 52 20 B0 20 23  | OF FIND VAR . #|
00001B50: 20 53 45 43 54 49 91 00  5D 1F FA 0A 3B 00 86 1F  | SECTI..]...;...|
00001B60: 04 0B 91 43 41 4E 43 20  4C 44 41 20 23 30 30 20  |...CANC LDA #00 |
00001B70: 3B 43 4C 45 41 52 20 22  4F 4E 2D 47 4F 54 4F 22  |;CLEAR "ON-GOTO"|
00001B80: 20 46 4C 41 47 3B 00 96  1F 0E 0B 53 54 41 20 91  | FLAG;.....STA .|
00001B90: 46 4C 41 47 AA 31 00 B1  1F 18 0B A8 4E 55 4D 20  |FLAG.1......NUM |
00001BA0: 4A 53 52 20 A1 42 59 20  3B A1 20 41 20 42 59 54  |JSR .BY ;. A BYT|
00001BB0: 45 00 D7 1F 22 0B 80 43  48 4B 20 4C 44 58 20 50  |E..."..CHK LDX P|
00001BC0: 52 47 80 20 3B 22 45 4E  44 20 4F 46 20 42 41 53  |RG. ;"END OF BAS|
00001BD0: 49 43 20 50 52 47 3F 00  EC 1F 2C 0B 42 45 51 20  |IC PRG?...,.BEQ |
00001BE0: 53 4B 49 50 33 20 3B CB  20 8B 20 A8 00 0D 20 36  |SKIP3 ;. . ... 6|
00001BF0: 0B 4A 4D 50 20 50 52 54  80 20 3B 50 52 54 20 4C  |.JMP PRT. ;PRT L|
00001C00: 49 4E 45 23 20 49 4E 20  4C 4E 42 55 46 00 38 20  |INE# IN LNBUF.8 |
00001C10: 40 0B 53 4B 49 50 33 20  4C 44 58 20 23 24 30 30  |@.SKIP3 LDX #$00|
00001C20: 20 3B 58 B2 53 45 41 52  43 48 20 4B 45 59 20 81  | ;X.SEARCH KEY .|
00001C30: 20 22 50 52 49 4E 54 27  00 56 20 4A 0B 43 4D 50  | "PRINT'.V J.CMP|
00001C40: 20 23 24 38 46 20 3B 22  49 53 20 49 54 20 41 20  | #$8F ;"IS IT A |
00001C50: 27 52 45 4D 27 3F 00 6B  20 54 0B 42 45 51 20 8F  |'REM'?.k T.BEQ .|
00001C60: 20 3B 47 4F 20 49 46 20  59 45 53 00 8A 20 5E 0B  | ;GO IF YES.. ^.|
00001C70: 43 4D 50 20 23 24 38 33  20 3B 22 49 53 20 49 54  |CMP #$83 ;"IS IT|
00001C80: 20 41 20 27 44 41 54 41  27 3F 00 9F 20 68 0B 42  | A 'DATA'?.. h.B|
00001C90: 45 51 20 8F 20 3B 47 4F  20 49 46 20 59 45 53 00  |EQ . ;GO IF YES.|
00001CA0: BD 20 72 0B 43 4D 50 20  23 24 32 32 20 3B 22 49  |. r.CMP #$22 ;"I|
00001CB0: 53 20 49 54 20 41 20 51  55 4F 54 45 3F 00 CB 20  |S IT A QUOTE?.. |
00001CC0: 7C 0B 42 4E 45 20 53 4B  49 50 34 00 D1 20 86 0B  ||.BNE SKIP4.. ..|
00001CD0: 3B 00 F1 20 90 0B 3B 53  45 41 52 43 48 20 81 20  |;.. ..;SEARCH . |
00001CE0: 80 20 4F 46 20 4C 49 4E  45 20 B0 20 51 55 4F 54  |. OF LINE . QUOT|
00001CF0: 45 00 0D 21 9A 0B 3B 8B  20 83 2C 52 45 4D 20 4F  |E..!..;. .,REM O|
00001D00: 52 20 50 52 49 4E 54 20  46 4F 55 4E 44 00 13 21  |R PRINT FOUND..!|
00001D10: A4 0B 3B 00 34 21 AE 0B  99 20 4C 44 58 20 23 24  |..;.4!... LDX #$|
00001D20: 32 32 20 3B 53 45 41 52  43 48 20 4B 45 59 20 81  |22 ;SEARCH KEY .|
00001D30: 20 99 22 53 00 59 21 B8  0B 8F 20 53 54 58 20 53  | ."S.Y!... STX S|
00001D40: 43 48 4B 45 59 2B 31 20  3B 53 41 56 45 20 53 45  |CHKEY+1 ;SAVE SE|
00001D50: 41 52 43 48 20 43 48 41  52 00 79 21 C2 0B 4C 4F  |ARCH CHAR.y!..LO|
00001D60: 4F 50 34 20 4A 53 52 20  A1 42 59 20 3B 53 45 41  |OP4 JSR .BY ;SEA|
00001D70: 52 43 48 20 81 20 4B 45  59 00 9B 21 CC 0B 43 4D  |RCH . KEY..!..CM|
00001D80: 50 20 23 24 30 30 20 3B  22 49 53 20 49 54 3D 45  |P #$00 ;"IS IT=E|
00001D90: 4E 44 20 4F 46 20 4C 49  4E 45 3F 00 B3 21 D6 0B  |ND OF LINE?..!..|
00001DA0: 42 45 51 20 80 43 48 4B  20 3B 89 20 80 20 43 48  |BEQ .CHK ;. . CH|
00001DB0: 45 43 4B 00 D9 21 E0 0B  53 43 48 4B 45 59 20 43  |ECK..!..SCHKEY C|
00001DC0: 4D 50 20 23 24 30 30 20  3B B2 32 32 20 8B 20 50  |MP #$00 ;.22 . P|
00001DD0: 52 54 2C B2 30 20 8B 20  8F 00 FC 21 EA 0B 42 4E  |RT,.0 . ...!..BN|
00001DE0: 45 20 4C 4F 4F 50 34 20  3B 4C 4F 4F 50 20 55 4E  |E LOOP4 ;LOOP UN|
00001DF0: 54 49 4C 20 91 45 20 46  4F 55 4E 44 00 20 22 F4  |TIL .E FOUND. ".|
00001E00: 0B 42 45 51 20 80 43 48  4B 20 3B 49 54 20 4D 55  |.BEQ .CHK ;IT MU|
00001E10: 53 54 B2 30 20 A4 20 42  45 20 48 45 52 45 AB CB  |ST.0 . BE HERE..|
00001E20: 00 26 22 FE 0B 3B 00 45  22 08 0C 3B 43 48 45 43  |.&"..;.E"..;CHEC|
00001E30: 4B 20 8B 20 4C 4F 4F 4B  49 4E 47 20 81 20 23 20  |K . LOOKING . # |
00001E40: B0 20 56 41 52 00 4B 22  12 0C 3B 00 72 22 1C 0C  |. VAR.K"..;.r"..|
00001E50: 53 4B 49 50 34 20 4C 44  58 20 4E 55 4D 50 4E 54  |SKIP4 LDX NUMPNT|
00001E60: AA 31 20 3B B2 30 20 8B  20 56 41 52 20 31 20 8B  |.1 ;.0 . VAR 1 .|
00001E70: 20 A8 00 8F 22 26 0C 42  45 51 20 53 4B 50 4E 55  | ..."&.BEQ SKPNU|
00001E80: 4D 20 3B CB 20 4C 4F 4F  4B 20 81 20 56 41 52 00  |M ;. LOOK . VAR.|
00001E90: 95 22 30 0C 3B 00 BF 22  3A 0C 3B 4C 4F 4F 4B 20  |."0.;..":.;LOOK |
00001EA0: 81 20 22 52 55 4E 22 2C  22 47 4F 54 4F 22 2C 22  |. "RUN","GOTO","|
00001EB0: 47 4F 53 55 42 22 20 26  20 22 54 48 45 4E 27 00  |GOSUB" & "THEN'.|
00001EC0: C5 22 44 0C 3B 00 E3 22  4E 0C 43 4D 50 20 23 24  |."D.;.."N.CMP #$|
00001ED0: 38 41 20 3B 22 44 4F 45  53 20 49 54 20 3D 20 52  |8A ;"DOES IT = R|
00001EE0: 55 4E 3F 00 08 23 58 0C  42 45 51 20 4E 55 4D 53  |UN?..#X.BEQ NUMS|
00001EF0: 54 52 20 3B 8B 20 59 45  53 20 4A 4D 50 20 A4 20  |TR ;. YES JMP . |
00001F00: 50 41 54 43 48 20 49 4E  00 1D 23 62 0C 43 4D 50  |PATCH IN..#b.CMP|
00001F10: 20 23 24 38 39 20 3B 22  47 4F 54 4F 27 00 2C 23  | #$89 ;"GOTO'.,#|
00001F20: 6C 0C 42 45 51 20 4E 55  4D 53 54 52 00 42 23 76  |l.BEQ NUMSTR.B#v|
00001F30: 0C 43 4D 50 20 23 24 38  44 20 3B 22 47 4F 53 55  |.CMP #$8D ;"GOSU|
00001F40: 42 27 00 51 23 80 0C 42  45 51 20 4E 55 4D 53 54  |B'.Q#..BEQ NUMST|
00001F50: 52 00 66 23 8A 0C 43 4D  50 20 23 24 41 37 20 3B  |R.f#..CMP #$A7 ;|
00001F60: 22 54 48 45 4E 27 00 75  23 94 0C 42 45 51 20 4E  |"THEN'.u#..BEQ N|
00001F70: 55 4D 53 54 52 00 98 23  9E 0C 91 46 4C 41 47 20  |UMSTR..#...FLAG |
00001F80: 4C 44 58 20 23 30 30 20  3B 43 48 45 43 4B 20 81  |LDX #00 ;CHECK .|
00001F90: 20 4E 55 4D 42 45 52 53  00 BC 23 A8 0C 42 45 51  | NUMBERS..#..BEQ|
00001FA0: 20 A8 4E 55 4D 20 3B 46  4F 4C 4C 4F 57 49 4E 47  | .NUM ;FOLLOWING|
00001FB0: 20 22 2C 22 20 42 45 43  41 55 53 45 00 D9 23 B2  | "," BECAUSE..#.|
00001FC0: 0C 43 4D 50 20 23 22 2C  22 20 3B 4F 46 20 22 4F  |.CMP #"," ;OF "O|
00001FD0: 4E 22 20 43 4F 4D 4D AF  3B 00 FC 23 BC 0C 42 4E  |N" COMM.;..#..BN|
00001FE0: 45 20 91 43 41 4E 43 20  3B B3 B1 22 2C 22 20 43  |E .CANC ;.."," C|
00001FF0: 41 4E 43 45 4C 20 43 48  45 43 4B 3B 00 2D 24 C6  |ANCEL CHECK;.-$.|
00002000: 0C 4E 55 4D 53 54 52 20  53 54 41 20 91 46 4C 41  |.NUMSTR STA .FLA|
00002010: 47 AA 31 20 3B 53 45 54  20 46 4C 41 47 20 49 4E  |G.1 ;SET FLAG IN|
00002020: 43 41 53 45 20 4F 46 20  22 4F 4E 22 3B 00 4D 24  |CASE OF "ON";.M$|
00002030: D0 0C 4A 53 52 20 A1 42  59 20 3B 22 49 53 20 4E  |..JSR .BY ;"IS N|
00002040: 45 58 54 20 43 48 41 52  20 41 20 23 3F 00 67 24  |EXT CHAR A #?.g$|
00002050: DA 0C 43 4D 50 20 23 24  33 41 20 3B 22 49 53 20  |..CMP #$3A ;"IS |
00002060: 49 54 20 3E 20 39 3F 00  81 24 E4 0C 42 43 53 20  |IT > 9?..$..BCS |
00002070: 91 43 41 4E 43 20 3B CB  20 8B 20 49 54 20 49 53  |.CANC ;. . IT IS|
00002080: 3B 00 9B 24 EE 0C 43 4D  50 20 23 24 33 30 20 3B  |;..$..CMP #$30 ;|
00002090: 22 49 53 20 49 54 20 3C  20 30 3F 00 B5 24 F8 0C  |"IS IT < 0?..$..|
000020A0: 42 43 43 20 91 43 41 4E  43 20 3B CB 20 8B 20 49  |BCC .CANC ;. . I|
000020B0: 54 20 49 53 3B 00 D2 24  02 0D 42 43 53 20 50 43  |T IS;..$..BCS PC|
000020C0: 48 49 4E 20 3B 55 4E 43  91 2E 20 42 52 41 4E 43  |HIN ;UNC.. BRANC|
000020D0: 48 3B 00 D8 24 0C 0D 3B  00 F3 24 16 0D 3B 43 48  |H;..$..;..$..;CH|
000020E0: 45 43 4B 20 81 20 56 41  52 49 41 42 4C 45 20 4E  |ECK . VARIABLE N|
000020F0: 41 4D 45 00 F9 24 20 0D  3B 00 16 25 2A 0D 53 4B  |AME..$ .;..%*.SK|
00002100: 50 4E 55 4D 20 43 4D 50  20 23 24 34 31 20 3B B3  |PNUM CMP #$41 ;.|
00002110: 20 A7 20 22 41 27 00 31  25 34 0D 42 43 43 20 A8  | . "A'.1%4.BCC .|
00002120: 4E 55 4D 20 3B CB 20 8B  20 A8 20 41 20 88 54 45  |NUM ;. . . A .TE|
00002130: 52 00 4C 25 3E 0D 43 4D  50 20 23 24 35 42 20 3B  |R.L%>.CMP #$5B ;|
00002140: 22 3E 20 54 48 45 4E 20  27 58 27 3F 00 61 25 48  |"> THEN 'X'?.a%H|
00002150: 0D 42 43 53 20 A8 4E 55  4D 20 3B CB 20 8B 20 49  |.BCS .NUM ;. . I|
00002160: 53 00 82 25 52 0D 50 43  48 49 4E 20 4C 44 41 20  |S..%R.PCHIN LDA |
00002170: 23 B3 42 55 46 32 20 3B  53 45 54 55 50 20 A1 C3  |#.BUF2 ;SETUP ..|
00002180: 20 A4 00 A4 25 5C 0D 53  54 41 20 53 32 41 44 52  | ...%\.STA S2ADR|
00002190: 20 3B 43 4D 50 20 42 55  46 32 20 26 20 54 48 45  | ;CMP BUF2 & THE|
000021A0: 20 53 54 52 00 C1 25 66  0D 4A 53 52 20 A1 C3 20  | STR..%f.JSR .. |
000021B0: 3B A1 20 80 20 4F 46 20  56 41 52 20 26 20 43 4D  |;. . OF VAR & CM|
000021C0: 50 00 E8 25 70 0D 42 45  51 20 4A 4D 50 4E 54 31  |P..%p.BEQ JMPNT1|
000021D0: 20 3B 22 3D 3F 20 50 55  54 20 4C 49 4E 45 23 20  | ;"=? PUT LINE# |
000021E0: 49 4E 20 4C 4E 42 55 46  00 09 26 7A 0D 4C 44 58  |IN LNBUF..&z.LDX|
000021F0: 20 41 4C 4C 56 4E 20 3B  22 57 41 53 20 27 40 27  | ALLVN ;"WAS '@'|
00002200: 20 45 4E 54 45 52 45 44  3F 00 24 26 84 0D 42 4E  | ENTERED?.$&..BN|
00002210: 45 20 A8 4E 55 4D 20 3B  CB 20 8B 20 40 20 57 41  |E .NUM ;. . @ WA|
00002220: 53 4E 22 54 00 46 26 8E  0D 42 43 43 20 53 4B 49  |SN"T.F&..BCC SKI|
00002230: 50 35 20 3B 8B 20 54 48  45 20 53 54 52 20 B3 20  |P5 ;. THE STR . |
00002240: 42 55 46 32 AB CB 00 70  26 98 0D 53 54 41 20 45  |BUF2...p&..STA E|
00002250: 58 49 54 31 30 AA 31 20  3B 53 45 54 20 54 48 45  |XIT10.1 ;SET THE|
00002260: 20 4C 4F 4F 50 20 41 47  41 49 4E 20 46 4C 41 47  | LOOP AGAIN FLAG|
00002270: 00 97 26 A2 0D 42 43 53  20 A8 4E 55 4D 20 3B 43  |..&..BCS .NUM ;C|
00002280: 41 52 52 59 20 49 53 20  53 45 54 20 55 4E 43 91  |ARRY IS SET UNC.|
00002290: 20 42 52 41 4E 43 48 00  BC 26 AC 0D 53 4B 49 50  | BRANCH..&..SKIP|
000022A0: 35 20 4C 44 41 20 23 B3  42 55 46 31 20 3B 53 45  |5 LDA #.BUF1 ;SE|
000022B0: 54 20 A4 20 43 4D 50 20  42 55 46 31 00 D4 26 B6  |T . CMP BUF1..&.|
000022C0: 0D 53 54 41 20 53 32 41  44 52 20 3B A4 20 53 54  |.STA S2ADR ;. ST|
000022D0: 52 49 4E 47 00 F5 26 C0  0D 4A 53 52 20 53 54 52  |RING..&..JSR STR|
000022E0: 43 4D 50 20 3B CB 20 53  54 52 41 49 47 48 54 20  |CMP ;. STRAIGHT |
000022F0: A4 20 43 4D 50 00 14 27  CA 0D 42 43 43 20 4A 4D  |. CMP..'..BCC JM|
00002300: 50 4E 54 32 20 3B 8B 20  53 54 52 20 B3 20 42 55  |PNT2 ;. STR . BU|
00002310: 46 31 AB CB 00 33 27 D4  0D 42 45 51 20 4A 4D 50  |F1...3'..BEQ JMP|
00002320: 4E 54 32 20 3B 8B 20 53  54 52 20 B2 20 42 55 46  |NT2 ;. STR . BUF|
00002330: 31 AB CB 00 51 27 DE 0D  4C 44 41 20 23 B3 42 55  |1...Q'..LDA #.BU|
00002340: 46 32 20 3B 53 45 54 55  50 20 50 4F B5 45 52 20  |F2 ;SETUP PO.ER |
00002350: 81 00 65 27 E8 0D 53 54  41 20 53 32 41 44 52 20  |..e'..STA S2ADR |
00002360: 3B 4D 4F 56 45 00 85 27  F2 0D 4A 53 52 20 4D 4F  |;MOVE..'..JSR MO|
00002370: 56 45 49 54 20 3B 4D 4F  56 45 20 53 54 52 20 A4  |VEIT ;MOVE STR .|
00002380: 20 42 55 46 32 00 A8 27  FC 0D 4C 44 41 20 23 B3  | BUF2..'..LDA #.|
00002390: 4C 4E 42 55 46 20 3B 52  45 53 45 54 20 80 20 4F  |LNBUF ;RESET . O|
000023A0: 46 20 42 55 46 46 45 52  00 BB 27 06 0E 53 54 41  |F BUFFER..'..STA|
000023B0: 20 4C 4E 80 20 3B 50 4F  B5 45 52 00 CB 27 10 0E  | LN. ;PO.ER..'..|
000023C0: 4C 44 41 20 23 B1 4C 4E  42 55 46 00 D9 27 1A 0E  |LDA #.LNBUF..'..|
000023D0: 53 54 41 20 4C 4E 80 AA  31 00 01 28 24 0E 4A 4D  |STA LN..1..($.JM|
000023E0: 50 4E 54 31 20 4A 53 52  20 53 35 31 20 3B 50 55  |PNT1 JSR S51 ;PU|
000023F0: 54 20 4C 49 4E 45 20 23  20 49 4E 20 4C 4E 42 55  |T LINE # IN LNBU|
00002400: 46 00 1C 28 2E 0E 4A 4D  50 4E 54 32 20 4A 4D 50  |F..(..JMPNT2 JMP|
00002410: 20 A8 4E 55 4D 20 3B 9A  49 4E 55 45 00 22 28 38  | .NUM ;.INUE."(8|
00002420: 0E 3B 00 42 28 42 0E 3B  AC 20 20 20 20 99 20 54  |.;.B(B.;.    . T|
00002430: 48 45 20 48 45 4C 50 20  54 45 58 54 20 20 20 20  |HE HELP TEXT    |
00002440: 20 AC 00 48 28 4C 0E 3B  00 6C 28 56 0E 48 45 4C  | ..H(L.;.l(V.HEL|
00002450: 50 20 4C 44 41 20 23 B1  48 45 4C 50 4D 47 20 3B  |P LDA #.HELPMG ;|
00002460: 8C 20 48 49 47 48 20 42  59 54 45 3B 00 7C 28 60  |. HIGH BYTE;.|(`|
00002470: 0E 53 54 41 20 4C 4F 4F  50 36 AA 32 00 95 28 6A  |.STA LOOP6.2..(j|
00002480: 0E 4C 44 59 20 23 30 30  20 3B 5A 45 52 4F 20 49  |.LDY #00 ;ZERO I|
00002490: 4E 44 45 58 3B 00 B5 28  74 0E 4C 4F 4F 50 36 20  |NDEX;..(t.LOOP6 |
000024A0: 4C 44 41 20 48 45 4C 50  4D 47 2C 59 20 3B A1 20  |LDA HELPMG,Y ;. |
000024B0: 43 48 41 52 3B 00 DA 28  7E 0E 42 45 51 20 48 50  |CHAR;..(~.BEQ HP|
000024C0: 44 91 45 20 3B 22 44 4F  45 53 20 43 48 41 52 3D  |D.E ;"DOES CHAR=|
000024D0: 30 3F 20 2D 20 44 4F 4E  45 3B 00 F2 28 88 0E 4A  |0? - DONE;..(..J|
000024E0: 53 52 20 43 48 52 4F 55  54 20 3B 99 20 43 48 41  |SR CHROUT ;. CHA|
000024F0: 52 3B 00 FA 28 92 0E 49  4E 59 00 17 29 9C 0E 42  |R;..(..INY..)..B|
00002500: 4E 45 20 4C 4F 4F 50 36  20 3B 55 4E 43 91 2E 20  |NE LOOP6 ;UNC.. |
00002510: 42 52 41 4E 43 48 3B 00  36 29 A6 0E 49 4E 43 20  |BRANCH;.6)..INC |
00002520: 4C 4F 4F 50 36 AA 32 20  3B A1 20 82 20 32 35 35  |LOOP6.2 ;. . 255|
00002530: 20 43 48 41 52 3B 00 53  29 B0 0E 42 4E 45 20 4C  | CHAR;.S)..BNE L|
00002540: 4F 4F 50 36 20 3B 55 4E  43 91 2E 20 42 52 41 4E  |OOP6 ;UNC.. BRAN|
00002550: 43 48 3B 00 75 29 BA 0E  48 50 44 91 45 20 4A 4D  |CH;.u)..HPD.E JM|
00002560: 50 20 4A 50 44 91 45 58  49 20 3B 8E 20 A4 20 42  |P JPD.EXI ;. . B|
00002570: 41 53 49 43 3B 00 7B 29  C4 0E 3B 00 9C 29 CE 0E  |ASIC;.{)..;..)..|
00002580: 3B AC 20 9B 20 54 48 45  20 52 45 46 45 52 41 4E  |;. . THE REFERAN|
00002590: 43 45 44 20 4C 49 4E 45  53 20 20 AC 00 A2 29 D8  |CED LINES  ...).|
000025A0: 0E 3B 00 CA 29 E2 0E 43  52 20 4A 53 52 20 42 55  |.;..)..CR JSR BU|
000025B0: 46 45 4D 50 20 3B 43 48  45 43 4B 20 8B 20 4C 4E  |FEMP ;CHECK . LN|
000025C0: 42 55 46 20 45 4D 50 54  59 3B 00 E4 29 EC 0E 42  |BUF EMPTY;..)..B|
000025D0: 45 51 20 48 45 52 45 32  20 3B 8B 20 45 4D 50 54  |EQ HERE2 ;. EMPT|
000025E0: 59 AB CB 3B 00 0B 2A F6  0E 4A 53 52 20 54 45 50  |Y..;..*..JSR TEP|
000025F0: 49 4E 43 20 3B 50 4F B5  20 A4 20 4C 49 4E 45 20  |INC ;PO. . LINE |
00002600: 23 20 49 4E 20 4C 4E 42  55 46 3B 00 32 2A 00 0F  |# IN LNBUF;.2*..|
00002610: 42 45 51 20 53 4B 49 50  31 32 20 3B 22 44 4F 4E  |BEQ SKIP12 ;"DON|
00002620: 45 20 41 4C 4C 20 52 45  46 27 53 3F 20 45 58 49  |E ALL REF'S? EXI|
00002630: 54 3B 00 46 2A 0A 0F 4C  44 59 20 23 30 30 20 3B  |T;.F*..LDY #00 ;|
00002640: 49 4E 44 45 58 3B 00 6B  2A 14 0F 4C 44 41 20 28  |INDEX;.k*..LDA (|
00002650: 54 45 50 42 55 46 29 2C  59 20 3B A1 20 4C 53 42  |TEPBUF),Y ;. LSB|
00002660: 20 4F 46 20 4C 49 4E 45  20 23 3B 00 89 2A 1E 0F  | OF LINE #;..*..|
00002670: 53 54 41 20 4C 49 4E 4E  55 4D 20 3B 94 20 49 54  |STA LINNUM ;. IT|
00002680: 20 81 20 42 41 53 49 43  53 00 A2 2A 28 0F 49 4E  | . BASICS..*(.IN|
00002690: 59 20 3B 9B 20 4C 49 4E  45 20 52 4F 55 54 49 4E  |Y ;. LINE ROUTIN|
000026A0: 45 3B 00 C7 2A 32 0F 4C  44 41 20 28 54 45 50 42  |E;..*2.LDA (TEPB|
000026B0: 55 46 29 2C 59 20 3B A1  20 4D 53 42 20 4F 46 20  |UF),Y ;. MSB OF |
000026C0: 4C 49 4E 45 20 23 3B 00  D8 2A 3C 0F 53 54 41 20  |LINE #;..*<.STA |
000026D0: 4C 49 4E 4E 55 4D AA 31  00 FF 2A 46 0F 4A 4D 50  |LINNUM.1..*F.JMP|
000026E0: 20 4A 50 43 52 4F 55 54  20 3B 42 41 4E 4B 20 49  | JPCROUT ;BANK I|
000026F0: 4E 20 52 4F 4D 20 26 20  9B 20 4C 49 4E 45 3B 00  |N ROM & . LINE;.|
00002700: 29 2B 50 0F 53 4B 49 50  31 32 20 4C 44 41 20 23  |)+P.SKIP12 LDA #|
00002710: B3 4C 4E 42 55 46 20 3B  52 45 53 45 54 20 80 20  |.LNBUF ;RESET . |
00002720: 4F 46 20 42 55 46 46 45  52 00 3D 2B 5A 0F 53 54  |OF BUFFER.=+Z.ST|
00002730: 41 20 4C 4E 80 20 3B 50  4F B5 45 52 3B 00 4D 2B  |A LN. ;PO.ER;.M+|
00002740: 64 0F 4C 44 41 20 23 B1  4C 4E 42 55 46 00 5B 2B  |d.LDA #.LNBUF.[+|
00002750: 6E 0F 53 54 41 20 4C 4E  80 AA 31 00 82 2B 78 0F  |n.STA LN..1..+x.|
00002760: 48 45 52 45 32 20 4A 4D  50 20 44 91 45 31 20 3B  |HERE2 JMP D.E1 ;|
00002770: 50 52 54 20 22 45 4E 44  20 4F 46 20 54 45 58 54  |PRT "END OF TEXT|
00002780: 22 3B 00 88 2B 82 0F 3B  00 A8 2B 8C 0F 3B AC 20  |";..+..;..+..;. |
00002790: 20 A1 20 C3 47 54 48 20  4F 46 20 41 20 56 41 52  | . .GTH OF A VAR|
000027A0: 20 B0 20 23 20 20 20 AC  00 AE 2B 96 0F 3B 00 CB  | . #   ...+..;..|
000027B0: 2B A0 0F A1 C3 20 4C 44  41 20 50 4F B5 20 3B A1  |+.... LDA PO. ;.|
000027C0: 20 54 48 45 20 41 44 44  20 4F 46 00 E9 2B AA 0F  | THE ADD OF..+..|
000027D0: 53 54 41 20 53 31 41 44  52 20 3B 57 48 45 52 45  |STA S1ADR ;WHERE|
000027E0: 20 54 48 45 20 56 41 52  3B 00 08 2C B4 0F 4C 44  | THE VAR;..,..LD|
000027F0: 41 20 50 4F B5 AA 31 20  3B 53 54 41 52 54 53 20  |A PO..1 ;STARTS |
00002800: 49 4E 20 42 41 53 49 43  00 24 2C BE 0F 53 54 41  |IN BASIC.$,..STA|
00002810: 20 53 31 41 44 52 AA 31  20 3B 50 52 47 20 AF 20  | S1ADR.1 ;PRG . |
00002820: 94 20 49 54 00 43 2C C8  0F 4C 44 41 20 23 24 30  |. IT.C,..LDA #$0|
00002830: 31 20 3B 49 4E 5A 49 54  2E 20 56 41 52 20 C3 20  |1 ;INZIT. VAR . |
00002840: 43 4E 54 00 4F 2C D2 0F  53 54 41 20 53 31 C3 00  |CNT.O,..STA S1..|
00002850: 6C 2C DC 0F 4C 4F 4F 50  31 32 20 4A 53 52 20 A1  |l,..LOOP12 JSR .|
00002860: 42 59 20 3B A1 20 82 20  43 48 41 52 00 92 2C E6  |BY ;. . CHAR..,.|
00002870: 0F 4E 55 4D 50 4E 54 20  4C 44 58 20 23 24 30 30  |.NUMPNT LDX #$00|
00002880: 20 3B B2 31 20 8B 20 23  20 45 4E 54 20 30 20 8B  | ;.1 . # ENT 0 .|
00002890: 20 A8 00 B0 2C F0 0F 42  4E 45 20 42 59 50 41 53  | ...,..BNE BYPAS|
000028A0: 53 20 3B 8B 20 23 20 45  4E 54 45 52 45 44 AB CB  |S ;. # ENTERED..|
000028B0: 00 CB 2C FA 0F 43 4D 50  20 23 24 35 42 20 3B 22  |..,..CMP #$5B ;"|
000028C0: 3E 20 54 48 45 4E 20 27  5A 27 3F 00 ED 2C 04 10  |> THEN 'Z'?..,..|
000028D0: 42 43 53 20 4D 49 4E 55  53 31 20 3B CB 20 43 4F  |BCS MINUS1 ;. CO|
000028E0: 4D 50 41 52 45 20 53 54  52 49 4E 47 53 00 0A 2D  |MPARE STRINGS..-|
000028F0: 0E 10 43 4D 50 20 23 24  34 31 20 3B 44 4F 45 53  |..CMP #$41 ;DOES|
00002900: 20 49 54 20 B2 B1 20 22  41 27 00 23 2D 18 10 42  | IT .. "A'.#-..B|
00002910: 43 53 20 41 44 44 C3 20  3B CB 20 49 4E 43 20 C3  |CS ADD. ;. INC .|
00002920: 47 54 48 00 3D 2D 22 10  43 4D 50 20 23 24 32 34  |GTH.=-".CMP #$24|
00002930: 20 3B 44 4F 45 53 20 49  54 20 B2 20 24 00 55 2D  | ;DOES IT . $.U-|
00002940: 2C 10 42 45 51 20 56 41  52 54 59 50 20 3B CB 20  |,.BEQ VARTYP ;. |
00002950: 8B 20 59 45 53 00 6F 2D  36 10 43 4D 50 20 23 24  |. YES.o-6.CMP #$|
00002960: 32 35 20 3B 44 4F 45 53  20 49 54 20 B2 20 25 00  |25 ;DOES IT . %.|
00002970: 7E 2D 40 10 42 45 51 20  56 41 52 54 59 50 00 98  |~-@.BEQ VARTYP..|
00002980: 2D 4A 10 43 4D 50 20 23  24 32 38 20 3B 44 4F 45  |-J.CMP #$28 ;DOE|
00002990: 53 20 49 54 20 B2 20 28  00 AF 2D 54 10 42 4E 45  |S IT . (..-T.BNE|
000029A0: 20 42 59 50 41 53 53 20  3B CB 20 8B 20 4E 4F 00  | BYPASS ;. . NO.|
000029B0: B5 2D 5E 10 3B 00 D6 2D  68 10 3B A8 48 49 4E 47  |.-^.;..-h.;.HING|
000029C0: 20 49 4E 20 54 48 45 20  28 29 20 B0 20 46 4F 4C  | IN THE () . FOL|
000029D0: 4C 4F 57 49 4E 47 00 F8  2D 72 10 3B 22 24 22 20  |LOWING..-r.;"$" |
000029E0: B0 20 22 25 22 20 49 53  20 43 4F 55 4E 54 45 44  |. "%" IS COUNTED|
000029F0: 20 41 53 20 50 41 52 54  00 19 2E 7C 10 3B 4F 46  | AS PART...|.;OF|
00002A00: 20 54 48 45 20 56 41 52  49 41 42 4C 45 20 53 4F  | THE VARIABLE SO|
00002A10: 20 57 45 20 4A 4D 50 20  A4 00 3B 2E 86 10 3B 53  | WE JMP ..;...;S|
00002A20: 54 52 43 4D 50 20 41 46  54 45 52 20 54 48 45 53  |TRCMP AFTER THES|
00002A30: 45 20 41 52 45 20 46 4F  55 4E 44 00 41 2E 90 10  |E ARE FOUND.A...|
00002A40: 3B 00 63 2E 9A 10 56 41  52 54 59 50 20 49 4E 43  |;.c...VARTYP INC|
00002A50: 20 53 31 C3 20 3B 49 4E  43 20 C3 47 54 48 20 42  | S1. ;INC .GTH B|
00002A60: 59 20 31 00 7F 2E A4 10  42 4E 45 20 4D 49 4E 55  |Y 1.....BNE MINU|
00002A70: 53 31 20 3B 55 4E 43 91  20 42 52 41 4E 43 48 00  |S1 ;UNC. BRANCH.|
00002A80: 85 2E AE 10 3B 00 A8 2E  B8 10 42 59 50 41 53 53  |....;.....BYPASS|
00002A90: 20 43 4D 50 20 23 24 33  41 20 3B 4C 4F 4F 4B 49  | CMP #$3A ;LOOKI|
00002AA0: 4E 47 20 81 20 41 20 23  00 C6 2E C2 10 42 43 53  |NG . A #.....BCS|
00002AB0: 20 4D 49 4E 55 53 31 20  3B CB 20 8B 20 A8 20 41  | MINUS1 ;. . . A|
00002AC0: 20 C6 49 49 20 23 00 E4  2E CC 10 43 4D 50 20 23  | .II #.....CMP #|
00002AD0: 24 33 30 20 3B 43 48 45  43 4B 20 81 20 C6 49 49  |$30 ;CHECK . .II|
00002AE0: 20 30 AB 39 00 FA 2E D6  10 42 43 43 20 4D 49 4E  | 0.9.....BCC MIN|
00002AF0: 55 53 31 20 3B CB 20 8B  20 A8 00 1D 2F E0 10 41  |US1 ;. . .../..A|
00002B00: 44 44 C3 20 49 4E 43 20  53 31 C3 20 3B 49 4E 43  |DD. INC S1. ;INC|
00002B10: 20 53 54 52 20 C3 47 54  48 20 43 4E 54 00 3F 2F  | STR .GTH CNT.?/|
00002B20: EA 10 42 4E 45 20 4C 4F  4F 50 31 32 20 3B 55 4E  |..BNE LOOP12 ;UN|
00002B30: 43 91 20 42 52 41 4E 43  48 AB 9A 49 4E 55 45 00  |C. BRANCH..INUE.|
00002B40: 45 2F F4 10 3B 00 67 2F  FE 10 3B AC 20 20 43 4F  |E/..;.g/..;.  CO|
00002B50: 4D 50 41 52 45 20 42 55  46 31 20 B0 20 32 20 A4  |MPARE BUF1 . 2 .|
00002B60: 20 56 41 52 20 20 AC 00  8B 2F 08 11 3B AC 20 20  | VAR  .../..;.  |
00002B70: B0 20 23 20 57 48 4F 53  20 41 44 44 20 49 53 20  |. # WHOS ADD IS |
00002B80: 49 4E 20 53 31 41 44 52  20 20 AC 00 91 2F 12 11  |IN S1ADR  .../..|
00002B90: 3B 00 B5 2F 1C 11 4D 49  4E 55 53 31 20 4C 44 41  |;../..MINUS1 LDA|
00002BA0: 20 42 53 80 20 3B 8B 20  80 AB 4F 46 AB 4C 49 4E  | BS. ;. ..OF.LIN|
00002BB0: 45 20 48 49 54 00 D6 2F  26 11 42 4E 45 20 53 54  |E HIT../&.BNE ST|
00002BC0: 52 43 4D 50 20 3B 44 91  22 54 20 42 41 43 4B 20  |RCMP ;D."T BACK |
00002BD0: 53 50 41 43 45 3B 00 F3  2F 30 11 53 45 43 20 3B  |SPACE;../0.SEC ;|
00002BE0: 49 4E 43 20 31 20 50 41  53 54 20 56 41 52 49 41  |INC 1 PAST VARIA|
00002BF0: 42 4C 45 00 0F 30 3A 11  4C 44 41 20 50 4F B5 20  |BLE..0:.LDA PO. |
00002C00: 3B 53 4F 20 54 41 4B 45  20 31 20 4F 46 46 3B 00  |;SO TAKE 1 OFF;.|
00002C10: 1B 30 44 11 53 42 43 20  23 30 31 00 2E 30 4E 11  |.0D.SBC #01..0N.|
00002C20: 53 54 41 20 50 4F B5 20  3B 94 20 49 54 3B 00 3D  |STA PO. ;. IT;.=|
00002C30: 30 58 11 42 43 53 20 53  54 52 43 4D 50 00 59 30  |0X.BCS STRCMP.Y0|
00002C40: 62 11 44 45 43 20 50 4F  B5 AA 31 20 3B A1 42 59  |b.DEC PO..1 ;.BY|
00002C50: 20 A1 53 20 43 48 41 52  3B 00 7D 30 6C 11 3B 46  | .S CHAR;.}0l.;F|
00002C60: 4F 4C 4C 4F 57 49 4E 47  20 56 41 52 2E 20 A8 20  |OLLOWING VAR. . |
00002C70: 32 4E 44 20 43 48 41 52  20 50 41 53 54 00 A4 30  |2ND CHAR PAST..0|
00002C80: 76 11 53 54 52 43 4D 50  20 4C 44 41 20 4E 55 4D  |v.STRCMP LDA NUM|
00002C90: 50 4E 54 AA 31 20 3B 8B  20 43 4D 50 22 49 4E 47  |PNT.1 ;. CMP"ING|
00002CA0: 20 23 22 53 00 C0 30 80  11 42 45 51 20 53 54 52  | #"S..0..BEQ STR|
00002CB0: 43 50 32 20 3B 54 45 53  54 20 C3 20 31 53 54 3B  |CP2 ;TEST . 1ST;|
00002CC0: 00 DA 30 8A 11 4A 53 52  20 54 53 54 C3 20 3B 8B  |..0..JSR TST. ;.|
00002CD0: 20 C3 22 53 20 4E 4F 54  20 3D 00 EF 30 94 11 42  | ."S NOT =..0..B|
00002CE0: 4E 45 20 45 58 54 43 4D  50 20 3B A7 20 8E 3B 00  |NE EXTCMP ;. .;.|
00002CF0: 01 31 9E 11 53 54 52 43  50 32 20 4C 44 59 20 23  |.1..STRCP2 LDY #|
00002D00: 30 00 24 31 A8 11 4C 44  41 20 28 53 32 41 44 52  |0.$1..LDA (S2ADR|
00002D10: 29 2C 59 20 3B A1 20 C3  20 4F 46 20 42 55 46 20  |),Y ;. . OF BUF |
00002D20: 53 54 52 3B 00 40 31 B2  11 43 4D 50 20 53 31 C3  |STR;.@1..CMP S1.|
00002D30: 20 3B 43 4D 50 20 A4 20  A2 20 53 54 52 20 C3 3B  | ;CMP . . STR .;|
00002D40: 00 5E 31 BC 11 42 43 43  20 42 45 47 43 4D 50 20  |.^1..BCC BEGCMP |
00002D50: 3B 8B 20 C3 20 4F 46 20  53 31 C3 20 49 53 00 7A  |;. . OF S1. IS.z|
00002D60: 31 C6 11 4C 44 41 20 53  31 C3 20 3B 53 48 B0 54  |1..LDA S1. ;SH.T|
00002D70: 45 52 20 55 53 45 20 49  54 3B 00 80 31 D0 11 3B  |ER USE IT;..1..;|
00002D80: 00 A4 31 DA 11 3B AC 20  43 4F 4D 50 41 52 45 20  |..1..;. COMPARE |
00002D90: 54 48 45 20 53 54 52 20  54 48 52 55 20 C3 47 54  |THE STR THRU .GT|
00002DA0: 48 20 4F 46 00 B9 31 E4  11 3B AC 20 53 48 B0 54  |H OF..1..;. SH.T|
00002DB0: 45 52 20 53 54 52 49 4E  47 00 BF 31 EE 11 3B 00  |ER STRING..1..;.|
00002DC0: E1 31 F8 11 42 45 47 43  4D 50 20 54 41 58 20 3B  |.1..BEGCMP TAX ;|
00002DD0: 58 B2 C3 20 4F 46 20 53  48 B0 54 45 52 20 53 54  |X.. OF SH.TER ST|
00002DE0: 52 00 02 32 02 12 42 45  51 20 54 53 54 C3 20 3B  |R..2..BEQ TST. ;|
00002DF0: 42 52 41 4E 43 48 20 8B  20 C3 47 54 48 20 5A 45  |BRANCH . .GTH ZE|
00002E00: 52 4F 00 31 32 0C 12 43  4D 50 4C 50 20 4C 44 41  |RO.12..CMPLP LDA|
00002E10: 20 28 53 31 41 44 52 29  2C 59 20 3B A1 20 43 48  | (S1ADR),Y ;. CH|
00002E20: 41 52 20 46 52 4F 4D 20  42 41 53 49 43 20 50 52  |AR FROM BASIC PR|
00002E30: 47 00 41 32 16 12 49 4E  59 20 3B 82 20 43 48 41  |G.A2..INY ;. CHA|
00002E40: 52 00 61 32 20 12 43 4D  50 20 28 53 32 41 44 52  |R.a2 .CMP (S2ADR|
00002E50: 29 2C 59 20 3B 43 4D 50  20 42 55 46 31 20 B0 20  |),Y ;CMP BUF1 . |
00002E60: 32 00 7E 32 2A 12 42 4E  45 20 45 58 54 43 4D 50  |2.~2*.BNE EXTCMP|
00002E70: 20 3B CB 20 8B 20 43 48  41 52 20 A8 20 B2 00 93  | ;. . CHAR . ...|
00002E80: 32 34 12 44 45 58 20 3B  44 45 43 20 43 4F 55 4E  |24.DEX ;DEC COUN|
00002E90: 54 45 52 00 B9 32 3E 12  42 4E 45 20 43 4D 50 4C  |TER..2>.BNE CMPL|
00002EA0: 50 20 3B 4C 4F 4F 50 20  22 54 49 4C 20 41 4C 4C  |P ;LOOP "TIL ALL|
00002EB0: 20 43 4F 4D 50 41 52 45  44 00 BF 32 48 12 3B 00  | COMPARED..2H.;.|
00002EC0: E1 32 52 12 3B 54 48 45  20 32 20 53 54 52 20 41  |.2R.;THE 2 STR A|
00002ED0: 52 45 20 45 51 55 41 4C  AB 54 48 45 20 C3 47 54  |RE EQUAL.THE .GT|
00002EE0: 48 00 02 33 5C 12 3B 4F  46 20 54 48 45 20 53 48  |H..3\.;OF THE SH|
00002EF0: B0 54 45 52 20 53 4F 20  55 53 45 20 C3 47 54 48  |.TER SO USE .GTH|
00002F00: 20 81 00 16 33 66 12 3B  53 45 54 54 49 4E 47 20  | ...3f.;SETTING |
00002F10: 46 4C 41 47 53 3B 00 1C  33 70 12 3B 00 3B 33 7A  |FLAGS;..3p.;.;3z|
00002F20: 12 54 53 54 C3 20 4C 44  59 20 23 30 20 3B 43 4F  |.TST. LDY #0 ;CO|
00002F30: 4D 50 41 52 45 20 C3 47  54 48 53 00 56 33 84 12  |MPARE .GTHS.V3..|
00002F40: 4C 44 41 20 53 31 C3 20  3B 53 45 54 20 B0 20 9C  |LDA S1. ;SET . .|
00002F50: 20 46 4C 41 47 53 00 68  33 8E 12 43 4D 50 20 28  | FLAGS.h3..CMP (|
00002F60: 53 32 41 44 52 29 2C 59  00 6E 33 98 12 3B 00 8C  |S2ADR),Y.n3..;..|
00002F70: 33 A2 12 3B 45 58 49 54  20 46 52 4F 4D 20 53 54  |3..;EXIT FROM ST|
00002F80: 52 49 4E 47 20 43 4F 4D  50 41 52 45 00 92 33 AC  |RING COMPARE..3.|
00002F90: 12 3B 00 A1 33 B6 12 45  58 54 43 4D 50 20 52 54  |.;..3..EXTCMP RT|
00002FA0: 53 00 A7 33 C0 12 3B 00  C8 33 CA 12 3B AC 20 20  |S..3..;..3..;.  |
00002FB0: 4D 4F 56 45 20 54 48 45  20 56 41 52 2E 20 50 4F  |MOVE THE VAR. PO|
00002FC0: B5 45 44 20 A4 20 20 AC  00 EB 33 D4 12 3B AC 20  |.ED .  ...3..;. |
00002FD0: 20 42 59 20 53 31 41 44  52 20 A4 20 57 48 45 52  | BY S1ADR . WHER|
00002FE0: 45 20 53 32 41 44 52 20  20 20 AC 00 0D 34 DE 12  |E S2ADR   ...4..|
00002FF0: 3B AC 20 20 50 4F B5 53  20 20 20 20 20 20 20 20  |;.  PO.S        |
00003000: 20 20 20 20 20 20 20 20  20 20 20 20 AC 00 13 34  |            ...4|
00003010: E8 12 3B 00 37 34 F2 12  4D 4F 56 45 49 54 20 4C  |..;.74..MOVEIT L|
00003020: 44 59 20 23 24 30 30 20  3B 5A 45 52 4F 20 49 4E  |DY #$00 ;ZERO IN|
00003030: 44 45 58 20 50 4E 54 00  53 34 FC 12 4C 44 41 20  |DEX PNT.S4..LDA |
00003040: 53 31 C3 20 3B A1 20 C3  47 54 48 20 4F 46 20 53  |S1. ;. .GTH OF S|
00003050: 54 52 31 00 76 34 06 13  53 54 41 20 28 53 32 41  |TR1.v4..STA (S2A|
00003060: 44 52 29 2C 59 20 3B 94  20 49 54 20 A4 20 42 55  |DR),Y ;. IT . BU|
00003070: 46 31 20 B0 20 32 00 8A  34 10 13 54 41 58 20 3B  |F1 . 2..4..TAX ;|
00003080: 50 55 54 20 C3 20 49 4E  20 58 00 B2 34 1A 13 4D  |PUT . IN X..4..M|
00003090: 56 4C 4F 4F 50 20 4C 44  41 20 28 53 31 41 44 52  |VLOOP LDA (S1ADR|
000030A0: 29 2C 59 20 3B A1 20 41  20 43 48 41 52 41 43 54  |),Y ;. A CHARACT|
000030B0: 45 52 00 C5 34 24 13 49  4E 59 20 3B 49 4E 43 20  |ER..4$.INY ;INC |
000030C0: 49 4E 44 45 58 00 E6 34  2E 13 53 54 41 20 28 53  |INDEX..4..STA (S|
000030D0: 32 41 44 52 29 2C 59 20  3B 94 20 43 48 41 52 20  |2ADR),Y ;. CHAR |
000030E0: A4 20 42 55 46 23 00 FB  34 38 13 44 45 58 20 3B  |. BUF#..48.DEX ;|
000030F0: 44 45 43 20 43 4F 55 4E  54 45 52 00 1F 35 42 13  |DEC COUNTER..5B.|
00003100: 42 4E 45 20 4D 56 4C 4F  4F 50 20 3B 4C 4F 4F 50  |BNE MVLOOP ;LOOP|
00003110: 20 22 54 49 4C 20 41 4C  4C 20 4D 4F 56 45 44 00  | "TIL ALL MOVED.|
00003120: 33 35 4C 13 52 54 53 20  3B 8E 20 A4 20 43 41 4C  |35L.RTS ;. . CAL|
00003130: 4C 45 52 00 39 35 56 13  3B 00 5B 35 60 13 3B AC  |LER.95V.;.[5`.;.|
00003140: 20 20 43 48 45 43 4B 20  8B 20 4C 49 4E 45 20 23  |  CHECK . LINE #|
00003150: 20 49 53 20 41 4C 87 59  20 20 AC 00 80 35 6A 13  | IS AL.Y  ...5j.|
00003160: 3B AC 20 20 49 4E 20 4C  4E 42 55 46 2E 20 8B 20  |;.  IN LNBUF. . |
00003170: 49 54 20 49 53 20 49 4E  43 20 43 4E 54 20 20 AC  |IT IS INC CNT  .|
00003180: 00 A3 35 74 13 3B AC 20  20 8B 20 A8 20 50 55 54  |..5t.;.  . . PUT|
00003190: 20 49 54 20 54 48 45 52  45 20 20 20 20 20 20 20  | IT THERE       |
000031A0: 20 20 AC 00 A9 35 7E 13  3B 00 D1 35 88 13 53 35  |  ...5~.;..5..S5|
000031B0: 31 20 4A 53 52 20 42 55  46 45 4D 50 20 3B 43 48  |1 JSR BUFEMP ;CH|
000031C0: 45 43 4B 20 8B 20 4C 4E  42 55 46 20 45 4D 50 54  |ECK . LNBUF EMPT|
000031D0: 59 00 FA 35 92 13 42 45  51 20 4C 4E 50 55 54 20  |Y..5..BEQ LNPUT |
000031E0: 3B 42 55 46 20 45 4D 50  54 59 20 50 55 54 20 4C  |;BUF EMPTY PUT L|
000031F0: 49 4E 45 23 20 49 4E 20  49 54 00 07 36 9C 13 4C  |INE# IN IT..6..L|
00003200: 44 59 20 23 24 30 30 00  29 36 A6 13 4C 44 41 20  |DY #$00.)6..LDA |
00003210: 28 4C 4E 80 29 2C 59 20  3B A1 20 4C 49 4E 45 23  |(LN.),Y ;. LINE#|
00003220: 20 49 4E 20 4C 4E 42 55  46 00 50 36 B0 13 43 4D  | IN LNBUF.P6..CM|
00003230: 50 20 4C 49 4E 4E 55 4D  20 3B 43 4D 50 20 49 54  |P LINNUM ;CMP IT|
00003240: 20 A4 20 50 52 45 53 45  4E 54 20 4C 49 4E 45 23  | . PRESENT LINE#|
00003250: 00 7E 36 BA 13 42 4E 45  20 4C 4E 50 55 54 20 3B  |.~6..BNE LNPUT ;|
00003260: 4C 49 4E 45 23 20 49 53  20 A8 20 49 4E 20 42 55  |LINE# IS . IN BU|
00003270: 46 AB 50 55 54 20 49 54  20 54 48 45 52 45 00 9A  |F.PUT IT THERE..|
00003280: 36 C4 13 49 4E 59 20 3B  50 4F B5 20 A4 20 4D 53  |6..INY ;PO. . MS|
00003290: 42 20 4F 46 20 4C 49 4E  45 23 00 BE 36 CE 13 4C  |B OF LINE#..6..L|
000032A0: 44 41 20 28 4C 4E 80 29  2C 59 20 3B 43 4D 50 20  |DA (LN.),Y ;CMP |
000032B0: 4D 53 42 22 53 20 4F 46  20 4C 49 4E 45 23 00 CF  |MSB"S OF LINE#..|
000032C0: 36 D8 13 43 4D 50 20 4C  49 4E 4E 55 4D AA 31 00  |6..CMP LINNUM.1.|
000032D0: DD 36 E2 13 42 4E 45 20  4C 4E 50 55 54 00 FB 36  |.6..BNE LNPUT..6|
000032E0: EC 13 49 4E 59 20 3B 50  4E 54 20 A4 20 43 4E 54  |..INY ;PNT . CNT|
000032F0: 20 4F 46 20 23 20 54 49  4D 45 53 00 20 37 F6 13  | OF # TIMES. 7..|
00003300: 4C 44 41 20 23 24 30 31  20 3B 49 54 20 41 50 50  |LDA #$01 ;IT APP|
00003310: 45 41 52 53 20 91 20 54  48 41 54 20 4C 49 4E 45  |EARS . THAT LINE|
00003320: 00 39 37 00 14 43 4C 43  20 3B 53 45 54 20 43 41  |.97..CLC ;SET CA|
00003330: 52 52 59 20 81 20 41 44  44 00 58 37 0A 14 41 44  |RRY . ADD.X7..AD|
00003340: 43 20 28 4C 4E 80 29 2C  59 20 3B 41 44 44 20 31  |C (LN.),Y ;ADD 1|
00003350: 20 A4 20 43 4F 55 4E 54  00 6E 37 14 14 53 54 41  | . COUNT.n7..STA|
00003360: 20 28 4C 4E 80 29 2C 59  20 3B 94 20 49 54 00 76  | (LN.),Y ;. IT.v|
00003370: 37 1E 14 52 54 53 00 7C  37 28 14 3B 00 98 37 32  |7..RTS.|7(.;..72|
00003380: 14 4C 4E 50 55 54 20 43  4C 43 20 3B 4C 4F 4F 50  |.LNPUT CLC ;LOOP|
00003390: 20 43 4F 55 4E 54 45 52  00 BA 37 3C 14 4C 44 41  | COUNTER..7<.LDA|
000033A0: 20 4C 4E 80 20 3B A1 20  4C 53 42 20 4F 46 20 80  | LN. ;. LSB OF .|
000033B0: 20 4F 46 20 42 55 46 46  45 52 00 D6 37 46 14 41  | OF BUFFER..7F.A|
000033C0: 44 43 20 23 24 30 33 20  3B 50 4F B5 20 4C 4E 80  |DC #$03 ;PO. LN.|
000033D0: 20 A4 20 82 20 9F 00 F2  37 50 14 53 54 41 20 4C  | . . ...7P.STA L|
000033E0: 4E 80 20 3B 53 50 41 43  45 20 49 4E 20 4C 4E 42  |N. ;SPACE IN LNB|
000033F0: 55 46 00 07 38 5A 14 4C  44 41 20 4C 4E 80 AA 31  |UF..8Z.LDA LN..1|
00003400: 20 3B A1 20 4D 53 42 00  28 38 64 14 41 44 43 20  | ;. MSB.(8d.ADC |
00003410: 23 24 30 30 20 3B 41 44  44 20 54 48 45 20 43 41  |#$00 ;ADD THE CA|
00003420: 52 52 59 20 8B 20 91 45  00 41 38 6E 14 53 54 41  |RRY . .E.A8n.STA|
00003430: 20 4C 4E 80 AA 31 20 3B  47 45 4E 45 52 41 54 45  | LN..1 ;GENERATE|
00003440: 44 00 58 38 78 14 4C 44  59 20 23 30 20 3B 5A 45  |D.X8x.LDY #0 ;ZE|
00003450: 52 4F 20 49 4E 44 45 58  00 7B 38 82 14 4C 44 41  |RO INDEX.{8..LDA|
00003460: 20 4C 49 4E 4E 55 4D 20  3B A1 20 42 41 53 49 43  | LINNUM ;. BASIC|
00003470: 20 50 52 47 20 4C 49 4E  45 20 23 00 99 38 8C 14  | PRG LINE #..8..|
00003480: 53 54 41 20 28 4C 4E 80  29 2C 59 20 3B AF 20 53  |STA (LN.),Y ;. S|
00003490: A4 52 45 20 49 54 20 49  4E 00 B0 38 96 14 49 4E  |.RE IT IN..8..IN|
000034A0: 59 20 3B 49 4E 20 54 48  45 20 4C 49 4E 45 20 23  |Y ;IN THE LINE #|
000034B0: 00 C9 38 A0 14 4C 44 41  20 4C 49 4E 4E 55 4D AA  |..8..LDA LINNUM.|
000034C0: 31 20 3B 42 55 46 46 45  52 00 D9 38 AA 14 53 54  |1 ;BUFFER..8..ST|
000034D0: 41 20 28 4C 4E 80 29 2C  59 00 E1 38 B4 14 49 4E  |A (LN.),Y..8..IN|
000034E0: 59 00 FE 38 BE 14 4C 44  41 20 23 24 30 31 20 3B  |Y..8..LDA #$01 ;|
000034F0: 4C 44 41 20 57 49 54 48  20 43 4F 55 4E 54 00 16  |LDA WITH COUNT..|
00003500: 39 C8 14 53 54 41 20 28  4C 4E 80 29 2C 59 20 3B  |9..STA (LN.),Y ;|
00003510: AF 20 94 20 49 54 00 2A  39 D2 14 52 54 53 20 3B  |. . IT.*9..RTS ;|
00003520: 8E 20 A4 20 43 41 4C 4C  45 52 00 30 39 DC 14 3B  |. . CALLER.09..;|
00003530: 00 37 39 E6 14 3B AC 00  5C 39 F0 14 3B AC 20 A1  |.79..;..\9..;. .|
00003540: 20 41 20 42 59 54 45 20  46 52 4F 4D 20 54 48 45  | A BYTE FROM THE|
00003550: 20 42 41 53 49 43 20 50  52 47 20 AC 00 62 39 FA  | BASIC PRG ..b9.|
00003560: 14 3B 00 8B 39 04 15 A1  42 59 20 4C 44 41 20 23  |.;..9...BY LDA #|
00003570: 24 30 31 20 3B 52 45 53  45 54 20 54 48 45 20 41  |$01 ;RESET THE A|
00003580: 44 43 20 49 4E 20 53 4B  49 50 36 00 AF 39 0E 15  |DC IN SKIP6..9..|
00003590: 53 54 41 20 41 44 44 31  35 AA 31 20 3B A4 20 49  |STA ADD15.1 ;. I|
000035A0: 4E 43 20 22 50 4F 49 4E  54 22 20 42 59 20 31 00  |NC "POINT" BY 1.|
000035B0: CB 39 18 15 4C 44 41 20  42 53 80 20 3B 57 41 53  |.9..LDA BS. ;WAS|
000035C0: 20 80 20 4F 46 20 42 41  53 49 43 00 F3 39 22 15  | . OF BASIC..9".|
000035D0: 42 45 51 20 53 4B 49 50  36 20 3B 22 4C 49 4E 45  |BEQ SKIP6 ;"LINE|
000035E0: 20 45 4E 44 20 48 49 54  20 4C 41 53 54 20 54 49  | END HIT LAST TI|
000035F0: 4D 45 3F 00 11 3A 2C 15  44 45 43 20 42 53 80 20  |ME?..:,.DEC BS. |
00003600: 3B 5A 45 52 4F 20 4C 49  4E 45 20 80 20 46 4C 41  |;ZERO LINE . FLA|
00003610: 47 00 32 3A 36 15 4C 44  59 20 23 24 30 33 20 3B  |G.2:6.LDY #$03 ;|
00003620: 50 4F B5 20 49 4E 44 45  58 20 A4 20 4C 49 4E 45  |PO. INDEX . LINE|
00003630: 20 23 00 53 3A 40 15 4C  44 41 20 28 50 4F B5 29  | #.S:@.LDA (PO.)|
00003640: 2C 59 20 3B A1 20 4C 53  42 20 4F 46 20 4C 49 4E  |,Y ;. LSB OF LIN|
00003650: 45 20 23 00 68 3A 4A 15  53 54 41 20 4C 49 4E 4E  |E #.h:J.STA LINN|
00003660: 55 4D 20 3B 94 20 49 54  00 70 3A 54 15 49 4E 59  |UM ;. IT.p:T.INY|
00003670: 00 91 3A 5E 15 4C 44 41  20 28 50 4F B5 29 2C 59  |..:^.LDA (PO.),Y|
00003680: 20 3B A1 20 4D 53 42 20  4F 46 20 4C 49 4E 45 20  | ;. MSB OF LINE |
00003690: 23 00 A8 3A 68 15 53 54  41 20 4C 49 4E 4E 55 4D  |#..:h.STA LINNUM|
000036A0: AA 31 20 3B 94 20 49 54  00 D2 3A 72 15 4C 44 41  |.1 ;. IT..:r.LDA|
000036B0: 20 23 24 30 35 20 3B 53  45 54 20 41 44 43 20 49  | #$05 ;SET ADC I|
000036C0: 4E 20 53 4B 49 50 36 20  A4 20 49 4E 43 20 50 41  |N SKIP6 . INC PA|
000036D0: 53 53 00 FB 3A 7C 15 53  54 41 20 41 44 44 31 35  |SS..:|.STA ADD15|
000036E0: AA 31 20 3B 54 48 45 20  4C 49 4E 45 20 50 4F B5  |.1 ;THE LINE PO.|
000036F0: 45 52 20 26 20 4C 49 4E  45 20 23 00 09 3B 86 15  |ER & LINE #..;..|
00003700: 53 4B 49 50 36 20 43 4C  43 00 2B 3B 90 15 4C 44  |SKIP6 CLC.+;..LD|
00003710: 41 20 50 4F B5 20 3B 49  4E 43 20 22 50 4F 49 4E  |A PO. ;INC "POIN|
00003720: 54 22 20 A4 20 82 20 42  59 54 45 00 4D 3B 9A 15  |T" . . BYTE.M;..|
00003730: 41 44 44 31 35 20 41 44  43 20 23 24 30 31 20 3B  |ADD15 ADC #$01 ;|
00003740: 4F 46 20 42 41 53 49 43  20 4C 49 4E 45 00 59 3B  |OF BASIC LINE.Y;|
00003750: A4 15 53 54 41 20 50 4F  B5 00 7B 3B AE 15 4C 44  |..STA PO..{;..LD|
00003760: 41 20 50 4F B5 AA 31 20  3B 41 44 44 20 54 48 45  |A PO..1 ;ADD THE|
00003770: 20 43 41 52 52 59 20 8B  20 91 45 00 97 3B B8 15  | CARRY . .E..;..|
00003780: 41 44 43 20 23 24 30 30  20 3B 57 41 53 20 47 45  |ADC #$00 ;WAS GE|
00003790: 4E 45 52 41 54 45 44 00  A5 3B C2 15 53 54 41 20  |NERATED..;..STA |
000037A0: 50 4F B5 AA 31 00 BE 3B  CC 15 4C 44 59 20 23 24  |PO..1..;..LDY #$|
000037B0: 30 30 20 3B 5A 45 52 4F  20 49 4E 44 45 58 00 E7  |00 ;ZERO INDEX..|
000037C0: 3B D6 15 4C 44 41 20 28  50 4F B5 29 2C 59 20 3B  |;..LDA (PO.),Y ;|
000037D0: A1 20 41 20 42 59 54 45  20 46 52 4F 4D 20 42 41  |. A BYTE FROM BA|
000037E0: 53 49 43 20 50 52 47 00  04 3C E0 15 42 45 51 20  |SIC PRG..<..BEQ |
000037F0: 5A 45 52 4F 43 4B 20 3B  8B 20 49 54 20 B2 20 30  |ZEROCK ;. IT . 0|
00003800: 20 AB 20 CB 00 1C 3C EA  15 43 4D 50 20 23 24 32  | . ...<..CMP #$2|
00003810: 30 20 3B 22 3D 20 53 50  41 43 45 3F 00 38 3C F4  |0 ;"= SPACE?.8<.|
00003820: 15 42 45 51 20 A1 42 59  20 3B 42 59 50 41 53 53  |.BEQ .BY ;BYPASS|
00003830: 20 53 50 41 43 45 53 3B  00 40 3C FE 15 52 54 53  | SPACES;.@<..RTS|
00003840: 00 5D 3C 08 16 5A 45 52  4F 43 4B 20 49 4E 59 20  |.]<..ZEROCK INY |
00003850: 3B 49 4E 43 20 A4 20 82  20 42 59 54 45 00 7E 3C  |;INC . . BYTE.~<|
00003860: 12 16 43 4D 50 20 28 50  4F B5 29 2C 59 20 3B 22  |..CMP (PO.),Y ;"|
00003870: 49 53 20 49 54 20 5A 45  52 4F 20 54 4F 3F 00 A9  |IS IT ZERO TO?..|
00003880: 3C 1C 16 42 45 51 20 53  4B 49 50 37 20 3B 22 59  |<..BEQ SKIP7 ;"Y|
00003890: 45 53 2D 54 48 45 4E 20  45 4E 44 20 4F 46 20 42  |ES-THEN END OF B|
000038A0: 41 53 49 43 20 50 52 47  3F 00 CE 3C 26 16 53 45  |ASIC PRG?..<&.SE|
000038B0: 54 80 20 49 4E 43 20 42  53 80 20 3B 53 45 54 20  |T. INC BS. ;SET |
000038C0: 80 20 4F 46 20 4C 49 4E  45 20 46 4C 41 47 00 D6  |. OF LINE FLAG..|
000038D0: 3C 30 16 52 54 53 00 DC  3C 3A 16 3B 00 F8 3C 44  |<0.RTS..<:.;..<D|
000038E0: 16 53 4B 49 50 37 20 49  4E 59 20 3B 49 4E 43 20  |.SKIP7 INY ;INC |
000038F0: A4 20 82 20 42 59 54 45  00 1E 3D 4E 16 43 4D 50  |. . BYTE..=N.CMP|
00003900: 20 28 50 4F B5 29 2C 59  20 3B 22 49 53 20 33 52  | (PO.),Y ;"IS 3R|
00003910: 44 20 42 59 54 45 20 41  20 5A 45 52 4F 3F 00 41  |D BYTE A ZERO?.A|
00003920: 3D 58 16 42 4E 45 20 53  45 54 80 20 3B 59 45 53  |=X.BNE SET. ;YES|
00003930: AB A7 20 80 20 4F 46 20  42 41 53 49 43 20 50 52  |.. . OF BASIC PR|
00003940: 47 00 61 3D 62 16 49 4E  43 20 50 52 47 80 20 3B  |G.a=b.INC PRG. ;|
00003950: 53 45 54 20 80 20 4F 46  20 50 52 47 20 46 4C 41  |SET . OF PRG FLA|
00003960: 47 00 6F 3D 6C 16 5A 45  52 4F 33 20 52 54 53 00  |G.o=l.ZERO3 RTS.|
00003970: 75 3D 76 16 3B 00 92 3D  80 16 3B AC 20 20 99 20  |u=v.;..=..;.  . |
00003980: 9A 45 4E 54 53 20 4F 46  20 4C 4E 42 55 46 20 20  |.ENTS OF LNBUF  |
00003990: 20 AC 00 98 3D 8A 16 3B  00 C1 3D 94 16 50 52 54  | ...=..;..=..PRT|
000039A0: 80 20 4A 53 52 20 42 55  46 45 4D 50 20 3B 43 48  |. JSR BUFEMP ;CH|
000039B0: 45 43 4B 20 8B 20 4C 4E  42 55 46 20 45 4D 50 54  |ECK . LNBUF EMPT|
000039C0: 59 00 E2 3D 9E 16 42 45  51 20 45 58 49 54 31 30  |Y..=..BEQ EXIT10|
000039D0: 20 3B 42 55 46 20 45 4D  50 54 59 20 8B 20 5A 45  | ;BUF EMPTY . ZE|
000039E0: 52 4F 00 0B 3E A8 16 4A  53 52 20 4C 4E 50 55 54  |RO..>..JSR LNPUT|
000039F0: 20 3B 49 4E 43 20 50 41  53 54 20 4C 41 53 54 20  | ;INC PAST LAST |
00003A00: 23 20 49 4E 20 4C 4E 42  55 46 3B 00 21 3E B2 16  |# IN LNBUF;.!>..|
00003A10: 4C 44 41 20 23 24 30 44  20 3B 99 20 41 20 43 52  |LDA #$0D ;. A CR|
00003A20: 3B 00 32 3E BC 16 4A 53  52 20 4A 50 4F 55 54 50  |;.2>..JSR JPOUTP|
00003A30: 55 54 00 53 3E C6 16 4C  44 58 20 42 55 46 32 20  |UT.S>..LDX BUF2 |
00003A40: 3B 41 B2 C3 20 4F 46 20  53 54 52 20 49 4E 20 42  |;A.. OF STR IN B|
00003A50: 55 46 32 00 76 3E D0 16  4C 44 59 20 23 24 30 31  |UF2.v>..LDY #$01|
00003A60: 20 3B 50 4F B5 20 49 4E  44 45 58 20 A4 20 31 53  | ;PO. INDEX . 1S|
00003A70: 54 20 43 48 41 52 00 95  3E DA 16 4C 4F 4F 50 35  |T CHAR..>..LOOP5|
00003A80: 20 4C 44 41 20 42 55 46  32 2C 59 20 3B A1 20 41  | LDA BUF2,Y ;. A|
00003A90: 20 43 48 41 52 00 AC 3E  E4 16 4A 53 52 20 4A 50  | CHAR..>..JSR JP|
00003AA0: 4F 55 54 50 55 54 20 3B  99 20 49 54 00 B4 3E EE  |OUTPUT ;. IT..>.|
00003AB0: 16 49 4E 59 00 BC 3E F8  16 44 45 58 00 CA 3E 02  |.INY..>..DEX..>.|
00003AC0: 17 42 4E 45 20 4C 4F 4F  50 35 00 EE 3E 0C 17 4A  |.BNE LOOP5..>..J|
00003AD0: 53 52 20 50 52 54 53 50  43 20 3B 53 50 43 20 43  |SR PRTSPC ;SPC C|
00003AE0: 55 52 53 B0 20 A4 20 43  4F 4C 2E 20 31 31 00 15  |URS. . COL. 11..|
00003AF0: 3F 16 17 4C 44 41 20 23  B3 4C 4E 42 55 46 AA 33  |?..LDA #.LNBUF.3|
00003B00: 20 3B 50 55 54 20 53 54  41 52 54 20 4F 46 20 4C  | ;PUT START OF L|
00003B10: 49 4E 45 20 23 00 38 3F  20 17 53 54 41 20 54 45  |INE #.8? .STA TE|
00003B20: 50 42 55 46 20 3B 42 55  46 46 45 52 20 49 4E 20  |PBUF ;BUFFER IN |
00003B30: 54 45 4D 50 B0 41 52 59  00 58 3F 2A 17 4C 44 41  |TEMP.ARY.X?*.LDA|
00003B40: 20 23 B1 4C 4E 42 55 46  20 3B 42 55 46 46 45 52  | #.LNBUF ;BUFFER|
00003B50: 20 41 44 44 52 45 53 53  00 69 3F 34 17 53 54 41  | ADDRESS.i?4.STA|
00003B60: 20 54 45 50 42 55 46 AA  31 00 86 3F 3E 17 A1 4E  | TEPBUF.1..?>..N|
00003B70: 55 4D 20 4C 44 59 20 23  24 30 30 20 3B 53 45 54  |UM LDY #$00 ;SET|
00003B80: 20 49 4E 44 45 58 00 AA  3F 48 17 4C 44 41 20 28  | INDEX..?H.LDA (|
00003B90: 54 45 50 42 55 46 29 2C  59 20 3B A1 20 4C 53 42  |TEPBUF),Y ;. LSB|
00003BA0: 20 4F 46 20 4E 55 4D 42  45 52 00 C7 3F 52 17 53  | OF NUMBER..?R.S|
00003BB0: 54 41 20 C5 55 45 20 3B  94 20 49 54 20 81 20 42  |TA .UE ;. IT . B|
00003BC0: 4E 20 32 20 C6 49 49 00  CF 3F 5C 17 49 4E 59 00  |N 2 .II..?\.INY.|
00003BD0: F3 3F 66 17 4C 44 41 20  28 54 45 50 42 55 46 29  |.?f.LDA (TEPBUF)|
00003BE0: 2C 59 20 3B A1 20 4D 53  42 20 4F 46 20 4E 55 4D  |,Y ;. MSB OF NUM|
00003BF0: 42 45 52 00 07 40 70 17  53 54 41 20 C5 55 45 AA  |BER..@p.STA .UE.|
00003C00: 31 20 3B 94 20 49 54 00  1C 40 7A 17 49 4E 59 20  |1 ;. IT..@z.INY |
00003C10: 3B 50 4F B5 20 A4 20 43  4F 55 4E 54 00 3C 40 84  |;PO. . COUNT.<@.|
00003C20: 17 4C 44 41 20 28 54 45  50 42 55 46 29 2C 59 20  |.LDA (TEPBUF),Y |
00003C30: 3B A1 20 43 4F 55 4E 54  20 AF 20 94 00 54 40 8E  |;. COUNT . ..T@.|
00003C40: 17 50 48 41 20 3B 49 54  20 91 20 54 48 45 20 53  |.PHA ;IT . THE S|
00003C50: 54 41 43 4B 00 76 40 98  17 4A 53 52 20 42 4E 32  |TACK.v@..JSR BN2|
00003C60: C6 20 3B 43 91 56 45 52  54 20 4C 49 4E 45 20 23  |. ;C.VERT LINE #|
00003C70: 20 A4 20 C6 49 49 00 8F  40 A2 17 50 4C 41 20 3B  | . .II..@..PLA ;|
00003C80: A1 20 43 4E 54 20 4F 46  20 53 54 41 43 4B 3B 00  |. CNT OF STACK;.|
00003C90: AA 40 AC 17 53 54 41 20  C5 55 45 20 3B 94 20 43  |.@..STA .UE ;. C|
00003CA0: 4E 54 20 81 20 42 4E 32  C6 3B 00 C1 40 B6 17 43  |NT . BN2.;..@..C|
00003CB0: 4D 50 20 23 30 31 20 3B  8B 20 43 4E 54 B2 31 20  |MP #01 ;. CNT.1 |
00003CC0: A7 00 E2 40 C0 17 42 45  51 20 53 50 41 43 45 20  |...@..BEQ SPACE |
00003CD0: 3B 44 91 22 54 20 50 52  54 20 2F 20 26 20 43 4E  |;D."T PRT / & CN|
00003CE0: 54 3B 00 03 41 CA 17 49  4E 43 20 4C 49 4E 43 4E  |T;..A..INC LINCN|
00003CF0: 54 AA 31 20 3B 49 4E 43  20 4C 49 4E 45 20 43 4E  |T.1 ;INC LINE CN|
00003D00: 54 20 81 00 21 41 D4 17  4C 44 41 20 23 22 2F 22  |T ..!A..LDA #"/"|
00003D10: 20 3B 94 20 49 4E 20 42  55 46 33 20 41 46 54 45  | ;. IN BUF3 AFTE|
00003D20: 52 00 39 41 DE 17 53 54  41 20 42 55 46 33 2C 58  |R.9A..STA BUF3,X|
00003D30: 20 3B 4C 49 4E 45 20 23  3B 00 55 41 E8 17 49 4E  | ;LINE #;.UA..IN|
00003D40: 58 20 3B 22 2F 22 2E 20  49 4E 58 20 42 55 46 33  |X ;"/". INX BUF3|
00003D50: 20 50 4E 54 3B 00 77 41  F2 17 4C 44 41 20 23 30  | PNT;.wA..LDA #0|
00003D60: 30 20 3B 5A 45 52 4F 20  4D 53 42 20 49 4E 20 22  |0 ;ZERO MSB IN "|
00003D70: 56 41 4C 55 45 22 3B 00  85 41 FC 17 53 54 41 20  |VALUE";..A..STA |
00003D80: C5 55 45 AA 31 00 9F 41  06 18 54 41 59 20 3B 4A  |.UE.1..A..TAY ;J|
00003D90: 55 4D 50 20 A4 20 4D 49  44 44 4C 45 20 4F 46 00  |UMP . MIDDLE OF.|
00003DA0: C1 41 10 18 4A 53 52 20  A1 44 49 47 AB 33 20 3B  |.A..JSR .DIG.3 ;|
00003DB0: 42 4E 32 C6 20 43 91 56  20 43 4E 54 20 A4 20 C6  |BN2. C.V CNT . .|
00003DC0: 3B 00 E4 41 1A 18 53 50  41 43 45 20 4C 44 41 20  |;..A..SPACE LDA |
00003DD0: 23 24 32 30 20 3B 50 55  54 20 41 20 53 50 41 43  |#$20 ;PUT A SPAC|
00003DE0: 45 20 49 4E 00 06 42 24  18 53 54 41 20 42 55 46  |E IN..B$.STA BUF|
00003DF0: 33 2C 58 20 3B 42 55 46  33 20 46 4F 4C 4C 4F 57  |3,X ;BUF3 FOLLOW|
00003E00: 49 4E 47 20 23 3B 00 1F  42 2E 18 49 4E 58 20 3B  |ING #;..B..INX ;|
00003E10: 49 4E 43 20 23 20 C3 47  54 48 20 43 4E 54 3B 00  |INC # .GTH CNT;.|
00003E20: 30 42 38 18 49 4E 43 20  4C 49 4E 43 4E 54 AA 31  |0B8.INC LINCNT.1|
00003E30: 00 5A 42 42 18 50 52 54  C3 20 4C 44 41 20 23 30  |.ZBB.PRT. LDA #0|
00003E40: 30 20 3B 4F 55 54 50 55  54 20 A4 20 50 52 54 B2  |0 ;OUTPUT . PRT.|
00003E50: 37 38 20 43 52 54 B2 33  38 3B 00 83 42 4C 18 4C  |78 CRT.38;..BL.L|
00003E60: 49 4E 43 4E 54 20 43 4D  50 20 23 30 30 20 3B 43  |INCNT CMP #00 ;C|
00003E70: 4D 50 20 A4 20 23 20 4F  46 20 43 48 41 52 20 50  |MP . # OF CHAR P|
00003E80: 52 54 3B 00 A4 42 56 18  42 43 53 20 50 41 53 53  |RT;..BV.BCS PASS|
00003E90: 43 52 20 3B CB 20 8B 20  A8 20 80 20 4F 46 20 4C  |CR ;. . . . OF L|
00003EA0: 49 4E 45 3B 00 BA 42 60  18 4C 44 41 20 23 24 30  |INE;..B`.LDA #$0|
00003EB0: 44 20 3B 99 20 41 20 43  52 3B 00 CB 42 6A 18 4A  |D ;. A CR;..Bj.J|
00003EC0: 53 52 20 4A 50 4F 55 54  50 55 54 00 E9 42 74 18  |SR JPOUTPUT..Bt.|
00003ED0: 4C 44 59 20 23 30 31 20  3B 53 50 41 43 45 20 A4  |LDY #01 ;SPACE .|
00003EE0: 20 43 4F 4C 2E 20 31 31  3B 00 F8 42 7E 18 4A 53  | COL. 11;..B~.JS|
00003EF0: 52 20 50 52 54 53 50 43  00 1E 43 88 18 50 41 53  |R PRTSPC..C..PAS|
00003F00: 53 43 52 20 4A 53 52 20  C6 4E 55 4D 20 3B 50 52  |SCR JSR .NUM ;PR|
00003F10: 54 20 4C 49 4E 45 23 20  26 20 43 4E 54 3B 00 3D  |T LINE# & CNT;.=|
00003F20: 43 92 18 50 C6 4E 54 20  4A 53 52 20 A1 4B 45 59  |C..P.NT JSR .KEY|
00003F30: 20 3B A1 20 4B 45 59 20  50 52 45 53 53 00 65 43  | ;. KEY PRESS.eC|
00003F40: 9C 18 4E 4F 53 50 43 20  4A 53 52 20 54 45 50 49  |..NOSPC JSR TEPI|
00003F50: 4E 43 20 3B 49 4E 43 20  54 45 50 42 55 46 20 A4  |NC ;INC TEPBUF .|
00003F60: 20 82 20 23 3B 00 87 43  A6 18 42 4E 45 20 A1 4E  | . #;..C..BNE .N|
00003F70: 55 4D 20 3B 22 4C 41 53  54 20 23 20 50 52 54 3F  |UM ;"LAST # PRT?|
00003F80: 20 4E 4F 2D 47 4F 3B 00  8D 43 B0 18 3B 00 B5 43  | NO-GO;..C..;..C|
00003F90: BA 18 45 58 49 54 31 30  20 4C 44 41 20 23 24 30  |..EXIT10 LDA #$0|
00003FA0: 30 20 3B 8B 20 57 45 20  4C 4F 4F 50 20 54 48 52  |0 ;. WE LOOP THR|
00003FB0: 55 20 50 52 47 00 E1 43  C4 18 42 45 51 20 53 4B  |U PRG..C..BEQ SK|
00003FC0: 49 50 31 31 20 20 20 20  20 20 20 20 20 20 20 3B  |IP11           ;|
00003FD0: 41 47 41 49 4E 20 41 B3  B1 30 20 45 4C 53 45 20  |AGAIN A..0 ELSE |
00003FE0: CB 00 FA 43 CE 18 4C 44  58 20 42 55 46 32 20 3B  |...C..LDX BUF2 ;|
00003FF0: A1 20 C3 20 4F 46 20 53  54 52 00 1B 44 D8 18 4C  |. . OF STR..D..L|
00004000: 4F 4F 50 31 33 20 4C 44  41 20 42 55 46 32 2C 58  |OOP13 LDA BUF2,X|
00004010: 20 3B A1 20 41 20 43 48  41 52 3B 00 31 44 E2 18  | ;. A CHAR;.1D..|
00004020: 53 54 41 20 42 55 46 31  2C 58 20 3B 94 20 49 54  |STA BUF1,X ;. IT|
00004030: 3B 00 39 44 EC 18 44 45  58 00 48 44 F6 18 42 50  |;.9D..DEX.HD..BP|
00004040: 4C 20 4C 4F 4F 50 31 33  00 66 44 00 19 4C 44 58  |L LOOP13.fD..LDX|
00004050: 20 23 30 35 20 3B 23 20  4F 46 20 43 48 41 52 20  | #05 ;# OF CHAR |
00004060: A4 20 4D 4F 56 45 00 8D  44 0A 19 4C 4F 4F 50 31  |. MOVE..D..LOOP1|
00004070: 34 20 4C 44 41 20 4D 45  53 42 55 46 AA 36 2C 58  |4 LDA MESBUF.6,X|
00004080: 20 3B 50 55 54 20 35 2C  5A 5A 5A 5A 5A 00 A5 44  | ;PUT 5,ZZZZZ..D|
00004090: 14 19 53 54 41 20 42 55  46 32 2C 58 20 3B 49 4E  |..STA BUF2,X ;IN|
000040A0: 20 42 55 46 32 00 AD 44  1E 19 44 45 58 00 BC 44  | BUF2..D..DEX..D|
000040B0: 28 19 42 50 4C 20 4C 4F  4F 50 31 34 00 CB 44 32  |(.BPL LOOP14..D2|
000040C0: 19 4A 4D 50 20 53 54 52  45 4E 54 00 F3 44 3C 19  |.JMP STRENT..D<.|
000040D0: 53 4B 49 50 31 31 20 4C  44 41 20 41 4C 4C 52 45  |SKIP11 LDA ALLRE|
000040E0: 46 20 3B 22 50 52 54 20  41 4C 4C 20 52 45 46 27  |F ;"PRT ALL REF'|
000040F0: 53 20 3F 00 0C 45 46 19  42 45 51 20 44 91 45 20  |S ?..EF.BEQ D.E |
00004100: 3B CB 20 8B 20 41 4C 4C  20 44 91 45 00 26 45 50  |;. . ALL D.E.&EP|
00004110: 19 44 45 43 20 41 4C 4C  52 45 46 20 3B 5A 45 52  |.DEC ALLREF ;ZER|
00004120: 4F 20 46 4C 41 47 00 4B  45 5A 19 4A 53 52 20 53  |O FLAG.KEZ.JSR S|
00004130: 45 50 4D 45 53 20 3B 50  52 54 20 53 45 50 41 52  |EPMES ;PRT SEPAR|
00004140: 41 54 49 4E 47 20 4D 45  53 47 3B 00 6D 45 64 19  |ATING MESG;.mEd.|
00004150: 4C 44 41 20 23 22 40 22  20 3B 94 20 41 20 53 4F  |LDA #"@" ;. A SO|
00004160: 20 56 41 52 20 B0 20 23  20 54 45 53 54 00 8F 45  | VAR . # TEST..E|
00004170: 6E 19 53 54 41 20 42 55  46 31 AA 31 20 3B 53 45  |n.STA BUF1.1 ;SE|
00004180: 54 53 20 55 50 20 54 48  45 20 50 52 47 20 A4 00  |TS UP THE PRG ..|
00004190: AC 45 78 19 4C 44 41 20  23 24 30 31 20 3B 53 45  |.Ex.LDA #$01 ;SE|
000041A0: 41 52 43 48 20 81 20 41  20 56 41 52 00 B9 45 82  |ARCH . A VAR..E.|
000041B0: 19 53 54 41 20 42 55 46  31 00 D9 45 8C 19 4C 44  |.STA BUF1..E..LD|
000041C0: 58 20 23 24 30 32 20 3B  53 54 41 52 54 49 4E 47  |X #$02 ;STARTING|
000041D0: 20 B9 20 81 20 4C 4F 4F  50 00 00 46 96 19 4A 4D  | . . LOOP..F..JM|
000041E0: 50 20 4C 4F 4F 50 31 34  AB 32 20 3B 4A 4D 50 20  |P LOOP14.2 ;JMP |
000041F0: A4 20 4D 49 44 44 4C 45  20 4F 46 20 4C 4F 4F 50  |. MIDDLE OF LOOP|
00004200: 00 06 46 A0 19 3B 00 18  46 AA 19 3B 41 4C 4C 20  |..F..;..F..;ALL |
00004210: 44 91 45 20 45 58 49 54  00 1E 46 B4 19 3B 00 38  |D.E EXIT..F..;.8|
00004220: 46 BE 19 50 4C 41 20 3B  A1 20 52 49 44 20 4F 46  |F..PLA ;. RID OF|
00004230: 20 52 54 53 20 41 44 44  00 40 46 C8 19 50 4C 41  | RTS ADD.@F..PLA|
00004240: 00 69 46 D2 19 44 91 45  20 4C 44 41 20 23 B3 4C  |.iF..D.E LDA #.L|
00004250: 4E 42 55 46 20 3B 50 55  54 20 53 54 41 52 54 20  |NBUF ;PUT START |
00004260: 4F 46 20 4C 49 4E 45 20  23 00 8C 46 DC 19 53 54  |OF LINE #..F..ST|
00004270: 41 20 54 45 50 42 55 46  20 3B 42 55 46 46 45 52  |A TEPBUF ;BUFFER|
00004280: 20 49 4E 20 54 45 4D 50  B0 41 52 59 00 AC 46 E6  | IN TEMP.ARY..F.|
00004290: 19 4C 44 41 20 23 B1 4C  4E 42 55 46 20 3B 42 55  |.LDA #.LNBUF ;BU|
000042A0: 46 46 45 52 20 41 44 44  52 45 53 53 00 BD 46 F0  |FFER ADDRESS..F.|
000042B0: 19 53 54 41 20 54 45 50  42 55 46 AA 31 00 E9 46  |.STA TEPBUF.1..F|
000042C0: FA 19 44 91 45 31 20 4C  44 59 20 23 4D 45 53 47  |..D.E1 LDY #MESG|
000042D0: 32 AB 56 41 52 4D 45 53  20 3B 59 B2 53 54 41 52  |2.VARMES ;Y.STAR|
000042E0: 54 20 4F 46 20 4D 45 53  47 00 0D 47 04 1A 4A 53  |T OF MESG..G..JS|
000042F0: 52 20 53 45 50 4D 45 53  AA 32 20 3B CB 20 50 52  |R SEPMES.2 ;. PR|
00004300: 54 20 54 45 58 54 20 80  20 4D 45 53 47 00 32 47  |T TEXT . MESG.2G|
00004310: 0E 1A 4A 4D 50 20 4A 50  44 91 45 58 49 20 3B 42  |..JMP JPD.EXI ;B|
00004320: 41 4E 4B 20 52 4F 4D 20  49 4E 20 89 20 42 41 53  |ANK ROM IN . BAS|
00004330: 49 43 00 38 47 18 1A 3B  00 59 47 22 1A 3B 50 4F  |IC.8G..;.YG".;PO|
00004340: B5 20 54 45 50 42 55 46  20 A4 20 82 20 23 20 49  |. TEPBUF . . # I|
00004350: 4E 20 4C 4E 42 55 46 20  26 00 7A 47 2C 1A 3B 43  |N LNBUF &.zG,.;C|
00004360: 48 45 43 4B 20 8B 20 80  20 4F 46 20 42 55 46 46  |HECK . . OF BUFF|
00004370: 45 52 20 52 45 41 43 48  45 44 00 80 47 36 1A 3B  |ER REACHED..G6.;|
00004380: 00 9F 47 40 1A 54 45 50  49 4E 43 20 43 4C 43 20  |..G@.TEPINC CLC |
00004390: 3B 50 4F B5 20 54 45 50  42 55 46 20 A4 20 82 00  |;PO. TEPBUF . ..|
000043A0: BB 47 4A 1A 4C 44 41 20  54 45 50 42 55 46 20 3B  |.GJ.LDA TEPBUF ;|
000043B0: 4C 49 4E 45 20 4E 55 4D  42 45 52 00 C8 47 54 1A  |LINE NUMBER..GT.|
000043C0: 41 44 43 20 23 24 30 33  00 D7 47 5E 1A 53 54 41  |ADC #$03..G^.STA|
000043D0: 20 54 45 50 42 55 46 00  F9 47 68 1A 4C 44 41 20  | TEPBUF..Gh.LDA |
000043E0: 54 45 50 42 55 46 AA 31  20 3B 41 44 44 20 54 48  |TEPBUF.1 ;ADD TH|
000043F0: 45 20 43 41 52 52 59 20  8B 00 14 48 72 1A 41 44  |E CARRY ...Hr.AD|
00004400: 43 20 23 24 30 30 20 3B  91 45 20 47 45 4E 45 52  |C #$00 ;.E GENER|
00004410: 41 54 45 44 00 25 48 7C  1A 53 54 41 20 54 45 50  |ATED.%H|.STA TEP|
00004420: 42 55 46 AA 31 00 47 48  86 1A 4C 44 41 20 4C 4E  |BUF.1.GH..LDA LN|
00004430: 80 20 3B 43 48 45 43 4B  20 8B 20 41 54 20 80 20  |. ;CHECK . AT . |
00004440: 4F 46 20 42 55 46 3B 00  69 48 90 1A 43 4D 50 20  |OF BUF;.iH..CMP |
00004450: 54 45 50 42 55 46 20 3B  43 4D 50 20 4C 4F 57 20  |TEPBUF ;CMP LOW |
00004460: 42 59 54 45 20 31 53 54  3B 00 87 48 9A 1A 42 4E  |BYTE 1ST;..H..BN|
00004470: 45 20 54 45 50 45 58 20  3B 22 4E 4F 54 20 44 4F  |E TEPEX ;"NOT DO|
00004480: 4E 45 3F 20 47 4F 3B 00  A7 48 A4 1A 4C 44 41 20  |NE? GO;..H..LDA |
00004490: 4C 4E 80 AA 31 20 3B 43  4D 50 20 48 49 47 48 20  |LN..1 ;CMP HIGH |
000044A0: 42 59 54 45 2E 20 8B 00  C6 48 AE 1A 43 4D 50 20  |BYTE. ...H..CMP |
000044B0: 54 45 50 42 55 46 AA 31  20 3B 45 51 55 41 4C 20  |TEPBUF.1 ;EQUAL |
000044C0: A7 20 44 91 45 3B 00 E7  48 B8 1A 54 45 50 45 58  |. D.E;..H..TEPEX|
000044D0: 20 52 54 53 20 3B 45 51  55 41 4C 20 5A 45 52 4F  | RTS ;EQUAL ZERO|
000044E0: 20 8B 20 44 91 45 3B 00  ED 48 C2 1A 3B 00 FE 48  | . D.E;..H..;..H|
000044F0: CC 1A 3B 99 20 31 30 20  53 50 41 43 45 53 00 04  |..;. 10 SPACES..|
00004500: 49 D6 1A 3B 00 1E 49 E0  1A 50 52 54 53 50 43 20  |I..;..I..PRTSPC |
00004510: 54 58 41 20 3B 94 20 C3  47 54 48 20 4F 46 00 33  |TXA ;. .GTH OF.3|
00004520: 49 EA 1A 50 48 41 20 3B  23 20 A4 20 42 45 20 99  |I..PHA ;# . BE .|
00004530: 45 44 3B 00 55 49 F4 1A  53 50 43 4C 50 20 4C 44  |ED;.UI..SPCLP LD|
00004540: 41 20 23 24 32 30 20 3B  99 20 53 50 41 43 45 20  |A #$20 ;. SPACE |
00004550: 22 54 49 4C 4C 00 7B 49  FE 1A 4A 53 52 20 4A 50  |"TILL.{I..JSR JP|
00004560: 4F 55 54 50 55 54 20 3B  43 55 52 53 B0 20 49 53  |OUTPUT ;CURS. IS|
00004570: 20 41 54 20 43 4F 4C 2E  20 31 31 00 96 49 08 1B  | AT COL. 11..I..|
00004580: 49 4E 58 20 3B 58 B2 24  30 42 AA 23 22 53 20 4C  |INX ;X.$0B.#"S L|
00004590: 45 4E 47 54 48 3B 00 9E  49 12 1B 49 4E 59 00 AB  |ENGTH;..I..INY..|
000045A0: 49 1C 1B 43 50 59 20 23  24 30 42 00 B9 49 26 1B  |I..CPY #$0B..I&.|
000045B0: 42 4E 45 20 53 50 43 4C  50 00 D8 49 30 1B 53 54  |BNE SPCLP..I0.ST|
000045C0: 58 20 4C 49 4E 43 4E 54  AA 31 20 3B 94 20 A2 20  |X LINCNT.1 ;. . |
000045D0: 4C 49 4E 45 20 43 4E 54  00 EF 49 3A 1B 50 4C 41  |LINE CNT..I:.PLA|
000045E0: 20 3B 8C 20 23 22 53 20  4C 45 4E 47 54 48 3B 00  | ;. #"S LENGTH;.|
000045F0: F7 49 44 1B 54 41 58 00  FF 49 4E 1B 52 54 53 00  |.ID.TAX..IN.RTS.|
00004600: 05 4A 58 1B 3B 00 1E 4A  62 1B 3B 99 20 54 48 45  |.JX.;..Jb.;. THE|
00004610: 20 9A 45 4E 54 53 20 4F  46 20 42 55 46 33 00 24  | .ENTS OF BUF3.$|
00004620: 4A 6C 1B 3B 00 3D 4A 76  1B C6 4E 55 4D 20 4C 44  |Jl.;.=Jv..NUM LD|
00004630: 59 20 23 24 30 30 20 3B  49 4E 44 45 58 00 5B 4A  |Y #$00 ;INDEX.[J|
00004640: 80 1B 4C 4F 4F 50 39 20  4C 44 41 20 42 55 46 33  |..LOOP9 LDA BUF3|
00004650: 2C 59 20 3B A1 20 C6 49  49 20 23 00 72 4A 8A 1B  |,Y ;. .II #.rJ..|
00004660: 4A 53 52 20 4A 50 4F 55  54 50 55 54 20 3B 99 20  |JSR JPOUTPUT ;. |
00004670: 49 54 00 7A 4A 94 1B 49  4E 59 00 8D 4A 9E 1B 44  |IT.zJ..INY..J..D|
00004680: 45 58 20 3B 44 45 43 20  43 4F 55 4E 54 00 B2 4A  |EX ;DEC COUNT..J|
00004690: A8 1B 42 4E 45 20 4C 4F  4F 50 39 20 3B 4C 4F 4F  |..BNE LOOP9 ;LOO|
000046A0: 50 20 22 54 49 4C 20 41  4C 4C 20 50 52 49 4E 54  |P "TIL ALL PRINT|
000046B0: 45 44 00 BA 4A B2 1B 52  54 53 00 C0 4A BC 1B 3B  |ED..J..RTS..J..;|
000046C0: 00 DF 4A C6 1B 3B A1 20  4B 45 59 20 50 52 45 53  |..J..;. KEY PRES|
000046D0: 53 20 26 20 52 45 53 50  91 44 20 A4 20 49 54 00  |S & RESP.D . IT.|
000046E0: E5 4A D0 1B 3B 00 09 4B  DA 1B A1 4B 45 59 20 4A  |.J..;..K...KEY J|
000046F0: 53 52 20 4A 50 4B 45 59  53 55 42 20 3B A1 20 4B  |SR JPKEYSUB ;. K|
00004700: 45 59 20 50 52 45 53 53  3B 00 29 4B E4 1B 43 4D  |EY PRESS;.)K..CM|
00004710: 50 20 23 22 50 22 20 3B  22 57 41 53 20 27 50 27  |P #"P" ;"WAS 'P'|
00004720: 20 50 52 45 53 53 45 44  3F 00 34 4B EE 1B 42 4E  | PRESSED?.4K..BN|
00004730: 45 20 52 53 00 5A 4B F8  1B 50 41 55 53 45 20 4A  |E RS.ZK..PAUSE J|
00004740: 53 52 20 4A 50 4B 45 59  53 55 42 20 3B 92 20 81  |SR JPKEYSUB ;. .|
00004750: 20 4B 45 59 50 52 45 53  53 3B 00 75 4B 02 1C 54  | KEYPRESS;.uK..T|
00004760: 41 58 20 3B 22 41 4E 59  20 4B 45 59 20 50 52 45  |AX ;"ANY KEY PRE|
00004770: 53 53 45 44 3F 00 83 4B  0C 1C 42 45 51 20 50 41  |SSED?..K..BEQ PA|
00004780: 55 53 45 00 A5 4B 16 1C  52 53 20 43 4D 50 20 23  |USE..K..RS CMP #|
00004790: 30 33 20 3B 22 57 41 53  20 49 54 20 52 55 4E 2F  |03 ;"WAS IT RUN/|
000047A0: 53 54 4F 50 3F 00 BA 4B  20 1C 42 4E 45 20 52 45  |STOP?..K .BNE RE|
000047B0: 54 31 20 3B 8E 20 8B 20  A8 3B 00 D4 4B 2A 1C 4A  |T1 ;. . .;..K*.J|
000047C0: 4D 50 20 44 91 45 AB 32  20 3B 45 4C 53 45 20 51  |MP D.E.2 ;ELSE Q|
000047D0: 55 49 54 3B 00 DA 4B 34  1C 3B 00 FD 4B 3E 1C 3B  |UIT;..K4.;..K>.;|
000047E0: AC 20 20 43 48 45 43 4B  20 8B 20 4C 4E 42 55 46  |.  CHECK . LNBUF|
000047F0: 20 49 53 20 45 4D 50 54  59 20 20 20 AC 00 03 4C  | IS EMPTY   ...L|
00004800: 48 1C 3B 00 27 4C 52 1C  42 55 46 45 4D 50 20 4C  |H.;.'LR.BUFEMP L|
00004810: 44 41 20 23 B3 4C 4E 42  55 46 20 3B 8B 20 4C 4E  |DA #.LNBUF ;. LN|
00004820: 42 55 46 B2 4C 4E 80 00  46 4C 5C 1C 43 4D 50 20  |BUF.LN..FL\.CMP |
00004830: 4C 4E 80 20 3B A7 20 42  55 46 46 45 52 20 49 53  |LN. ;. BUFFER IS|
00004840: 20 45 4D 50 54 59 00 68  4C 66 1C 42 4E 45 20 52  | EMPTY.hLf.BNE R|
00004850: 45 54 31 20 3B 8B 20 B3  B1 20 A7 20 43 4D 50 20  |ET1 ;. .. . CMP |
00004860: 4C 49 4E 45 20 23 22 53  00 93 4C 70 1C 4C 44 41  |LINE #"S..Lp.LDA|
00004870: 20 23 B1 4C 4E 42 55 46  20 3B 43 4D 50 20 4D 53  | #.LNBUF ;CMP MS|
00004880: 42 20 4F 46 20 4C 4E 42  55 46 20 26 20 4E 55 4D  |B OF LNBUF & NUM|
00004890: 50 52 54 00 A1 4C 7A 1C  43 4D 50 20 4C 4E 80 AA  |PRT..Lz.CMP LN..|
000048A0: 31 00 AE 4C 84 1C 52 45  54 31 20 52 54 53 00 B4  |1..L..RET1 RTS..|
000048B0: 4C 8E 1C 3B 00 D8 4C 98  1C 3B AC 20 20 56 41 52  |L..;..L..;.  VAR|
000048C0: 20 26 20 23 20 53 45 50  41 52 41 54 49 4E 47 20  | & # SEPARATING |
000048D0: 4C 49 4E 45 20 20 20 AC  00 DE 4C A2 1C 3B 00 F9  |LINE   ...L..;..|
000048E0: 4C AC 1C 53 45 50 4D 45  53 20 4C 44 59 20 23 30  |L..SEPMES LDY #0|
000048F0: 30 20 3B 49 4E 44 45 58  3B 00 13 4D B6 1C 4C 44  |0 ;INDEX;..M..LD|
00004900: 41 20 56 41 52 4D 45 53  2C 59 20 3B A1 20 43 48  |A VARMES,Y ;. CH|
00004910: 41 52 3B 00 2D 4D C0 1C  42 45 51 20 52 45 54 31  |AR;.-M..BEQ RET1|
00004920: 20 3B 45 58 49 54 20 8B  20 44 91 45 3B 00 45 4D  | ;EXIT . D.E;.EM|
00004930: CA 1C 4A 53 52 20 4A 50  4F 55 54 50 55 54 20 3B  |..JSR JPOUTPUT ;|
00004940: 99 20 49 54 3B 00 4D 4D  D4 1C 49 4E 59 00 6D 4D  |. IT;.MM..INY.mM|
00004950: DE 1C 42 4E 45 20 53 45  50 4D 45 53 AA 32 20 3B  |..BNE SEPMES.2 ;|
00004960: 55 4E 43 91 2E 20 42 52  41 4E 43 48 3B 00 73 4D  |UNC.. BRANCH;.sM|
00004970: E8 1C 3B 00 92 4D F2 1C  3B AC 20 20 43 91 56 45  |..;..M..;.  C.VE|
00004980: 52 54 20 42 49 4E 41 52  59 20 A4 20 C6 49 49 20  |RT BINARY . .II |
00004990: 20 AC 00 98 4D FC 1C 3B  00 C0 4D 06 1D 42 4E 32  | ...M..;..M..BN2|
000049A0: C6 20 4C 44 59 20 23 24  30 41 20 3B 50 55 54 20  |. LDY #$0A ;PUT |
000049B0: 31 30 20 C6 49 49 20 30  20 49 4E 20 42 55 46 33  |10 .II 0 IN BUF3|
000049C0: 00 DE 4D 10 1D 4C 44 58  20 23 24 30 30 20 3B 5A  |..M..LDX #$00 ;Z|
000049D0: 45 52 4F 20 42 55 46 33  20 49 4E 44 45 58 00 FB  |ERO BUF3 INDEX..|
000049E0: 4D 1A 1D 4C 4F 4F 50 38  20 4C 44 41 20 23 22 30  |M..LOOP8 LDA #"0|
000049F0: 22 20 3B C6 49 49 20 5A  45 52 4F 00 0C 4E 24 1D  |" ;.II ZERO..N$.|
00004A00: 53 54 41 20 42 55 46 33  AB 31 2C 59 00 14 4E 2E  |STA BUF3.1,Y..N.|
00004A10: 1D 44 45 59 00 22 4E 38  1D 42 4E 45 20 4C 4F 4F  |.DEY."N8.BNE LOO|
00004A20: 50 38 00 28 4E 42 1D 3B  00 3F 4E 4C 1D 3B 53 55  |P8.(NB.;.?NL.;SU|
00004A30: 42 54 52 41 43 54 49 91  20 53 45 43 54 49 91 00  |BTRACTI. SECTI..|
00004A40: 45 4E 56 1D 3B 00 56 4E  60 1D 53 54 58 20 4C 45  |ENV.;.VN`.STX LE|
00004A50: 53 53 54 4E AA 32 00 75  4E 6A 1D A1 44 49 47 20  |SSTN.2.uNj..DIG |
00004A60: 53 45 43 20 3B 42 45 47  49 4E 20 53 55 42 54 52  |SEC ;BEGIN SUBTR|
00004A70: 41 43 54 49 91 00 8B 4E  74 1D 4C 44 41 20 C5 55  |ACTI...Nt.LDA .U|
00004A80: 45 20 3B 4C 53 42 20 4F  46 20 23 00 AE 4E 7E 1D  |E ;LSB OF #..N~.|
00004A90: 53 42 43 20 54 41 42 4C  45 2C 59 20 3B 53 55 42  |SBC TABLE,Y ;SUB|
00004AA0: 20 4C 4F 57 20 B0 44 45  52 20 42 59 54 45 00 BB  | LOW .DER BYTE..|
00004AB0: 4E 88 1D 50 48 41 20 3B  AF 20 94 00 D3 4E 92 1D  |N..PHA ;. ...N..|
00004AC0: 4C 44 41 20 C5 55 45 AA  31 20 3B 4D 53 42 20 4F  |LDA .UE.1 ;MSB O|
00004AD0: 46 20 23 00 F4 4E 9C 1D  53 42 43 20 54 41 42 4C  |F #..N..SBC TABL|
00004AE0: 45 AA 31 2C 59 20 3B 53  55 42 20 48 49 47 48 20  |E.1,Y ;SUB HIGH |
00004AF0: 42 59 54 45 00 1B 4F A6  1D 42 43 43 20 4C 45 53  |BYTE..O..BCC LES|
00004B00: 53 54 4E 20 3B 8B 20 B3  20 50 52 45 53 45 4E 54  |STN ;. . PRESENT|
00004B10: 20 54 41 42 4C 45 20 23  AB 20 CB 00 35 4F B0 1D  | TABLE #. ..5O..|
00004B20: 53 54 41 20 C5 55 45 AA  31 20 3B 8B 20 A8 20 4C  |STA .UE.1 ;. . L|
00004B30: 45 53 53 20 A7 00 47 4F  BA 1D 50 4C 41 20 3B 94  |ESS ..GO..PLA ;.|
00004B40: 20 49 4E 20 C5 55 45 00  53 4F C4 1D 53 54 41 20  | IN .UE.SO..STA |
00004B50: C5 55 45 00 6D 4F CE 1D  49 4E 43 20 42 55 46 33  |.UE.mO..INC BUF3|
00004B60: 2C 58 20 3B 49 4E 43 20  44 49 47 49 54 00 87 4F  |,X ;INC DIGIT..O|
00004B70: D8 1D 42 43 53 20 A1 44  49 47 20 3B 55 4E 43 91  |..BCS .DIG ;UNC.|
00004B80: 20 42 52 41 4E 43 48 00  8D 4F E2 1D 3B 00 A8 4F  | BRANCH..O..;..O|
00004B90: EC 1D 3B 5A 45 52 4F 20  53 55 50 52 45 53 53 49  |..;ZERO SUPRESSI|
00004BA0: 91 20 53 45 43 54 49 91  00 AE 4F F6 1D 3B 00 CA  |. SECTI...O..;..|
00004BB0: 4F 00 1E 4C 45 53 53 54  4E 20 50 4C 41 20 3B 43  |O..LESSTN PLA ;C|
00004BC0: 4C 45 41 52 20 53 54 41  43 4B 00 EB 4F 0A 1E 43  |LEAR STACK..O..C|
00004BD0: 50 58 20 23 30 30 20 3B  43 48 45 43 4B 20 8B 20  |PX #00 ;CHECK . |
00004BE0: 91 20 31 53 54 20 44 49  47 49 54 00 03 50 14 1E  |. 1ST DIGIT..P..|
00004BF0: 42 4E 45 20 A8 31 53 54  20 3B CB 20 8B 20 A8 20  |BNE .1ST ;. . . |
00004C00: 31 53 54 00 29 50 1E 1E  4C 44 41 20 42 55 46 33  |1ST.)P..LDA BUF3|
00004C10: 2C 58 20 3B 8B 20 31 53  54 20 43 48 45 43 4B 20  |,X ;. 1ST CHECK |
00004C20: 8B 20 53 54 49 4C 4C 20  30 00 50 50 28 1E 43 4D  |. STILL 0.PP(.CM|
00004C30: 50 20 23 22 30 22 20 3B  53 55 50 50 52 45 53 53  |P #"0" ;SUPPRESS|
00004C40: 20 5A 45 52 4F 20 42 59  20 A8 20 49 4E 43 20 58  | ZERO BY . INC X|
00004C50: 00 71 50 32 1E 42 45 51  20 49 53 31 53 54 20 3B  |.qP2.BEQ IS1ST ;|
00004C60: A4 20 82 20 44 49 47 49  54 20 49 4E 20 42 55 46  |. . DIGIT IN BUF|
00004C70: 33 00 7E 50 3C 1E A8 31  53 54 20 49 4E 58 00 8F  |3.~P<..1ST INX..|
00004C80: 50 46 1E 49 4E 43 20 4C  49 4E 43 4E 54 AA 31 00  |PF.INC LINCNT.1.|
00004C90: AC 50 50 1E 49 53 31 53  54 20 49 4E 59 20 3B 50  |.PP.IS1ST INY ;P|
00004CA0: 4F B5 20 A4 20 82 20 45  4E 54 52 59 00 C2 50 5A  |O. . . ENTRY..PZ|
00004CB0: 1E 49 4E 59 20 3B 49 4E  20 54 48 45 20 54 41 42  |.INY ;IN THE TAB|
00004CC0: 4C 45 00 E4 50 64 1E 43  50 59 20 23 24 30 41 20  |LE..Pd.CPY #$0A |
00004CD0: 3B 22 44 4F 4E 45 20 35  20 44 49 47 49 54 53 20  |;"DONE 5 DIGITS |
00004CE0: 59 45 54 3F 00 02 51 6E  1E 42 4E 45 20 A1 44 49  |YET?..Qn.BNE .DI|
00004CF0: 47 20 3B 8B 20 A8 AB CB  20 22 54 49 4C 20 44 4F  |G ;. ... "TIL DO|
00004D00: 4E 45 00 08 51 78 1E 3B  00 20 51 82 1E 52 54 53  |NE..Qx.;. Q..RTS|
00004D10: 20 3B 4F 46 20 53 54 52  20 49 4E 20 42 55 46 33  | ;OF STR IN BUF3|
00004D20: 00 34 51 8C 1E C5 55 45  20 2E 42 59 54 45 20 30  |.4Q...UE .BYTE 0|
00004D30: 30 2C 30 30 00 4D 51 96  1E 42 55 46 33 20 2E C6  |0,00.MQ..BUF3 ..|
00004D40: 20 22 30 30 30 30 30 30  30 30 30 30 22 00 65 51  | "0000000000".eQ|
00004D50: A0 1E 54 41 42 4C 45 20  2E 42 59 54 45 20 24 31  |..TABLE .BYTE $1|
00004D60: 30 2C 24 32 37 00 77 51  AA 1E 2E 42 59 54 45 20  |0,$27.wQ...BYTE |
00004D70: 24 45 38 2C 24 30 33 00  88 51 B4 1E 2E 42 59 54  |$E8,$03..Q...BYT|
00004D80: 45 20 31 30 30 2C 30 30  00 98 51 BE 1E 2E 42 59  |E 100,00..Q...BY|
00004D90: 54 45 20 31 30 2C 30 30  00 A7 51 C8 1E 2E 42 59  |TE 10,00..Q...BY|
00004DA0: 54 45 20 31 2C 30 30 00  BC 51 D2 1E 42 55 46 31  |TE 1,00..Q..BUF1|
00004DB0: 20 2E C6 20 22 4E 55 4D  42 45 52 22 00 D1 51 DC  | .. "NUMBER"..Q.|
00004DC0: 1E 42 55 46 32 20 2E C6  20 22 4E 55 4D 42 45 52  |.BUF2 .. "NUMBER|
00004DD0: 22 00 06 52 E6 1E 56 41  52 4D 45 53 20 2E 42 59  |"..R..VARMES .BY|
00004DE0: 54 45 20 24 30 44 2C 24  30 44 2C 24 31 32 3A 2E  |TE $0D,$0D,$12:.|
00004DF0: C6 20 22 56 41 52 2F 4E  55 4D 20 2D 20 41 50 50  |. "VAR/NUM - APP|
00004E00: 45 41 52 53 20 22 00 2F  52 F0 1E 2E C6 20 22 4F  |EARS "./R.... "O|
00004E10: 4E 20 4C 49 4E 45 20 4E  55 4D 42 45 52 28 53 29  |N LINE NUMBER(S)|
00004E20: 22 20 3A 2E 42 59 54 45  20 24 30 44 2C 30 30 00  |" :.BYTE $0D,00.|
00004E30: 6D 52 FA 1E 4D 45 53 47  32 20 2E 42 59 54 45 20  |mR..MESG2 .BYTE |
00004E40: 24 30 44 2C 24 30 44 2C  24 31 32 20 3A 2E C6 22  |$0D,$0D,$12 :.."|
00004E50: 45 4E 44 20 4F 46 20 54  45 58 54 22 3A 2E 42 59  |END OF TEXT":.BY|
00004E60: 54 45 20 24 30 44 2C 24  30 44 2C 30 30 00 A0 52  |TE $0D,$0D,00..R|
00004E70: 04 1F 4D 45 53 42 55 46  20 2E 42 59 54 45 20 31  |..MESBUF .BYTE 1|
00004E80: 3A 20 2E C6 20 22 30 20  20 20 20 22 20 3A 2E 42  |: .. "0    " :.B|
00004E90: 59 54 45 20 35 3A 2E C6  20 22 5A 5A 5A 5A 5A 22  |YTE 5:.. "ZZZZZ"|
00004EA0: 00 CA 52 0E 1F 48 45 4C  50 4D 47 20 2E 42 59 54  |..R..HELPMG .BYT|
00004EB0: 45 20 24 39 33 3A 20 2E  C6 20 22 20 20 20 20 20  |E $93: .. "     |
00004EC0: 20 20 20 20 20 20 20 20  20 22 00 F7 52 18 1F 2E  |         "..R...|
00004ED0: 42 59 54 45 20 24 31 32  3A 2E C6 20 22 58 52 45  |BYTE $12:.. "XRE|
00004EE0: 46 36 34 20 48 45 4C 50  22 3A 2E 42 59 54 45 20  |F64 HELP":.BYTE |
00004EF0: 24 30 44 2C 24 30 44 00  2D 53 22 1F 2E C6 22 27  |$0D,$0D.-S"..."'|
00004F00: 58 27 20 43 41 4E 20 45  51 55 41 4C 20 41 20 56  |X' CAN EQUAL A V|
00004F10: 41 52 49 41 42 4C 45 20  55 50 20 54 4F 20 46 49  |ARIABLE UP TO FI|
00004F20: 56 45 22 3A 2E 42 59 54  45 20 24 30 44 00 51 53  |VE":.BYTE $0D.QS|
00004F30: 2C 1F 2E C6 20 22 4C 45  54 54 45 52 53 20 4C 4F  |,... "LETTERS LO|
00004F40: 4E 47 2C 20 4F 52 20 41  20 4E 55 4D 42 45 52 20  |NG, OR A NUMBER |
00004F50: 22 00 89 53 36 1F 2E C6  20 22 42 45 54 57 45 45  |"..S6... "BETWEE|
00004F60: 4E 22 3A 2E 42 59 54 45  20 24 30 44 20 3A 2E C6  |N":.BYTE $0D :..|
00004F70: 20 22 30 2D 36 35 35 33  35 2E 22 3A 2E 42 59 54  | "0-65535.":.BYT|
00004F80: 45 20 24 30 44 2C 24 30  44 00 B3 53 40 1F 2E 42  |E $0D,$0D..S@..B|
00004F90: 59 54 45 20 24 31 32 3A  2E C6 20 22 27 58 52 45  |YTE $12:.. "'XRE|
00004FA0: 46 40 20 3C 43 52 3E 27  22 3A 2E 42 59 54 45 20  |F@ <CR>'":.BYTE |
00004FB0: 24 39 32 00 DF 53 4A 1F  2E C6 20 22 20 3A 50 52  |$92..SJ... " :PR|
00004FC0: 49 4E 54 53 20 41 4C 4C  20 52 45 46 45 52 45 4E  |INTS ALL REFEREN|
00004FD0: 43 45 53 2E 22 3A 2E 42  59 54 45 20 24 30 44 00  |CES.":.BYTE $0D.|
00004FE0: 09 54 54 1F 2E 42 59 54  45 20 24 31 32 3A 2E C6  |.TT..BYTE $12:..|
00004FF0: 20 22 27 58 52 45 46 40  20 3C 43 52 3E 27 22 3A  | "'XREF@ <CR>'":|
00005000: 2E 42 59 54 45 20 24 39  32 00 37 54 5E 1F 2E C6  |.BYTE $92.7T^...|
00005010: 20 22 20 3A 50 52 49 4E  54 53 20 41 4C 4C 20 52  | " :PRINTS ALL R|
00005020: 45 46 45 52 45 4E 43 45  53 20 54 4F 22 3A 2E 42  |EFERENCES TO":.B|
00005030: 59 54 45 20 24 30 44 00  58 54 68 1F 2E C6 20 22  |YTE $0D.XTh... "|
00005040: 59 4F 55 52 20 50 52 49  4E 54 45 52 2E 22 3A 2E  |YOUR PRINTER.":.|
00005050: 42 59 54 45 20 24 30 44  00 85 54 72 1F 2E 42 59  |BYTE $0D..Tr..BY|
00005060: 54 45 20 24 31 32 20 3A  2E C6 20 22 27 58 52 45  |TE $12 :.. "'XRE|
00005070: 46 40 20 58 20 3C 43 52  3E 27 22 3A 2E 42 59 54  |F@ X <CR>'":.BYT|
00005080: 45 20 24 39 32 00 B1 54  7C 1F 2E C6 20 22 20 3A  |E $92..T|... " :|
00005090: 50 52 49 4E 54 53 20 41  4C 4C 20 52 45 46 45 52  |PRINTS ALL REFER|
000050A0: 45 4E 43 45 53 2C 22 3A  2E 42 59 54 45 20 24 30  |ENCES,":.BYTE $0|
000050B0: 44 00 D1 54 86 1F 2E C6  20 22 46 52 4F 4D 20 22  |D..T.... "FROM "|
000050C0: 58 22 20 4F 4E 2E 22 3A  2E 42 59 54 45 20 24 30  |X" ON.":.BYTE $0|
000050D0: 44 00 FD 54 90 1F 2E 42  59 54 45 20 24 31 32 3A  |D..T...BYTE $12:|
000050E0: 2E C6 20 22 27 58 52 45  46 40 20 58 20 3C 43 52  |.. "'XREF@ X <CR|
000050F0: 3E 27 22 3A 2E 42 59 54  45 20 24 39 32 00 29 55  |>'":.BYTE $92.)U|
00005100: 9A 1F 2E C6 20 22 20 3A  53 41 4D 45 20 41 53 20  |.... " :SAME AS |
00005110: 41 42 4F 56 45 2C 20 42  55 54 20 54 48 45 22 3A  |ABOVE, BUT THE":|
00005120: 2E 42 59 54 45 20 24 30  44 00 5C 55 A4 1F 2E C6  |.BYTE $0D.\U....|
00005130: 20 22 4F 55 54 50 55 54  20 49 53 20 53 45 4E 54  | "OUTPUT IS SENT|
00005140: 20 54 4F 20 59 4F 55 52  20 50 52 49 4E 54 45 52  | TO YOUR PRINTER|
00005150: 2E 22 3A 2E 42 59 54 45  20 24 30 44 00 8E 55 AE  |.":.BYTE $0D..U.|
00005160: 1F 2E 42 59 54 45 20 24  31 32 3A 2E C6 20 22 27  |..BYTE $12:.. "'|
00005170: 58 52 45 46 20 58 27 20  4F 52 20 27 58 52 45 46  |XREF X' OR 'XREF|
00005180: 20 58 27 22 3A 2E 42 59  54 45 20 24 39 32 00 B1  | X'":.BYTE $92..|
00005190: 55 B8 1F 2E C6 20 22 20  3A 50 52 49 4E 54 53 20  |U.... " :PRINTS |
000051A0: 54 4F 20 54 48 45 22 3A  2E 42 59 54 45 20 24 30  |TO THE":.BYTE $0|
000051B0: 44 00 EA 55 C2 1F 2E C6  20 22 53 43 52 45 45 4E  |D..U.... "SCREEN|
000051C0: 20 4F 52 20 59 4F 55 52  20 50 52 49 4E 54 45 52  | OR YOUR PRINTER|
000051D0: 20 41 4C 4C 20 52 45 46  45 52 45 4E 43 45 53 22  | ALL REFERENCES"|
000051E0: 3A 2E 42 59 54 45 20 24  30 44 00 05 56 CC 1F 2E  |:.BYTE $0D..V...|
000051F0: C6 20 22 54 4F 20 27 58  27 2E 22 3A 2E 42 59 54  |. "TO 'X'.":.BYT|
00005200: 45 20 24 30 44 00 2E 56  D6 1F 2E 42 59 54 45 20  |E $0D..V...BYTE |
00005210: 24 31 32 3A 2E C6 20 22  27 58 52 45 46 20 3C 43  |$12:.. "'XREF <C|
00005220: 52 3E 27 22 3A 2E 42 59  54 45 20 24 39 32 00 5B  |R>'":.BYTE $92.[|
00005230: 56 E0 1F 2E C6 20 22 20  3A 43 4F 4E 53 45 43 55  |V.... " :CONSECU|
00005240: 54 49 56 45 4C 59 20 4C  49 53 54 53 20 4F 4E 45  |TIVELY LISTS ONE|
00005250: 22 3A 2E 42 59 54 45 20  24 30 44 00 91 56 EA 1F  |":.BYTE $0D..V..|
00005260: 2E C6 20 22 42 41 53 49  43 20 4C 49 4E 45 2C 20  |.. "BASIC LINE, |
00005270: 57 48 45 52 45 20 27 58  27 20 41 50 50 45 41 52  |WHERE 'X' APPEAR|
00005280: 53 2E 22 3A 2E 42 59 54  45 20 24 30 44 2C 24 30  |S.":.BYTE $0D,$0|
00005290: 44 00 C3 56 F4 1F 2E C6  20 22 50 52 45 53 53 20  |D..V.... "PRESS |
000052A0: 54 48 45 20 27 50 27 20  4B 45 59 20 54 4F 20 50  |THE 'P' KEY TO P|
000052B0: 41 55 53 45 20 54 48 45  22 3A 2E 42 59 54 45 20  |AUSE THE":.BYTE |
000052C0: 24 30 44 00 F8 56 FE 1F  2E C6 20 22 4C 49 53 54  |$0D..V.... "LIST|
000052D0: 49 4E 47 2C 20 41 4E 44  20 41 4E 59 20 4B 45 59  |ING, AND ANY KEY|
000052E0: 20 54 4F 20 43 4F 4E 54  49 4E 55 45 2E 22 3A 2E  | TO CONTINUE.":.|
000052F0: 42 59 54 45 20 24 30 44  00 39 57 08 20 2E C6 20  |BYTE $0D.9W. .. |
00005300: 22 50 52 45 53 53 20 52  55 4E 2F 53 54 4F 50 2C  |"PRESS RUN/STOP,|
00005310: 20 54 4F 20 43 41 4E 43  45 4C 20 54 48 45 20 4C  | TO CANCEL THE L|
00005320: 49 53 54 49 4E 47 2E 22  3A 2E 42 59 54 45 20 24  |ISTING.":.BYTE $|
00005330: 30 44 2C 24 30 44 2C 30  30 00 3F 57 12 20 3B 00  |0D,$0D,00.?W. ;.|
00005340: 78 57 1C 20 4D 45 53 47  33 20 2E 42 59 54 45 20  |xW. MESG3 .BYTE |
00005350: 24 39 33 2C 24 30 44 3A  2E C6 20 22 20 20 20 20  |$93,$0D:.. "    |
00005360: 20 20 20 20 20 20 20 20  20 20 20 20 22 20 3B 31  |            " ;1|
00005370: 37 20 53 50 41 43 45 53  00 A0 57 26 20 2E 42 59  |7 SPACES..W& .BY|
00005380: 54 45 20 24 31 32 3A 2E  C6 20 22 58 52 45 46 36  |TE $12:.. "XREF6|
00005390: 34 22 3A 2E 42 59 54 45  20 24 30 44 2C 24 30 44  |4":.BYTE $0D,$0D|
000053A0: 00 C7 57 30 20 2E 42 59  54 45 20 24 30 44 3A 2E  |..W0 .BYTE $0D:.|
000053B0: C6 20 22 20 20 20 20 20  20 20 20 22 20 3B 38 20  |. "        " ;8 |
000053C0: 53 50 41 43 45 53 3B 00  E9 57 3A 20 2E C6 20 22  |SPACES;..W: .. "|
000053D0: 41 20 56 41 52 49 41 42  4C 45 20 26 20 4C 49 4E  |A VARIABLE & LIN|
000053E0: 45 20 4E 55 4D 42 45 52  22 00 10 58 44 20 2E 42  |E NUMBER"..XD .B|
000053F0: 59 54 45 20 24 30 44 3A  2E C6 20 22 20 20 20 20  |YTE $0D:.. "    |
00005400: 20 20 20 20 22 20 3B 38  20 53 50 41 43 45 53 3B  |    " ;8 SPACES;|
00005410: 00 3B 58 4E 20 2E C6 20  22 43 52 4F 53 53 20 52  |.;XN .. "CROSS R|
00005420: 45 46 45 52 45 4E 43 45  20 50 52 4F 47 52 41 4D  |EFERENCE PROGRAM|
00005430: 22 3A 2E 42 59 54 45 20  24 30 44 00 76 58 58 20  |":.BYTE $0D.vXX |
00005440: 2E 42 59 54 45 20 24 30  44 3A 2E C6 20 22 20 20  |.BYTE $0D:.. "  |
00005450: 20 20 20 20 22 3A 2E 42  59 54 45 20 24 31 32 3A  |    ":.BYTE $12:|
00005460: 2E C6 20 22 28 43 29 20  31 39 38 33 20 42 59 20  |.. "(C) 1983 BY |
00005470: 44 41 56 49 44 22 00 9B  58 62 20 2E C6 20 22 20  |DAVID"..Xb .. " |
00005480: 41 52 43 48 49 42 41 4C  44 22 3A 2E 42 59 54 45  |ARCHIBALD":.BYTE|
00005490: 20 24 30 44 2C 24 30 44  2C 30 30 00 A1 58 6C 20  | $0D,$0D,00..Xl |
000054A0: 3B 00 C4 58 76 20 3B AC  20 20 20 20 20 49 4E 49  |;..Xv ;.     INI|
000054B0: 54 49 41 54 49 91 20 43  4F 44 45 20 20 20 20 20  |TIATI. CODE     |
000054C0: 20 20 20 AC 00 CA 58 80  20 3B 00 ED 58 8A 20 53  |   ...X. ;..X. S|
000054D0: 54 41 52 54 20 4C 44 58  20 23 B3 4D 45 53 47 20  |TART LDX #.MESG |
000054E0: 3B 4C 53 42 20 4F 46 20  53 54 41 52 54 00 0A 59  |;LSB OF START..Y|
000054F0: 94 20 4C 44 59 20 23 B1  4D 45 53 47 20 3B 4D 53  |. LDY #.MESG ;MS|
00005500: 42 20 4F 46 20 53 54 41  52 54 00 2A 59 9E 20 53  |B OF START.*Y. S|
00005510: 54 58 20 4D 45 4D 53 49  5A 20 3B 53 45 54 20 A4  |TX MEMSIZ ;SET .|
00005520: 50 20 4F 46 20 42 41 53  49 43 00 43 59 A8 20 53  |P OF BASIC.CY. S|
00005530: 54 59 20 4D 45 4D 53 49  5A AA 31 20 3B 4D 45 4D  |TY MEMSIZ.1 ;MEM|
00005540: B0 59 3B 00 57 59 B2 20  4C 44 41 20 23 24 34 43  |.Y;.WY. LDA #$4C|
00005550: 20 3B 4A 4D 50 20 A4 00  75 59 BC 20 4C 44 58 20  | ;JMP ..uY. LDX |
00005560: 23 B3 45 4E 54 52 59 20  3B 4C 53 42 20 4F 46 20  |#.ENTRY ;LSB OF |
00005570: 45 4E 54 52 59 00 93 59  C6 20 4C 44 59 20 23 B1  |ENTRY..Y. LDY #.|
00005580: 45 4E 54 52 59 20 3B 4D  53 42 20 4F 46 20 45 4E  |ENTRY ;MSB OF EN|
00005590: 54 52 59 00 B5 59 D0 20  53 54 41 20 24 37 43 20  |TRY..Y. STA $7C |
000055A0: 3B 50 55 54 20 41 20 42  52 41 4E 43 48 20 A4 20  |;PUT A BRANCH . |
000055B0: 45 4E 54 52 59 00 D2 59  DA 20 53 54 58 20 24 37  |ENTRY..Y. STX $7|
000055C0: 44 20 3B 49 4E 20 43 48  52 A1 20 52 4F 55 54 49  |D ;IN CHR. ROUTI|
000055D0: 4E 45 00 DE 59 E4 20 53  54 59 20 24 37 45 00 F3  |NE..Y. STY $7E..|
000055E0: 59 EE 20 4C 44 59 20 23  24 30 30 20 3B 49 4E 44  |Y. LDY #$00 ;IND|
000055F0: 45 58 3B 00 12 5A F8 20  4D 45 53 50 52 54 20 4C  |EX;..Z. MESPRT L|
00005600: 44 41 20 4D 45 53 47 33  2C 59 20 3B A1 20 43 48  |DA MESG3,Y ;. CH|
00005610: 41 52 00 2F 5A 02 21 42  45 51 20 4A 50 42 41 4B  |AR./Z.!BEQ JPBAK|
00005620: 49 4E 20 3B 8B 20 30 20  A7 20 44 91 45 AB CB 00  |IN ;. 0 . D.E...|
00005630: 46 5A 0C 21 4A 53 52 20  4A 50 4F 55 54 50 55 54  |FZ.!JSR JPOUTPUT|
00005640: 20 3B 99 20 49 54 00 4E  5A 16 21 49 4E 59 00 6A  | ;. IT.NZ.!INY.j|
00005650: 5A 20 21 42 4E 45 20 4D  45 53 50 52 54 20 3B 55  |Z !BNE MESPRT ;U|
00005660: 4E 43 91 20 42 52 41 4E  43 48 00 70 5A 2A 21 3B  |NC. BRANCH.pZ*!;|
00005670: 00 93 5A 34 21 3B AC 20  20 4A 55 4D 50 20 54 41  |..Z4!;.  JUMP TA|
00005680: 42 4C 45 20 A4 20 52 45  4C 4F 43 41 54 41 42 4C  |BLE . RELOCATABL|
00005690: 45 20 AC 00 B7 5A 3E 21  3B AC 20 20 53 55 42 52  |E ...Z>!;.  SUBR|
000056A0: 4F 55 54 49 4E 45 53 20  42 45 4C 4F 57 20 24 41  |OUTINES BELOW $A|
000056B0: 30 30 30 2E 20 20 AC 00  BD 5A 48 21 3B 00 D5 5A  |000.  ...ZH!;..Z|
000056C0: 52 21 4A 50 42 41 4B 4F  55 54 20 4A 4D 50 20 42  |R!JPBAKOUT JMP B|
000056D0: 41 4B 4F 55 54 00 EB 5A  5C 21 4A 50 42 41 4B 49  |AKOUT..Z\!JPBAKI|
000056E0: 4E 20 4A 4D 50 20 42 41  4B 49 4E 00 03 5B 66 21  |N JMP BAKIN..[f!|
000056F0: 4A 50 4F 55 54 50 55 54  20 4A 4D 50 20 4F 55 54  |JPOUTPUT JMP OUT|
00005700: 50 55 54 00 19 5B 70 21  4A 50 44 91 45 58 49 20  |PUT..[p!JPD.EXI |
00005710: 4A 4D 50 20 44 91 45 58  49 00 2F 5B 7A 21 4A 50  |JMP D.EXI./[z!JP|
00005720: 43 52 4F 55 54 20 4A 4D  50 20 43 52 4F 55 54 00  |CROUT JMP CROUT.|
00005730: 47 5B 84 21 4A 50 4B 45  59 53 55 42 20 4A 4D 50  |G[.!JPKEYSUB JMP|
00005740: 20 4B 45 59 53 55 42 00  4D 5B 8E 21 3B 00 61 5B  | KEYSUB.M[.!;.a[|
00005750: 98 21 4C 4E 42 55 46 20  2E 42 59 54 45 20 24 30  |.!LNBUF .BYTE $0|
00005760: 30 00 00 00                                       |0...            |
....D.. SAVE "@0:XREF.PAL",8.".N...,.X..
 700.;...;  .OPT OO.A...;.J...;.........
............................. .;VAR. . L
INE # CROSSREF PROGRAM.....;.....;MAE AS
SEMBLER   8.15.1983.Q...;C.VERTED . PAL 
30.3.1987.W.H.;...R.;...................
.....................;.-...CHR. . $0073 
;. BYTE OF BASIC TEXT.W....CHN . $FFCC ;
RESET CHANNELS . .ALTS;.....SETLFS . $FF
BA ;SET ..1ST & 2ND ADDR.....SETNAM . $F
FBD ;SET FILE NAME.I...CHKOUT . $FFC9 ;.
 CHANNEL . OUTPUT.....CHROUT . $FFD2 ;OU
TPUT CHAR . CHANNEL..."..IN . $FFE4 ;. K
EY PRESS;.*.,.  . $FFC3 ;  A FILE;.H.6..
 . $FFC0 ;. A .ICAL FILE.H.@.R6510 . $01
 ;..OUTPUT REGS;...J.LINNUM . $14 ;LINE 
NUM S.RAGE AREA...T.MEMSIZ . $37 ;.P OF 
BASIC MEM;...^.ALLREF . $4B ;FLAG. PRT A
LL VAR & # REF...H.ALLVN . $4C ;FLAG. PR
T ALL VAR . # REF.+.R.S2ADR . $19 ;ADDR 
OF BUF1 . 2.O.|.S1ADR . $1B ;ADDR OF CMP
 STRING.N...S1C . $1D ;CGTH OF CMP STR..
...LN. . $FB ;. PO.ER . LNBUF.....BS. . 
$1E ;FLAG. . OF BASIC LINE.S...PO. . $20
 ;.TI. IN BASIC PRG.....TEPBUF . $FD ;TE
P LNBUF PO.ER.....PRG. . $02 ;FLAG . . O
F PRG.;.B.TXTTAB . $2B ;START OF BASIC T
EXT.].L.VARTAB . $2D ;. OF BASIC TEXT...
V.MSGFLG . $9D ;FLAG. DIRECT . PROG MODE
.....;.......$C000. ...;.C...;.  BRANCH 
. INITIATI. CODE  ..I...;.....PRGSTR JSR
 BAKOUT ;INIT. CODE IS UNDER.....JMP STA
RT ;BASIC ROM . K!...&.;.=.0.;.   OUTPUT
 & OTHER STRINGS    ..C.:.;.G.D.MESG .F 
"FER" ;X"REF" BACKWARDS...N.MESG4 .BYTE 
$00 : .F "PLE" ;H"ELP" BACKWARDS...X.;.D
.B.;...................................L
.;   START OF SUBROUTINES THAT...V.;OPER
ATE BELOW $A000 (BASIC ROM).1...;.......
..........................7...;.Y...;.  
SUBROUTINE . EXIT BACK  ..W...;. . CHR. 
AFTER PER.MING......;. THE COMM.S THAT W
ERE    ......;. REPLACED BY THE BRANCH .
 ......;. THIS PROGRAM.             ....
F.;...P..1ST LDY #00 ;RESET . BUF...Z.ST
Y $7A ;. START OF BUF;.;...LDA ($7A),Y ;
. 1ST CHAR;.V...KBACK LDY PO. ;. X & Y.T
...LDX PO..1 ;. CHR. CALLER;.....CMP #$3
A.....BCS RTN.....JMP $0080... .RTN RTS.
..*.;.R.4.;. THE FOLLOWING CODE BANKS   
 ....>.;. THE BASIC ROM OUT . ENTRY  ...
.H.;. . BACK IT IN . EXIT      ....R.;.?
.\.BAKOUT SEI ;DISABLE .ERRUPT;._.F.LDA 
R6510 ;. PRESENT STATUS.~.P.. #$FE ;BANK
 OUT A000.BFFF...Z.BNE STREG ;IT W."T=0-
UNCON BRANCH.D...BAKIN CLI ;ENABLE .ERRU
PTS;.....LDA R6510 ;. PRESENT STATUS....
..A #$01 ;BANK IN A000.BFFF.#...STREG ST
A R6510 ;. . STATUS.7...RTS ;. . CALLER.
=...;.D...;..C.J.;.  OUTPUT . .ER . CRT 
  ..I.T.;.....OUTPUT PHA ;. THE CHAR....
.JSR BAKIN ;BANK ROM IN.....PLA ;PUT CHA
R BACK IN A.R...JSR CHROUT ;. CHAR.....J
MP BAKOUT ;BANK ROM OUT & RTS . CALLER..
...;.....;"DONE" EXIT . BASIC.#.$.;.D...
D.EXI JSR BAKIN ;BANK IN ROM.`.8.LDA #04
 ;  OUTPUT FILE;.J.B.JSR  .W.L.JSR .CHN.
..V.JMP ($0302) ;BASIC WARM START...`.;.
..J.;XREF.CR. EXIT . BASIC...T.;...~.CRO
UT JSR BAKIN ;BANK IN ROM.....JMP $A6A7 
;. BASIC LINE.....;.$...;BANK IN BASIC &
 . KEY PRESS.*...;.M...KEYSUB JSR BAKIN 
;BANK IN ROM;.G...JSR .IN ;. KEY PRESS;.
}.D.PHA ;. KEY PRESS;...N.JSR BAKOUT...X
.PLA ;. KEY PRESS;.....RTS.....;.W...;..
....................................;. O
F SUBROUTINES BELOW $A000. ...;.........
.........................&...;.I...;.   
START OF PROGRAM        ..O.(.;.J.2.ENTR
Y STY PO. ;. X & Y...<.STX PO..1 ;FROM C
HR. CALLER;...F.LDX MSGFLG           ;IN
.K.P.BPL KBACK ;. IN PROG MODE.EXIT...Z.
LDX $007A ;"IS IT THE 1ST LETTER IN BUF?
...D.BNE KBACK ;. . . EXIT.4.N.CMP #"X" 
;"IS 1ST LETTER A X?.K.X.BEQ HERE ;EXIT 
. ..N...LDY #$03 ;. "H" CHECK . 3 CHAR..
...LDX #.MESG4 ;PNT . LSB OF "HELP'.....
CMP #"H" ;"1ST LETTER = H ?.Y. .BEQ MESA
DD ;CHECK . "ELP" FOLLOWS.....BNE KBACK.
....HERE LDY #$02 ;Y.NUM OF CHAR . CHECK
.4...LDX #.MESG ;PNT . LSB OF "XREF'._.H
.MESADD STX MESCMP.1 ;PNT . HELP . XREF.
{.R.LOOP JSR CHR. ;. . CHAR.....MESCMP C
MP MESG,Y ;CMP . "REF'.....BNE .1ST ;DOE
SN"T="REF"-EXIT.....DEY ;PO. . . CHAR IN
 "REF'.....BPL LOOP ;CMP . CHAR.....;...
..LDA MESCMP.1.....;.9.".CMP #.MESG ;"WH
ICH COM. ENTERED?.Z.,.BEQ XREF ;K . "XRE
F" ENTERED.`.6.;.{.@.;EXIT . "HELP" ROUT
INE...J.;...T.JSR BAKOUT...^.JMP HELP...
H.;.M.R.;"PRINT BASIC LINE WHERE REF APP
EARS?.S.|.;.....XREF LDA #.BUF1 ;PNT . .
C.....STA S2ADR.1.....JSR CHR. ;. . CHAR
.3...CMP #$00 ;DOES IT.. OF.M...BNE SKIP
1 ;LINE . ..K.\...JSR BAKOUT.G.B.JMP CR.
M.L.;...V.;SETUP OUTPUT FILE . CRT . PRT
.....;.....SKIP1 PHA ;. CHAR;.F...LDA #0
4 ;  CHANNEL ......JSR   ;PREVENT "OPEN"
 ERR;.....PLA ;. CHAR;.....LDX #$3 ;X.DE
VICE # . CRT.0...LDY #$24 ;CRT LINE CGTH
.W.&.CMP #$2A ;"SEND OUTPUT TO PRINTER?.
}.0.BNE SETCRT ;"NO? SETUP OUTPUT CRT...
:.JSR CHR. ;. . CHAR...D.LDX #$04 ;X.DEV
ICE # . .ER.O.N.LDY #$4C ;.ER LINE CGTH.
..X.SETCRT STY PRTC.1 ;. LINE CGTH...B.P
HA ;. PRESENT CHAR.%.L.LDA #$04 ;.ICAL F
ILE #.?.V.LDY #$FF ;S. NO COMM..B...JSR 
SETLFS ;SETUP A .ICAL FILE....LDA #$00 
;NAME CGTH.ZERO.....JSR SETNAM ;SETUP FI
LE NAME.....JSR . ;. .ICAL FILE.M...LDX 
#04 ;. OUTPUT.....JSR CHKOUT ;CHANNEL;..
...JSR BAKOUT ;BANK OUT ROM;. .F.JMP BLR
OM ;. MAIN PRGM;.&.P.;.J.Z.;. THE FOLLOW
ING CODE OPERATES..N...;. UNDER THE BASI
C ROM        ..T...;.......$A000 ;THE ST
ART OF BASIC ROM.....;.E...BLROM LDX TXT
TAB ;CHECK . THERE IS.....INX ;A BASIC P
RGM IN... .INX ;MEM.Y;...*.CPX VARTAB ;C
MP LOW BYTE 1ST;...4.BNE TEXTIN ;. . . .
 THERE.Q.>.LDX TXTTAB.1 ;IS TXEXT IN MEM
;.R.H.CPX VARTAB.1 ;CMP HIGH BYTE;...R.B
NE TEXTIN ;"<>? THEN THERE'S TEXT;...\.J
MP JPD.EXI ;. . . NO TEXT;...F.;...P.TEX
TIN JSR SEPMES ;PRT SEPARATING MESG;...Z
.PLA ;. CHARACTER.....;.&...;SETUP FLAGS
 ACC.DING . .;.G...;XREF@  . ALLREF.1   
ALLVN.0.H...;XREF@A . ALLREF.0   ALLVN.0
.....;XREFA  . ALLREF.0   ALLVN.1.....;.
....LDY #00 ;ZERO . RESET FLAGS.J.J.STY 
ALLREF ;. . INDEX;.X.T.INC ALLVN.....CMP
 #"@" ;"LIST ALL REF'S?.....BNE SKIP2 ;K
 . NO;./...INC ALLREF ;"@" WAS ENTERED;.
=...STY ALLVN.C...;.H...;. VARIABLE . # 
FOLLOWING "XREF'.N...;...$.LOOP2 JSR CHR
. ;. A CHAR;.....CMP #00 ;"END OF INPUT?
...8.BEQ .STR ;K . YES;...B.SKIP2 STA BU
F1.1,Y ;. STRING ....L.STA BUF2.1,Y ;BUF
FERS;...V.INY. .`.CPY #05 ;. MAX. NUMBER
.?.J.BNE LOOP2 ;"OF CHARACTERS?.[.T..STR
 STY BUF1 ;. STRING.O.~.STY BUF2 ;CGTH;.
....TYA ;. NO STR WAS.....BEQ LOOP3.2 ;E
NTERED Y.0;.C...LDA #00 ;XREF@A WAS ENTE
RED.....STA ALLREF ;PRG. LOOPS 2 ......B
EQ STRENT ;ALLREF .. 0;.....;.%.D.;. NO 
STR ENTERED . PRT ALL.F.N.;REF. STARTING
 WITH ZERO UP;.L.X.;.I...LDX #$0B ;12 CH
AR . MOVE.....LOOP3 LDA MESBUF,X ;. CHAR
.....STA BUF1,X ;MOVE IT . THE BUF1&2.G.
..DEX ;BUMP INDEX REGS;.....BPL LOOP3 ;.
 UNTIL ALL MOVED.....STRENT LDX TXTTAB ;
START OF BASIC.....DEX./.(.STX PO. ;. . 
"GETBY'.P.2.LDA TXTTAB.1 ;. MSB OF START
.G.<.STA PO..1 ;. IT .O...F.LDA #$00 ;ZE
RO THE FLAG IN...P.STA NUMPNT.1 ;.C (. #
).A.Z.INC BS. ;SET . OF LINE FLAG...D.ST
A PRG. ;ZERO . OF BASIC PRG FLAG...N.STA
 EXIT10.1 ;LOOP THRU PRG FLAG./.X.LDA #.
LNBUF ;RESET PO.ER OF ..R...STA LN. ;IN 
LINE S.RAGE BUFFER.U...LDA #.LNBUF ;. ST
ART OF BUFFER.....STA LN..1... .;.....;"
WAS A NO. OR A VAR. ENTERED?.....;.O...L
DA BUF1.1 ;. 1ST CHAR ....H.CMP #$3A ;CH
ECK . IS A NUMBER...R.BCS .NUM ;K . .TER
./...INC NUMPNT.1 ;NUM ENTERED.SET FLAG.
5...;.W...;START OF FIND VAR . # SECTI..
]...;......CANC LDA #00 ;CLEAR "ON-GOTO"
 FLAG;.....STA .FLAG.1......NUM JSR .BY 
;. A BYTE.W."..CHK LDX PRG. ;"END OF BAS
IC PRG?...,.BEQ SKIP3 ;K . ... 6.JMP PRT
. ;PRT LINE# IN LNBUF.8 @.SKIP3 LDX #$00
 ;X.SEARCH KEY . "PRINT'.V J.CMP #$8F ;"
IS IT A 'REM'?.K T.BEQ . ;GO IF YES.. ^.
CMP #$83 ;"IS IT A 'DATA'?.. H.BEQ . ;GO
 IF YES.. R.CMP #$22 ;"IS IT A QUOTE?.K 
|.BNE SKIP4.Q ..;.. ..;SEARCH . . OF LIN
E . QUOTE..!..;. .,REM OR PRINT FOUND..!
..;.4!... LDX #$22 ;SEARCH KEY . ."S.Y!.
.. STX SCHKEY+1 ;SAVE SEARCH CHAR.Y!B.LO
OP4 JSR .BY ;SEARCH . KEY..!L.CMP #$00 ;
"IS IT=END OF LINE?..!V.BEQ .CHK ;. . CH
ECK.Y!..SCHKEY CMP #$00 ;.22 . PRT,.0 . 
...!..BNE LOOP4 ;LOOP UNTIL .E FOUND. ".
.BEQ .CHK ;IT MUST.0 . BE HERE.K.&"..;.E
"..;CHECK . LOOKING . # . VAR.K"..;.R"..
SKIP4 LDX NUMPNT.1 ;.0 . VAR 1 . ..."&.B
EQ SKPNUM ;K LOOK . VAR.."0.;..":.;LOOK 
. "RUN","GOTO","GOSUB" & "THEN'.E"D.;.."
N.CMP #$8A ;"DOES IT = RUN?..#X.BEQ NUMS
TR ;. YES JMP . PATCH IN..#B.CMP #$89 ;"
GOTO'.,#L.BEQ NUMSTR.B#V.CMP #$8D ;"GOSU
B'.Q#..BEQ NUMSTR.F#..CMP #$A7 ;"THEN'.U
#..BEQ NUMSTR..#...FLAG LDX #00 ;CHECK .
 NUMBERS..#..BEQ .NUM ;FOLLOWING "," BEC
AUSE.Y#..CMP #"," ;OF "ON" COMM.;..#..BN
E .CANC ;.."," CANCEL CHECK;.-$F.NUMSTR 
STA .FLAG.1 ;SET FLAG INCASE OF "ON";.M$
P.JSR .BY ;"IS NEXT CHAR A #?.G$Z.CMP #$
3A ;"IS IT > 9?..$..BCS .CANC ;K . IT IS
;..$..CMP #$30 ;"IS IT < 0?..$..BCC .CAN
C ;K . IT IS;.R$..BCS PCHIN ;UNC.. BRANC
H;.X$..;..$..;CHECK . VARIABLE NAME..$ .
;..%*.SKPNUM CMP #$41 ;. . "A'.1%4.BCC .
NUM ;K . . A .TER.L%>.CMP #$5B ;"> THEN 
'X'?.A%H.BCS .NUM ;K . IS..%R.PCHIN LDA 
#.BUF2 ;SETUP .C ...%\.STA S2ADR ;CMP BU
F2 & THE STR.A%F.JSR .C ;. . OF VAR & CM
P..%P.BEQ JMPNT1 ;"=? PUT LINE# IN LNBUF
..&Z.LDX ALLVN ;"WAS '@' ENTERED?.$&..BN
E .NUM ;K . @ WASN"T.F&..BCC SKIP5 ;. TH
E STR . BUF2.K.P&..STA EXIT10.1 ;SET THE
 LOOP AGAIN FLAG..&..BCS .NUM ;CARRY IS 
SET UNC. BRANCH..&..SKIP5 LDA #.BUF1 ;SE
T . CMP BUF1.T&..STA S2ADR ;. STRING..&.
.JSR STRCMP ;K STRAIGHT . CMP..'J.BCC JM
PNT2 ;. STR . BUF1.K.3'T.BEQ JMPNT2 ;. S
TR . BUF1.K.Q'..LDA #.BUF2 ;SETUP PO.ER 
..E'..STA S2ADR ;MOVE..'..JSR MOVEIT ;MO
VE STR . BUF2..'..LDA #.LNBUF ;RESET . O
F BUFFER..'..STA LN. ;PO.ER.K'..LDA #.LN
BUF.Y'..STA LN..1..($.JMPNT1 JSR S51 ;PU
T LINE # IN LNBUF..(..JMPNT2 JMP .NUM ;.
INUE."(8.;.B(B.;.    . THE HELP TEXT    
 ..H(L.;.L(V.HELP LDA #.HELPMG ;. HIGH B
YTE;.|(`.STA LOOP6.2..(J.LDY #00 ;ZERO I
NDEX;..(T.LOOP6 LDA HELPMG,Y ;. CHAR;.Z(
~.BEQ HPD.E ;"DOES CHAR=0? - DONE;..(..J
SR CHROUT ;. CHAR;..(..INY..)..BNE LOOP6
 ;UNC.. BRANCH;.6)..INC LOOP6.2 ;. . 255
 CHAR;.S)..BNE LOOP6 ;UNC.. BRANCH;.U)..
HPD.E JMP JPD.EXI ;. . BASIC;.{)D.;..)N.
;. . THE REFERANCED LINES  ...)X.;.J)..C
R JSR BUFEMP ;CHECK . LNBUF EMPTY;..)..B
EQ HERE2 ;. EMPTY.K;..*..JSR TEPINC ;PO.
 . LINE # IN LNBUF;.2*..BEQ SKIP12 ;"DON
E ALL REF'S? EXIT;.F*..LDY #00 ;INDEX;.K
*..LDA (TEPBUF),Y ;. LSB OF LINE #;..*..
STA LINNUM ;. IT . BASICS..*(.INY ;. LIN
E ROUTINE;.G*2.LDA (TEPBUF),Y ;. MSB OF 
LINE #;.X*<.STA LINNUM.1..*F.JMP JPCROUT
 ;BANK IN ROM & . LINE;.)+P.SKIP12 LDA #
.LNBUF ;RESET . OF BUFFER.=+Z.STA LN. ;P
O.ER;.M+D.LDA #.LNBUF.[+N.STA LN..1..+X.
HERE2 JMP D.E1 ;PRT "END OF TEXT";..+..;
..+..;.  . CGTH OF A VAR . #   ...+..;.K
+ ..C LDA PO. ;. THE ADD OF..+..STA S1AD
R ;WHERE THE VAR;..,..LDA PO..1 ;STARTS 
IN BASIC.$,..STA S1ADR.1 ;PRG . . IT.C,H
.LDA #$01 ;INZIT. VAR C CNT.O,R.STA S1C.
L,..LOOP12 JSR .BY ;. . CHAR..,..NUMPNT 
LDX #$00 ;.1 . # ENT 0 . ...,..BNE BYPAS
S ;. # ENTERED.K.K,..CMP #$5B ;"> THEN '
Z'?..,..BCS MINUS1 ;K COMPARE STRINGS..-
..CMP #$41 ;DOES IT .. "A'.#-..BCS ADDC 
;K INC CGTH.=-".CMP #$24 ;DOES IT . $.U-
,.BEQ VARTYP ;K . YES.O-6.CMP #$25 ;DOES
 IT . %.~-@.BEQ VARTYP..-J.CMP #$28 ;DOE
S IT . (..-T.BNE BYPASS ;K . NO..-^.;.V-
H.;.HING IN THE () . FOLLOWING..-R.;"$" 
. "%" IS COUNTED AS PART...|.;OF THE VAR
IABLE SO WE JMP ..;...;STRCMP AFTER THES
E ARE FOUND.A...;.C...VARTYP INC S1C ;IN
C CGTH BY 1....BNE MINUS1 ;UNC. BRANCH.
....;.....BYPASS CMP #$3A ;LOOKING . A #
.F.B.BCS MINUS1 ;K . . A FII #...L.CMP #
$30 ;CHECK . FII 0.9...V.BCC MINUS1 ;K .
 .../..ADDC INC S1C ;INC STR CGTH CNT.?/
..BNE LOOP12 ;UNC. BRANCH..INUE.E/..;.G/
..;.  COMPARE BUF1 . 2 . VAR  .../..;.  
. # WHOS ADD IS IN S1ADR  .../..;../..MI
NUS1 LDA BS. ;. ..OF.LINE HIT.V/&.BNE ST
RCMP ;D."T BACK SPACE;../0.SEC ;INC 1 PA
ST VARIABLE..0:.LDA PO. ;SO TAKE 1 OFF;.
.0D.SBC #01..0N.STA PO. ;. IT;.=0X.BCS S
TRCMP.Y0B.DEC PO..1 ;.BY .S CHAR;.}0L.;F
OLLOWING VAR. . 2ND CHAR PAST..0V.STRCMP
 LDA NUMPNT.1 ;. CMP"ING #"S..0..BEQ STR
CP2 ;TEST C 1ST;.Z0..JSR TSTC ;. C"S NOT
 =..0..BNE EXTCMP ;. .;..1..STRCP2 LDY #
0.$1..LDA (S2ADR),Y ;. C OF BUF STR;.@1.
.CMP S1C ;CMP . . STR C;.^1..BCC BEGCMP 
;. C OF S1C IS.Z1F.LDA S1C ;SH.TER USE I
T;..1P.;..1Z.;. COMPARE THE STR THRU CGT
H OF..1..;. SH.TER STRING..1..;..1..BEGC
MP TAX ;X.C OF SH.TER STR..2..BEQ TSTC ;
BRANCH . CGTH ZERO.12..CMPLP LDA (S1ADR)
,Y ;. CHAR FROM BASIC PRG.A2..INY ;. CHA
R.A2 .CMP (S2ADR),Y ;CMP BUF1 . 2.~2*.BN
E EXTCMP ;K . CHAR . ...24.DEX ;DEC COUN
TER..2>.BNE CMPLP ;LOOP "TIL ALL COMPARE
D..2H.;..2R.;THE 2 STR ARE EQUAL.THE CGT
H..3\.;OF THE SH.TER SO USE CGTH ...3F.;
SETTING FLAGS;..3P.;.;3Z.TSTC LDY #0 ;CO
MPARE CGTHS.V3..LDA S1C ;SET . . FLAGS.H
3..CMP (S2ADR),Y.N3..;..3..;EXIT FROM ST
RING COMPARE..3..;..3..EXTCMP RTS..3..;.
H3J.;.  MOVE THE VAR. PO.ED .  ...3T.;. 
 BY S1ADR . WHERE S2ADR   ...4..;.  PO.S
                    ...4..;.74..MOVEIT L
DY #$00 ;ZERO INDEX PNT.S4..LDA S1C ;. C
GTH OF STR1.V4..STA (S2ADR),Y ;. IT . BU
F1 . 2..4..TAX ;PUT C IN X..4..MVLOOP LD
A (S1ADR),Y ;. A CHARACTER.E4$.INY ;INC 
INDEX..4..STA (S2ADR),Y ;. CHAR . BUF#..
48.DEX ;DEC COUNTER..5B.BNE MVLOOP ;LOOP
 "TIL ALL MOVED.35L.RTS ;. . CALLER.95V.
;.[5`.;.  CHECK . LINE # IS AL.Y  ...5J.
;.  IN LNBUF. . IT IS INC CNT  ...5T.;. 
 . . PUT IT THERE         ...5~.;.Q5..S5
1 JSR BUFEMP ;CHECK . LNBUF EMPTY..5..BE
Q LNPUT ;BUF EMPTY PUT LINE# IN IT..6..L
DY #$00.)6..LDA (LN.),Y ;. LINE# IN LNBU
F.P6..CMP LINNUM ;CMP IT . PRESENT LINE#
.~6..BNE LNPUT ;LINE# IS . IN BUF.PUT IT
 THERE..6D.INY ;PO. . MSB OF LINE#..6N.L
DA (LN.),Y ;CMP MSB"S OF LINE#.O6X.CMP L
INNUM.1..6..BNE LNPUT..6..INY ;PNT . CNT
 OF # TIMES. 7..LDA #$01 ;IT APPEARS . T
HAT LINE.97..CLC ;SET CARRY . ADD.X7..AD
C (LN.),Y ;ADD 1 . COUNT.N7..STA (LN.),Y
 ;. IT.V7..RTS.|7(.;..72.LNPUT CLC ;LOOP
 COUNTER..7<.LDA LN. ;. LSB OF . OF BUFF
ER.V7F.ADC #$03 ;PO. LN. . . ...7P.STA L
N. ;SPACE IN LNBUF..8Z.LDA LN..1 ;. MSB.
(8D.ADC #$00 ;ADD THE CARRY . .E.A8N.STA
 LN..1 ;GENERATED.X8X.LDY #0 ;ZERO INDEX
.{8..LDA LINNUM ;. BASIC PRG LINE #..8..
STA (LN.),Y ;. S.RE IT IN..8..INY ;IN TH
E LINE #.I8 .LDA LINNUM.1 ;BUFFER.Y8..ST
A (LN.),Y..8..INY..8..LDA #$01 ;LDA WITH
 COUNT..9H.STA (LN.),Y ;. . IT.*9R.RTS ;
. . CALLER.09..;.79..;..\9..;. . A BYTE 
FROM THE BASIC PRG ..B9..;..9...BY LDA #
$01 ;RESET THE ADC IN SKIP6..9..STA ADD1
5.1 ;. INC "POINT" BY 1.K9..LDA BS. ;WAS
 . OF BASIC..9".BEQ SKIP6 ;"LINE END HIT
 LAST TIME?..:,.DEC BS. ;ZERO LINE . FLA
G.2:6.LDY #$03 ;PO. INDEX . LINE #.S:@.L
DA (PO.),Y ;. LSB OF LINE #.H:J.STA LINN
UM ;. IT.P:T.INY..:^.LDA (PO.),Y ;. MSB 
OF LINE #..:H.STA LINNUM.1 ;. IT.R:R.LDA
 #$05 ;SET ADC IN SKIP6 . INC PASS..:|.S
TA ADD15.1 ;THE LINE PO.ER & LINE #..;..
SKIP6 CLC.+;..LDA PO. ;INC "POINT" . . B
YTE.M;..ADD15 ADC #$01 ;OF BASIC LINE.Y;
..STA PO..{;..LDA PO..1 ;ADD THE CARRY .
 .E..;..ADC #$00 ;WAS GENERATED..;B.STA 
PO..1..;L.LDY #$00 ;ZERO INDEX..;V.LDA (
PO.),Y ;. A BYTE FROM BASIC PRG..<..BEQ 
ZEROCK ;. IT . 0 . K..<..CMP #$20 ;"= SP
ACE?.8<..BEQ .BY ;BYPASS SPACES;.@<..RTS
.]<..ZEROCK INY ;INC . . BYTE.~<..CMP (P
O.),Y ;"IS IT ZERO TO?..<..BEQ SKIP7 ;"Y
ES-THEN END OF BASIC PRG?.N<&.SET. INC B
S. ;SET . OF LINE FLAG.V<0.RTS..<:.;..<D
.SKIP7 INY ;INC . . BYTE..=N.CMP (PO.),Y
 ;"IS 3RD BYTE A ZERO?.A=X.BNE SET. ;YES
.. . OF BASIC PRG.A=B.INC PRG. ;SET . OF
 PRG FLAG.O=L.ZERO3 RTS.U=V.;..=..;.  . 
.ENTS OF LNBUF   ...=..;.A=..PRT. JSR BU
FEMP ;CHECK . LNBUF EMPTY..=..BEQ EXIT10
 ;BUF EMPTY . ZERO..>..JSR LNPUT ;INC PA
ST LAST # IN LNBUF;.!>..LDA #$0D ;. A CR
;.2>..JSR JPOUTPUT.S>F.LDX BUF2 ;A.C OF 
STR IN BUF2.V>P.LDY #$01 ;PO. INDEX . 1S
T CHAR..>Z.LOOP5 LDA BUF2,Y ;. A CHAR..>
..JSR JPOUTPUT ;. IT..>..INY..>..DEX.J>.
.BNE LOOP5..>..JSR PRTSPC ;SPC CURS. . C
OL. 11..?..LDA #.LNBUF.3 ;PUT START OF L
INE #.8? .STA TEPBUF ;BUFFER IN TEMP.ARY
.X?*.LDA #.LNBUF ;BUFFER ADDRESS.I?4.STA
 TEPBUF.1..?>..NUM LDY #$00 ;SET INDEX..
?H.LDA (TEPBUF),Y ;. LSB OF NUMBER.G?R.S
TA EUE ;. IT . BN 2 FII.O?\.INY..?F.LDA 
(TEPBUF),Y ;. MSB OF NUMBER..@P.STA EUE.
1 ;. IT..@Z.INY ;PO. . COUNT.<@..LDA (TE
PBUF),Y ;. COUNT . ..T@..PHA ;IT . THE S
TACK.V@..JSR BN2F ;C.VERT LINE # . FII..
@..PLA ;. CNT OF STACK;..@..STA EUE ;. C
NT . BN2F;.A@..CMP #01 ;. CNT.1 ...@..BE
Q SPACE ;D."T PRT / & CNT;..AJ.INC LINCN
T.1 ;INC LINE CNT ..!AT.LDA #"/" ;. IN B
UF3 AFTER.9A..STA BUF3,X ;LINE #;.UA..IN
X ;"/". INX BUF3 PNT;.WA..LDA #00 ;ZERO 
MSB IN "VALUE";..A..STA EUE.1..A..TAY ;J
UMP . MIDDLE OF.AA..JSR .DIG.3 ;BN2F C.V
 CNT . F;..A..SPACE LDA #$20 ;PUT A SPAC
E IN..B$.STA BUF3,X ;BUF3 FOLLOWING #;..
B..INX ;INC # CGTH CNT;.0B8.INC LINCNT.1
.ZBB.PRTC LDA #00 ;OUTPUT . PRT.78 CRT.3
8;..BL.LINCNT CMP #00 ;CMP . # OF CHAR P
RT;..BV.BCS PASSCR ;K . . . OF LINE;..B`
.LDA #$0D ;. A CR;.KBJ.JSR JPOUTPUT..BT.
LDY #01 ;SPACE . COL. 11;..B~.JSR PRTSPC
..C..PASSCR JSR FNUM ;PRT LINE# & CNT;.=
C..PFNT JSR .KEY ;. KEY PRESS.EC..NOSPC 
JSR TEPINC ;INC TEPBUF . . #;..C..BNE .N
UM ;"LAST # PRT? NO-GO;..C..;..C..EXIT10
 LDA #$00 ;. WE LOOP THRU PRG..CD.BEQ SK
IP11           ;AGAIN A..0 ELSE K..CN.LD
X BUF2 ;. C OF STR..DX.LOOP13 LDA BUF2,X
 ;. A CHAR;.1D..STA BUF1,X ;. IT;.9D..DE
X.HD..BPL LOOP13.FD..LDX #05 ;# OF CHAR 
. MOVE..D..LOOP14 LDA MESBUF.6,X ;PUT 5,
ZZZZZ..D..STA BUF2,X ;IN BUF2..D..DEX..D
(.BPL LOOP14.KD2.JMP STRENT..D<.SKIP11 L
DA ALLREF ;"PRT ALL REF'S ?..EF.BEQ D.E 
;K . ALL D.E.&EP.DEC ALLREF ;ZERO FLAG.K
EZ.JSR SEPMES ;PRT SEPARATING MESG;.MED.
LDA #"@" ;. A SO VAR . # TEST..EN.STA BU
F1.1 ;SETS UP THE PRG ...EX.LDA #$01 ;SE
ARCH . A VAR..E..STA BUF1.YE..LDX #$02 ;
STARTING . . LOOP..F..JMP LOOP14.2 ;JMP 
. MIDDLE OF LOOP..F .;..F..;ALL D.E EXIT
..F..;.8F..PLA ;. RID OF RTS ADD.@FH.PLA
.IFR.D.E LDA #.LNBUF ;PUT START OF LINE 
#..F..STA TEPBUF ;BUFFER IN TEMP.ARY..F.
.LDA #.LNBUF ;BUFFER ADDRESS..F..STA TEP
BUF.1..F..D.E1 LDY #MESG2.VARMES ;Y.STAR
T OF MESG..G..JSR SEPMES.2 ;K PRT TEXT .
 MESG.2G..JMP JPD.EXI ;BANK ROM IN . BAS
IC.8G..;.YG".;PO. TEPBUF . . # IN LNBUF 
&.ZG,.;CHECK . . OF BUFFER REACHED..G6.;
..G@.TEPINC CLC ;PO. TEPBUF . ...GJ.LDA 
TEPBUF ;LINE NUMBER.HGT.ADC #$03.WG^.STA
 TEPBUF..GH.LDA TEPBUF.1 ;ADD THE CARRY 
...HR.ADC #$00 ;.E GENERATED.%H|.STA TEP
BUF.1.GH..LDA LN. ;CHECK . AT . OF BUF;.
IH..CMP TEPBUF ;CMP LOW BYTE 1ST;..H..BN
E TEPEX ;"NOT DONE? GO;..H..LDA LN..1 ;C
MP HIGH BYTE. ..FH..CMP TEPBUF.1 ;EQUAL 
. D.E;..H..TEPEX RTS ;EQUAL ZERO . D.E;.
.HB.;..HL.;. 10 SPACES..IV.;..I..PRTSPC 
TXA ;. CGTH OF.3I..PHA ;# . BE .ED;.UI..
SPCLP LDA #$20 ;. SPACE "TILL.{I..JSR JP
OUTPUT ;CURS. IS AT COL. 11..I..INX ;X.$
0B.#"S LENGTH;..I..INY..I..CPY #$0B..I&.
BNE SPCLP.XI0.STX LINCNT.1 ;. . LINE CNT
..I:.PLA ;. #"S LENGTH;..ID.TAX..IN.RTS.
.JX.;..JB.;. THE .ENTS OF BUF3.$JL.;.=JV
.FNUM LDY #$00 ;INDEX.[J..LOOP9 LDA BUF3
,Y ;. FII #.RJ..JSR JPOUTPUT ;. IT.ZJ..I
NY..J..DEX ;DEC COUNT..J..BNE LOOP9 ;LOO
P "TIL ALL PRINTED..J..RTS..J..;..JF.;. 
KEY PRESS & RESP.D . IT..JP.;..KZ..KEY J
SR JPKEYSUB ;. KEY PRESS;.)K..CMP #"P" ;
"WAS 'P' PRESSED?.4K..BNE RS.ZK..PAUSE J
SR JPKEYSUB ;. . KEYPRESS;.UK..TAX ;"ANY
 KEY PRESSED?..K..BEQ PAUSE..K..RS CMP #
03 ;"WAS IT RUN/STOP?..K .BNE RET1 ;. . 
.;.TK*.JMP D.E.2 ;ELSE QUIT;.ZK4.;..K>.;
.  CHECK . LNBUF IS EMPTY   ...LH.;.'LR.
BUFEMP LDA #.LNBUF ;. LNBUF.LN..FL\.CMP 
LN. ;. BUFFER IS EMPTY.HLF.BNE RET1 ;. .
. . CMP LINE #"S..LP.LDA #.LNBUF ;CMP MS
B OF LNBUF & NUMPRT..LZ.CMP LN..1..L..RE
T1 RTS..L..;.XL..;.  VAR & # SEPARATING 
LINE   ...L..;..L..SEPMES LDY #00 ;INDEX
;..M..LDA VARMES,Y ;. CHAR;.-M..BEQ RET1
 ;EXIT . D.E;.EMJ.JSR JPOUTPUT ;. IT;.MM
T.INY.MM..BNE SEPMES.2 ;UNC.. BRANCH;.SM
..;..M..;.  C.VERT BINARY . FII  ...M..;
..M..BN2F LDY #$0A ;PUT 10 FII 0 IN BUF3
..M..LDX #$00 ;ZERO BUF3 INDEX..M..LOOP8
 LDA #"0" ;FII ZERO..N$.STA BUF3.1,Y..N.
.DEY."N8.BNE LOOP8.(NB.;.?NL.;SUBTRACTI.
 SECTI..ENV.;.VN`.STX LESSTN.2.UNJ..DIG 
SEC ;BEGIN SUBTRACTI...NT.LDA EUE ;LSB O
F #..N~.SBC TABLE,Y ;SUB LOW .DER BYTE..
N..PHA ;. ..SN..LDA EUE.1 ;MSB OF #..N..
SBC TABLE.1,Y ;SUB HIGH BYTE..O..BCC LES
STN ;. . PRESENT TABLE #. K.5O..STA EUE.
1 ;. . LESS ..GO..PLA ;. IN EUE.SOD.STA 
EUE.MON.INC BUF3,X ;INC DIGIT..OX.BCS .D
IG ;UNC. BRANCH..O..;..O..;ZERO SUPRESSI
. SECTI...O..;.JO..LESSTN PLA ;CLEAR STA
CK..O..CPX #00 ;CHECK . . 1ST DIGIT..P..
BNE .1ST ;K . . 1ST.)P..LDA BUF3,X ;. 1S
T CHECK . STILL 0.PP(.CMP #"0" ;SUPPRESS
 ZERO BY . INC X.QP2.BEQ IS1ST ;. . DIGI
T IN BUF3.~P<..1ST INX..PF.INC LINCNT.1.
.PP.IS1ST INY ;PO. . . ENTRY.BPZ.INY ;IN
 THE TABLE..PD.CPY #$0A ;"DONE 5 DIGITS 
YET?..QN.BNE .DIG ;. ..K "TIL DONE..QX.;
. Q..RTS ;OF STR IN BUF3.4Q..EUE .BYTE 0
0,00.MQ..BUF3 .F "0000000000".EQ .TABLE 
.BYTE $10,$27.WQ...BYTE $E8,$03..Q...BYT
E 100,00..Q...BYTE 10,00..QH..BYTE 1,00.
.QR.BUF1 .F "NUMBER".QQ..BUF2 .F "NUMBER
"..R..VARMES .BYTE $0D,$0D,$12:.F "VAR/N
UM - APPEARS "./R...F "ON LINE NUMBER(S)
" :.BYTE $0D,00.MR..MESG2 .BYTE $0D,$0D,
$12 :.F"END OF TEXT":.BYTE $0D,$0D,00. R
..MESBUF .BYTE 1: .F "0    " :.BYTE 5:.F
 "ZZZZZ".JR..HELPMG .BYTE $93: .F "     
         "..R...BYTE $12:.F "XREF64 HELP
":.BYTE $0D,$0D.-S"..F"'X' CAN EQUAL A V
ARIABLE UP TO FIVE":.BYTE $0D.QS,..F "LE
TTERS LONG, OR A NUMBER "..S6..F "BETWEE
N":.BYTE $0D :.F "0-65535.":.BYTE $0D,$0
D..S@..BYTE $12:.F "'XREF@ <CR>'":.BYTE 
$92..SJ..F " :PRINTS ALL REFERENCES.":.B
YTE $0D..TT..BYTE $12:.F "'XREF@ <CR>'":
.BYTE $92.7T^..F " :PRINTS ALL REFERENCE
S TO":.BYTE $0D.XTH..F "YOUR PRINTER.":.
BYTE $0D..TR..BYTE $12 :.F "'XREF@ X <CR
>'":.BYTE $92..T|..F " :PRINTS ALL REFER
ENCES,":.BYTE $0D.QT...F "FROM "X" ON.":
.BYTE $0D..T...BYTE $12:.F "'XREF@ X <CR
>'":.BYTE $92.)U...F " :SAME AS ABOVE, B
UT THE":.BYTE $0D.\U...F "OUTPUT IS SENT
 TO YOUR PRINTER.":.BYTE $0D..U...BYTE $
12:.F "'XREF X' OR 'XREF X'":.BYTE $92..
U...F " :PRINTS TO THE":.BYTE $0D..UB..F
 "SCREEN OR YOUR PRINTER ALL REFERENCES"
:.BYTE $0D..VL..F "TO 'X'.":.BYTE $0D..V
V..BYTE $12:.F "'XREF <CR>'":.BYTE $92.[
V...F " :CONSECUTIVELY LISTS ONE":.BYTE 
$0D..V...F "BASIC LINE, WHERE 'X' APPEAR
S.":.BYTE $0D,$0D.CV...F "PRESS THE 'P' 
KEY TO PAUSE THE":.BYTE $0D..V...F "LIST
ING, AND ANY KEY TO CONTINUE.":.BYTE $0D
.9W. .F "PRESS RUN/STOP, TO CANCEL THE L
ISTING.":.BYTE $0D,$0D,00.?W. ;.XW. MESG
3 .BYTE $93,$0D:.F "                " ;1
7 SPACES. W& .BYTE $12:.F "XREF64":.BYTE
 $0D,$0D.GW0 .BYTE $0D:.F "        " ;8 
SPACES;..W: .F "A VARIABLE & LINE NUMBER
"..XD .BYTE $0D:.F "        " ;8 SPACES;
.;XN .F "CROSS REFERENCE PROGRAM":.BYTE 
$0D.VXX .BYTE $0D:.F "      ":.BYTE $12:
.F "(C) 1983 BY DAVID"..XB .F " ARCHIBAL
D":.BYTE $0D,$0D,00..XL ;.DXV ;.     INI
TIATI. CODE        ..JX. ;..X. START LDX
 #.MESG ;LSB OF START..Y. LDY #.MESG ;MS
B OF START.*Y. STX MEMSIZ ;SET .P OF BAS
IC.CY. STY MEMSIZ.1 ;MEM.Y;.WY. LDA #$4C
 ;JMP ..UY. LDX #.ENTRY ;LSB OF ENTRY..Y
F LDY #.ENTRY ;MSB OF ENTRY..YP STA $7C 
;PUT A BRANCH . ENTRY.RYZ STX $7D ;IN CH
R. ROUTINE..Y. STY $7E..Y. LDY #$00 ;IND
EX;..Z. MESPRT LDA MESG3,Y ;. CHAR./Z.!B
EQ JPBAKIN ;. 0 . D.E.K.FZ.!JSR JPOUTPUT
 ;. IT.NZ.!INY.JZ !BNE MESPRT ;UNC. BRAN
CH.PZ*!;..Z4!;.  JUMP TABLE . RELOCATABL
E ...Z>!;.  SUBROUTINES BELOW $A000.  ..
.ZH!;.UZR!JPBAKOUT JMP BAKOUT..Z\!JPBAKI
N JMP BAKIN..[F!JPOUTPUT JMP OUTPUT..[P!
JPD.EXI JMP D.EXI./[Z!JPCROUT JMP CROUT.
G[.!JPKEYSUB JMP KEYSUB.M[.!;.A[.!LNBUF 
.BYTE $00...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL