COMMON CODE.PAL
FILE INFORMATION
FILENAME(S): COMMON CODE.PAL
FILE TYPE(S): PRG
FILE SIZE: 10.3K
FIRST SEEN: 2025-11-30 21:12:51
APPEARS ON: 1 disk(s)
FILE HASH
a6702a21571880c0a32f598ba9c27698c4a94bdd6e211a2bf95de39ceca204e4
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| TRANSACTOR DISK | COMMON CODE.PAL | PRG | DuncanTwain | 9 | 6 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 21 08 E8 03 8F 20 53 41 56 45 22 30 3A 43 |..!.... SAVE"0:C| 00000010: 4F 4D 4D 4F 4E 20 43 4F 44 45 2E 50 41 4C 22 2C |OMMON CODE.PAL",| 00000020: 38 00 40 08 F2 03 9F 20 38 2C 38 2C 38 2C 22 30 |8.@.... 8,8,8,"0| 00000030: 3A 43 4F 4D 4D 4F 4E 20 43 4F 44 45 2C 50 2C 57 |:COMMON CODE,P,W| 00000040: 00 49 08 FC 03 9E 37 30 30 00 55 08 06 04 2E 4F |.I....700.U....O| 00000050: 50 54 20 4F 38 00 7A 08 10 04 3B 20 AC 20 43 4F |PT O8.z...; . CO| 00000060: 4D 4D 91 20 43 4F 44 45 20 42 59 20 4A 41 43 4B |MM. CODE BY JACK| 00000070: 20 52 2E 20 46 41 52 52 41 48 00 A7 08 1A 04 3B | R. FARRAH.....;| 00000080: 50 52 4F 47 52 41 4D 20 A4 20 46 49 4E 44 20 49 |PROGRAM . FIND I| 00000090: 44 45 4E 54 49 43 41 4C 20 43 4F 44 45 20 53 45 |DENTICAL CODE SE| 000000A0: 51 55 45 4E 43 45 53 00 CF 08 24 04 3B 49 4E 20 |QUENCES...$.;IN | 000000B0: 4D 41 43 48 49 4E 45 20 4C 41 4E 47 55 41 47 45 |MACHINE LANGUAGE| 000000C0: 20 50 52 4F 47 52 41 4D 53 20 81 20 55 53 45 00 | PROGRAMS . USE.| 000000D0: EB 08 2E 04 3B 41 53 20 B9 53 49 42 4C 45 20 53 |....;AS .SIBLE S| 000000E0: 55 42 52 4F 55 54 49 4E 45 53 2E 00 0E 09 38 04 |UBROUTINES....8.| 000000F0: 3B 54 45 53 54 45 44 20 50 52 4F 47 52 41 4D 20 |;TESTED PROGRAM | 00000100: A4 20 42 45 20 49 4E 20 4D 45 4D B0 59 2E 00 27 |. BE IN MEM.Y..'| 00000110: 09 42 04 3B 41 4C 4C 20 55 53 45 52 20 85 53 20 |.B.;ALL USER .S | 00000120: 49 4E 20 48 45 58 2E 00 41 09 4C 04 3B 53 43 52 |IN HEX..A.L.;SCR| 00000130: 45 45 4E 20 B0 20 99 45 52 20 4F 55 54 50 55 54 |EEN . .ER OUTPUT| 00000140: 2E 00 5D 09 56 04 3B 53 50 41 43 45 20 42 41 52 |..].V.;SPACE BAR| 00000150: 20 50 41 55 53 45 53 20 9B 49 4E 47 2E 00 6E 09 | PAUSES .ING..n.| 00000160: 60 04 3B 20 AC 20 43 91 53 C0 54 53 20 AC 00 90 |`.; . C.S.TS ...| 00000170: 09 6A 04 43 48 52 49 4E 20 B2 20 24 46 46 43 46 |.j.CHRIN . $FFCF| 00000180: 20 3B A1 20 4D 55 4C 54 2E 20 43 48 41 52 2E 85 | ;. MULT. CHAR..| 00000190: 00 AF 09 74 04 43 48 52 4F 55 54 20 B2 20 24 46 |...t.CHROUT . $F| 000001A0: 46 44 32 20 3B 99 20 A4 20 44 45 56 49 43 45 00 |FD2 ;. . DEVICE.| 000001B0: CD 09 7E 04 A1 49 4E 20 B2 20 24 46 46 45 34 20 |..~..IN . $FFE4 | 000001C0: 3B A1 20 BF 47 4C 45 20 43 48 41 52 2E 00 EC 09 |;. .GLE CHAR....| 000001D0: 88 04 53 54 41 44 44 20 B2 20 24 46 42 20 3B 53 |..STADD . $FB ;S| 000001E0: 54 41 52 54 20 41 44 44 52 45 53 53 00 0B 0A 92 |TART ADDRESS....| 000001F0: 04 43 4B 41 44 44 20 B2 20 24 46 44 20 3B 43 48 |.CKADD . $FD ;CH| 00000200: 45 43 4B 20 41 44 44 52 45 53 53 00 2B 0A 9C 04 |ECK ADDRESS.+...| 00000210: 53 45 54 4C 46 53 20 B2 20 24 46 46 42 41 20 3B |SETLFS . $FFBA ;| 00000220: 53 45 54 20 BC 2E 20 46 49 4C 45 00 49 0A A6 04 |SET .. FILE.I...| 00000230: 53 45 54 4E 41 4D 20 B2 20 24 46 46 42 44 20 3B |SETNAM . $FFBD ;| 00000240: 4E 41 4D 45 20 46 49 4C 45 00 5F 0A B0 04 9F 20 |NAME FILE._.... | 00000250: B2 20 24 46 46 43 30 20 3B 9F 20 46 49 4C 45 00 |. $FFC0 ;. FILE.| 00000260: 75 0A BA 04 A0 20 B2 20 24 46 46 43 33 20 3B A0 |u.... . $FFC3 ;.| 00000270: 20 46 49 4C 45 00 99 0A C4 04 43 48 4B 4F 55 54 | FILE.....CHKOUT| 00000280: 20 B2 20 24 46 46 43 39 20 3B 53 45 54 20 4F 55 | . $FFC9 ;SET OU| 00000290: 54 50 55 54 20 46 49 4C 45 00 B4 0A CE 04 9C 43 |TPUT FILE......C| 000002A0: 48 4E 20 B2 20 24 46 46 43 43 20 3B 8C 20 96 41 |HN . $FFCC ;. .A| 000002B0: 55 4C 54 53 00 C6 0A D8 04 AC B2 24 30 38 30 31 |ULTS.......$0801| 000002C0: 20 3B 32 30 34 39 00 E3 0A E2 04 2E 57 B0 44 20 | ;2049......W.D | 000002D0: 54 57 4F 42 52 4B 20 3B 81 57 41 52 44 20 50 4F |TWOBRK ;.WARD PO| 000002E0: B5 45 52 00 FF 0A EC 04 2E 42 59 54 45 20 31 30 |.ER......BYTE 10| 000002F0: 2C 30 20 3B 4C 49 4E 45 20 4E 55 4D 42 45 52 00 |,0 ;LINE NUMBER.| 00000300: 20 0B F6 04 2E 42 59 54 45 20 24 39 45 20 3B 22 | ....BYTE $9E ;"| 00000310: 53 59 53 22 20 4B 45 59 57 B0 44 20 A4 4B 45 4E |SYS" KEYW.D .KEN| 00000320: 00 39 0B 00 05 2E C6 20 22 32 30 36 31 22 20 3B |.9..... "2061" ;| 00000330: 9E 20 41 44 44 52 45 53 53 00 41 0B 0A 05 42 52 |. ADDRESS.A...BR| 00000340: 4B 00 53 0B 14 05 54 57 4F 42 52 4B 20 2E 57 B0 |K.S...TWOBRK .W.| 00000350: 44 20 30 00 6E 0B 1E 05 4C 44 41 20 23 31 34 37 |D 0.n...LDA #147| 00000360: 20 3B 43 4C 45 41 52 20 53 43 52 45 45 4E 00 7D | ;CLEAR SCREEN.}| 00000370: 0B 28 05 4A 53 52 20 43 48 52 4F 55 54 00 8E 0B |.(.JSR CHROUT...| 00000380: 32 05 42 45 47 49 4E 20 4C 44 58 20 23 30 00 A9 |2.BEGIN LDX #0..| 00000390: 0B 3C 05 53 54 58 20 49 4E 46 4C 47 20 3B 43 4C |.<.STX INFLG ;CL| 000003A0: 45 41 52 20 46 4C 41 47 53 00 B9 0B 46 05 53 54 |EAR FLAGS...F.ST| 000003B0: 58 20 4D 54 43 48 46 4C 47 00 D5 0B 50 05 3B AC |X MTCHFLG...P.;.| 000003C0: A1 20 55 53 45 52 20 53 54 41 52 54 20 41 44 44 |. USER START ADD| 000003D0: 52 45 53 53 AC 00 F8 0B 5A 05 54 49 54 4C 20 4C |RESS....Z.TITL L| 000003E0: 44 41 20 54 49 54 4C 45 2C 58 20 3B 99 20 50 52 |DA TITLE,X ;. PR| 000003F0: 4F 47 2E 20 4E 41 4D 45 00 14 0C 64 05 42 45 51 |OG. NAME...d.BEQ| 00000400: 20 53 54 41 52 54 20 3B AF 20 53 54 41 52 54 20 | START ;. START | 00000410: 41 44 44 2E 00 2E 0C 6E 05 4A 53 52 20 43 48 52 |ADD....n.JSR CHR| 00000420: 4F 55 54 20 3B 85 20 4D 45 53 53 41 47 45 00 36 |OUT ;. MESSAGE.6| 00000430: 0C 78 05 49 4E 58 00 43 0C 82 05 42 4E 45 20 54 |.x.INX.C...BNE T| 00000440: 49 54 4C 00 5F 0C 8C 05 53 54 41 52 54 20 4C 44 |ITL._...START LD| 00000450: 58 20 23 30 20 3B 53 45 54 20 49 4E 44 45 58 00 |X #0 ;SET INDEX.| 00000460: 78 0C 96 05 4A 53 52 20 43 52 91 20 3B 42 4C 49 |x...JSR CR. ;BLI| 00000470: 4E 4B 20 43 55 52 53 B0 00 8D 0C A0 05 4A 53 52 |NK CURS......JSR| 00000480: 20 A1 20 3B A1 20 41 44 44 52 45 53 53 00 AF 0C | . ;. ADDRESS...| 00000490: AA 05 43 48 45 43 4B 20 43 50 58 20 23 35 20 3B |..CHECK CPX #5 ;| 000004A0: 22 3E 34 20 43 48 41 52 41 43 54 45 52 53 3F 00 |">4 CHARACTERS?.| 000004B0: C8 0C B4 05 42 43 53 20 45 52 52 B0 20 3B 91 4C |....BCS ERR. ;.L| 000004C0: 59 20 57 41 4E 54 20 34 00 E9 0C BE 05 43 4B 31 |Y WANT 4.....CK1| 000004D0: 20 44 45 58 20 20 3B 52 45 53 45 54 20 81 20 43 | DEX ;RESET . C| 000004E0: 52 20 43 4F 55 4E 54 45 44 00 03 0D C8 05 43 50 |R COUNTED.....CP| 000004F0: 58 20 23 32 35 35 20 3B 91 4C 59 20 41 46 54 45 |X #255 ;.LY AFTE| 00000500: 52 20 34 00 1F 0D D2 05 42 45 51 20 43 91 56 45 |R 4.....BEQ C.VE| 00000510: 52 54 20 3B 4D 41 4B 45 20 42 49 4E 41 52 59 00 |RT ;MAKE BINARY.| 00000520: 3A 0D DC 05 4C 44 41 20 48 58 41 44 44 2C 58 20 |:...LDA HXADD,X | 00000530: 3B A1 20 48 45 58 20 C6 49 49 00 52 0D E6 05 4A |;. HEX .II.R...J| 00000540: 53 52 20 45 C5 20 3B 43 48 45 43 4B 20 8B 20 C5 |SR E. ;CHECK . .| 00000550: 49 44 00 6C 0D F0 05 42 43 43 20 43 4B 31 20 3B |ID.l...BCC CK1 ;| 00000560: 4F 4B 2E A1 20 82 20 43 48 41 52 2E 00 85 0D FA |OK.. . CHAR.....| 00000570: 05 3B AC 45 52 52 B0 20 4D 45 53 53 41 47 45 20 |.;.ERR. MESSAGE | 00000580: 4C 4F 4F 50 AC 00 9B 0D 04 06 45 52 52 B0 20 4C |LOOP......ERR. L| 00000590: 44 41 20 23 24 30 44 20 3B 43 52 00 AA 0D 0E 06 |DA #$0D ;CR.....| 000005A0: 4A 53 52 20 43 48 52 4F 55 54 00 C7 0D 18 06 4A |JSR CHROUT.....J| 000005B0: 53 52 20 43 52 4F 46 20 3B 54 55 52 4E 20 4F 46 |SR CROF ;TURN OF| 000005C0: 46 20 43 55 52 53 B0 00 D2 0D 22 06 4C 44 58 20 |F CURS....".LDX | 000005D0: 23 30 00 F7 0D 2C 06 45 52 31 20 4C 44 41 20 45 |#0...,.ER1 LDA E| 000005E0: 52 4D 45 53 53 2C 58 20 3B 99 20 45 52 52 B0 20 |RMESS,X ;. ERR. | 000005F0: 4D 45 53 53 41 47 45 00 11 0E 36 06 42 45 51 20 |MESSAGE...6.BEQ | 00000600: 42 45 47 49 4E 20 3B 53 54 41 52 54 20 4F 56 45 |BEGIN ;START OVE| 00000610: 52 00 20 0E 40 06 4A 53 52 20 43 48 52 4F 55 54 |R. .@.JSR CHROUT| 00000620: 00 28 0E 4A 06 49 4E 58 00 34 0E 54 06 42 4E 45 |.(.J.INX.4.T.BNE| 00000630: 20 45 52 31 00 59 0E 5E 06 3B AC 43 48 41 4E 47 | ER1.Y.^.;.CHANG| 00000640: 45 20 C6 49 49 20 48 45 58 20 A4 20 42 49 4E 41 |E .II HEX . BINA| 00000650: 52 59 20 26 20 53 A4 52 45 00 76 0E 68 06 43 91 |RY & S.RE.v.h.C.| 00000660: 56 45 52 54 20 4C 44 58 20 23 30 20 3B 53 45 54 |VERT LDX #0 ;SET| 00000670: 20 49 4E 44 45 58 00 92 0E 72 06 4A 53 52 20 43 | INDEX...r.JSR C| 00000680: 52 4F 46 20 3B 55 4E 42 4C 49 4E 4B 20 43 55 52 |ROF ;UNBLINK CUR| 00000690: 53 B0 00 AE 0E 7C 06 4C 4F 4F 50 20 4C 44 41 20 |S....|.LOOP LDA | 000006A0: 48 58 41 44 44 2C 58 20 3B A1 20 C6 49 49 00 C9 |HXADD,X ;. .II..| 000006B0: 0E 86 06 4A 53 52 20 4D 41 4B 42 49 20 3B 4D 41 |...JSR MAKBI ;MA| 000006C0: 4B 45 20 42 49 4E 41 52 59 00 DF 0E 90 06 41 53 |KE BINARY.....AS| 000006D0: 4C 20 20 3B 53 48 8B 54 20 C5 55 45 20 B5 4F 00 |L ;SH.T .UE .O.| 000006E0: FB 0E 9A 06 41 53 4C 20 20 3B 48 49 47 48 20 4E |....ASL ;HIGH N| 000006F0: 59 42 42 4C 45 20 B9 49 54 49 91 00 03 0F A4 06 |YBBLE .ITI......| 00000700: 41 53 4C 00 0B 0F AE 06 41 53 4C 00 21 0F B8 06 |ASL.....ASL.!...| 00000710: 53 54 41 20 48 58 41 44 44 2C 58 20 3B 94 20 49 |STA HXADD,X ;. I| 00000720: 54 00 37 0F C2 06 49 4E 58 20 20 3B 52 41 49 53 |T.7...INX ;RAIS| 00000730: 45 20 49 4E 44 45 58 00 50 0F CC 06 4C 44 41 20 |E INDEX.P...LDA | 00000740: 48 58 41 44 44 2C 58 20 3B A1 20 82 20 C6 49 49 |HXADD,X ;. . .II| 00000750: 00 6B 0F D6 06 4A 53 52 20 4D 41 4B 42 49 20 3B |.k...JSR MAKBI ;| 00000760: 4D 41 4B 45 20 42 49 4E 41 52 59 00 87 0F E0 06 |MAKE BINARY.....| 00000770: 43 50 58 20 23 33 20 3B 22 34 54 48 20 43 48 41 |CPX #3 ;"4TH CHA| 00000780: 52 41 43 54 45 52 3F 00 A6 0F EA 06 42 45 51 20 |RACTER?.....BEQ | 00000790: 4F 56 45 52 20 3B 59 45 53 2E 20 46 49 4E 49 53 |OVER ;YES. FINIS| 000007A0: 48 20 48 45 52 45 00 B3 0F F4 06 43 4C 43 20 20 |H HERE.....CLC | 000007B0: 3B 4E 4F 00 D4 0F FE 06 41 44 43 20 48 58 41 44 |;NO.....ADC HXAD| 000007C0: 44 20 3B 41 44 44 20 A4 20 48 49 47 48 20 4E 59 |D ;ADD . HIGH NY| 000007D0: 42 42 4C 45 00 F2 0F 08 07 53 54 41 20 48 58 41 |BBLE.....STA HXA| 000007E0: 44 44 20 3B 94 20 43 4F 4D 42 49 4E 45 44 20 C5 |DD ;. COMBINED .| 000007F0: 55 45 00 08 10 12 07 49 4E 58 20 20 3B 52 41 49 |UE.....INX ;RAI| 00000800: 53 45 20 49 4E 44 45 58 00 24 10 1C 07 42 4E 45 |SE INDEX.$...BNE| 00000810: 20 4C 4F 4F 50 20 3B 41 4C 57 41 59 53 20 42 52 | LOOP ;ALWAYS BR| 00000820: 41 4E 43 48 00 45 10 26 07 4F 56 45 52 20 43 4C |ANCH.E.&.OVER CL| 00000830: 43 20 20 3B 41 44 44 20 4C 4F 57 20 4E 59 42 42 |C ;ADD LOW NYBB| 00000840: 4C 45 20 4F 46 00 66 10 30 07 41 44 43 20 48 58 |LE OF.f.0.ADC HX| 00000850: 41 44 44 AA 32 20 3B 4C 4F 57 20 42 59 54 45 20 |ADD.2 ;LOW BYTE | 00000860: A4 20 48 49 47 48 00 7E 10 3A 07 53 54 41 20 48 |. HIGH.~.:.STA H| 00000870: 58 41 44 44 AA 32 20 3B AF 20 94 20 49 54 00 A2 |XADD.2 ;. . IT..| 00000880: 10 44 07 80 20 4C 44 41 20 49 4E 46 4C 47 20 3B |.D.. LDA INFLG ;| 00000890: 22 44 4F 4E 45 20 45 4E 44 20 41 44 44 52 45 53 |"DONE END ADDRES| 000008A0: 53 3F 00 BF 10 4E 07 42 4E 45 20 4F 55 54 50 55 |S?...N.BNE OUTPU| 000008B0: 54 20 3B 59 45 53 2E 46 4C 41 47 20 53 45 54 00 |T ;YES.FLAG SET.| 000008C0: DE 10 58 07 4C 44 41 20 48 58 41 44 44 20 3B 4E |..X.LDA HXADD ;N| 000008D0: 4F 2E 94 20 53 54 41 52 54 20 41 44 44 2E 00 FB |O.. START ADD...| 000008E0: 10 62 07 53 54 41 20 53 54 41 44 44 AA 31 20 3B |.b.STA STADD.1 ;| 000008F0: 91 20 5A 45 52 4F 20 50 41 47 45 00 0B 11 6C 07 |. ZERO PAGE...l.| 00000900: 4C 44 41 20 48 58 41 44 44 AA 32 00 19 11 76 07 |LDA HXADD.2...v.| 00000910: 53 54 41 20 53 54 41 44 44 00 2A 11 80 07 4C 44 |STA STADD.*...LD| 00000920: 41 20 23 24 30 44 20 3B 43 52 00 39 11 8A 07 4A |A #$0D ;CR.9...J| 00000930: 53 52 20 43 48 52 4F 55 54 00 51 11 94 07 53 54 |SR CHROUT.Q...ST| 00000940: 41 20 49 4E 46 4C 47 20 3B 53 45 54 20 46 4C 41 |A INFLG ;SET FLA| 00000950: 47 00 69 11 9E 07 3B AC A1 20 55 53 45 52 20 80 |G.i...;.. USER .| 00000960: 20 41 44 44 52 45 53 53 AC 00 81 11 A8 07 4C 44 | ADDRESS......LD| 00000970: 58 20 23 30 20 3B 43 4C 45 41 52 20 49 4E 44 45 |X #0 ;CLEAR INDE| 00000980: 58 00 9F 11 B2 07 80 31 20 4C 44 41 20 80 4D 45 |X......1 LDA .ME| 00000990: 53 53 2C 58 20 3B 99 20 4D 45 53 53 41 47 45 00 |SS,X ;. MESSAGE.| 000009A0: A9 11 BC 07 42 45 51 20 82 00 B8 11 C6 07 4A 53 |....BEQ ......JS| 000009B0: 52 20 43 48 52 4F 55 54 00 C0 11 D0 07 49 4E 58 |R CHROUT.....INX| 000009C0: 00 CB 11 DA 07 42 4E 45 20 80 31 00 ED 11 E4 07 |.....BNE .1.....| 000009D0: 82 20 4C 44 58 20 23 30 20 3B 43 4C 45 41 52 20 |. LDX #0 ;CLEAR | 000009E0: 81 20 43 48 41 52 2E 20 43 4F 55 4E 54 00 06 12 |. CHAR. COUNT...| 000009F0: EE 07 4A 53 52 20 43 52 91 20 3B 42 4C 49 4E 4B |..JSR CR. ;BLINK| 00000A00: 20 43 55 52 53 B0 00 1F 12 F8 07 4A 53 52 20 A1 | CURS......JSR .| 00000A10: 20 3B A1 20 54 48 45 20 41 44 44 52 45 53 53 00 | ;. THE ADDRESS.| 00000A20: 41 12 02 08 4A 4D 50 20 43 48 45 43 4B 20 3B 43 |A...JMP CHECK ;C| 00000A30: 48 45 43 4B 20 26 4D 41 4B 45 20 42 49 4E 41 52 |HECK &MAKE BINAR| 00000A40: 59 00 67 12 0C 08 4F 55 54 50 55 54 20 4C 44 41 |Y.g...OUTPUT LDA| 00000A50: 20 48 58 41 44 44 20 3B A1 20 42 49 4E 41 52 59 | HXADD ;. BINARY| 00000A60: 20 80 20 41 44 44 2E 00 8B 12 16 08 53 54 41 20 | . ADD......STA | 00000A70: 45 4E 43 4B AA 31 20 3B AF 20 53 A4 52 45 20 49 |ENCK.1 ;. S.RE I| 00000A80: 4E 20 5A 45 52 4F 20 50 41 47 45 00 9B 12 20 08 |N ZERO PAGE... .| 00000A90: 4C 44 41 20 48 58 41 44 44 AA 32 00 A8 12 2A 08 |LDA HXADD.2...*.| 00000AA0: 53 54 41 20 45 4E 43 4B 00 B9 12 34 08 4C 44 41 |STA ENCK...4.LDA| 00000AB0: 20 23 24 30 44 20 3B 43 52 00 C8 12 3E 08 4A 53 | #$0D ;CR...>.JS| 00000AC0: 52 20 43 48 52 4F 55 54 00 ED 12 48 08 3B AC A1 |R CHROUT...H.;..| 00000AD0: 20 4F 55 54 50 55 54 20 44 45 53 54 49 4E 41 54 | OUTPUT DESTINAT| 00000AE0: 49 91 20 46 52 4F 4D 20 55 53 45 52 AC 00 F8 12 |I. FROM USER....| 00000AF0: 52 08 4C 44 58 20 23 30 00 1A 13 5C 08 4F 55 54 |R.LDX #0...\.OUT| 00000B00: 31 20 4C 44 41 20 4F 55 54 4D 45 53 53 2C 58 20 |1 LDA OUTMESS,X | 00000B10: 3B 99 20 4D 45 53 53 41 47 45 00 26 13 66 08 42 |;. MESSAGE.&.f.B| 00000B20: 45 51 20 A1 49 54 00 35 13 70 08 4A 53 52 20 43 |EQ .IT.5.p.JSR C| 00000B30: 48 52 4F 55 54 00 3D 13 7A 08 49 4E 58 00 4A 13 |HROUT.=.z.INX.J.| 00000B40: 84 08 42 4E 45 20 4F 55 54 31 00 67 13 8E 08 A1 |..BNE OUT1.g....| 00000B50: 49 54 20 4A 53 52 20 A1 49 4E 20 3B A1 20 27 53 |IT JSR .IN ;. 'S| 00000B60: 27 20 B0 20 27 50 27 00 7C 13 98 08 42 45 51 20 |' . 'P'.|...BEQ | 00000B70: A1 49 54 20 3B 92 20 81 20 4B 45 59 00 8D 13 A2 |.IT ;. . KEY....| 00000B80: 08 43 4D 50 20 23 38 30 20 3B 22 50 3F 00 A3 13 |.CMP #80 ;"P?...| 00000B90: AC 08 42 45 51 20 99 20 3B 59 45 53 2E 20 9F 20 |..BEQ . ;YES. . | 00000BA0: 99 45 52 00 B8 13 B6 08 43 4D 50 20 23 38 33 20 |.ER.....CMP #83 | 00000BB0: 3B 22 4E 4F 2E 20 53 3F 00 D5 13 C0 08 42 4E 45 |;"NO. S?.....BNE| 00000BC0: 20 A1 49 54 20 3B 4E 4F 2E CB 20 42 41 43 4B 20 | .IT ;NO.. BACK | 00000BD0: 81 20 4B 45 59 00 F1 13 CA 08 42 45 51 20 42 59 |. KEY.....BEQ BY| 00000BE0: 54 45 20 3B 53 43 52 45 45 4E 20 4F 55 54 50 55 |TE ;SCREEN OUTPU| 00000BF0: 54 00 0D 14 D4 08 99 20 4A 53 52 20 50 52 4F 55 |T...... JSR PROU| 00000C00: 54 20 3B 9F 20 99 45 52 20 46 49 4C 45 00 2B 14 |T ;. .ER FILE.+.| 00000C10: DE 08 3B AC A1 20 42 59 54 45 20 4C 47 54 48 2E |..;.. BYTE LGTH.| 00000C20: 20 46 52 4F 4D 20 55 53 45 52 AC 00 3B 14 E8 08 | FROM USER..;...| 00000C30: 42 59 54 45 20 4C 44 58 20 23 30 00 5F 14 F2 08 |BYTE LDX #0._...| 00000C40: 42 59 54 4C 55 50 20 4C 44 41 20 42 59 54 4D 45 |BYTLUP LDA BYTME| 00000C50: 53 53 2C 58 20 3B 99 20 4D 45 53 53 41 47 45 00 |SS,X ;. MESSAGE.| 00000C60: 6D 14 FC 08 42 45 51 20 47 54 42 59 54 00 7C 14 |m...BEQ GTBYT.|.| 00000C70: 06 09 4A 53 52 20 43 48 52 4F 55 54 00 84 14 10 |..JSR CHROUT....| 00000C80: 09 49 4E 58 00 93 14 1A 09 42 4E 45 20 42 59 54 |.INX.....BNE BYT| 00000C90: 4C 55 50 00 BC 14 24 09 45 52 4A 4D 50 20 4A 4D |LUP...$.ERJMP JM| 00000CA0: 50 20 45 52 52 B0 20 3B 4F 55 54 20 4F 46 20 52 |P ERR. ;OUT OF R| 00000CB0: 41 4E 47 45 20 41 56 4F 49 44 45 52 00 DB 14 2E |ANGE AVOIDER....| 00000CC0: 09 47 54 42 59 54 20 4A 53 52 20 43 52 91 20 3B |.GTBYT JSR CR. ;| 00000CD0: 42 4C 49 4E 4B 20 43 55 52 53 B0 00 F2 14 38 09 |BLINK CURS....8.| 00000CE0: 47 54 32 20 4A 53 52 20 A1 49 4E 20 3B A1 20 4B |GT2 JSR .IN ;. K| 00000CF0: 45 59 00 07 15 42 09 42 45 51 20 47 54 32 20 3B |EY...B.BEQ GT2 ;| 00000D00: 92 20 81 20 4B 45 59 00 1A 15 4C 09 43 4D 50 20 |. . KEY...L.CMP | 00000D10: 23 24 30 44 20 3B 22 43 52 3F 00 37 15 56 09 42 |#$0D ;"CR?.7.V.B| 00000D20: 45 51 20 53 45 54 80 20 3B 96 41 55 4C 54 20 53 |EQ SET. ;.AULT S| 00000D30: 45 4C 45 43 54 45 44 00 53 15 60 09 4A 53 52 20 |ELECTED.S.`.JSR | 00000D40: 43 48 52 4F 55 54 20 3B A2 20 C5 55 45 2E 20 99 |CHROUT ;. .UE. .| 00000D50: 20 49 54 00 6B 15 6A 09 4A 53 52 20 45 C5 20 3B | IT.k.j.JSR E. ;| 00000D60: 43 48 45 43 4B 20 52 41 4E 47 45 00 86 15 74 09 |CHECK RANGE...t.| 00000D70: 4A 53 52 20 4D 41 4B 42 49 20 3B 4D 41 4B 45 20 |JSR MAKBI ;MAKE | 00000D80: 42 49 4E 41 52 59 00 A1 15 7E 09 41 53 4C 20 20 |BINARY...~.ASL | 00000D90: 3B 53 48 8B 54 20 A4 20 48 49 20 4E 59 42 42 4C |;SH.T . HI NYBBL| 00000DA0: 45 00 A9 15 88 09 41 53 4C 00 B1 15 92 09 41 53 |E.....ASL.....AS| 00000DB0: 4C 00 B9 15 9C 09 41 53 4C 00 CC 15 A6 09 53 54 |L.....ASL.....ST| 00000DC0: 41 20 48 4C 44 52 20 3B 94 20 49 54 00 EB 15 B0 |A HLDR ;. IT....| 00000DD0: 09 47 54 31 20 4A 53 52 20 A1 49 4E 20 3B A1 20 |.GT1 JSR .IN ;. | 00000DE0: 53 45 43 91 44 20 43 48 41 52 2E 00 FF 15 BA 09 |SEC.D CHAR......| 00000DF0: 42 45 51 20 47 54 31 20 3B 92 20 81 20 49 54 00 |BEQ GT1 ;. . IT.| 00000E00: 15 16 C4 09 4A 53 52 20 43 48 52 4F 55 54 20 3B |....JSR CHROUT ;| 00000E10: 99 20 49 49 54 00 2D 16 CE 09 4A 53 52 20 45 C5 |. IIT.-...JSR E.| 00000E20: 20 3B 43 48 45 43 4B 20 52 41 4E 47 45 00 48 16 | ;CHECK RANGE.H.| 00000E30: D8 09 4A 53 52 20 4D 41 4B 42 49 20 3B 4D 41 4B |..JSR MAKBI ;MAK| 00000E40: 45 20 42 49 4E 41 52 59 00 62 16 E2 09 43 4C 43 |E BINARY.b...CLC| 00000E50: 20 20 3B 41 44 44 20 A4 20 48 49 20 4E 59 42 42 | ;ADD . HI NYBB| 00000E60: 4C 45 00 6F 16 EC 09 41 44 43 20 48 4C 44 52 00 |LE.o...ADC HLDR.| 00000E70: 80 16 F6 09 43 4D 50 20 23 32 20 3B 22 3E 31 3F |....CMP #2 ;">1?| 00000E80: 00 9C 16 00 0A 42 43 43 20 45 52 4A 4D 50 20 3B |.....BCC ERJMP ;| 00000E90: B3 32 20 A8 20 41 4C 4C 4F 57 45 44 00 B6 16 0A |.2 . ALLOWED....| 00000EA0: 0A 53 54 41 20 43 4B 42 59 54 20 3B 53 A4 52 45 |.STA CKBYT ;S.RE| 00000EB0: 20 A2 20 C5 55 45 00 C7 16 14 0A 4C 44 41 20 23 | . .UE.....LDA #| 00000EC0: 24 30 44 20 3B 43 52 00 D6 16 1E 0A 4A 53 52 20 |$0D ;CR.....JSR | 00000ED0: 43 48 52 4F 55 54 00 F3 16 28 0A 3B AC 43 41 4C |CHROUT...(.;.CAL| 00000EE0: 43 55 4C 41 54 45 20 80 20 41 44 44 52 45 53 53 |CULATE . ADDRESS| 00000EF0: 45 53 AC 00 14 17 32 0A 53 45 54 80 20 4A 53 52 |ES....2.SET. JSR| 00000F00: 20 43 52 4F 46 20 3B 55 4E 42 4C 49 4E 4B 20 43 | CROF ;UNBLINK C| 00000F10: 55 52 53 B0 00 25 17 3C 0A 4C 44 41 20 23 24 30 |URS..%.<.LDA #$0| 00000F20: 44 20 3B 43 52 00 34 17 46 0A 4A 53 52 20 43 48 |D ;CR.4.F.JSR CH| 00000F30: 52 4F 55 54 00 53 17 50 0A 4C 44 41 20 43 4B 42 |ROUT.S.P.LDA CKB| 00000F40: 59 54 20 3B A1 20 4C 47 54 48 2E 20 A4 20 43 48 |YT ;. LGTH. . CH| 00000F50: 45 43 4B 00 5B 17 5A 0A 53 45 43 00 72 17 64 0A |ECK.[.Z.SEC.r.d.| 00000F60: 53 42 43 20 23 32 20 3B 53 55 42 54 52 41 43 54 |SBC #2 ;SUBTRACT| 00000F70: 20 32 00 8B 17 6E 0A 53 54 41 20 48 4C 44 52 20 | 2...n.STA HLDR | 00000F80: 3B 54 45 4D 50 B0 41 52 59 20 94 00 A9 17 78 0A |;TEMP.ARY ....x.| 00000F90: 4C 44 41 20 45 4E 43 4B 20 3B 4C 4F 57 20 42 59 |LDA ENCK ;LOW BY| 00000FA0: 54 45 20 80 20 41 44 44 2E 00 B1 17 82 0A 53 45 |TE . ADD......SE| 00000FB0: 43 00 CC 17 8C 0A 53 42 43 20 48 4C 44 52 20 3B |C.....SBC HLDR ;| 00000FC0: 53 55 42 54 52 41 43 54 20 C5 55 45 00 E2 17 96 |SUBTRACT .UE....| 00000FD0: 0A 53 54 41 20 45 4E 43 4B 20 3B 94 20 A2 20 C5 |.STA ENCK ;. . .| 00000FE0: 55 45 00 00 18 A0 0A 42 43 43 20 53 55 42 48 49 |UE.....BCC SUBHI| 00000FF0: 20 3B 52 45 44 55 43 45 20 48 49 20 42 59 54 45 | ;REDUCE HI BYTE| 00001000: 00 1E 18 AA 0A 53 45 54 31 20 4C 44 41 20 45 4E |.....SET1 LDA EN| 00001010: 43 4B 20 3B A1 20 A2 20 80 20 41 44 44 2E 00 26 |CK ;. . . ADD..&| 00001020: 18 B4 0A 53 45 43 00 48 18 BE 0A 53 42 43 20 43 |...SEC.H...SBC C| 00001030: 4B 42 59 54 20 3B 53 55 42 54 52 41 43 54 20 42 |KBYT ;SUBTRACT B| 00001040: 59 54 45 20 4C 47 54 48 00 67 18 C8 0A 53 54 41 |YTE LGTH.g...STA| 00001050: 20 4D 54 43 48 43 4B 20 3B 94 20 41 53 20 43 48 | MTCHCK ;. AS CH| 00001060: 45 43 4B 20 C5 55 45 00 84 18 D2 0A 42 43 43 20 |ECK .UE.....BCC | 00001070: 53 55 42 32 20 3B 52 45 44 55 43 45 20 48 49 20 |SUB2 ;REDUCE HI | 00001080: 42 59 54 45 00 A2 18 DC 0A 4C 44 41 20 45 4E 43 |BYTE.....LDA ENC| 00001090: 4B AA 31 20 3B A1 20 48 49 20 42 59 54 45 20 A2 |K.1 ;. HI BYTE .| 000010A0: 20 80 00 C8 18 E6 0A 53 45 54 32 20 53 54 41 20 | ......SET2 STA | 000010B0: 4D 54 43 48 43 4B AA 31 20 3B 4D 41 4B 45 20 53 |MTCHCK.1 ;MAKE S| 000010C0: 41 4D 45 20 48 45 52 45 00 F0 18 F0 0A 53 45 54 |AME HERE.....SET| 000010D0: 33 20 4C 44 41 20 53 54 41 44 44 20 3B 53 54 41 |3 LDA STADD ;STA| 000010E0: 52 54 20 41 44 44 2E 20 4C 4F 57 20 42 59 54 45 |RT ADD. LOW BYTE| 000010F0: 00 F8 18 FA 0A 43 4C 43 00 15 19 04 0B 41 44 43 |.....CLC.....ADC| 00001100: 20 43 4B 42 59 54 20 3B 41 44 44 20 42 59 54 45 | CKBYT ;ADD BYTE| 00001110: 20 4C 47 54 48 00 30 19 0E 0B 53 54 41 20 43 4B | LGTH.0...STA CK| 00001120: 41 44 44 20 3B 43 48 45 43 4B 20 50 4F B5 45 52 |ADD ;CHECK PO.ER| 00001130: 00 49 19 18 0B 4C 44 41 20 53 54 41 44 44 AA 31 |.I...LDA STADD.1| 00001140: 20 3B 48 49 20 42 59 54 45 00 5F 19 22 0B 41 44 | ;HI BYTE._.".AD| 00001150: 43 20 23 30 20 3B 41 44 44 20 43 41 52 52 59 00 |C #0 ;ADD CARRY.| 00001160: 7D 19 2C 0B 53 54 41 20 43 4B 41 44 44 AA 31 20 |}.,.STA CKADD.1 | 00001170: 3B 50 55 54 20 49 4E 20 50 4F B5 45 52 00 9B 19 |;PUT IN PO.ER...| 00001180: 36 0B 4A 4D 50 20 4D 41 49 4E 20 3B 53 54 41 52 |6.JMP MAIN ;STAR| 00001190: 54 20 4D 41 49 4E 20 4C 4F 4F 50 00 B0 19 40 0B |T MAIN LOOP...@.| 000011A0: 53 55 42 48 49 20 44 45 43 20 45 4E 43 4B AA 31 |SUBHI DEC ENCK.1| 000011B0: 00 BD 19 4A 0B 4A 4D 50 20 53 45 54 31 00 D1 19 |...J.JMP SET1...| 000011C0: 54 0B 53 55 42 32 20 4C 44 41 20 45 4E 43 4B AA |T.SUB2 LDA ENCK.| 000011D0: 31 00 DC 19 5E 0B 53 42 43 20 23 31 00 E9 19 68 |1...^.SBC #1...h| 000011E0: 0B 4A 4D 50 20 53 45 54 32 00 01 1A 72 0B 3B AC |.JMP SET2...r.;.| 000011F0: 4D 41 49 4E 20 50 52 4F 47 41 4D 20 4C 4F 4F 50 |MAIN PROGAM LOOP| 00001200: AC 00 27 1A 7C 0B 4D 41 49 4E 20 4C 44 59 20 23 |..'.|.MAIN LDY #| 00001210: 30 20 3B 43 4C 45 41 52 20 81 20 49 4E 44 2E 41 |0 ;CLEAR . IND.A| 00001220: 44 44 2E 4D 4F 44 45 00 49 1A 86 0B 4C 44 41 20 |DD.MODE.I...LDA | 00001230: 28 53 54 41 44 44 29 2C 59 20 3B A1 20 C5 55 45 |(STADD),Y ;. .UE| 00001240: 20 41 54 20 53 54 41 52 54 00 66 1A 90 0B 43 4D | AT START.f...CM| 00001250: 50 20 28 43 4B 41 44 44 29 2C 59 20 3B 82 20 A4 |P (CKADD),Y ;. .| 00001260: 20 43 48 45 43 4B 00 8C 1A 9A 0B 42 45 51 20 CB | CHECK.....BEQ .| 00001270: 54 4D 54 43 48 20 3B 54 48 45 59 20 4D 41 54 43 |TMTCH ;THEY MATC| 00001280: 48 2E 43 48 45 43 4B 20 4D B0 45 2E 00 A3 1A A4 |H.CHECK M.E.....| 00001290: 0B 4D 41 31 20 43 4C 43 20 20 3B 4E 4F 20 4D 41 |.MA1 CLC ;NO MA| 000012A0: 54 43 48 00 C5 1A AE 0B 4C 44 41 20 43 4B 41 44 |TCH.....LDA CKAD| 000012B0: 44 20 3B 41 44 44 20 31 20 A4 20 43 48 45 43 4B |D ;ADD 1 . CHECK| 000012C0: 20 41 44 44 2E 00 D0 1A B8 0B 41 44 43 20 23 31 | ADD......ADC #1| 000012D0: 00 E9 1A C2 0B 53 54 41 20 43 4B 41 44 44 20 3B |.....STA CKADD ;| 000012E0: 53 A4 52 45 20 42 41 43 4B 00 08 1B CC 0B 4C 44 |S.RE BACK.....LD| 000012F0: 41 20 43 4B 41 44 44 AA 31 20 3B 46 49 58 20 48 |A CKADD.1 ;FIX H| 00001300: 49 47 48 20 42 59 54 45 00 13 1B D6 0B 41 44 43 |IGH BYTE.....ADC| 00001310: 20 23 30 00 29 1B E0 0B 53 54 41 20 43 4B 41 44 | #0.)...STA CKAD| 00001320: 44 AA 31 20 3B 53 A4 52 45 00 48 1B EA 0B 4C 44 |D.1 ;S.RE.H...LD| 00001330: 41 20 43 4B 41 44 44 20 3B 48 41 56 45 20 57 45 |A CKADD ;HAVE WE| 00001340: 20 52 45 41 43 48 45 44 00 6E 1B F4 0B 43 4D 50 | REACHED.n...CMP| 00001350: 20 45 4E 43 4B 20 3B 22 45 4E 44 20 4F 46 20 50 | ENCK ;"END OF P| 00001360: 4F 53 53 49 42 4C 45 20 42 59 54 45 53 3F 00 8E |OSSIBLE BYTES?..| 00001370: 1B FE 0B 42 4E 45 20 4D 41 49 4E 20 3B 4E 4F 2E |...BNE MAIN ;NO.| 00001380: 53 54 41 52 54 20 82 20 53 45 52 49 45 53 00 B0 |START . SERIES..| 00001390: 1B 08 0C 4C 44 41 20 43 4B 41 44 44 AA 31 20 3B |...LDA CKADD.1 ;| 000013A0: 4C 4F 20 42 59 54 45 53 20 4D 41 54 43 48 45 44 |LO BYTES MATCHED| 000013B0: 00 D0 1B 12 0C 43 4D 50 20 45 4E 43 4B AA 31 20 |.....CMP ENCK.1 | 000013C0: 3B 22 48 49 20 42 59 54 45 53 20 53 41 4D 45 3F |;"HI BYTES SAME?| 000013D0: 00 E7 1B 1C 0C 42 4E 45 20 4D 41 49 4E 20 3B 4E |.....BNE MAIN ;N| 000013E0: 4F 2E 9A 49 4E 55 45 00 06 1C 26 0C 43 4C 43 20 |O..INUE...&.CLC | 000013F0: 20 3B 44 91 45 20 57 49 54 48 20 54 48 49 53 20 | ;D.E WITH THIS | 00001400: 53 45 52 49 45 53 00 26 1C 30 0C 4C 44 41 20 53 |SERIES.&.0.LDA S| 00001410: 54 41 44 44 20 3B 4D 4F 56 45 20 53 54 41 52 54 |TADD ;MOVE START| 00001420: 20 50 4F B5 45 52 00 43 1C 3A 0C 41 44 43 20 23 | PO.ER.C.:.ADC #| 00001430: 31 20 3B A4 20 82 20 48 49 47 48 45 53 54 20 42 |1 ;. . HIGHEST B| 00001440: 59 54 45 00 5A 1C 44 0C 53 54 41 20 53 54 41 44 |YTE.Z.D.STA STAD| 00001450: 44 20 3B 53 A4 52 45 20 49 54 00 77 1C 4E 0C 4C |D ;S.RE IT.w.N.L| 00001460: 44 41 20 53 54 41 44 44 AA 31 20 3B 46 49 58 20 |DA STADD.1 ;FIX | 00001470: 48 49 20 42 59 54 45 00 82 1C 58 0C 41 44 43 20 |HI BYTE...X.ADC | 00001480: 23 30 00 92 1C 62 0C 53 54 41 20 53 54 41 44 44 |#0...b.STA STADD| 00001490: AA 31 00 B2 1C 6C 0C 4C 44 58 20 23 30 20 3B 43 |.1...l.LDX #0 ;C| 000014A0: 4C 45 41 52 20 46 4C 41 47 20 A4 20 53 48 4F 57 |LEAR FLAG . SHOW| 000014B0: 20 99 00 DA 1C 76 0C 53 54 58 20 4D 54 43 48 46 | ....v.STX MTCHF| 000014C0: 4C 47 20 3B 52 4F 55 54 49 4E 45 20 54 48 49 53 |LG ;ROUTINE THIS| 000014D0: 20 49 53 20 A2 20 41 44 44 2E 00 FC 1C 80 0C 4C | IS . ADD......L| 000014E0: 44 41 20 53 54 41 44 44 20 3B 43 4F 4D 50 41 52 |DA STADD ;COMPAR| 000014F0: 45 20 53 54 41 52 54 20 41 44 44 2E 00 25 1D 8A |E START ADD..%..| 00001500: 0C 43 4D 50 20 4D 54 43 48 43 4B 20 3B 57 49 54 |.CMP MTCHCK ;WIT| 00001510: 48 20 4C 41 53 54 20 43 48 45 43 4B 41 42 4C 45 |H LAST CHECKABLE| 00001520: 20 42 59 54 45 00 42 1D 94 0C 42 4E 45 20 8E 20 | BYTE.B...BNE . | 00001530: 3B 4E 4F 20 4D 41 54 43 48 20 4C 4F 57 20 42 59 |;NO MATCH LOW BY| 00001540: 54 45 00 61 1D 9E 0C 4C 44 41 20 53 54 41 44 44 |TE.a...LDA STADD| 00001550: AA 31 20 3B 43 48 45 43 4B 20 48 49 20 42 59 54 |.1 ;CHECK HI BYT| 00001560: 45 00 72 1D A8 0C 43 4D 50 20 4D 54 43 48 43 4B |E.r...CMP MTCHCK| 00001570: AA 31 00 86 1D B2 0C 42 4E 45 20 8E 20 3B 4E 4F |.1.....BNE . ;NO| 00001580: 20 4D 41 54 43 48 00 A2 1D BC 0C 4A 4D 50 20 45 | MATCH.....JMP E| 00001590: 58 49 54 20 3B 41 4C 4C 20 44 91 45 2C 20 A0 20 |XIT ;ALL D.E, . | 000015A0: 55 50 00 C7 1D C6 0C 8E 20 4A 4D 50 20 53 45 54 |UP...... JMP SET| 000015B0: 33 20 3B 4F 55 54 20 4F 46 20 52 41 4E 47 45 20 |3 ;OUT OF RANGE | 000015C0: 41 56 4F 49 44 45 52 00 EC 1D D0 0C 3B AC 43 48 |AVOIDER.....;.CH| 000015D0: 45 43 4B 20 8F 41 49 4E 49 4E 47 20 42 59 54 45 |ECK .AINING BYTE| 000015E0: 53 20 46 4F 52 20 4D 41 54 43 48 2A 00 0D 1E DA |S FOR MATCH*....| 000015F0: 0C CB 54 4D 54 43 48 20 4C 44 58 20 23 30 20 3B |..TMTCH LDX #0 ;| 00001600: 43 4C 45 41 52 20 49 4E 44 49 43 45 53 00 18 1E |CLEAR INDICES...| 00001610: E4 0C 4C 44 59 20 23 30 00 3D 1E EE 0C 4C 55 50 |..LDY #0.=...LUP| 00001620: 20 49 4E 58 20 20 3B 58 20 43 4F 55 4E 54 53 20 | INX ;X COUNTS | 00001630: 42 59 54 45 53 20 4D 41 54 43 48 45 44 00 5A 1E |BYTES MATCHED.Z.| 00001640: F8 0C 43 50 58 20 43 4B 42 59 54 20 3B 22 43 48 |..CPX CKBYT ;"CH| 00001650: 45 43 4B 45 44 20 41 4C 4C 3F 00 72 1E 02 0D 42 |ECKED ALL?.r...B| 00001660: 45 51 20 50 52 4E 54 20 3B 59 45 53 2E 99 20 27 |EQ PRNT ;YES.. '| 00001670: 45 4D 00 8E 1E 0C 0D 49 4E 59 20 20 3B 4E 4F 2E |EM.....INY ;NO.| 00001680: 49 4E 44 45 58 20 A4 20 82 20 42 59 54 45 00 B0 |INDEX . . BYTE..| 00001690: 1E 16 0D 4C 44 41 20 28 53 54 41 44 44 29 2C 59 |...LDA (STADD),Y| 000016A0: 20 3B A1 20 82 20 46 52 4F 4D 20 53 54 41 52 54 | ;. . FROM START| 000016B0: 00 D4 1E 20 0D 43 4D 50 20 28 43 4B 41 44 44 29 |... .CMP (CKADD)| 000016C0: 2C 59 20 3B 43 48 45 43 4B 20 81 20 45 51 55 41 |,Y ;CHECK . EQUA| 000016D0: 4C 49 54 59 00 F1 1E 2A 0D 42 45 51 20 4C 55 50 |LITY...*.BEQ LUP| 000016E0: 20 3B 4D 41 54 43 48 45 53 2E A1 20 41 A8 48 45 | ;MATCHES.. A.HE| 000016F0: 52 00 16 1F 34 0D 4A 4D 50 20 4D 41 31 20 3B 4E |R...4.JMP MA1 ;N| 00001700: 4F 20 4D 41 54 43 48 2E 4D 4F 56 45 20 55 50 20 |O MATCH.MOVE UP | 00001710: 41 20 42 59 54 45 00 34 1F 3E 0D 3B AC 48 45 52 |A BYTE.4.>.;.HER| 00001720: 45 20 8B 20 41 4C 4C 20 42 59 54 45 53 20 4D 41 |E . ALL BYTES MA| 00001730: 54 43 48 AC 00 5F 1F 48 0D 50 52 4E 54 20 4C 44 |TCH.._.H.PRNT LD| 00001740: 41 20 4D 54 43 48 46 4C 47 20 3B 22 50 52 49 4E |A MTCHFLG ;"PRIN| 00001750: 54 45 44 20 54 48 49 53 20 53 54 41 44 44 3F 00 |TED THIS STADD?.| 00001760: 79 1F 52 0D 42 45 51 20 50 52 53 54 20 3B 4E 4F |y.R.BEQ PRST ;NO| 00001770: 2C 20 53 4F 20 99 20 49 54 00 9C 1F 5C 0D 50 52 |, SO . IT...\.PR| 00001780: 4E 54 31 20 4A 53 52 20 92 20 3B 43 48 45 43 4B |NT1 JSR . ;CHECK| 00001790: 20 81 20 53 50 41 43 45 20 42 41 52 00 B9 1F 66 | . SPACE BAR...f| 000017A0: 0D 4C 44 41 20 23 33 32 20 3B 49 4E 44 45 4E 54 |.LDA #32 ;INDENT| 000017B0: 20 32 20 53 50 41 43 45 53 00 C8 1F 70 0D 4A 53 | 2 SPACES...p.JS| 000017C0: 52 20 43 48 52 4F 55 54 00 D7 1F 7A 0D 4A 53 52 |R CHROUT...z.JSR| 000017D0: 20 43 48 52 4F 55 54 00 E6 1F 84 0D 4C 44 41 20 | CHROUT.....LDA | 000017E0: 23 33 36 20 3B 24 00 F5 1F 8E 0D 4A 53 52 20 43 |#36 ;$.....JSR C| 000017F0: 48 52 4F 55 54 00 13 20 98 0D 4C 44 59 20 23 30 |HROUT.. ..LDY #0| 00001800: 20 3B 53 45 54 20 55 50 A4 20 A1 20 32 20 42 59 | ;SET UP. . 2 BY| 00001810: 54 45 53 00 22 20 A2 0D 4D 52 32 20 43 50 59 20 |TES." ..MR2 CPY | 00001820: 23 32 00 2E 20 AC 0D 42 45 51 20 4D 52 31 00 58 |#2.. ..BEQ MR1.X| 00001830: 20 B6 0D 4C 44 41 20 43 4B 41 44 44 2C 59 20 3B | ..LDA CKADD,Y ;| 00001840: A1 20 41 44 44 2E 20 4F 46 20 4D 41 54 43 48 49 |. ADD. OF MATCHI| 00001850: 4E 47 20 42 59 54 45 53 00 78 20 C0 0D 53 54 41 |NG BYTES.x ..STA| 00001860: 20 48 4C 44 52 2C 59 20 3B 53 A4 52 45 20 81 20 | HLDR,Y ;S.RE . | 00001870: 43 91 56 45 52 53 49 91 00 8D 20 CA 0D 49 4E 59 |C.VERSI... ..INY| 00001880: 20 20 3B A1 20 32 4E 44 20 42 59 54 45 00 A8 20 | ;. 2ND BYTE.. | 00001890: D4 0D 42 4E 45 20 4D 52 32 20 3B 41 4C 57 41 59 |..BNE MR2 ;ALWAY| 000018A0: 53 20 42 52 41 4E 43 48 00 CC 20 DE 0D 4D 52 31 |S BRANCH.. ..MR1| 000018B0: 20 4A 53 52 20 50 52 4E 54 48 58 20 3B 43 91 56 | JSR PRNTHX ;C.V| 000018C0: 45 52 54 20 AF 20 99 20 41 44 44 2E 00 F2 20 E8 |ERT . . ADD... .| 000018D0: 0D 4A 4D 50 20 4D 41 31 20 3B 52 45 53 45 54 20 |.JMP MA1 ;RESET | 000018E0: 43 4B 41 44 44 20 AF 20 4C 4F 4F 50 20 41 47 41 |CKADD . LOOP AGA| 000018F0: 49 4E 00 11 21 F2 0D 3B AC 99 20 53 54 41 52 54 |IN..!..;.. START| 00001900: 20 41 44 44 52 45 53 53 20 4D 41 54 43 48 45 44 | ADDRESS MATCHED| 00001910: AC 00 27 21 FC 0D 50 52 53 54 20 4C 44 41 20 23 |..'!..PRST LDA #| 00001920: 24 30 44 20 3B 43 52 00 36 21 06 0E 4A 53 52 20 |$0D ;CR.6!..JSR | 00001930: 43 48 52 4F 55 54 00 45 21 10 0E 4C 44 41 20 23 |CHROUT.E!..LDA #| 00001940: 33 36 20 3B 24 00 54 21 1A 0E 4A 53 52 20 43 48 |36 ;$.T!..JSR CH| 00001950: 52 4F 55 54 00 70 21 24 0E 4C 44 59 20 23 30 20 |ROUT.p!$.LDY #0 | 00001960: 3B 53 45 54 20 A4 20 A1 20 32 20 42 59 54 45 53 |;SET . . 2 BYTES| 00001970: 00 7F 21 2E 0E 50 52 32 20 43 50 59 20 23 32 00 |..!..PR2 CPY #2.| 00001980: 8B 21 38 0E 42 45 51 20 50 52 31 00 A7 21 42 0E |.!8.BEQ PR1..!B.| 00001990: 4C 44 41 20 53 54 41 44 44 2C 59 20 3B A1 20 31 |LDA STADD,Y ;. 1| 000019A0: 53 54 20 42 59 54 45 00 C4 21 4C 0E 53 54 41 20 |ST BYTE..!L.STA | 000019B0: 48 4C 44 52 2C 59 20 3B 94 20 81 20 43 91 56 45 |HLDR,Y ;. . C.VE| 000019C0: 52 53 49 91 00 DB 21 56 0E 49 4E 59 20 20 3B 53 |RSI...!V.INY ;S| 000019D0: 45 54 20 81 20 82 20 42 59 54 45 00 E7 21 60 0E |ET . . BYTE..!`.| 000019E0: 42 4E 45 20 50 52 32 00 06 22 6A 0E 50 52 31 20 |BNE PR2.."j.PR1 | 000019F0: 4A 53 52 20 50 52 4E 54 48 58 20 3B 43 91 56 45 |JSR PRNTHX ;C.VE| 00001A00: 52 54 20 AF 20 99 00 22 22 74 0E 4C 44 41 20 23 |RT . ..""t.LDA #| 00001A10: 31 20 3B 53 45 54 20 46 4C 41 47 20 A4 20 53 48 |1 ;SET FLAG . SH| 00001A20: 4F 57 00 41 22 7E 0E 53 54 41 20 4D 54 43 48 46 |OW.A"~.STA MTCHF| 00001A30: 4C 47 20 3B 53 54 41 44 44 20 57 41 53 20 99 45 |LG ;STADD WAS .E| 00001A40: 44 00 5A 22 88 0E 4A 4D 50 20 50 52 4E 54 31 20 |D.Z"..JMP PRNT1 | 00001A50: 3B CB 20 99 20 43 4B 41 44 44 00 66 22 92 0E 3B |;. . CKADD.f"..;| 00001A60: AC 54 45 58 54 AC 00 86 22 9C 0E 54 49 54 4C 45 |.TEXT..."..TITLE| 00001A70: 20 2E 42 59 54 45 20 24 32 30 2C 24 32 30 2C 24 | .BYTE $20,$20,$| 00001A80: 32 30 2C 24 31 32 00 AE 22 A6 0E 2E C6 20 22 43 |20,$12..".... "C| 00001A90: 4F 4D 4D 4F 4E 20 43 4F 44 45 22 20 3A 2E 42 59 |OMMON CODE" :.BY| 00001AA0: 54 45 20 24 39 32 2C 24 30 44 2C 24 30 44 00 DC |TE $92,$0D,$0D..| 00001AB0: 22 B0 0E 2E C6 20 22 53 54 41 52 54 20 41 44 44 |".... "START ADD| 00001AC0: 52 45 53 53 20 49 4E 20 48 45 58 20 22 3A 20 2E |RESS IN HEX ": .| 00001AD0: 42 59 54 45 20 24 30 44 2C 24 30 30 00 06 23 BA |BYTE $0D,$00..#.| 00001AE0: 0E 45 52 4D 45 53 53 20 2E C6 20 22 49 4E 50 55 |.ERMESS .. "INPU| 00001AF0: 54 20 45 52 52 4F 52 22 3A 2E 42 59 54 45 20 24 |T ERROR":.BYTE $| 00001B00: 30 44 2C 24 30 30 00 37 23 C4 0E 80 4D 45 53 53 |0D,$00.7#...MESS| 00001B10: 20 2E C6 20 22 45 4E 44 20 41 44 44 52 45 53 53 | .. "END ADDRESS| 00001B20: 20 49 4E 20 48 45 58 20 22 3A 2E 42 59 54 45 20 | IN HEX ":.BYTE | 00001B30: 24 30 44 2C 24 30 30 00 5E 23 CE 0E 4F 55 54 4D |$0D,$00.^#..OUTM| 00001B40: 45 53 53 20 2E C6 20 22 4F 55 54 50 55 54 20 54 |ESS .. "OUTPUT T| 00001B50: 4F 20 22 3A 20 2E 42 59 54 45 20 24 31 32 00 74 |O ": .BYTE $12.t| 00001B60: 23 D8 0E 2E C6 20 22 53 22 3A 20 2E 42 59 54 45 |#.... "S": .BYTE| 00001B70: 20 24 39 32 00 91 23 E2 0E 2E C6 20 22 43 52 45 | $92..#.... "CRE| 00001B80: 45 4E 20 4F 52 20 22 3A 2E 42 59 54 45 20 24 31 |EN OR ":.BYTE $1| 00001B90: 32 00 A7 23 EC 0E 2E C6 20 22 50 22 3A 20 2E 42 |2..#.... "P": .B| 00001BA0: 59 54 45 20 24 39 32 00 C6 23 F6 0E 2E C6 20 22 |YTE $92..#.... "| 00001BB0: 52 49 4E 54 45 52 22 20 3A 2E 42 59 54 45 20 24 |RINTER" :.BYTE $| 00001BC0: 30 44 2C 24 30 30 00 00 24 00 0F 42 59 54 4D 45 |0D,$00..$..BYTME| 00001BD0: 53 53 20 2E C6 20 22 42 59 54 45 20 4C 45 4E 47 |SS .. "BYTE LENG| 00001BE0: 54 48 20 49 4E 20 48 45 58 22 3A 2E 42 59 54 45 |TH IN HEX":.BYTE| 00001BF0: 20 24 30 44 2C 24 33 37 2C 24 39 44 2C 24 30 30 | $0D,$37,$9D,$00| 00001C00: 00 13 24 0A 0F 3B AC 53 55 42 52 4F 55 54 49 4E |..$..;.SUBROUTIN| 00001C10: 45 53 AC 00 2D 24 14 0F A1 20 4A 53 52 20 43 48 |ES..-$... JSR CH| 00001C20: 52 49 4E 20 3B A1 20 55 53 45 52 20 85 00 40 24 |RIN ;. USER ..@$| 00001C30: 1E 0F 43 4D 50 20 23 24 30 44 20 3B 22 43 52 3F |..CMP #$0D ;"CR?| 00001C40: 00 5E 24 28 0F 42 45 51 20 44 91 45 20 3B 59 45 |.^$(.BEQ D.E ;YE| 00001C50: 53 2E 45 58 49 54 20 52 4F 55 54 49 4E 45 00 7E |S.EXIT ROUTINE.~| 00001C60: 24 32 0F 53 54 41 20 48 58 41 44 44 2C 58 20 3B |$2.STA HXADD,X ;| 00001C70: 53 A4 52 45 20 C6 49 49 20 43 48 41 52 2E 00 97 |S.RE .II CHAR...| 00001C80: 24 3C 0F 49 4E 58 20 20 3B 52 41 49 53 45 20 49 |$<.INX ;RAISE I| 00001C90: 44 45 58 20 81 20 82 00 A9 24 46 0F 42 4E 45 20 |DEX . ...$F.BNE | 00001CA0: A1 20 3B CB 20 A1 20 49 54 00 B5 24 50 0F 44 91 |. ;. . IT..$P.D.| 00001CB0: 45 20 52 54 53 00 D8 24 5A 0F 3B AC 4D 41 4B 45 |E RTS..$Z.;.MAKE| 00001CC0: 20 31 20 42 59 54 45 20 C6 49 49 20 49 4E 20 41 | 1 BYTE .II IN A| 00001CD0: 20 42 49 4E 41 52 59 AC 00 F1 24 64 0F 4D 41 4B | BINARY...$d.MAK| 00001CE0: 42 49 20 43 4D 50 20 23 35 38 20 3B 22 3D 3E 39 |BI CMP #58 ;"=>9| 00001CF0: 3F 00 0C 25 6E 0F 42 43 53 20 88 20 3B 59 45 53 |?..%n.BCS . ;YES| 00001D00: 2C 20 49 54 53 20 41 20 88 54 45 52 00 28 25 78 |, ITS A .TER.(%x| 00001D10: 0F 53 45 43 20 20 3B 4E 4F 20 53 4F 20 53 55 42 |.SEC ;NO SO SUB| 00001D20: 54 52 41 43 54 20 34 38 00 45 25 82 0F 53 42 43 |TRACT 48.E%..SBC| 00001D30: 20 23 34 38 20 3B 81 20 45 51 55 49 56 2E 20 4E | #48 ;. EQUIV. N| 00001D40: 55 4D 42 45 52 00 51 25 8C 0F 52 54 53 20 20 3B |UMBER.Q%..RTS ;| 00001D50: 8E 00 65 25 96 0F 88 20 53 45 43 20 20 3B 81 20 |..e%... SEC ;. | 00001D60: 41 20 A4 20 46 00 7E 25 A0 0F 53 42 43 20 23 35 |A . F.~%..SBC #5| 00001D70: 35 20 3B 53 55 42 54 52 41 43 54 20 35 35 00 86 |5 ;SUBTRACT 55..| 00001D80: 25 AA 0F 52 54 53 00 A1 25 B4 0F 3B AC 43 48 45 |%..RTS..%..;.CHE| 00001D90: 43 4B 20 8B 20 C5 49 44 20 48 45 58 20 C6 49 49 |CK . .ID HEX .II| 00001DA0: AC 00 B7 25 BE 0F 45 C5 20 43 4D 50 20 23 37 31 |...%..E. CMP #71| 00001DB0: 20 3B 22 3D 3E 47 3F 00 D0 25 C8 0F 42 43 53 20 | ;"=>G?..%..BCS | 00001DC0: 42 41 44 20 3B 59 45 53 2C 20 4E 4F 20 CB 4F 44 |BAD ;YES, NO .OD| 00001DD0: 00 F1 25 D2 0F 43 4D 50 20 23 36 35 20 3B 22 49 |..%..CMP #65 ;"I| 00001DE0: 54 53 20 3C 20 47 2E 49 53 20 49 54 20 3D 3E 41 |TS < G.IS IT =>A| 00001DF0: 3F 00 0B 26 DC 0F 42 43 53 20 CB 4F 44 20 3B 59 |?..&..BCS .OD ;Y| 00001E00: 45 53 2C 20 49 54 53 20 C5 49 44 00 2B 26 E6 0F |ES, ITS .ID.+&..| 00001E10: 43 4D 50 20 23 35 38 20 3B 22 49 54 53 20 3C 41 |CMP #58 ;"ITS <A| 00001E20: 2E 49 53 20 49 54 20 3D 3E 3A 3F 00 43 26 F0 0F |.IS IT =>:?.C&..| 00001E30: 42 43 53 20 42 41 44 20 3B 59 45 53 2E 4E 4F 20 |BCS BAD ;YES.NO | 00001E40: CB 4F 44 00 5E 26 FA 0F 43 4D 50 20 23 34 38 20 |.OD.^&..CMP #48 | 00001E50: 3B 22 3C 3A 2E 49 53 20 49 54 20 3C 30 3F 00 77 |;"<:.IS IT <0?.w| 00001E60: 26 04 10 42 43 43 20 42 41 44 20 3B 59 45 53 2E |&..BCC BAD ;YES.| 00001E70: 20 4E 4F 20 CB 4F 44 00 8F 26 0E 10 CB 4F 44 20 | NO .OD..&...OD | 00001E80: 43 4C 43 20 20 3B 52 41 4E 47 45 20 4F 4B 2E 00 |CLC ;RANGE OK..| 00001E90: A7 26 18 10 52 54 53 20 20 3B 42 41 43 4B 20 A4 |.&..RTS ;BACK .| 00001EA0: 20 43 41 4C 4C 45 52 00 C2 26 22 10 42 41 44 20 | CALLER..&".BAD | 00001EB0: 50 4C 41 20 20 3B 49 4E C5 49 44 2E 50 55 4C 4C |PLA ;IN.ID.PULL| 00001EC0: 20 8E 00 DC 26 2C 10 50 4C 41 20 20 3B 41 44 44 | ...&,.PLA ;ADD| 00001ED0: 2E 20 46 52 4F 4D 20 53 54 41 43 4B 00 F7 26 36 |. FROM STACK..&6| 00001EE0: 10 4A 4D 50 20 45 52 52 B0 20 3B 55 53 45 52 20 |.JMP ERR. ;USER | 00001EF0: 52 45 53 54 41 52 54 00 0E 27 40 10 3B AC 53 45 |RESTART..'@.;.SE| 00001F00: 54 20 55 50 20 99 45 52 20 46 49 4C 45 AC 00 27 |T UP .ER FILE..'| 00001F10: 27 4A 10 50 52 4F 55 54 20 4C 44 41 20 23 37 20 |'J.PROUT LDA #7 | 00001F20: 3B 46 49 4C 45 20 23 00 3A 27 54 10 4C 44 58 20 |;FILE #.:'T.LDX | 00001F30: 23 34 20 3B 44 45 56 49 43 45 00 5A 27 5E 10 4C |#4 ;DEVICE.Z'^.L| 00001F40: 44 59 20 23 24 46 46 20 3B 42 4F 47 55 53 20 53 |DY #$FF ;BOGUS S| 00001F50: 45 43 91 44 2E 20 41 44 44 2E 00 78 27 68 10 4A |EC.D. ADD..x'h.J| 00001F60: 53 52 20 53 45 54 4C 46 53 20 3B 96 49 4E 45 20 |SR SETLFS ;.INE | 00001F70: 54 48 45 20 46 49 4C 45 00 96 27 72 10 4C 44 41 |THE FILE..'r.LDA| 00001F80: 20 23 30 30 20 3B 4E 4F 20 4E 41 4D 45 2C 20 4E | #00 ;NO NAME, N| 00001F90: 4F 20 C3 47 54 48 00 B4 27 7C 10 4A 53 52 20 53 |O .GTH..'|.JSR S| 00001FA0: 45 54 4E 41 4D 20 3B 52 45 51 55 49 52 45 44 20 |ETNAM ;REQUIRED | 00001FB0: 43 41 4C 4C 00 C8 27 86 10 4A 53 52 20 9F 20 3B |CALL..'..JSR . ;| 00001FC0: 9F 20 46 49 4C 45 20 37 00 E8 27 90 10 4C 44 58 |. FILE 7..'..LDX| 00001FD0: 20 23 37 20 3B 53 45 54 20 46 49 4C 45 20 37 20 | #7 ;SET FILE 7 | 00001FE0: 81 20 4F 55 54 50 55 54 00 F7 27 9A 10 4A 53 52 |. OUTPUT..'..JSR| 00001FF0: 20 43 48 4B 4F 55 54 00 0F 28 A4 10 52 54 53 20 | CHKOUT..(..RTS | 00002000: 20 3B 42 41 43 4B 20 A4 20 43 41 4C 4C 45 52 00 | ;BACK . CALLER.| 00002010: 33 28 AE 10 3B AC 43 48 45 43 4B AD 41 43 43 45 |3(..;.CHECK.ACCE| 00002020: 50 54 20 53 50 41 43 45 20 42 41 52 20 50 41 55 |PT SPACE BAR PAU| 00002030: 53 45 AC 00 53 28 B8 10 92 20 4C 44 41 20 23 30 |SE..S(... LDA #0| 00002040: 20 3B 43 4C 45 41 52 20 46 4C 41 47 20 A4 20 53 | ;CLEAR FLAG . S| 00002050: 48 4F 57 00 6F 28 C2 10 53 54 41 20 49 4E 46 4C |HOW.o(..STA INFL| 00002060: 47 20 3B 57 45 27 52 45 20 A8 20 92 49 4E 47 00 |G ;WE'RE . .ING.| 00002070: 94 28 CC 10 57 41 32 20 4C 44 41 20 24 43 42 20 |.(..WA2 LDA $CB | 00002080: 3B 43 55 52 52 45 4E 54 20 4B 45 59 20 50 52 45 |;CURRENT KEY PRE| 00002090: 53 53 45 44 00 AB 28 D6 10 43 4D 50 20 23 36 34 |SSED..(..CMP #64| 000020A0: 20 3B 36 34 B2 4E 4F 20 4B 45 59 00 CA 28 E0 10 | ;64.NO KEY..(..| 000020B0: 42 45 51 20 CB 91 20 3B 4E 4F 20 4B 45 59 2C 20 |BEQ .. ;NO KEY, | 000020C0: A8 48 49 4E 47 20 A4 20 44 4F 00 E3 28 EA 10 43 |.HING . DO..(..C| 000020D0: 4D 50 20 23 36 30 20 3B 22 53 50 41 43 45 20 42 |MP #60 ;"SPACE B| 000020E0: 41 52 3F 00 FC 28 F4 10 42 4E 45 20 CB 91 20 3B |AR?..(..BNE .. ;| 000020F0: 4E 4F 2C 20 53 4F 20 49 47 4E B0 45 00 1A 29 FE |NO, SO IGN.E..).| 00002100: 10 4C 44 41 20 49 4E 46 4C 47 20 3B 57 41 53 20 |.LDA INFLG ;WAS | 00002110: 53 50 41 43 45 20 42 41 52 2E 00 36 29 08 11 42 |SPACE BAR..6)..B| 00002120: 4E 45 20 47 31 20 3B 8B 20 53 45 54 2C 92 20 49 |NE G1 ;. SET,. I| 00002130: 53 20 4F 56 45 52 00 53 29 12 11 57 41 31 20 4C |S OVER.S)..WA1 L| 00002140: 44 41 20 24 43 42 20 3B 53 54 41 52 54 20 54 48 |DA $CB ;START TH| 00002150: 45 20 92 00 74 29 1C 11 43 4D 50 20 23 36 34 20 |E ..t)..CMP #64 | 00002160: 3B 81 20 53 50 41 43 45 20 42 41 52 20 52 45 4C |;. SPACE BAR REL| 00002170: 45 41 53 45 00 8B 29 26 11 42 4E 45 20 57 41 31 |EASE..)&.BNE WA1| 00002180: 20 3B 4B 45 45 50 20 92 49 4E 47 00 A7 29 30 11 | ;KEEP .ING..)0.| 00002190: 4C 44 41 20 23 31 20 3B 53 45 54 20 46 4C 41 47 |LDA #1 ;SET FLAG| 000021A0: 20 A4 20 53 48 4F 57 00 CA 29 3A 11 53 54 41 20 | . SHOW..):.STA | 000021B0: 49 4E 46 4C 47 20 3B 57 45 27 52 45 20 4C 4F 4F |INFLG ;WE'RE LOO| 000021C0: 4B 49 4E 47 20 81 20 32 4E 44 00 E8 29 44 11 4A |KING . 2ND..)D.J| 000021D0: 4D 50 20 57 41 32 20 3B 48 49 54 20 4F 46 20 53 |MP WA2 ;HIT OF S| 000021E0: 50 41 43 45 20 42 41 52 00 05 2A 4E 11 CB 91 20 |PACE BAR..*N... | 000021F0: 4C 44 41 20 49 4E 46 4C 47 20 3B 8B 20 46 4C 41 |LDA INFLG ;. FLA| 00002200: 47 20 53 45 54 00 1F 2A 58 11 42 4E 45 20 57 41 |G SET..*X.BNE WA| 00002210: 32 20 3B 4B 45 45 50 20 4C 4F 4F 4B 49 4E 47 00 |2 ;KEEP LOOKING.| 00002220: 38 2A 62 11 47 31 20 52 54 53 20 20 3B 54 48 45 |8*b.G1 RTS ;THE| 00002230: 20 92 53 20 4F 56 45 52 00 51 2A 6C 11 3B AC 53 | .S OVER.Q*l.;.S| 00002240: 54 41 52 54 20 43 55 52 53 B0 20 42 4C 49 4E 4B |TART CURS. BLINK| 00002250: AC 00 71 2A 76 11 43 52 91 20 4C 44 41 20 23 30 |..q*v.CR. LDA #0| 00002260: 20 3B 43 4C 45 41 52 20 54 48 49 53 20 42 59 54 | ;CLEAR THIS BYT| 00002270: 45 00 8C 2A 80 11 53 54 41 20 24 43 43 20 3B A4 |E..*..STA $CC ;.| 00002280: 20 53 54 41 52 54 20 42 4C 49 4E 4B 00 94 2A 8A | START BLINK..*.| 00002290: 11 52 54 53 00 A9 2A 94 11 3B AC 90 20 43 55 52 |.RTS..*..;.. CUR| 000022A0: 53 B0 20 42 4C 49 4E 4B AC 00 C5 2A 9E 11 43 52 |S. BLINK...*..CR| 000022B0: 4F 46 20 4C 44 41 20 23 31 20 3B 53 45 54 20 42 |OF LDA #1 ;SET B| 000022C0: 59 54 45 20 A4 00 DA 2A A8 11 53 54 41 20 24 43 |YTE ...*..STA $C| 000022D0: 43 20 3B 90 20 42 4C 49 4E 4B 00 E2 2A B2 11 52 |C ;. BLINK..*..R| 000022E0: 54 53 00 08 2B BC 11 3B AC 32 20 42 59 54 45 20 |TS..+..;.2 BYTE | 000022F0: 42 49 4E 41 52 59 20 A4 20 34 20 42 59 54 45 20 |BINARY . 4 BYTE | 00002300: C6 49 49 20 48 45 58 AC 00 29 2B C6 11 4D 41 4B |.II HEX..)+..MAK| 00002310: 48 58 20 4C 44 58 20 23 31 20 3B 58 20 53 45 54 |HX LDX #1 ;X SET| 00002320: 20 A4 20 A1 20 42 59 54 45 00 43 2B D0 11 4C 44 | . . BYTE.C+..LD| 00002330: 59 20 23 30 20 3B 59 20 53 45 54 20 A4 20 94 20 |Y #0 ;Y SET . . | 00002340: C6 49 49 00 68 2B DA 11 48 58 33 20 4C 44 41 20 |.II.h+..HX3 LDA | 00002350: 48 4C 44 52 2C 58 20 3B A1 20 42 59 54 45 28 48 |HLDR,X ;. BYTE(H| 00002360: 49 20 46 49 52 53 54 29 00 84 2B E4 11 AF 20 23 |I FIRST)..+... #| 00002370: 24 46 30 20 3B 4D 41 53 4B 20 4C 4F 57 20 4E 59 |$F0 ;MASK LOW NY| 00002380: 42 42 4C 45 00 A3 2B EE 11 4C 53 52 20 20 3B 53 |BBLE..+..LSR ;S| 00002390: 48 8B 54 20 48 49 20 4E 59 42 42 4C 45 20 A4 20 |H.T HI NYBBLE . | 000023A0: 4C 4F 57 00 AB 2B F8 11 4C 53 52 00 B3 2B 02 12 |LOW..+..LSR..+..| 000023B0: 4C 53 52 00 BB 2B 0C 12 4C 53 52 00 D3 2B 16 12 |LSR..+..LSR..+..| 000023C0: 48 58 31 20 43 4D 50 20 23 31 30 20 3B 22 3D 3E |HX1 CMP #10 ;"=>| 000023D0: 31 30 3F 00 F0 2B 20 12 42 43 53 20 41 44 4D B0 |10?..+ .BCS ADM.| 000023E0: 20 3B 59 45 53 2C 20 4D 41 4B 45 20 88 54 45 52 | ;YES, MAKE .TER| 000023F0: 00 04 2C 2A 12 43 4C 43 20 20 3B 4E 4F 2E 4E 55 |..,*.CLC ;NO.NU| 00002400: 4D 42 45 52 00 1E 2C 34 12 41 44 43 20 23 34 38 |MBER..,4.ADC #48| 00002410: 20 3B 41 44 44 20 34 38 20 81 20 C6 49 49 00 3B | ;ADD 48 . .II.;| 00002420: 2C 3E 12 48 58 32 20 53 54 41 20 48 58 41 44 44 |,>.HX2 STA HXADD| 00002430: 2C 59 20 3B 53 A4 52 45 20 49 54 00 53 2C 48 12 |,Y ;S.RE IT.S,H.| 00002440: 49 4E 59 20 20 3B 52 41 49 53 45 20 43 4F 55 4E |INY ;RAISE COUN| 00002450: 54 45 52 00 70 2C 52 12 43 50 59 20 23 33 20 3B |TER.p,R.CPY #3 ;| 00002460: 22 44 4F 4E 45 20 33 20 4E 59 42 42 4C 45 53 3F |"DONE 3 NYBBLES?| 00002470: 00 89 2C 5C 12 42 45 51 20 53 4B 49 50 20 3B 59 |..,\.BEQ SKIP ;Y| 00002480: 45 53 2C 44 4F 20 34 54 48 00 A4 2C 66 12 42 43 |ES,DO 4TH..,f.BC| 00002490: 53 20 44 55 4E 20 3B 59 B1 33 2E 57 45 27 52 45 |S DUN ;Y.3.WE'RE| 000024A0: 20 44 91 45 00 C2 2C 70 12 43 50 58 20 23 30 20 | D.E..,p.CPX #0 | 000024B0: 3B 22 59 3C 33 2E 48 49 42 59 54 45 20 44 4F 4E |;"Y<3.HIBYTE DON| 000024C0: 45 3F 00 DD 2C 7A 12 42 45 51 20 4E 58 54 42 59 |E?..,z.BEQ NXTBY| 000024D0: 54 20 3B 59 45 53 2E 44 4F 20 4C 4F 57 00 01 2D |T ;YES.DO LOW..-| 000024E0: 84 12 4C 44 41 20 48 4C 44 52 2C 58 20 3B 4E 4F |..LDA HLDR,X ;NO| 000024F0: 2E A1 20 4C 4F 20 4E 59 42 2C 48 49 20 42 59 54 |.. LO NYB,HI BYT| 00002500: 45 00 20 2D 8E 12 48 58 34 20 AF 20 23 24 30 46 |E. -..HX4 . #$0F| 00002510: 20 3B 4D 41 53 4B 20 48 49 20 4E 59 42 42 4C 45 | ;MASK HI NYBBLE| 00002520: 00 38 2D 98 12 44 45 58 20 20 3B 4C 4F 57 45 52 |.8-..DEX ;LOWER| 00002530: 20 43 4F 55 4E 54 45 52 00 4E 2D A2 12 4A 4D 50 | COUNTER.N-..JMP| 00002540: 20 48 58 31 20 3B 4D 41 4B 45 20 C6 49 49 00 70 | HX1 ;MAKE .II.p| 00002550: 2D AC 12 41 44 4D B0 20 43 4C 43 20 20 3B 43 91 |-..ADM. CLC ;C.| 00002560: 56 45 52 54 20 42 49 4E 41 52 59 20 88 54 45 52 |VERT BINARY .TER| 00002570: 00 86 2D B6 12 41 44 43 20 23 35 35 20 3B A4 20 |..-..ADC #55 ;. | 00002580: C6 49 49 20 42 59 00 9D 2D C0 12 4A 4D 50 20 48 |.II BY..-..JMP H| 00002590: 58 32 20 3B 41 44 44 49 4E 47 20 35 35 00 C6 2D |X2 ;ADDING 55..-| 000025A0: CA 12 53 4B 49 50 20 4C 44 41 20 48 4C 44 52 2C |..SKIP LDA HLDR,| 000025B0: 58 20 3B A1 20 4C 4F 20 42 59 54 45 20 4C 41 53 |X ;. LO BYTE LAS| 000025C0: 54 20 54 49 4D 45 00 E0 2D D4 12 4A 4D 50 20 48 |T TIME..-..JMP H| 000025D0: 58 34 20 3B 44 4F 20 4C 4F 20 4E 59 42 42 4C 45 |X4 ;DO LO NYBBLE| 000025E0: 00 04 2E DE 12 4E 58 54 42 59 54 20 4C 44 59 20 |.....NXTBYT LDY | 000025F0: 23 32 20 3B 52 45 53 45 54 20 49 4E 44 49 43 45 |#2 ;RESET INDICE| 00002600: 53 20 46 4F 00 21 2E E8 12 4C 44 58 20 23 30 20 |S FO.!...LDX #0 | 00002610: 3B 32 4E 44 20 41 44 44 52 45 53 53 20 42 59 54 |;2ND ADDRESS BYT| 00002620: 45 00 39 2E F2 12 4A 4D 50 20 48 58 33 20 3B 4C |E.9...JMP HX3 ;L| 00002630: 4F 4F 50 20 41 47 41 49 4E 00 49 2E FC 12 44 55 |OOP AGAIN.I...DU| 00002640: 4E 20 52 54 53 20 20 3B 8E 00 69 2E 06 13 3B AC |N RTS ;..i...;.| 00002650: 99 20 48 45 58 20 41 44 44 2E 53 A4 52 45 44 20 |. HEX ADD.S.RED | 00002660: 49 4E 20 48 58 41 44 44 AC 00 8C 2E 10 13 50 52 |IN HXADD......PR| 00002670: 4E 54 48 58 20 4A 53 52 20 4D 41 4B 48 58 20 3B |NTHX JSR MAKHX ;| 00002680: 42 49 4E 41 52 59 20 A4 20 48 45 58 00 A4 2E 1A |BINARY . HEX....| 00002690: 13 4C 44 58 20 23 30 20 3B 43 4C 45 41 52 20 49 |.LDX #0 ;CLEAR I| 000026A0: 4E 44 45 58 00 C2 2E 24 13 4C 55 50 45 20 43 50 |NDEX...$.LUPE CP| 000026B0: 58 20 23 34 20 3B 44 4F 20 34 20 4E 55 4D 42 45 |X #4 ;DO 4 NUMBE| 000026C0: 52 53 00 CE 2E 2E 13 42 45 51 20 46 49 4E 00 E9 |RS.....BEQ FIN..| 000026D0: 2E 38 13 4C 44 41 20 48 58 41 44 44 2C 58 20 3B |.8.LDA HXADD,X ;| 000026E0: A1 20 C6 49 49 20 48 45 58 00 FE 2E 42 13 4A 53 |. .II HEX...B.JS| 000026F0: 52 20 43 48 52 4F 55 54 20 3B 99 20 49 54 00 16 |R CHROUT ;. IT..| 00002700: 2F 4C 13 49 4E 58 20 20 3B 50 4F B5 20 A4 20 82 |/L.INX ;PO. . .| 00002710: 20 43 48 41 52 2E 00 32 2F 56 13 42 4E 45 20 4C | CHAR..2/V.BNE L| 00002720: 55 50 45 20 3B 41 4C 57 41 59 53 20 42 52 41 4E |UPE ;ALWAYS BRAN| 00002730: 43 48 00 47 2F 60 13 46 49 4E 20 4C 44 41 20 23 |CH.G/`.FIN LDA #| 00002740: 24 30 44 20 3B 43 52 00 56 2F 6A 13 4A 53 52 20 |$0D ;CR.V/j.JSR | 00002750: 43 48 52 4F 55 54 00 62 2F 74 13 52 54 53 20 20 |CHROUT.b/t.RTS | 00002760: 3B 8E 00 84 2F 7E 13 3B AC 50 52 4F 47 52 41 4D |;.../~.;.PROGRAM| 00002770: 20 46 49 4E 49 53 48 45 44 2C 20 43 4C 45 41 4E | FINISHED, CLEAN| 00002780: 20 55 50 AC 00 AB 2F 88 13 45 58 49 54 20 4A 53 | UP.../..EXIT JS| 00002790: 52 20 9C 43 48 4E 20 3B 52 45 53 45 54 20 96 41 |R .CHN ;RESET .A| 000027A0: 55 4C 54 20 44 45 56 49 43 45 53 00 C9 2F 92 13 |ULT DEVICES../..| 000027B0: 4C 44 41 20 23 37 20 3B 96 41 55 4C 54 20 C5 55 |LDA #7 ;.AULT .U| 000027C0: 45 20 26 20 46 49 4C 45 23 00 DD 2F 9C 13 53 54 |E & FILE#../..ST| 000027D0: 41 20 43 4B 42 59 54 20 3B 94 20 49 54 00 F1 2F |A CKBYT ;. IT../| 000027E0: A6 13 4A 53 52 20 A0 20 3B A0 20 46 49 4C 45 20 |..JSR . ;. FILE | 000027F0: 37 00 08 30 B0 13 52 54 53 20 20 3B 42 41 43 4B |7..0..RTS ;BACK| 00002800: 20 A4 20 42 41 53 49 43 00 16 30 BA 13 3B AC 53 | . BASIC..0..;.S| 00002810: A4 52 41 47 45 AC 00 46 30 C4 13 48 58 41 44 44 |.RAGE..F0..HXADD| 00002820: 20 2E 42 59 54 45 20 30 2C 30 2C 30 2C 30 20 3B | .BYTE 0,0,0,0 ;| 00002830: 34 20 42 59 54 45 53 20 A4 20 48 4F 4C 44 20 C6 |4 BYTES . HOLD .| 00002840: 49 49 20 48 45 58 00 6E 30 CE 13 4D 54 43 48 43 |II HEX.n0..MTCHC| 00002850: 4B 20 2E 42 59 54 45 20 30 2C 30 20 3B 4C 41 53 |K .BYTE 0,0 ;LAS| 00002860: 54 20 41 44 44 2E 20 A4 20 43 48 45 43 4B 00 94 |T ADD. . CHECK..| 00002870: 30 D8 13 45 4E 43 4B 20 2E 42 59 54 45 20 30 2C |0..ENCK .BYTE 0,| 00002880: 30 20 3B 4C 41 53 54 20 41 44 44 2E 20 81 20 4D |0 ;LAST ADD. . M| 00002890: 41 54 43 48 00 B8 30 E2 13 49 4E 46 4C 47 20 2E |ATCH..0..INFLG .| 000028A0: 42 59 54 45 20 30 20 3B 55 53 45 52 20 41 44 44 |BYTE 0 ;USER ADD| 000028B0: 2E 20 85 20 46 4C 41 47 00 DD 30 EC 13 43 4B 42 |. . FLAG..0..CKB| 000028C0: 59 54 20 2E 42 59 54 45 20 24 30 37 20 3B 23 20 |YT .BYTE $07 ;# | 000028D0: 42 59 54 45 53 20 A4 20 4D 41 54 43 48 00 FF 30 |BYTES . MATCH..0| 000028E0: F6 13 4D 54 43 48 46 4C 47 20 2E 42 59 54 45 20 |..MTCHFLG .BYTE | 000028F0: 30 20 3B A2 20 47 52 4F 55 50 20 46 4C 41 47 00 |0 ;. GROUP FLAG.| 00002900: 23 31 00 14 48 4C 44 52 20 2E 42 59 54 45 20 30 |#1..HLDR .BYTE 0| 00002910: 2C 30 20 3B 54 45 4D 50 B0 41 52 59 20 53 A4 52 |,0 ;TEMP.ARY S.R| 00002920: 41 47 45 00 2A 31 0A 14 2E 80 00 00 00 |AGE.*1....... |
..!.... SAVE"0:COMMON CODE.PAL",8.@.... 8,8,8,"0:COMMON CODE,P,W.I....700.U....O PT O8.Z...; . COMM. CODE BY JACK R. FARR AH.....;PROGRAM . FIND IDENTICAL CODE SE QUENCES.O.$.;IN MACHINE LANGUAGE PROGRAM S . USE.....;AS .SIBLE SUBROUTINES....8. ;TESTED PROGRAM . BE IN MEM.Y..'.B.;ALL USER .S IN HEX..A.L.;SCREEN . .ER OUTPUT ..].V.;SPACE BAR PAUSES .ING..N.`.; . C. S.TS ....J.CHRIN . $FFCF ;. MULT. CHAR.. ...T.CHROUT . $FFD2 ;. . DEVICE.M.~..IN . $FFE4 ;. .GLE CHAR......STADD . $FB ;S TART ADDRESS.....CKADD . $FD ;CHECK ADDR ESS.+...SETLFS . $FFBA ;SET .. FILE.I... SETNAM . $FFBD ;NAME FILE._.... . $FFC0 ;. FILE.U... . $FFC3 ; FILE...D.CHKOUT . $FFC9 ;SET OUTPUT FILE...N..CHN . $FF CC ;. .AULTS.F.X...$0801 ;2049......W.D TWOBRK ;.WARD PO.ER......BYTE 10,0 ;LINE NUMBER. ....BYTE $9E ;"SYS" KEYW.D .KEN .9....F "2061" ;. ADDRESS.A...BRK.S...TW OBRK .W.D 0.N...LDA #147 ;CLEAR SCREEN.} .(.JSR CHROUT...2.BEGIN LDX #0...<.STX I NFLG ;CLEAR FLAGS...F.STX MTCHFLG.U.P.;. . USER START ADDRESS....Z.TITL LDA TITLE ,X ;. PROG. NAME...D.BEQ START ;. START ADD....N.JSR CHROUT ;. MESSAGE.6.X.INX.C ...BNE TITL._...START LDX #0 ;SET INDEX. X...JSR CR. ;BLINK CURS.... .JSR . ;. AD DRESS.....CHECK CPX #5 ;">4 CHARACTERS?. H...BCS ERR. ;.LY WANT 4.....CK1 DEX ;R ESET . CR COUNTED...H.CPX #255 ;.LY AFTE R 4...R.BEQ C.VERT ;MAKE BINARY.:...LDA HXADD,X ;. HEX FII.R...JSR EE ;CHECK . E ID.L...BCC CK1 ;OK.. . CHAR......;.ERR. MESSAGE LOOP......ERR. LDA #$0D ;CR..... JSR CHROUT.G...JSR CROF ;TURN OFF CURS.. R.".LDX #0...,.ER1 LDA ERMESS,X ;. ERR. MESSAGE...6.BEQ BEGIN ;START OVER. .@.JS R CHROUT.(.J.INX.4.T.BNE ER1.Y.^.;.CHANG E FII HEX . BINARY & S.RE.V.H.C.VERT LDX #0 ;SET INDEX...R.JSR CROF ;UNBLINK CUR S....|.LOOP LDA HXADD,X ;. FII.I...JSR M AKBI ;MAKE BINARY.....ASL ;SH.T EUE .O. ....ASL ;HIGH NYBBLE .ITI......ASL..... ASL.!...STA HXADD,X ;. IT.7.B.INX ;RAIS E INDEX.P.L.LDA HXADD,X ;. . FII.K.V.JSR MAKBI ;MAKE BINARY.....CPX #3 ;"4TH CHA RACTER?.....BEQ OVER ;YES. FINISH HERE.. ...CLC ;NO.T...ADC HXADD ;ADD . HIGH NY BBLE.....STA HXADD ;. COMBINED EUE.....I NX ;RAISE INDEX.$...BNE LOOP ;ALWAYS BR ANCH.E.&.OVER CLC ;ADD LOW NYBBLE OF.F. 0.ADC HXADD.2 ;LOW BYTE . HIGH.~.:.STA H XADD.2 ;. . IT...D.. LDA INFLG ;"DONE EN D ADDRESS?...N.BNE OUTPUT ;YES.FLAG SET. ..X.LDA HXADD ;NO.. START ADD....B.STA S TADD.1 ;. ZERO PAGE...L.LDA HXADD.2...V. STA STADD.*...LDA #$0D ;CR.9...JSR CHROU T.Q...STA INFLG ;SET FLAG.I...;.. USER . ADDRESS......LDX #0 ;CLEAR INDEX......1 LDA .MESS,X ;. MESSAGE.....BEQ ....F.JS R CHROUT...P.INX.K.Z.BNE .1...... LDX #0 ;CLEAR . CHAR. COUNT.....JSR CR. ;BLINK CURS......JSR . ;. THE ADDRESS.A...JMP CHECK ;CHECK &MAKE BINARY.G...OUTPUT LDA HXADD ;. BINARY . ADD......STA ENCK.1 ; . S.RE IN ZERO PAGE... .LDA HXADD.2...*. STA ENCK...4.LDA #$0D ;CR.H.>.JSR CHROUT ...H.;.. OUTPUT DESTINATI. FROM USER.... R.LDX #0...\.OUT1 LDA OUTMESS,X ;. MESSA GE.&.F.BEQ .IT.5.P.JSR CHROUT.=.Z.INX.J. ..BNE OUT1.G....IT JSR .IN ;. 'S' . 'P'. |...BEQ .IT ;. . KEY.....CMP #80 ;"P?... ..BEQ . ;YES. . .ER.....CMP #83 ;"NO. S? .U...BNE .IT ;NO.K BACK . KEY...J.BEQ BY TE ;SCREEN OUTPUT...T.. JSR PROUT ;. .ER FILE.+...;.. BYTE LGTH. FROM USER..;... BYTE LDX #0._...BYTLUP LDA BYTMESS,X ;. MESSAGE.M...BEQ GTBYT.|...JSR CHROUT.... .INX.....BNE BYTLUP...$.ERJMP JMP ERR. ; OUT OF RANGE AVOIDER.....GTBYT JSR CR. ; BLINK CURS....8.GT2 JSR .IN ;. KEY...B.B EQ GT2 ;. . KEY...L.CMP #$0D ;"CR?.7.V.B EQ SET. ;.AULT SELECTED.S.`.JSR CHROUT ; . EUE. . IT.K.J.JSR EE ;CHECK RANGE...T. JSR MAKBI ;MAKE BINARY...~.ASL ;SH.T . HI NYBBLE.....ASL.....ASL.....ASL.L...ST A HLDR ;. IT.....GT1 JSR .IN ;. SEC.D CH AR......BEQ GT1 ;. . IT...D.JSR CHROUT ; . IIT.-.N.JSR EE ;CHECK RANGE.H.X.JSR MA KBI ;MAKE BINARY.B...CLC ;ADD . HI NYBB LE.O...ADC HLDR.....CMP #2 ;">1?.....BCC ERJMP ;.2 . ALLOWED.....STA CKBYT ;S.RE . EUE.G...LDA #$0D ;CR.V...JSR CHROUT.. .(.;.CALCULATE . ADDRESSES....2.SET. JSR CROF ;UNBLINK CURS..%.<.LDA #$0D ;CR.4. F.JSR CHROUT.S.P.LDA CKBYT ;. LGTH. . CH ECK.[.Z.SEC.R.D.SBC #2 ;SUBTRACT 2...N.S TA HLDR ;TEMP.ARY ....X.LDA ENCK ;LOW BY TE . ADD......SEC.L...SBC HLDR ;SUBTRACT EUE.....STA ENCK ;. . EUE... .BCC SUBHI ;REDUCE HI BYTE.....SET1 LDA ENCK ;. . . ADD..&...SEC.H...SBC CKBYT ;SUBTRACT B YTE LGTH.G.H.STA MTCHCK ;. AS CHECK EUE. ..R.BCC SUB2 ;REDUCE HI BYTE.....LDA ENC K.1 ;. HI BYTE . ..H...SET2 STA MTCHCK.1 ;MAKE SAME HERE.....SET3 LDA STADD ;STA RT ADD. LOW BYTE.....CLC.....ADC CKBYT ; ADD BYTE LGTH.0...STA CKADD ;CHECK PO.ER .I...LDA STADD.1 ;HI BYTE._.".ADC #0 ;AD D CARRY.}.,.STA CKADD.1 ;PUT IN PO.ER... 6.JMP MAIN ;START MAIN LOOP...@.SUBHI DE C ENCK.1...J.JMP SET1.Q.T.SUB2 LDA ENCK. 1...^.SBC #1...H.JMP SET2...R.;.MAIN PRO GAM LOOP..'.|.MAIN LDY #0 ;CLEAR . IND.A DD.MODE.I...LDA (STADD),Y ;. EUE AT STAR T.F...CMP (CKADD),Y ;. . CHECK.....BEQ K TMTCH ;THEY MATCH.CHECK M.E......MA1 CLC ;NO MATCH.E...LDA CKADD ;ADD 1 . CHECK ADD..P...ADC #1...B.STA CKADD ;S.RE BAC K...L.LDA CKADD.1 ;FIX HIGH BYTE...V.ADC #0.)...STA CKADD.1 ;S.RE.H...LDA CKADD ;HAVE WE REACHED.N...CMP ENCK ;"END OF P OSSIBLE BYTES?.....BNE MAIN ;NO.START . SERIES.....LDA CKADD.1 ;LO BYTES MATCHED .P...CMP ENCK.1 ;"HI BYTES SAME?.....BNE MAIN ;NO..INUE...&.CLC ;D.E WITH THIS SERIES.&.0.LDA STADD ;MOVE START PO.ER.C .:.ADC #1 ;. . HIGHEST BYTE.Z.D.STA STAD D ;S.RE IT.W.N.LDA STADD.1 ;FIX HI BYTE. ..X.ADC #0...B.STA STADD.1...L.LDX #0 ;C LEAR FLAG . SHOW ..Z.V.STX MTCHFLG ;ROUT INE THIS IS . ADD......LDA STADD ;COMPAR E START ADD..%...CMP MTCHCK ;WITH LAST C HECKABLE BYTE.B...BNE . ;NO MATCH LOW BY TE.A...LDA STADD.1 ;CHECK HI BYTE.R...CM P MTCHCK.1.....BNE . ;NO MATCH.....JMP E XIT ;ALL D.E, UP.G.F.. JMP SET3 ;OUT O F RANGE AVOIDER...P.;.CHECK .AINING BYTE S FOR MATCH*...Z.KTMTCH LDX #0 ;CLEAR IN DICES.....LDY #0.=...LUP INX ;X COUNTS BYTES MATCHED.Z...CPX CKBYT ;"CHECKED AL L?.R...BEQ PRNT ;YES.. 'EM.....INY ;NO. INDEX . . BYTE.....LDA (STADD),Y ;. . FR OM START.T. .CMP (CKADD),Y ;CHECK . EQUA LITY...*.BEQ LUP ;MATCHES.. A.HER...4.JM P MA1 ;NO MATCH.MOVE UP A BYTE.4.>.;.HER E . ALL BYTES MATCH.._.H.PRNT LDA MTCHFL G ;"PRINTED THIS STADD?.Y.R.BEQ PRST ;NO , SO . IT...\.PRNT1 JSR . ;CHECK . SPACE BAR...F.LDA #32 ;INDENT 2 SPACES.H.P.JS R CHROUT.W.Z.JSR CHROUT.....LDA #36 ;$.. ...JSR CHROUT.. ..LDY #0 ;SET UP. . 2 BY TES." ..MR2 CPY #2.. ..BEQ MR1.X ..LDA C KADD,Y ;. ADD. OF MATCHING BYTES.X ..STA HLDR,Y ;S.RE . C.VERSI... J.INY ;. 2ND BYTE.. T.BNE MR2 ;ALWAYS BRANCH.L ..MR1 JSR PRNTHX ;C.VERT . . ADD... ..JMP MA1 ;RESET CKADD . LOOP AGAIN..!..;.. START ADDRESS MATCHED..'!..PRST LDA #$0D ;CR. 6!..JSR CHROUT.E!..LDA #36 ;$.T!..JSR CH ROUT.P!$.LDY #0 ;SET . . 2 BYTES.!..PR2 CPY #2..!8.BEQ PR1..!B.LDA STADD,Y ;. 1 ST BYTE.D!L.STA HLDR,Y ;. . C.VERSI...!V .INY ;SET . . BYTE..!`.BNE PR2.."J.PR1 JSR PRNTHX ;C.VERT . ..""T.LDA #1 ;SET F LAG . SHOW.A"~.STA MTCHFLG ;STADD WAS .E D.Z"..JMP PRNT1 ;K . CKADD.F"..;.TEXT... "..TITLE .BYTE $20,$20,$20,$12.."...F "C OMMON CODE" :.BYTE $92,$0D,$0D.."...F "S TART ADDRESS IN HEX ": .BYTE $0D,$00..#. .ERMESS .F "INPUT ERROR":.BYTE $0D,$00.7 #D..MESS .F "END ADDRESS IN HEX ":.BYTE $0D,$00.^#N.OUTMESS .F "OUTPUT TO ": .BY TE $12.T#X..F "S": .BYTE $92..#...F "CRE EN OR ":.BYTE $12..#...F "P": .BYTE $92. F#...F "RINTER" :.BYTE $0D,$00..$..BYTME SS .F "BYTE LENGTH IN HEX":.BYTE $0D,$37 ,$9D,$00..$..;.SUBROUTINES..-$... JSR CH RIN ;. USER ..@$..CMP #$0D ;"CR?.^$(.BEQ D.E ;YES.EXIT ROUTINE.~$2.STA HXADD,X ; S.RE FII CHAR...$<.INX ;RAISE IDEX . .. .$F.BNE . ;K . IT..$P.D.E RTS.X$Z.;.MAKE 1 BYTE FII IN A BINARY...$D.MAKBI CMP # 58 ;"=>9?..%N.BCS . ;YES, ITS A .TER.(%X .SEC ;NO SO SUBTRACT 48.E%..SBC #48 ;. EQUIV. NUMBER.Q%..RTS ;..E%... SEC ;. A . F.~% .SBC #55 ;SUBTRACT 55..%..RTS.. %..;.CHECK . EID HEX FII...%..EE CMP #71 ;"=>G?.P%H.BCS BAD ;YES, NO KOD..%R.CMP #65 ;"ITS < G.IS IT =>A?..&..BCS KOD ;Y ES, ITS EID.+&..CMP #58 ;"ITS <A.IS IT = >:?.C&..BCS BAD ;YES.NO KOD.^&..CMP #48 ;"<:.IS IT <0?.W&..BCC BAD ;YES. NO KOD. .&..KOD CLC ;RANGE OK...&..RTS ;BACK . CALLER.B&".BAD PLA ;INEID.PULL ...&,.P LA ;ADD. FROM STACK..&6.JMP ERR. ;USER RESTART..'@.;.SET UP .ER FILE..''J.PROUT LDA #7 ;FILE #.:'T.LDX #4 ;DEVICE.Z'^.L DY #$FF ;BOGUS SEC.D. ADD..X'H.JSR SETLF S ;.INE THE FILE..'R.LDA #00 ;NO NAME, N O CGTH..'|.JSR SETNAM ;REQUIRED CALL.H'. .JSR . ;. FILE 7..'..LDX #7 ;SET FILE 7 . OUTPUT..'..JSR CHKOUT..(..RTS ;BACK . CALLER.3(..;.CHECK.ACCEPT SPACE BAR PAU SE..S(... LDA #0 ;CLEAR FLAG . SHOW.O(B. STA INFLG ;WE'RE . .ING..(L.WA2 LDA $CB ;CURRENT KEY PRESSED..(V.CMP #64 ;64.NO KEY.J(..BEQ K. ;NO KEY, .HING . DO..(..C MP #60 ;"SPACE BAR?..(..BNE K. ;NO, SO I GN.E..)..LDA INFLG ;WAS SPACE BAR..6)..B NE G1 ;. SET,. IS OVER.S)..WA1 LDA $CB ; START THE ..T)..CMP #64 ;. SPACE BAR REL EASE..)&.BNE WA1 ;KEEP .ING..)0.LDA #1 ; SET FLAG . SHOW.J):.STA INFLG ;WE'RE LOO KING . 2ND..)D.JMP WA2 ;HIT OF SPACE BAR ..*N.K. LDA INFLG ;. FLAG SET..*X.BNE WA 2 ;KEEP LOOKING.8*B.G1 RTS ;THE .S OVER .Q*L.;.START CURS. BLINK..Q*V.CR. LDA #0 ;CLEAR THIS BYTE..*..STA $CC ;. START B LINK..*..RTS..*..;.. CURS. BLINK..E*..CR OF LDA #1 ;SET BYTE ..Z*..STA $CC ;. BLI NK..*..RTS..+..;.2 BYTE BINARY . 4 BYTE FII HEX..)+F.MAKHX LDX #1 ;X SET . . BYT E.C+P.LDY #0 ;Y SET . . FII.H+Z.HX3 LDA HLDR,X ;. BYTE(HI FIRST)..+... #$F0 ;MAS K LOW NYBBLE..+..LSR ;SH.T HI NYBBLE . LOW..+..LSR..+..LSR..+..LSR.S+..HX1 CMP #10 ;"=>10?..+ .BCS ADM. ;YES, MAKE .TER ..,*.CLC ;NO.NUMBER..,4.ADC #48 ;ADD 48 . FII.;,>.HX2 STA HXADD,Y ;S.RE IT.S,H. INY ;RAISE COUNTER.P,R.CPY #3 ;"DONE 3 NYBBLES?..,\.BEQ SKIP ;YES,DO 4TH..,F.BC S DUN ;Y.3.WE'RE D.E.B,P.CPX #0 ;"Y<3.HI BYTE DONE?..,Z.BEQ NXTBYT ;YES.DO LOW..- ..LDA HLDR,X ;NO.. LO NYB,HI BYTE. -..HX 4 . #$0F ;MASK HI NYBBLE.8-..DEX ;LOWER COUNTER.N-..JMP HX1 ;MAKE FII.P-..ADM. CLC ;C.VERT BINARY .TER..-..ADC #55 ;. FII BY..-..JMP HX2 ;ADDING 55.F-J.SKIP L DA HLDR,X ;. LO BYTE LAST TIME..-T.JMP H X4 ;DO LO NYBBLE.....NXTBYT LDY #2 ;RESE T INDICES FO.!...LDX #0 ;2ND ADDRESS BYT E.9...JMP HX3 ;LOOP AGAIN.I...DUN RTS ; ..I...;.. HEX ADD.S.RED IN HXADD......PR NTHX JSR MAKHX ;BINARY . HEX.....LDX #0 ;CLEAR INDEX.B.$.LUPE CPX #4 ;DO 4 NUMBE RS.N...BEQ FIN...8.LDA HXADD,X ;. FII HE X...B.JSR CHROUT ;. IT../L.INX ;PO. . . CHAR..2/V.BNE LUPE ;ALWAYS BRANCH.G/`.F IN LDA #$0D ;CR.V/J.JSR CHROUT.B/T.RTS ;.../~.;.PROGRAM FINISHED, CLEAN UP.../. .EXIT JSR .CHN ;RESET .AULT DEVICES.I/.. LDA #7 ;.AULT EUE & FILE#../..STA CKBYT ;. IT../..JSR ; FILE 7..0..RTS ;BACK . BASIC..0..;.S.RAGE..F0D.HXADD .BYTE 0 ,0,0,0 ;4 BYTES . HOLD FII HEX.N0N.MTCHC K .BYTE 0,0 ;LAST ADD. . CHECK..0X.ENCK .BYTE 0,0 ;LAST ADD. . MATCH..0..INFLG . BYTE 0 ;USER ADD. . FLAG..0..CKBYT .BYTE $07 ;# BYTES . MATCH..0..MTCHFLG .BYTE 0 ;. GROUP FLAG.#1..HLDR .BYTE 0,0 ;TEMP .ARY S.RAGE.*1.......
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL