MENUS V1.0.PAL
FILE INFORMATION
FILENAME(S): MENUS V1.0.PAL
FILE TYPE(S): PRG
FILE SIZE: 26.8K
FIRST SEEN: 2025-11-30 21:12:48
APPEARS ON: 1 disk(s)
FILE HASH
452346da7155d4e78cf3bb2ad65f8e754dccbc3c39318eb35e2baeff51855ef7
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| TRANSACTOR DISK | MENUS V1.0.PAL | PRG | DuncanTwain | 10 | 0 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 25 08 0A 00 8F 20 20 20 20 22 4D 4F 55 53 |..%.... "MOUS|
00000010: 45 20 44 52 49 56 45 4E 20 4D 45 4E 55 53 22 20 |E DRIVEN MENUS" |
00000020: 20 56 31 2E 30 00 2B 08 0B 00 8F 00 50 08 0C 00 | V1.0.+.....P...|
00000030: 8F 20 20 53 4F 55 52 43 45 20 46 49 4C 45 20 42 |. SOURCE FILE B|
00000040: 59 20 41 4E 54 48 4F 4E 59 20 42 52 59 41 4E 54 |Y ANTHONY BRYANT|
00000050: 00 56 08 0D 00 8F 00 70 08 0E 00 8F 20 20 20 20 |.V.....p.... |
00000060: 20 20 20 20 20 41 55 47 55 53 54 20 31 39 38 36 | AUGUST 1986|
00000070: 00 7A 08 0F 00 9E 20 37 30 30 00 85 08 10 00 2E |.z.... 700......|
00000080: 4F 50 54 20 4E 00 8B 08 12 00 3B 00 AB 08 14 00 |OPT N.....;.....|
00000090: 3B AC AC AC 20 42 41 53 49 43 20 52 4F 4D 20 52 |;... BASIC ROM R|
000000A0: 4F 55 54 49 4E 45 53 20 AC AC AC 00 C6 08 16 00 |OUTINES ........|
000000B0: 43 48 52 A1 20 B2 20 24 30 30 37 33 20 3B A1 20 |CHR. . $0073 ;. |
000000C0: A2 20 43 48 41 52 00 E4 08 18 00 43 48 52 CB 54 |. CHAR.....CHR.T|
000000D0: 20 B2 20 24 30 30 37 39 20 3B A1 20 4F 4C 44 20 | . $0079 ;. OLD |
000000E0: 43 48 41 52 00 03 09 1A 00 45 C5 46 4D 20 B2 20 |CHAR.....E.FM . |
000000F0: 24 41 44 39 45 20 3B 45 C5 55 41 54 45 20 81 4D |$AD9E ;E.UATE .M|
00000100: 55 4C 41 00 1F 09 1C 00 45 41 54 43 4D 41 20 B2 |ULA.....EATCMA .|
00000110: 20 24 41 45 46 44 20 3B 45 41 54 20 22 2C 22 00 | $AEFD ;EAT ",".|
00000120: 3F 09 1E 00 53 59 4E 54 41 58 20 B2 20 24 41 46 |?...SYNTAX . $AF|
00000130: 30 38 20 3B 53 59 4E 54 41 58 20 45 52 52 B0 00 |08 ;SYNTAX ERR..|
00000140: 64 09 20 00 49 4C 4C 51 4E 54 20 B2 20 24 42 32 |d. .ILLQNT . $B2|
00000150: 34 38 20 3B 49 4C 4C 45 47 41 4C 20 51 55 41 4E |48 ;ILLEGAL QUAN|
00000160: 54 49 54 59 00 83 09 22 00 B8 53 54 52 20 B2 20 |TITY..."..STR . |
00000170: 24 42 36 41 33 20 3B B8 45 20 44 45 53 43 52 49 |$B6A3 ;.E DESCRI|
00000180: 50 A4 52 00 A6 09 24 00 46 41 43 42 59 54 20 B2 |P.R...$.FACBYT .|
00000190: 20 24 42 37 41 31 20 3B 46 41 43 20 A4 20 42 59 | $B7A1 ;FAC . BY|
000001A0: 54 20 49 4E 20 58 00 CB 09 26 00 A1 42 59 54 20 |T IN X...&..BYT |
000001B0: B2 20 24 42 37 46 31 20 3B 45 41 54 20 22 2C 22 |. $B7F1 ;EAT ","|
000001C0: 20 A1 20 42 59 54 20 49 4E 20 58 00 D1 09 28 00 | . BYT IN X...(.|
000001D0: 3B 00 E8 09 2A 00 3B AC AC AC 20 4D 45 4D B0 59 |;...*.;... MEM.Y|
000001E0: 20 4D 41 50 20 AC AC AC 00 0D 0A 2C 00 50 52 4F | MAP ......,.PRO|
000001F0: 47 4D 20 20 B2 20 24 38 30 30 30 20 3B 53 54 41 |GM . $8000 ;STA|
00000200: 52 54 20 4F 46 20 50 52 4F 47 52 41 4D 00 2F 0A |RT OF PROGRAM./.|
00000210: 2E 00 3B 20 20 20 20 20 20 B2 20 24 38 43 30 30 |..; . $8C00|
00000220: 20 3B 46 55 54 55 52 45 20 BD 41 4E 53 49 91 00 | ;FUTURE .ANSI..|
00000230: 52 0A 30 00 4D 9B 20 20 B2 20 24 38 44 30 30 20 |R.0.M. . $8D00 |
00000240: 3B 4D 45 4E 55 9B 20 28 32 35 32 20 42 59 54 45 |;MENU. (252 BYTE|
00000250: 53 29 00 78 0A 32 00 43 4D 45 4D 30 20 20 B2 20 |S).x.2.CMEM0 . |
00000260: 24 38 45 30 30 20 3B 43 4F 4C B0 20 53 A4 52 45 |$8E00 ;COL. S.RE|
00000270: 20 31 AD 32 53 43 52 4E 00 A0 0A 34 00 42 4D 41 | 1.2SCRN...4.BMA|
00000280: 50 30 20 20 B2 20 24 39 30 30 30 20 3B 42 49 54 |P0 . $9000 ;BIT|
00000290: 4D 41 50 20 53 A4 52 45 20 31 AD 32 53 43 52 4E |MAP S.RE 1.2SCRN|
000002A0: 00 C7 0A 36 00 43 4D 45 4D 31 20 20 B2 20 24 43 |...6.CMEM1 . $C|
000002B0: 43 30 30 20 3B 27 48 49 52 45 53 27 20 43 4F 4C |C00 ;'HIRES' COL|
000002C0: B0 20 4D 45 4D B0 59 00 EA 0A 38 00 53 50 54 52 |. MEM.Y...8.SPTR|
000002D0: 30 20 20 B2 20 24 43 46 46 38 20 3B 53 50 52 49 |0 . $CFF8 ;SPRI|
000002E0: 54 45 20 30 20 50 4F B5 45 52 00 10 0B 3A 00 43 |TE 0 PO.ER...:.C|
000002F0: 48 53 45 54 20 20 B2 20 24 44 38 30 30 20 3B 4C |HSET . $D800 ;L|
00000300: 4F 57 45 52 43 41 53 45 20 52 4F 4D 20 53 45 54 |OWERCASE ROM SET|
00000310: 00 33 0B 3C 00 42 4D 41 50 31 20 20 B2 20 24 45 |.3.<.BMAP1 . $E|
00000320: 30 30 30 20 3B 27 48 49 52 45 53 27 20 42 49 54 |000 ;'HIRES' BIT|
00000330: 4D 41 50 00 57 0B 3E 00 C6 49 49 20 20 B2 20 24 |MAP.W.>..II . $|
00000340: 45 42 43 32 20 3B 54 41 42 4C 45 20 4B 45 59 43 |EBC2 ;TABLE KEYC|
00000350: 4F 44 45 AD C6 49 49 00 7E 0B 40 00 53 4C 4F 54 |ODE..II.~.@.SLOT|
00000360: 31 20 20 B2 20 24 46 46 34 30 20 3B 53 50 52 49 |1 . $FF40 ;SPRI|
00000370: 54 45 20 53 4C 4F 54 20 28 23 32 35 33 29 00 84 |TE SLOT (#253)..|
00000380: 0B 42 00 3B 00 A5 0B 44 00 3B AC AC AC 20 5A 45 |.B.;...D.;... ZE|
00000390: 52 4F 20 50 41 47 45 20 52 45 51 55 49 8F 45 4E |RO PAGE REQUI.EN|
000003A0: 54 20 2A 2A 2A 00 C4 0B 46 00 43 53 20 B2 20 24 |T ***...F.CS . $|
000003B0: 39 42 20 3B 43 55 52 52 45 4E 54 20 43 4F 4C 55 |9B ;CURRENT COLU|
000003C0: 4D 4E 20 94 00 E3 0B 48 00 43 45 20 B2 20 24 39 |MN ....H.CE . $9|
000003D0: 43 20 3B 43 55 52 52 45 4E 54 20 43 4F 4C 55 4D |C ;CURRENT COLUM|
000003E0: 4E 20 80 00 00 0C 4A 00 43 43 20 B2 20 24 39 45 |N ....J.CC . $9E|
000003F0: 20 3B 43 55 52 52 45 4E 54 20 43 4F 4C 55 4D 4E | ;CURRENT COLUMN|
00000400: 00 1A 0C 4C 00 52 52 20 B2 20 24 39 46 20 3B 43 |...L.RR . $9F ;C|
00000410: 55 52 52 45 4E 54 20 52 4F 57 00 34 0C 4E 00 3B |URRENT ROW.4.N.;|
00000420: 20 24 41 33 20 A4 20 24 41 42 20 AB 20 56 41 52 | $A3 . $AB . VAR|
00000430: 49 4F 55 53 00 5B 0C 50 00 4C 43 20 B2 20 24 42 |IOUS.[.P.LC . $B|
00000440: 30 20 3B 4C 45 46 54 20 43 4F 4C 55 4D 4E 20 43 |0 ;LEFT COLUMN C|
00000450: 55 52 52 45 4E 54 20 4D 45 4E 55 00 7F 0C 52 00 |URRENT MENU...R.|
00000460: 54 52 20 B2 20 24 42 31 20 3B A4 50 20 52 4F 57 |TR . $B1 ;.P ROW|
00000470: 20 20 20 20 20 20 20 22 20 20 20 20 20 20 22 00 | " ".|
00000480: A4 0C 54 00 57 44 20 B2 20 24 42 32 20 3B 57 49 |..T.WD . $B2 ;WI|
00000490: 44 54 48 20 20 20 20 4F 46 20 20 20 22 20 20 20 |DTH OF " |
000004A0: 20 20 20 22 00 C9 0C 56 00 44 50 20 B2 20 24 42 | "...V.DP . $B|
000004B0: 33 20 3B 44 45 50 54 48 20 20 20 20 4F 46 20 20 |3 ;DEPTH OF |
000004C0: 20 22 20 20 20 20 20 20 22 00 EB 0C 58 00 48 53 | " "...X.HS|
000004D0: 20 B2 20 24 42 34 20 3B 54 45 4D 50 20 94 20 48 | . $B4 ;TEMP . H|
000004E0: 45 41 44 45 52 20 50 41 52 41 4D 00 0F 0D 5A 00 |EADER PARAM...Z.|
000004F0: 48 43 20 B2 20 24 42 44 20 3B 4C 45 46 54 20 43 |HC . $BD ;LEFT C|
00000500: 4F 4C 55 4D 4E 20 4F 46 20 48 45 41 44 45 52 00 |OLUMN OF HEADER.|
00000510: 36 0D 5C 00 48 52 20 B2 20 24 42 45 20 3B A4 50 |6.\.HR . $BE ;.P|
00000520: 20 52 4F 57 20 4F 46 20 48 45 41 44 45 52 AD 4D | ROW OF HEADER.M|
00000530: 45 4E 55 42 41 52 00 54 0D 5E 00 48 57 20 B2 20 |ENUBAR.T.^.HW . |
00000540: 24 42 46 20 3B 57 49 44 54 48 20 4F 46 20 48 45 |$BF ;WIDTH OF HE|
00000550: 41 44 45 52 00 7A 0D 60 00 48 54 20 B2 20 24 43 |ADER.z.`.HT . $C|
00000560: 30 20 3B 48 45 41 44 45 52 81 4D AD 54 45 58 54 |0 ;HEADER.M.TEXT|
00000570: 24 20 B0 20 49 4D 41 47 45 24 00 9F 0D 62 00 3B |$ . IMAGE$...b.;|
00000580: 20 24 46 37 20 A4 20 24 46 41 20 AB 20 50 4E 54 | $F7 . $FA . PNT|
00000590: 52 20 A4 20 43 4D 45 4D 20 26 20 42 4D 41 50 00 |R . CMEM & BMAP.|
000005A0: A5 0D 64 00 3B 00 AB 0D 66 00 3B 00 C6 0D 68 00 |..d.;...f.;...h.|
000005B0: AC B2 50 52 4F 47 4D 20 3B 53 54 41 52 54 20 4F |..PROGM ;START O|
000005C0: 46 20 43 4F 44 45 00 CC 0D 6A 00 3B 00 D2 0D 6C |F CODE...j.;...l|
000005D0: 00 3B 00 EF 0D 6E 00 3B 4D 45 4E 55 53 20 43 4F |.;...n.;MENUS CO|
000005E0: 4D 4D AF 20 AF 20 56 41 52 49 41 42 4C 45 53 00 |MM. . VARIABLES.|
000005F0: 0E 0E 70 00 4A 4D 50 20 4D 45 4E 55 53 20 20 20 |..p.JMP MENUS |
00000600: 3B 4D 45 4E 55 53 20 4D 41 4E 41 47 45 52 00 36 |;MENUS MANAGER.6|
00000610: 0E 72 00 4D 4E 55 4D 20 2E 42 59 54 20 30 20 3B |.r.MNUM .BYT 0 ;|
00000620: 4D 45 4E 55 20 4E 55 4D 42 45 52 20 AB 20 23 4D |MENU NUMBER . #M|
00000630: 4E 28 31 AB 37 29 00 5C 0E 74 00 4D 43 4F 4C 20 |N(1.7).\.t.MCOL |
00000640: 2E 42 59 54 20 31 20 3B 4D 45 4E 55 20 43 4F 4C |.BYT 1 ;MENU COL|
00000650: B0 20 42 59 54 45 20 46 47 AD 42 47 00 81 0E 76 |. BYTE FG.BG...v|
00000660: 00 4D 46 4C 47 20 2E 42 59 54 20 30 20 3B 4D 45 |.MFLG .BYT 0 ;ME|
00000670: 4E 55 42 41 52 20 91 AD 4F 46 46 20 20 46 4C 41 |NUBAR ..OFF FLA|
00000680: 47 00 A9 0E 78 00 4D 49 54 4D 20 2E 42 59 54 20 |G...x.MITM .BYT |
00000690: 30 20 3B 4D 45 4E 55 20 49 54 45 4D 20 20 20 AB |0 ;MENU ITEM .|
000006A0: 20 23 4D 49 28 30 AB 38 29 00 D1 0E 7A 00 4D 54 | #MI(0.8)...z.MT|
000006B0: 59 50 20 2E 42 59 54 20 30 20 3B 20 22 20 49 54 |YP .BYT 0 ; " IT|
000006C0: 45 4D 20 54 59 50 45 20 20 23 4D 54 28 30 2D 32 |EM TYPE #MT(0-2|
000006D0: 29 00 EF 0E 7C 00 4D 4C 49 58 20 2E 42 59 54 20 |)...|.MLIX .BYT |
000006E0: 30 20 3B 4D 45 4E 55 20 9B 20 49 4E 44 45 58 00 |0 ;MENU . INDEX.|
000006F0: 0C 0F 7E 00 3B 4D 4F 55 53 45 20 43 4F 4D 4D AF |..~.;MOUSE COMM.|
00000700: 20 AF 20 56 41 52 49 41 42 4C 45 53 00 32 0F 80 | . VARIABLES.2..|
00000710: 00 4A 4D 50 20 4D 4F 55 53 45 20 20 20 3B 4D 4F |.JMP MOUSE ;MO|
00000720: 55 53 45 20 4D 41 4E 41 47 45 52 AD 44 52 49 56 |USE MANAGER.DRIV|
00000730: 45 52 00 50 0F 82 00 4D 42 20 20 20 2E 42 59 54 |ER.P...MB .BYT|
00000740: 20 30 20 3B 42 55 54 A4 4E 20 53 54 41 54 55 53 | 0 ;BUT.N STATUS|
00000750: 00 6E 0F 84 00 4D 43 58 20 20 2E 42 59 54 20 30 |.n...MCX .BYT 0|
00000760: 20 3B 43 45 4C 4C 20 58 AB 43 4F B0 44 53 00 8B | ;CELL X.CO.DS..|
00000770: 0F 86 00 4D 43 59 20 20 2E 42 59 54 20 30 20 3B |...MCY .BYT 0 ;|
00000780: 43 45 4C 4C 20 59 AB 43 4F B0 44 00 A7 0F 88 00 |CELL Y.CO.D.....|
00000790: 4D 58 20 20 20 2E 42 59 54 20 30 20 3B 50 49 58 |MX .BYT 0 ;PIX|
000007A0: 45 4C 20 58 20 4C 4F 00 C3 0F 8A 00 20 20 20 20 |EL X LO..... |
000007B0: 20 2E 42 59 54 20 30 20 3B 50 49 58 45 4C 20 58 | .BYT 0 ;PIXEL X|
000007C0: 20 48 49 00 DC 0F 8C 00 4D 59 20 20 20 2E 42 59 | HI.....MY .BY|
000007D0: 54 20 30 20 3B 50 49 58 45 4C 20 59 00 F9 0F 8E |T 0 ;PIXEL Y....|
000007E0: 00 4D 59 49 20 20 2E 42 59 54 20 30 20 3B 50 49 |.MYI .BYT 0 ;PI|
000007F0: 58 45 4C 20 31 39 39 AB 59 00 FF 0F 90 00 3B 00 |XEL 199.Y.....;.|
00000800: 05 10 92 00 3B 00 24 10 94 00 3B AC AC AC 20 4D |....;.$...;... M|
00000810: 45 4E 55 20 83 20 53 54 52 55 43 54 55 52 45 53 |ENU . STRUCTURES|
00000820: 20 2A 2A 2A 00 2A 10 96 00 3B 00 30 10 98 00 3B | ***.*...;.0...;|
00000830: 00 56 10 9A 00 3B 20 23 4D 4E 20 AB AB AB 20 20 |.V...; #MN ... |
00000840: 30 20 20 31 20 20 32 20 20 33 20 20 34 20 20 35 |0 1 2 3 4 5|
00000850: 20 20 36 20 20 37 00 7B 10 9C 00 4D A4 50 20 2E | 6 7.{...M.P .|
00000860: 42 59 54 20 20 30 2C 20 30 2C 20 30 2C 20 30 2C |BYT 0, 0, 0, 0,|
00000870: 20 30 2C 20 30 2C 20 30 2C 20 30 00 A1 10 9E 00 | 0, 0, 0, 0.....|
00000880: 4D 4E 4C 43 20 2E 42 59 54 20 20 30 2C 20 30 2C |MNLC .BYT 0, 0,|
00000890: 20 30 2C 20 30 2C 20 30 2C 20 30 2C 20 30 2C 20 | 0, 0, 0, 0, 0, |
000008A0: 30 00 C7 10 A0 00 4D 4E 54 52 20 2E 42 59 54 20 |0.....MNTR .BYT |
000008B0: 20 30 2C 20 31 2C 20 31 2C 20 31 2C 20 31 2C 20 | 0, 1, 1, 1, 1, |
000008C0: 31 2C 20 31 2C 20 31 00 ED 10 A2 00 4D 4E 57 44 |1, 1, 1.....MNWD|
000008D0: 20 2E 42 59 54 20 34 30 2C 20 30 2C 20 30 2C 20 | .BYT 40, 0, 0, |
000008E0: 30 2C 20 30 2C 20 30 2C 20 30 2C 20 30 00 13 11 |0, 0, 0, 0, 0...|
000008F0: A4 00 4D 4E 44 50 20 2E 42 59 54 20 20 31 2C 20 |..MNDP .BYT 1, |
00000900: 30 2C 20 30 2C 20 30 2C 20 30 2C 20 30 2C 20 30 |0, 0, 0, 0, 0, 0|
00000910: 2C 20 30 00 37 11 A6 00 4D 86 20 2E 42 59 54 20 |, 0.7...M. .BYT |
00000920: 30 30 2C 30 30 2C 30 30 2C 30 30 2C 30 30 2C 30 |00,00,00,00,00,0|
00000930: 30 2C 30 30 2C 30 30 00 5D 11 A8 00 4D 43 48 4B |0,00,00.]...MCHK|
00000940: 20 2E 42 59 54 20 30 30 2C 30 30 2C 30 30 2C 30 | .BYT 00,00,00,0|
00000950: 30 2C 30 30 2C 30 30 2C 30 30 2C 30 30 00 63 11 |0,00,00,00,00.c.|
00000960: AA 00 3B 00 89 11 AC 00 3B 20 23 4D 49 20 AB AB |..;.....; #MI ..|
00000970: AB 20 20 31 2C 20 32 2C 20 33 2C 20 34 2C 20 35 |. 1, 2, 3, 4, 5|
00000980: 2C 20 36 2C 20 37 20 2C 38 00 AF 11 AE 00 4D 52 |, 6, 7 ,8.....MR|
00000990: 4F 57 20 2E 42 59 54 20 20 30 2C 20 30 2C 20 30 |OW .BYT 0, 0, 0|
000009A0: 2C 20 30 2C 20 30 2C 20 30 2C 20 30 2C 20 30 00 |, 0, 0, 0, 0, 0.|
000009B0: B5 11 B0 00 3B 00 DB 11 B2 00 4D 41 53 4B 20 2E |....;.....MASK .|
000009C0: 42 59 54 20 24 38 30 2C 24 34 30 2C 24 32 30 2C |BYT $80,$40,$20,|
000009D0: 24 31 30 2C 38 2C 34 2C 32 2C 31 00 E1 11 B4 00 |$10,8,4,2,1.....|
000009E0: 3B 00 F5 11 B6 00 43 53 45 54 20 2E 57 B0 44 20 |;.....CSET .W.D |
000009F0: 43 48 53 45 54 00 14 12 B8 00 43 48 41 52 20 2E |CHSET.....CHAR .|
00000A00: 42 59 54 20 20 30 20 3B 43 55 52 52 45 4E 54 20 |BYT 0 ;CURRENT |
00000A10: 43 48 41 52 00 31 12 BA 00 52 56 53 45 20 2E 42 |CHAR.1...RVSE .B|
00000A20: 59 54 20 20 30 20 3B 52 56 53 20 91 20 46 4C 41 |YT 0 ;RVS . FLA|
00000A30: 47 00 4A 12 BC 00 86 46 20 2E 42 59 54 20 20 30 |G.J....F .BYT 0|
00000A40: 20 3B 86 20 91 20 46 4C 41 47 00 6E 12 BE 00 49 | ;. . FLAG.n...I|
00000A50: 4D 47 46 20 2E 42 59 54 20 20 30 20 3B 49 4D 41 |MGF .BYT 0 ;IMA|
00000A60: 47 45 24 AD 54 45 58 54 24 20 46 4C 41 47 00 74 |GE$.TEXT$ FLAG.t|
00000A70: 12 C0 00 3B 00 7A 12 C2 00 3B 00 94 12 C4 00 3B |...;.z...;.....;|
00000A80: AC AC AC 20 4D 45 4E 55 20 4D 41 4E 41 47 45 52 |... MENU MANAGER|
00000A90: 20 AC AC AC 00 9A 12 C6 00 3B 00 A0 12 C8 00 3B | ........;.....;|
00000AA0: 00 C1 12 CA 00 3B 9E 20 4D 45 4E 55 53 2C 4D 4E |.....;. MENUS,MN|
00000AB0: 2C 20 30 2C 4D 54 2C 4E 41 4D 45 24 5B 2C 58 52 |, 0,MT,NAME$[,XR|
00000AC0: 5D 00 E3 12 CC 00 3B AB 20 57 48 45 52 45 20 20 |].....;. WHERE |
00000AD0: 58 52 B2 20 20 30 20 B0 20 4F 43 20 81 20 54 45 |XR. 0 . OC . TE|
00000AE0: 58 54 24 00 08 13 CE 00 3B 20 28 4D 49 B2 30 29 |XT$.....; (MI.0)|
00000AF0: 20 20 58 52 B2 31 32 38 20 B0 20 4F 43 20 81 20 | XR.128 . OC . |
00000B00: 49 4D 41 47 45 24 AB 31 00 2D 13 D0 00 3B 20 20 |IMAGE$.1.-...; |
00000B10: 20 20 20 20 20 20 20 58 52 B2 31 39 32 20 B0 20 | XR.192 . |
00000B20: 4F 43 20 81 20 49 4D 41 47 45 24 AB 32 00 33 13 |OC . IMAGE$.2.3.|
00000B30: D2 00 3B 00 54 13 D4 00 3B 9E 20 4D 45 4E 55 53 |..;.T...;. MENUS|
00000B40: 2C 4D 4E 2C 4D 49 2C 4D 54 2C 49 54 45 4D 24 5B |,MN,MI,MT,ITEM$[|
00000B50: 2C 58 52 5D 00 76 13 D6 00 3B AB 20 57 48 45 52 |,XR].v...;. WHER|
00000B60: 45 20 20 58 52 B2 20 20 30 20 B0 20 4B 43 20 81 |E XR. 0 . KC .|
00000B70: 20 54 45 58 54 24 00 9B 13 D8 00 3B 20 28 4D 49 | TEXT$.....; (MI|
00000B80: B3 B1 30 29 20 58 52 B2 31 32 38 20 B0 20 4B 43 |..0) XR.128 . KC|
00000B90: 20 81 20 49 4D 41 47 45 24 AB 31 00 C0 13 DA 00 | . IMAGE$.1.....|
00000BA0: 3B 20 20 20 20 20 20 20 20 20 58 52 B2 31 39 32 |; XR.192|
00000BB0: 20 B0 20 4F 43 20 81 20 49 4D 41 47 45 24 AB 32 | . OC . IMAGE$.2|
00000BC0: 00 C6 13 DC 00 3B 00 ED 13 DE 00 3B 9E 20 4D 45 |.....;.....;. ME|
00000BD0: 4E 55 53 2C 4D 4E 2C 4D 49 2C 4D 54 20 AB AB 20 |NUS,MN,MI,MT .. |
00000BE0: 28 43 48 41 4E 47 45 20 54 59 50 45 29 00 13 14 |(CHANGE TYPE)...|
00000BF0: E0 00 3B 9E 20 4D 45 4E 55 53 20 91 20 5B 2C 42 |..;. MENUS . [,B|
00000C00: 47 2C 46 47 5D 28 53 48 4F 57 20 4D 45 4E 55 42 |G,FG](SHOW MENUB|
00000C10: 41 52 29 00 3A 14 E2 00 3B 9E 20 4D 45 4E 55 53 |AR).:...;. MENUS|
00000C20: 20 5B 4F 46 46 5D 20 2E 2E 2E 2E 2E 28 48 49 44 | [OFF] .....(HID|
00000C30: 45 20 4D 45 4E 55 42 41 52 29 00 5C 14 E4 00 3B |E MENUBAR).\...;|
00000C40: 9E 20 4D 45 4E 55 53 20 9C 5B 2C 42 47 2C 46 47 |. MENUS .[,BG,FG|
00000C50: 5D 20 28 43 4C 45 41 52 20 9B 53 29 00 62 14 E6 |] (CLEAR .S).b..|
00000C60: 00 3B 00 82 14 E8 00 4D 45 4E 55 53 20 B2 20 AC |.;.....MENUS . .|
00000C70: 20 20 20 20 3B 43 48 45 43 4B 20 81 20 A4 4B 45 | ;CHECK . .KE|
00000C80: 4E 53 00 9D 14 EA 00 20 4A 53 52 20 43 48 52 CB |NS..... JSR CHR.|
00000C90: 54 3A 42 45 51 20 4D 45 4E 55 4F 46 46 00 B9 14 |T:BEQ MENUOFF...|
00000CA0: EC 00 20 43 4D 50 20 23 22 2C 22 20 20 3A 42 45 |.. CMP #"," :BE|
00000CB0: 51 20 4D 45 4E 55 50 41 52 00 DE 14 EE 00 20 50 |Q MENUPAR..... P|
00000CC0: 48 41 3A 4A 53 52 20 4D 45 4E 55 43 4F 4C 3A 50 |HA:JSR MENUCOL:P|
00000CD0: 4C 41 20 3B 4F 50 54 4E 20 43 4F 4C B0 53 00 F8 |LA ;OPTN COL.S..|
00000CE0: 14 F0 00 20 43 4D 50 20 23 24 39 43 20 20 3A 42 |... CMP #$9C :B|
00000CF0: 45 51 20 4D 45 4E 55 9C 00 12 15 F2 00 20 43 4D |EQ MENU...... CM|
00000D00: 50 20 23 24 39 31 20 20 3A 42 45 51 20 4D 45 4E |P #$91 :BEQ MEN|
00000D10: 55 91 00 29 15 F4 00 20 4A 4D 50 20 53 59 4E 54 |U..)... JMP SYNT|
00000D20: 41 58 20 20 3B 45 52 52 B0 00 4A 15 F6 00 4D 45 |AX ;ERR..J...ME|
00000D30: 4E 55 50 41 52 20 B2 20 AC 20 20 3B A1 20 2C 23 |NUPAR . . ;. ,#|
00000D40: 4D 4E 2C 23 4D 49 2C 23 4D 54 00 64 15 F8 00 20 |MN,#MI,#MT.d... |
00000D50: 4A 53 52 20 A1 42 59 54 3A 54 58 41 3A 42 45 51 |JSR .BYT:TXA:BEQ|
00000D60: 20 49 4C 4C 00 8B 15 FA 00 20 43 50 58 20 23 38 | ILL..... CPX #8|
00000D70: 3A 42 43 53 20 49 4C 4C 3A 53 54 58 20 4D 4E 55 |:BCS ILL:STX MNU|
00000D80: 4D 20 3B 23 4D 4E 28 31 AB 37 29 00 99 15 FC 00 |M ;#MN(1.7).....|
00000D90: 20 4A 53 52 20 A1 42 59 54 00 C0 15 FE 00 20 43 | JSR .BYT..... C|
00000DA0: 50 58 20 23 39 3A 42 43 53 20 49 4C 4C 3A 53 54 |PX #9:BCS ILL:ST|
00000DB0: 58 20 4D 49 54 4D 20 3B 23 4D 49 28 30 AB 38 29 |X MITM ;#MI(0.8)|
00000DC0: 00 CE 15 00 01 20 4A 53 52 20 A1 42 59 54 00 F5 |..... JSR .BYT..|
00000DD0: 15 02 01 20 43 50 58 20 23 33 3A 42 43 53 20 49 |... CPX #3:BCS I|
00000DE0: 4C 4C 3A 53 54 58 20 4D 54 59 50 20 3B 23 4D 54 |LL:STX MTYP ;#MT|
00000DF0: 28 30 AB 32 29 00 16 16 04 01 20 4A 53 52 20 53 |(0.2)..... JSR S|
00000E00: 45 54 54 59 50 45 20 3B 49 4E 20 4D 45 4E 55 20 |ETTYPE ;IN MENU |
00000E10: 83 20 41 52 45 41 00 31 16 06 01 20 4A 53 52 20 |. AREA.1... JSR |
00000E20: 43 48 52 CB 54 3A 42 4E 45 20 AC AA 33 3A 52 54 |CHR.T:BNE ..3:RT|
00000E30: 53 00 4F 16 08 01 3B A1 20 4E 41 4D 45 24 20 B0 |S.O...;. NAME$ .|
00000E40: 20 49 54 45 4D 24 20 B5 4F 20 4D 45 4E 55 9B 00 | ITEM$ .O MENU..|
00000E50: 69 16 0A 01 20 4A 53 52 20 45 41 54 43 4D 41 20 |i... JSR EATCMA |
00000E60: 20 3B 45 41 54 20 22 2C 22 00 83 16 0C 01 20 4A | ;EAT ","..... J|
00000E70: 53 52 20 45 C5 46 4D 20 20 3B 45 C5 20 53 54 52 |SR E.FM ;E. STR|
00000E80: 49 4E 47 00 9F 16 0E 01 20 4A 53 52 20 B8 53 54 |ING..... JSR .ST|
00000E90: 52 20 20 3B A1 20 44 45 53 43 52 49 50 A4 52 00 |R ;. DESCRIP.R.|
00000EA0: B7 16 10 01 20 4A 53 52 20 53 45 54 9B 20 3B B5 |.... JSR SET. ;.|
00000EB0: 4F 20 4D 45 4E 55 9B 00 D2 16 12 01 20 4A 53 52 |O MENU...... JSR|
00000EC0: 20 43 48 52 CB 54 3A 42 4E 45 20 AC AA 33 3A 52 | CHR.T:BNE ..3:R|
00000ED0: 54 53 00 F5 16 14 01 3B A1 20 58 52 20 5B B0 20 |TS.....;. XR [. |
00000EE0: 4F 43 5D 20 5B B0 20 4B 43 5D 20 43 4F 44 45 44 |OC] [. KC] CODED|
00000EF0: 20 42 59 54 45 00 07 17 16 01 20 4A 53 52 20 A1 | BYTE..... JSR .|
00000F00: 42 59 54 3A 54 58 41 00 22 17 18 01 20 4A 4D 50 |BYT:TXA."... JMP|
00000F10: 20 53 45 54 4C 41 53 54 20 3B B5 4F 20 4D 45 4E | SETLAST ;.O MEN|
00000F20: 55 9B 00 28 17 1A 01 3B 00 4D 17 1C 01 49 4C 4C |U..(...;.M...ILL|
00000F30: 20 4A 4D 50 20 49 4C 4C 51 4E 54 20 3B 49 4C 4C | JMP ILLQNT ;ILL|
00000F40: 45 47 41 4C 20 51 55 41 4E 54 49 54 59 00 53 17 |EGAL QUANTITY.S.|
00000F50: 1E 01 3B 00 75 17 20 01 4D 45 4E 55 9C 20 B2 20 |..;.u. .MENU. . |
00000F60: AC 20 20 3B 43 4C 45 41 52 20 41 4C 4C 20 4D 45 |. ;CLEAR ALL ME|
00000F70: 4E 55 20 9B 53 00 8F 17 22 01 20 4C 44 58 20 23 |NU .S...". LDX #|
00000F80: 30 3A 54 58 41 3A 53 54 41 20 4D A4 50 2C 58 00 |0:TXA:STA M.P,X.|
00000F90: B0 17 24 01 20 49 4E 58 3A 43 50 58 20 23 38 3A |..$. INX:CPX #8:|
00000FA0: 42 43 43 20 AC AB 36 3A 53 54 41 20 4D 4C 49 58 |BCC ..6:STA MLIX|
00000FB0: 00 C2 17 26 01 20 54 41 58 3A 53 54 41 20 4D 9B |...&. TAX:STA M.|
00000FC0: 2C 58 00 E3 17 28 01 20 49 4E 58 3A 42 4E 45 20 |,X...(. INX:BNE |
00000FD0: AC AB 34 20 3B AF 20 44 4F 20 41 20 4D 45 4E 55 |..4 ;. DO A MENU|
00000FE0: 4F 46 46 00 02 18 2A 01 4D 45 4E 55 4F 46 46 20 |OFF...*.MENUOFF |
00000FF0: B2 20 AC 20 20 3B 48 49 44 45 20 4D 45 4E 55 42 |. . ;HIDE MENUB|
00001000: 41 52 00 1B 18 2C 01 20 4C 44 41 20 4D 46 4C 47 |AR...,. LDA MFLG|
00001010: 3A 42 45 51 20 4D 45 4E 55 53 54 00 33 18 2E 01 |:BEQ MENUST.3...|
00001020: 20 4A 53 52 20 4D 4E 55 4C 4C 3A 53 54 59 20 4D | JSR MNULL:STY M|
00001030: 49 54 4D 00 4F 18 30 01 20 4A 53 52 20 43 4C 4F |ITM.O.0. JSR CLO|
00001040: 53 57 4E 44 57 20 3B A0 20 57 49 4E 44 4F 57 00 |SWNDW ;. WINDOW.|
00001050: 66 18 32 01 20 4C 44 41 20 23 30 3A 42 45 51 20 |f.2. LDA #0:BEQ |
00001060: 4D 45 4E 55 53 54 00 84 18 34 01 4D 45 4E 55 91 |MENUST...4.MENU.|
00001070: 20 20 B2 20 AC 20 20 3B 53 48 4F 57 20 4D 45 4E | . . ;SHOW MEN|
00001080: 55 42 41 52 00 A6 18 36 01 20 4C 44 41 20 4D 46 |UBAR...6. LDA MF|
00001090: 4C 47 3A 42 4E 45 20 4D 45 4E 55 53 54 20 3B 41 |LG:BNE MENUST ;A|
000010A0: 4C 87 59 20 91 21 00 C1 18 38 01 20 4A 53 52 20 |L.Y .!...8. JSR |
000010B0: A2 42 50 20 20 20 3B 52 45 53 45 54 20 42 50 54 |.BP ;RESET BPT|
000010C0: 52 00 E4 18 3A 01 20 4C 44 41 20 4D A4 50 3A 42 |R...:. LDA M.P:B|
000010D0: 45 51 20 4D 45 4E 55 53 54 20 3B 4E 4F 20 4D 45 |EQ MENUST ;NO ME|
000010E0: 4E 55 53 21 00 03 19 3C 01 20 4A 53 52 20 4D 45 |NUS!...<. JSR ME|
000010F0: 4E 55 53 49 5A 20 3B 53 49 5A 45 20 4D 45 4E 55 |NUSIZ ;SIZE MENU|
00001100: 42 41 52 00 1C 19 3E 01 20 4A 53 52 20 9F 57 4E |BAR...>. JSR .WN|
00001110: 44 57 20 3B 9F 20 57 49 4E 44 4F 57 00 3E 19 40 |DW ;. WINDOW.>.@|
00001120: 01 20 4A 53 52 20 4D 45 4E 55 42 41 52 20 3B 44 |. JSR MENUBAR ;D|
00001130: 49 53 50 4C 41 59 20 48 45 41 44 45 52 53 00 59 |ISPLAY HEADERS.Y|
00001140: 19 42 01 20 4C 44 41 20 23 AB 31 20 20 20 20 20 |.B. LDA #.1 |
00001150: 3B 46 4C 41 47 20 AB 20 91 00 71 19 44 01 4D 45 |;FLAG . ..q.D.ME|
00001160: 4E 55 53 54 20 53 54 41 20 4D 46 4C 47 3A 52 54 |NUST STA MFLG:RT|
00001170: 53 00 77 19 46 01 3B 00 9B 19 48 01 4D 45 4E 55 |S.w.F.;...H.MENU|
00001180: 43 4F 4C 20 B2 20 AC 20 20 3B 45 41 54 20 A4 4B |COL . . ;EAT .K|
00001190: 45 4E 20 5B 2C 42 47 2C 46 47 5D 00 B5 19 4A 01 |EN [,BG,FG]...J.|
000011A0: 20 4A 53 52 20 43 48 52 A1 3A 42 4E 45 20 AC AA | JSR CHR.:BNE ..|
000011B0: 33 3A 52 54 53 00 D7 19 4C 01 20 4A 53 52 20 A1 |3:RTS...L. JSR .|
000011C0: 42 59 54 3A 54 58 41 3A AF 20 23 24 30 46 3A 53 |BYT:TXA:. #$0F:S|
000011D0: 54 41 20 4D 43 4F 4C 00 F9 19 4E 01 20 4A 53 52 |TA MCOL...N. JSR|
000011E0: 20 A1 42 59 54 3A 54 58 41 3A 41 53 4C 3A 41 53 | .BYT:TXA:ASL:AS|
000011F0: 4C 3A 41 53 4C 3A 41 53 4C 00 13 1A 50 01 20 B0 |L:ASL:ASL...P. .|
00001200: 41 20 4D 43 4F 4C 3A 53 54 41 20 4D 43 4F 4C 3A |A MCOL:STA MCOL:|
00001210: 52 54 53 00 19 1A 52 01 3B 00 37 1A 54 01 3B 4D |RTS...R.;.7.T.;M|
00001220: 45 4E 55 20 54 59 50 45 53 20 20 31 20 42 49 54 |ENU TYPES 1 BIT|
00001230: B2 31 20 49 54 45 4D 00 5C 1A 56 01 3B 83 20 53 |.1 ITEM.\.V.;. S|
00001240: 54 52 55 43 54 20 31 20 42 59 54 3D 31 20 4D 45 |TRUCT 1 BYT=1 ME|
00001250: 4E 55 20 28 38 20 49 54 45 4D 53 29 00 62 1A 58 |NU (8 ITEMS).b.X|
00001260: 01 3B 00 82 1A 5A 01 53 45 54 54 59 50 45 20 B2 |.;...Z.SETTYPE .|
00001270: 20 AC 20 20 3B 53 45 54 20 4D 45 4E 55 20 54 59 | . ;SET MENU TY|
00001280: 50 45 00 AA 1A 5C 01 20 4C 44 59 20 4D 4E 55 4D |PE...\. LDY MNUM|
00001290: 20 20 20 20 3B 23 4D 4E 28 31 AB 37 29 20 43 55 | ;#MN(1.7) CU|
000012A0: 52 52 45 4E 54 20 4D 45 4E 55 00 D2 1A 5E 01 20 |RRENT MENU...^. |
000012B0: 4C 44 58 20 4D 49 54 4D 20 20 20 20 3B 23 4D 49 |LDX MITM ;#MI|
000012C0: 28 30 AB 38 29 20 43 55 52 52 45 4E 54 20 49 54 |(0.8) CURRENT IT|
000012D0: 45 4D 00 F2 1A 60 01 20 42 4E 45 20 AC AA 37 20 |EM...`. BNE ..7 |
000012E0: 20 20 20 20 3B 8B 20 23 4D 49 B2 30 20 A7 20 55 | ;. #MI.0 . U|
000012F0: 53 45 00 14 1B 62 01 20 4C 44 59 20 23 30 3A 4C |SE...b. LDY #0:L|
00001300: 44 58 20 4D 4E 55 4D 20 3B 20 23 4D 4E B2 30 20 |DX MNUM ; #MN.0 |
00001310: 42 49 54 53 00 35 1B 64 01 9C 4D 86 20 B2 20 AC |BITS.5.d..M. . .|
00001320: 20 20 3B 54 59 50 45 20 49 53 20 A8 20 44 49 53 | ;TYPE IS . DIS|
00001330: 41 42 4C 45 44 00 4F 1B 66 01 20 4C 44 41 20 4D |ABLED.O.f. LDA M|
00001340: 41 53 4B AB 31 2C 58 3A 45 B0 20 23 24 46 46 00 |ASK.1,X:E. #$FF.|
00001350: 6B 1B 68 01 20 AF 20 4D 86 2C 59 20 20 3B 43 4C |k.h. . M.,Y ;CL|
00001360: 45 41 52 20 42 49 54 20 23 4D 49 00 79 1B 6A 01 |EAR BIT #MI.y.j.|
00001370: 20 53 54 41 20 4D 86 2C 59 00 9A 1B 6C 01 9C 4D | STA M.,Y...l..M|
00001380: 43 48 4B 20 B2 20 AC 20 20 3B 54 59 50 45 20 49 |CHK . . ;TYPE I|
00001390: 53 20 A8 20 4D 41 52 4B 45 44 00 B4 1B 6E 01 20 |S . MARKED...n. |
000013A0: 4C 44 41 20 4D 41 53 4B AB 31 2C 58 3A 45 B0 20 |LDA MASK.1,X:E. |
000013B0: 23 24 46 46 00 D2 1B 70 01 20 AF 20 4D 43 48 4B |#$FF...p. . MCHK|
000013C0: 2C 59 20 20 3B 43 4C 45 41 52 20 42 49 54 20 23 |,Y ;CLEAR BIT #|
000013D0: 4D 49 00 E2 1B 72 01 20 53 54 41 20 4D 43 48 4B |MI...r. STA MCHK|
000013E0: 2C 59 00 0A 1C 74 01 20 4C 44 41 20 4D 54 59 50 |,Y...t. LDA MTYP|
000013F0: 20 20 20 20 3B 23 4D 54 28 30 AB 32 29 20 43 55 | ;#MT(0.2) CU|
00001400: 52 52 45 4E 54 20 54 59 50 45 00 20 1C 76 01 20 |RRENT TYPE. .v. |
00001410: 43 4D 50 20 23 30 3A 42 45 51 20 53 45 54 4D 86 |CMP #0:BEQ SETM.|
00001420: 00 38 1C 78 01 20 43 4D 50 20 23 32 3A 42 45 51 |.8.x. CMP #2:BEQ|
00001430: 20 53 45 54 4D 43 48 4B 00 55 1C 7A 01 20 52 54 | SETMCHK.U.z. RT|
00001440: 53 20 20 20 20 20 20 20 20 20 3B 45 4C 53 45 20 |S ;ELSE |
00001450: 23 4D 54 B2 31 00 5B 1C 7C 01 3B 00 7C 1C 7E 01 |#MT.1.[.|.;.|.~.|
00001460: 53 45 54 4D 86 20 B2 20 AC 20 20 3B 54 59 50 45 |SETM. . . ;TYPE|
00001470: 20 49 53 20 44 49 53 41 42 4C 45 44 00 93 1C 80 | IS DISABLED....|
00001480: 01 20 4C 44 41 20 4D 86 2C 59 20 20 3B 86 20 42 |. LDA M.,Y ;. B|
00001490: 49 54 53 00 B1 1C 82 01 20 B0 41 20 4D 41 53 4B |ITS..... .A MASK|
000014A0: AB 31 2C 58 20 3B 53 45 54 20 42 49 54 20 23 4D |.1,X ;SET BIT #M|
000014B0: 49 00 C3 1C 84 01 20 53 54 41 20 4D 86 2C 59 3A |I..... STA M.,Y:|
000014C0: 52 54 53 00 C9 1C 86 01 3B 00 EA 1C 88 01 53 45 |RTS.....;.....SE|
000014D0: 54 4D 43 48 4B 20 B2 20 AC 20 20 3B 54 59 50 45 |TMCHK . . ;TYPE|
000014E0: 20 49 53 20 4D 41 52 4B 45 44 00 07 1D 8A 01 20 | IS MARKED..... |
000014F0: 4C 44 41 20 4D 43 48 4B 2C 59 20 20 3B 43 48 45 |LDA MCHK,Y ;CHE|
00001500: 43 4B 20 42 49 54 53 00 25 1D 8C 01 20 B0 41 20 |CK BITS.%... .A |
00001510: 4D 41 53 4B AB 31 2C 58 20 3B 53 45 54 20 42 49 |MASK.1,X ;SET BI|
00001520: 54 20 23 4D 49 00 39 1D 8E 01 20 53 54 41 20 4D |T #MI.9... STA M|
00001530: 43 48 4B 2C 59 3A 52 54 53 00 3F 1D 90 01 3B 00 |CHK,Y:RTS.?...;.|
00001540: 60 1D 92 01 A1 54 59 50 45 20 B2 20 AC 20 20 3B |`....TYPE . . ;|
00001550: 43 48 45 43 4B 20 4D 45 4E 55 20 54 59 50 45 53 |CHECK MENU TYPES|
00001560: 00 88 1D 94 01 20 4C 44 59 20 4D 4E 55 4D 20 20 |..... LDY MNUM |
00001570: 20 20 3B 23 4D 4E 28 31 AB 37 29 20 43 55 52 52 | ;#MN(1.7) CURR|
00001580: 45 4E 54 20 4D 45 4E 55 00 B0 1D 96 01 20 4C 44 |ENT MENU..... LD|
00001590: 58 20 4D 49 54 4D 20 20 20 20 3B 23 4D 49 28 30 |X MITM ;#MI(0|
000015A0: AB 38 29 20 43 55 52 52 45 4E 54 20 49 54 45 4D |.8) CURRENT ITEM|
000015B0: 00 BD 1D 98 01 20 42 4E 45 20 A1 4D 86 00 DB 1D |..... BNE .M....|
000015C0: 9A 01 20 4C 44 59 20 23 30 3A 4C 44 58 20 4D 4E |.. LDY #0:LDX MN|
000015D0: 55 4D 20 3B 8B 20 23 4D 49 B2 30 00 FA 1D 9C 01 |UM ;. #MI.0.....|
000015E0: A1 4D 86 20 B2 20 AC 20 20 3B 43 48 45 43 4B 20 |.M. . . ;CHECK |
000015F0: 8B 20 44 49 53 41 42 4C 45 44 00 15 1E 9E 01 20 |. DISABLED..... |
00001600: 4C 44 41 20 4D 86 2C 59 20 20 3B 49 54 45 4D 20 |LDA M.,Y ;ITEM |
00001610: 46 4C 41 47 53 00 25 1E A0 01 20 AF 20 4D 41 53 |FLAGS.%... . MAS|
00001620: 4B AB 31 2C 58 00 3B 1E A2 01 20 53 54 41 20 86 |K.1,X.;... STA .|
00001630: 46 20 20 20 20 3B 30 B2 4F 46 46 00 5A 1E A4 01 |F ;0.OFF.Z...|
00001640: A1 4D 43 48 4B 20 B2 20 AC 20 20 3B 43 48 45 43 |.MCHK . . ;CHEC|
00001650: 4B 20 8B 20 4D 41 52 4B 45 44 00 77 1E A6 01 20 |K . MARKED.w... |
00001660: 4C 44 41 20 4D 43 48 4B 2C 59 20 20 3B 49 54 45 |LDA MCHK,Y ;ITE|
00001670: 4D 20 46 4C 41 47 53 00 87 1E A8 01 20 AF 20 4D |M FLAGS..... . M|
00001680: 41 53 4B AB 31 2C 58 00 9F 1E AA 01 20 52 54 53 |ASK.1,X..... RTS|
00001690: 20 20 20 20 20 20 20 20 20 3B 30 B2 4F 46 46 00 | ;0.OFF.|
000016A0: A5 1E AC 01 3B 00 CD 1E AE 01 53 45 54 52 4F 57 |....;.....SETROW|
000016B0: 20 B2 20 AC 20 20 20 3B 53 45 54 20 4D 45 4E 55 | . . ;SET MENU|
000016C0: 20 52 4F 57 20 50 45 52 20 49 54 45 4D 00 EC 1E | ROW PER ITEM...|
000016D0: B0 01 20 4C 44 58 20 4D 49 54 4D 3A 53 54 41 20 |.. LDX MITM:STA |
000016E0: 4D 52 4F 57 AB 31 2C 58 3A 52 54 53 00 10 1F B2 |MROW.1,X:RTS....|
000016F0: 01 A1 52 4F 57 20 B2 20 AC 20 20 20 3B A1 20 4D |..ROW . . ;. M|
00001700: 45 4E 55 20 52 4F 57 20 50 45 52 20 49 54 45 4D |ENU ROW PER ITEM|
00001710: 00 2F 1F B4 01 20 4C 44 58 20 4D 49 54 4D 3A 4C |./... LDX MITM:L|
00001720: 44 59 20 4D 52 4F 57 AB 31 2C 58 3A 52 54 53 00 |DY MROW.1,X:RTS.|
00001730: 35 1F B6 01 3B 00 3B 1F B8 01 3B 00 5A 1F BA 01 |5...;.;...;.Z...|
00001740: 3B 4D 45 4E 55 9B 20 AB 20 41 20 54 41 42 4C 45 |;MENU. . A TABLE|
00001750: 20 4F 46 20 50 4F B5 45 52 53 00 7B 1F BC 01 3B | OF PO.ERS.{...;|
00001760: A4 20 54 45 58 54 24 20 B0 20 49 4D 41 47 45 24 |. TEXT$ . IMAGE$|
00001770: 20 44 45 53 43 52 49 50 A4 52 53 00 9B 1F BE 01 | DESCRIP.RS.....|
00001780: 3B 20 34 20 42 59 54 45 53 20 50 45 52 20 4E 41 |; 4 BYTES PER NA|
00001790: 4D 45 24 20 B0 20 49 54 45 4D 24 00 BE 1F C0 01 |ME$ . ITEM$.....|
000017A0: 3B 20 49 4E 44 45 58 20 AB 20 20 4D 4C 49 58 B2 |; INDEX . MLIX.|
000017B0: 28 4D 4E AB 31 29 AC 33 36 AA 4D 49 AC 34 00 C4 |(MN.1).36.MI.4..|
000017C0: 1F C2 01 3B 00 E3 1F C4 01 4D 4C 58 20 B2 20 AC |...;.....MLX . .|
000017D0: 20 20 3B A1 20 49 4E 44 45 58 20 B5 4F 20 4D 45 | ;. INDEX .O ME|
000017E0: 4E 55 9B 00 04 20 C6 01 20 4C 44 41 20 4D 4E 55 |NU... .. LDA MNU|
000017F0: 4D 3A 53 45 43 3A 53 42 43 20 23 31 20 3B 28 4D |M:SEC:SBC #1 ;(M|
00001800: 4E AB 31 29 00 1D 20 C8 01 20 41 53 4C 3A 41 53 |N.1).. .. ASL:AS|
00001810: 4C 3A 53 54 41 20 24 41 33 20 3B AC 34 00 3B 20 |L:STA $A3 ;.4.; |
00001820: CA 01 20 41 53 4C 3A 41 44 43 20 24 41 33 3A 53 |.. ASL:ADC $A3:S|
00001830: 54 41 20 24 41 33 20 3B AC 31 32 00 59 20 CC 01 |TA $A3 ;.12.Y ..|
00001840: 20 41 53 4C 3A 41 44 43 20 24 41 33 3A 53 54 41 | ASL:ADC $A3:STA|
00001850: 20 24 41 33 20 3B AC 33 36 00 73 20 CE 01 20 4C | $A3 ;.36.s .. L|
00001860: 44 41 20 4D 49 54 4D 3A 41 53 4C 3A 41 53 4C 20 |DA MITM:ASL:ASL |
00001870: 3B AC 34 00 88 20 D0 01 20 41 44 43 20 24 41 33 |;.4.. .. ADC $A3|
00001880: 3A 54 41 59 3A 52 54 53 00 8E 20 D2 01 3B 00 B1 |:TAY:RTS.. ..;..|
00001890: 20 D4 01 53 45 54 9B 20 B2 20 AC 20 20 3B 44 45 | ..SET. . . ;DE|
000018A0: 53 43 52 49 50 A4 52 20 49 4E 20 24 32 32 AD 32 |SCRIP.R IN $22.2|
000018B0: 33 00 CA 20 D6 01 20 54 41 58 20 3B C3 47 54 48 |3.. .. TAX ;.GTH|
000018C0: 20 4F 46 20 53 54 52 49 4E 47 00 EA 20 D8 01 20 | OF STRING.. .. |
000018D0: 4A 53 52 20 4D 4C 58 3A 54 58 41 3A 53 54 41 20 |JSR MLX:TXA:STA |
000018E0: 4D 9B 2C 59 20 3B 4D 4C AB 58 00 0A 21 DA 01 20 |M.,Y ;ML.X..!.. |
000018F0: 49 4E 59 3A 4C 44 41 20 24 32 32 3A 53 54 41 20 |INY:LDA $22:STA |
00001900: 4D 9B 2C 59 20 3B 4D 4C AB 4C 00 2A 21 DC 01 20 |M.,Y ;ML.L.*!.. |
00001910: 49 4E 59 3A 4C 44 41 20 24 32 33 3A 53 54 41 20 |INY:LDA $23:STA |
00001920: 4D 9B 2C 59 20 3B 4D 4C AB 48 00 4A 21 DE 01 20 |M.,Y ;ML.H.J!.. |
00001930: 49 4E 59 3A 53 54 59 20 4D 4C 49 58 20 3B 55 50 |INY:STY MLIX ;UP|
00001940: 44 41 54 45 20 49 4E 44 45 58 00 69 21 E0 01 20 |DATE INDEX.i!.. |
00001950: 4C 44 41 20 23 30 3A 4A 53 52 20 53 45 54 4C 41 |LDA #0:JSR SETLA|
00001960: 53 54 20 3B 96 41 55 4C 54 00 90 21 E2 01 53 45 |ST ;.AULT..!..SE|
00001970: 54 4D A4 50 20 B2 20 AC 20 20 3B 55 50 44 41 54 |TM.P . . ;UPDAT|
00001980: 45 20 4D 41 58 49 4D 55 4D 53 20 4D 45 4E 55 53 |E MAXIMUMS MENUS|
00001990: 00 AE 21 E4 01 20 4C 44 58 20 4D 4E 55 4D 3A 43 |..!.. LDX MNUM:C|
000019A0: 50 58 20 4D A4 50 3A 42 43 43 20 AC AA 35 00 D2 |PX M.P:BCC ..5..|
000019B0: 21 E6 01 20 53 54 58 20 4D A4 50 20 20 20 20 3B |!.. STX M.P ;|
000019C0: 55 50 44 41 54 45 20 4D 41 58 49 4D 55 4D 20 23 |UPDATE MAXIMUM #|
000019D0: 4D 4E 00 F2 21 E8 01 20 4C 44 41 20 4D 49 54 4D |MN..!.. LDA MITM|
000019E0: 3A 43 4D 50 20 4D A4 50 2C 58 3A 42 43 43 20 AC |:CMP M.P,X:BCC .|
000019F0: AA 35 00 16 22 EA 01 20 53 54 41 20 4D A4 50 2C |.5..".. STA M.P,|
00001A00: 58 20 20 3B 55 50 44 41 54 45 20 4D 41 58 49 4D |X ;UPDATE MAXIM|
00001A10: 55 4D 20 23 4D 49 00 1F 22 EC 01 20 52 54 53 00 |UM #MI..".. RTS.|
00001A20: 25 22 EE 01 3B 00 46 22 F0 01 53 45 54 4C 41 53 |%"..;.F"..SETLAS|
00001A30: 54 20 20 B2 20 AC 20 3B 41 44 44 20 58 52 20 A4 |T . . ;ADD XR .|
00001A40: 20 4D 45 4E 55 9B 00 68 22 F2 01 20 4C 44 59 20 | MENU..h".. LDY |
00001A50: 4D 4C 49 58 3A 53 54 41 20 4D 9B 2C 59 3A 52 54 |MLIX:STA M.,Y:RT|
00001A60: 53 20 3B 4D 4C AB 58 52 00 6E 22 F4 01 3B 00 8E |S ;ML.XR.n"..;..|
00001A70: 22 F6 01 A1 9B 20 B2 20 AC 20 20 3B 44 45 53 43 |".... . . ;DESC|
00001A80: 52 49 50 A4 52 20 A4 20 24 41 33 AD 41 34 00 AE |RIP.R . $A3.A4..|
00001A90: 22 F8 01 20 4A 53 52 20 4D 4C 58 3A 4C 44 58 20 |".. JSR MLX:LDX |
00001AA0: 4D 9B 2C 59 20 20 20 20 20 3B 4D 4C AB 58 00 CE |M.,Y ;ML.X..|
00001AB0: 22 FA 01 20 49 4E 59 3A 4C 44 41 20 4D 9B 2C 59 |".. INY:LDA M.,Y|
00001AC0: 3A 53 54 41 20 24 41 33 20 3B 4D 4C AB 4C 00 EE |:STA $A3 ;ML.L..|
00001AD0: 22 FC 01 20 49 4E 59 3A 4C 44 41 20 4D 9B 2C 59 |".. INY:LDA M.,Y|
00001AE0: 3A 53 54 41 20 24 41 34 20 3B 4D 4C AB 48 00 0F |:STA $A4 ;ML.H..|
00001AF0: 23 FE 01 20 49 4E 59 3A 4C 44 41 20 4D 9B 2C 59 |#.. INY:LDA M.,Y|
00001B00: 3A 53 54 41 20 24 41 35 20 3B 4D 4C AB 58 52 00 |:STA $A5 ;ML.XR.|
00001B10: 2C 23 00 02 20 53 54 59 20 4D 4C 49 58 20 20 20 |,#.. STY MLIX |
00001B20: 20 3B 94 20 2E 59 20 49 4E 44 45 58 00 50 23 02 | ;. .Y INDEX.P#.|
00001B30: 02 20 54 58 41 3A 42 49 54 20 24 41 35 20 3B 53 |. TXA:BIT $A5 ;S|
00001B40: 54 52 49 4E 47 20 C3 47 54 48 20 49 4E 20 2E 58 |TRING .GTH IN .X|
00001B50: 00 70 23 04 02 A1 C3 20 B2 20 AC 20 20 20 3B 20 |.p#.... . . ; |
00001B60: 20 43 45 4C 4C 20 C3 47 54 48 20 49 4E 20 2E 58 | CELL .GTH IN .X|
00001B70: 00 8A 23 06 02 20 42 50 4C 20 AC AA 38 20 20 20 |..#.. BPL ..8 |
00001B80: 20 20 3B 8B 20 54 45 58 54 24 00 A7 23 08 02 20 | ;. TEXT$..#.. |
00001B90: 42 56 43 20 AC AA 33 3A 4C 53 52 20 3B 8B 20 49 |BVC ..3:LSR ;. I|
00001BA0: 4D 41 47 45 24 AB 31 00 C2 23 0A 02 20 4C 53 52 |MAGE$.1..#.. LSR|
00001BB0: 3A 4C 53 52 3A 4C 53 52 20 3B AD 38 20 B0 20 AD |:LSR:LSR ;.8 . .|
00001BC0: 31 36 00 DF 23 0C 02 20 54 41 58 3A 4C 44 41 20 |16..#.. TAX:LDA |
00001BD0: 24 41 35 3A 42 49 54 20 24 41 35 3A 52 54 53 00 |$A5:BIT $A5:RTS.|
00001BE0: E5 23 0E 02 3B 00 EB 23 10 02 3B 00 06 24 12 02 |.#..;..#..;..$..|
00001BF0: 3B AC AC AC 20 4D 45 4E 55 20 52 4F 55 54 49 4E |;... MENU ROUTIN|
00001C00: 45 53 20 AC AC AC 00 0C 24 14 02 3B 00 12 24 16 |ES .....$..;..$.|
00001C10: 02 3B 00 38 24 18 02 4D 45 4E 55 53 49 5A 20 B2 |.;.8$..MENUSIZ .|
00001C20: 20 AC 20 20 3B 53 49 5A 45 20 50 52 4F B9 45 44 | . ;SIZE PRO.ED|
00001C30: 20 4D 45 4E 55 42 41 52 00 5A 24 1A 02 20 4C 44 | MENUBAR.Z$.. LD|
00001C40: 41 20 23 31 3A 53 54 41 20 4D 4E 44 50 20 20 20 |A #1:STA MNDP |
00001C50: 20 20 20 20 3B 31 20 52 4F 57 00 73 24 1C 02 20 | ;1 ROW.s$.. |
00001C60: 4C 44 59 20 23 30 3A 53 54 59 20 4D 49 54 4D 3A |LDY #0:STY MITM:|
00001C70: 49 4E 59 00 86 24 1E 02 4D 53 49 5A 32 20 53 54 |INY..$..MSIZ2 ST|
00001C80: 59 20 4D 4E 55 4D 00 A5 24 20 02 20 43 50 59 20 |Y MNUM..$ . CPY |
00001C90: 4D A4 50 3A 42 45 51 20 AC AA 34 3A 42 43 53 20 |M.P:BEQ ..4:BCS |
00001CA0: 4D 4E 55 4C 4C 00 C5 24 22 02 20 4A 53 52 20 A1 |MNULL..$". JSR .|
00001CB0: 9B 3A 42 56 53 20 4D 53 49 5A 33 20 3B 43 48 45 |.:BVS MSIZ3 ;CHE|
00001CC0: 43 4B 20 81 4D 00 E1 24 24 02 20 4C 44 59 20 4D |CK .M..$$. LDY M|
00001CD0: 4E 55 4D 3A 49 4E 59 3A 42 4E 45 20 4D 53 49 5A |NUM:INY:BNE MSIZ|
00001CE0: 32 00 04 25 26 02 4D 53 49 5A 33 20 4C 44 41 20 |2..%&.MSIZ3 LDA |
00001CF0: 23 32 3A 53 54 41 20 4D 4E 44 50 20 20 3B 32 20 |#2:STA MNDP ;2 |
00001D00: 52 4F 57 53 00 22 25 28 02 4D 4E 55 4C 4C 20 4C |ROWS."%(.MNULL L|
00001D10: 44 59 20 23 30 3A 53 54 59 20 4D 4E 55 4D 3A 52 |DY #0:STY MNUM:R|
00001D20: 54 53 00 28 25 2A 02 3B 00 4B 25 2C 02 4D 45 4E |TS.(%*.;.K%,.MEN|
00001D30: 55 42 41 52 20 B2 20 AC 20 20 3B 44 49 53 50 4C |UBAR . . ;DISPL|
00001D40: 41 59 20 4D 45 4E 55 20 42 41 52 00 60 25 2E 02 |AY MENU BAR.`%..|
00001D50: 20 4C 44 58 20 4D 4E 4C 43 3A 53 54 58 20 48 43 | LDX MNLC:STX HC|
00001D60: 00 7F 25 30 02 20 4C 44 59 20 4D 4E 54 52 3A 53 |..%0. LDY MNTR:S|
00001D70: 54 59 20 48 52 3A 4A 53 52 20 53 43 52 53 52 00 |TY HR:JSR SCRSR.|
00001D80: 98 25 32 02 20 4C 44 59 20 23 30 3A 53 54 59 20 |.%2. LDY #0:STY |
00001D90: 4D 49 54 4D 3A 49 4E 59 00 AB 25 34 02 4D 42 41 |MITM:INY..%4.MBA|
00001DA0: 52 32 20 53 54 59 20 4D 4E 55 4D 00 CA 25 36 02 |R2 STY MNUM..%6.|
00001DB0: 20 43 50 59 20 4D A4 50 3A 42 45 51 20 AC AA 34 | CPY M.P:BEQ ..4|
00001DC0: 3A 42 43 53 20 4D 4E 55 4C 4C 00 E1 25 38 02 20 |:BCS MNULL..%8. |
00001DD0: 4C 44 41 20 4D A4 50 2C 59 3A 42 4E 45 20 AC AA |LDA M.P,Y:BNE ..|
00001DE0: 38 00 06 26 3A 02 20 53 54 41 20 4D 54 59 50 3A |8..&:. STA MTYP:|
00001DF0: 4A 53 52 20 53 45 54 54 59 50 45 20 3B 4E 4F 20 |JSR SETTYPE ;NO |
00001E00: 49 54 45 4D 53 21 00 28 26 3C 02 20 4A 53 52 20 |ITEMS!.(&<. JSR |
00001E10: 4C 43 41 53 45 20 20 20 3B 4C 4F 57 45 52 43 41 |LCASE ;LOWERCA|
00001E20: 53 45 20 96 41 55 4C 54 00 43 26 3E 02 20 4A 53 |SE .AULT.C&>. JS|
00001E30: 52 20 A1 54 59 50 45 20 3B 53 45 54 20 86 46 20 |R .TYPE ;SET .F |
00001E40: 91 4C 59 00 5C 26 40 02 4A 53 52 20 A1 9B 20 3B |.LY.\&@.JSR .. ;|
00001E50: 4D 45 4E 55 9B 20 50 41 52 41 4D 53 00 7F 26 42 |MENU. PARAMS..&B|
00001E60: 02 20 AF 20 23 24 33 46 3A 42 45 51 20 4D 42 41 |. . #$3F:BEQ MBA|
00001E70: 52 33 20 3B A1 20 4F 46 46 53 45 54 20 4F 43 00 |R3 ;. OFFSET OC.|
00001E80: 9F 26 44 02 20 43 4C 43 3A 41 44 43 20 48 43 3A |.&D. CLC:ADC HC:|
00001E90: 54 41 58 20 3B B9 49 54 49 91 20 A4 20 4F 43 00 |TAX ;.ITI. . OC.|
00001EA0: C0 26 46 02 20 4C 44 59 20 48 52 3A 4A 53 52 20 |.&F. LDY HR:JSR |
00001EB0: 53 43 52 53 52 20 3B 53 45 54 20 43 55 52 53 B0 |SCRSR ;SET CURS.|
00001EC0: 00 DF 26 48 02 4D 42 41 52 33 20 4A 53 52 20 A1 |..&H.MBAR3 JSR .|
00001ED0: 9B 20 3B 4D 45 4E 55 9B 20 50 41 52 41 4D 53 00 |. ;MENU. PARAMS.|
00001EE0: 04 27 4A 02 20 B0 41 20 43 43 3A 4A 53 52 20 53 |.'J. .A CC:JSR S|
00001EF0: 45 54 4C 41 53 54 20 3B 53 45 54 20 4F 43 20 49 |ETLAST ;SET OC I|
00001F00: 4E 20 58 52 00 1B 27 4C 02 20 42 49 54 20 24 41 |N XR..'L. BIT $A|
00001F10: 35 20 3B 43 48 45 43 4B 20 81 4D 00 3B 27 4E 02 |5 ;CHECK .M.;'N.|
00001F20: 20 4A 53 52 20 50 4C 54 81 4D 20 20 3B 54 45 58 | JSR PLT.M ;TEX|
00001F30: 54 24 20 B0 20 49 4D 41 47 45 24 00 5C 27 50 02 |T$ . IMAGE$.\'P.|
00001F40: 4D 42 41 52 34 20 4C 44 59 20 4D 4E 55 4D 3A 49 |MBAR4 LDY MNUM:I|
00001F50: 4E 59 3A 42 4E 45 20 4D 42 41 52 32 00 62 27 52 |NY:BNE MBAR2.b'R|
00001F60: 02 3B 00 88 27 54 02 4D 45 4E 55 53 45 4C 20 B2 |.;..'T.MENUSEL .|
00001F70: 20 AC 20 20 3B 53 45 4C 45 43 54 20 46 52 4F 4D | . ;SELECT FROM|
00001F80: 20 4D 45 4E 55 42 41 52 00 AE 27 56 02 20 4C 44 | MENUBAR..'V. LD|
00001F90: 41 20 4D 46 4C 47 3A 42 45 51 20 4D 53 45 4C 34 |A MFLG:BEQ MSEL4|
00001FA0: 20 20 3B 4E 4F 20 4D 45 4E 55 42 41 52 21 00 D1 | ;NO MENUBAR!..|
00001FB0: 27 58 02 20 4C 44 41 20 4D A4 50 3A 42 45 51 20 |'X. LDA M.P:BEQ |
00001FC0: 4D 53 45 4C 34 20 20 3B 4E 4F 20 4D 45 4E 55 53 |MSEL4 ;NO MENUS|
00001FD0: 21 00 F6 27 5A 02 20 4C 44 59 20 4D 4E 54 52 3A |!..'Z. LDY MNTR:|
00001FE0: 53 54 59 20 48 52 20 3B 53 45 54 20 48 45 41 44 |STY HR ;SET HEAD|
00001FF0: 45 52 20 52 4F 57 00 1B 28 5C 02 20 4A 53 52 20 |ER ROW..(\. JSR |
00002000: 4D 43 4D 58 59 20 20 20 3B 4D 4F 55 53 45 20 B9 |MCMXY ;MOUSE .|
00002010: 4E 20 28 4D 43 58 2C 4D 43 59 29 00 3F 28 5E 02 |N (MCX,MCY).?(^.|
00002020: 20 49 4E 59 3A 4C 44 41 20 4D 4E 44 50 20 3B 57 | INY:LDA MNDP ;W|
00002030: 49 54 48 49 4E 20 4D 45 4E 55 42 41 52 22 3F 00 |ITHIN MENUBAR"?.|
00002040: 60 28 60 02 20 44 45 59 3A 43 50 59 20 48 52 3A |`(`. DEY:CPY HR:|
00002050: 42 45 51 20 AC AA 37 20 20 20 20 3B 59 45 53 21 |BEQ ..7 ;YES!|
00002060: 00 85 28 62 02 20 4C 53 52 3A 42 43 43 20 AC AB |..(b. LSR:BCC ..|
00002070: 36 3A 42 43 53 20 4D 53 45 4C 34 20 3B 4E 4F 2C |6:BCS MSEL4 ;NO,|
00002080: 20 45 58 49 54 00 9E 28 64 02 20 4C 44 59 20 23 | EXIT..(d. LDY #|
00002090: 30 3A 53 54 59 20 4D 49 54 4D 3A 49 4E 59 00 C6 |0:STY MITM:INY..|
000020A0: 28 66 02 4D 53 45 4C 32 20 53 54 59 20 4D 4E 55 |(f.MSEL2 STY MNU|
000020B0: 4D 20 3B 53 43 41 4E 20 45 41 43 48 20 4D 45 4E |M ;SCAN EACH MEN|
000020C0: 55 20 4E 41 4D 45 00 E5 28 68 02 20 43 50 59 20 |U NAME..(h. CPY |
000020D0: 4D A4 50 3A 42 45 51 20 AC AA 34 3A 42 43 53 20 |M.P:BEQ ..4:BCS |
000020E0: 4D 53 45 4C 34 00 02 29 6A 02 20 4A 53 52 20 A1 |MSEL4..)j. JSR .|
000020F0: 9B 3A 53 54 41 20 48 54 20 3B 81 4D 20 53 54 41 |.:STA HT ;.M STA|
00002100: 54 45 00 20 29 6C 02 20 AF 20 23 24 33 46 3A 53 |TE. )l. . #$3F:S|
00002110: 54 41 20 48 43 20 3B 43 43 20 4F 46 46 53 45 54 |TA HC ;CC OFFSET|
00002120: 00 3F 29 6E 02 20 43 4D 50 20 4D 43 58 3A 42 45 |.?)n. CMP MCX:BE|
00002130: 51 20 AC AA 34 3A 42 43 53 20 4D 53 45 4C 34 00 |Q ..4:BCS MSEL4.|
00002140: 65 29 70 02 20 54 58 41 3A 43 4C 43 3A 41 44 43 |e)p. TXA:CLC:ADC|
00002150: 20 48 43 20 20 3B 57 49 54 48 49 4E 20 48 45 41 | HC ;WITHIN HEA|
00002160: 44 45 52 22 3F 00 8C 29 72 02 20 43 4D 50 20 4D |DER"?..)r. CMP M|
00002170: 43 58 3A 42 45 51 20 AC AA 34 3A 42 43 53 20 4D |CX:BEQ ..4:BCS M|
00002180: 53 45 4C 33 20 3B 46 4F 55 4E 44 21 00 B0 29 74 |SEL3 ;FOUND!..)t|
00002190: 02 20 4C 44 59 20 4D 4E 55 4D 3A 49 4E 59 3A 42 |. LDY MNUM:INY:B|
000021A0: 4E 45 20 4D 53 45 4C 32 20 3B 82 20 4D 45 4E 55 |NE MSEL2 ;. MENU|
000021B0: 00 D1 29 76 02 4D 53 45 4C 33 20 53 54 58 20 48 |..)v.MSEL3 STX H|
000021C0: 53 20 3B 94 20 48 45 41 44 45 52 20 57 49 44 54 |S ;. HEADER WIDT|
000021D0: 48 00 F1 29 78 02 20 4A 53 52 20 A1 54 59 50 45 |H..)x. JSR .TYPE|
000021E0: 3A 4C 44 41 20 86 46 3A 42 4E 45 20 4D 53 45 4C |:LDA .F:BNE MSEL|
000021F0: 34 00 12 2A 7A 02 20 4C 44 41 20 48 53 20 3B C3 |4..*z. LDA HS ;.|
00002200: 47 54 48 20 49 4E 20 2E 41 20 81 20 48 49 4C 49 |GTH IN .A . HILI|
00002210: 54 45 00 36 2A 7C 02 20 4C 44 58 20 48 43 3A 4C |TE.6*|. LDX HC:L|
00002220: 44 59 20 48 52 3A 42 49 54 20 48 54 20 3B 81 4D |DY HR:BIT HT ;.M|
00002230: 20 53 54 41 54 45 00 5B 2A 7E 02 20 4A 53 52 20 | STATE.[*~. JSR |
00002240: 48 4C 49 54 81 4D 20 3B 48 4C 49 54 20 54 45 58 |HLIT.M ;HLIT TEX|
00002250: 54 24 20 B0 20 49 4D 41 47 45 24 00 7C 2A 80 02 |T$ . IMAGE$.|*..|
00002260: 20 43 4C 43 3A 52 54 53 20 3B 8E 20 57 49 54 48 | CLC:RTS ;. WITH|
00002270: 20 23 4D 4E 20 48 49 4C 49 54 45 44 00 97 2A 82 | #MN HILITED..*.|
00002280: 02 4D 53 45 4C 34 20 4A 53 52 20 4D 4E 55 4C 4C |.MSEL4 JSR MNULL|
00002290: 20 3B 23 4D 4E B2 30 00 B6 2A 84 02 20 53 45 43 | ;#MN.0..*.. SEC|
000022A0: 3A 52 54 53 20 3B 8B 20 43 B2 31 20 4E 4F 20 53 |:RTS ;. C.1 NO S|
000022B0: 45 4C 45 43 54 21 00 BC 2A 86 02 3B 00 DF 2A 88 |ELECT!..*..;..*.|
000022C0: 02 4D 45 4E 55 42 4F 58 20 B2 20 AC 20 20 3B 53 |.MENUBOX . . ;S|
000022D0: 49 5A 45 20 55 50 20 4D 45 4E 55 20 42 4F 58 00 |IZE UP MENU BOX.|
000022E0: 06 2B 8A 02 20 4C 44 41 20 48 52 3A 43 4C 43 3A |.+.. LDA HR:CLC:|
000022F0: 41 44 43 20 4D 4E 44 50 3A 53 54 41 20 54 52 20 |ADC MNDP:STA TR |
00002300: 3B A4 50 52 4F 57 00 2C 2B 8C 02 20 4C 44 41 20 |;.PROW.,+.. LDA |
00002310: 48 43 20 3B 54 52 59 20 A4 20 41 4C 49 47 4E 20 |HC ;TRY . ALIGN |
00002320: 41 54 20 4C 45 46 54 20 45 44 47 45 00 44 2B 8E |AT LEFT EDGE.D+.|
00002330: 02 4D 42 4F 58 32 20 53 54 41 20 4C 43 3A 4C 44 |.MBOX2 STA LC:LD|
00002340: 59 20 23 30 00 68 2B 90 02 20 53 54 59 20 57 44 |Y #0.h+.. STY WD|
00002350: 3A 53 54 59 20 44 50 3A 53 54 59 20 24 41 36 20 |:STY DP:STY $A6 |
00002360: 3B 50 41 53 54 20 4F 43 00 7D 2B 92 02 20 4C 44 |;PAST OC.}+.. LD|
00002370: 58 20 23 31 3A 53 54 58 20 4D 49 54 4D 00 98 2B |X #1:STX MITM..+|
00002380: 94 02 4D 42 4F 58 33 20 4A 53 52 20 A1 9B 3A 42 |..MBOX3 JSR ..:B|
00002390: 56 53 20 4D 42 4F 58 34 00 B4 2B 96 02 20 AF 20 |VS MBOX4..+.. . |
000023A0: 23 24 33 46 3A 42 45 51 20 AC AA 34 3A 49 4E 58 |#$3F:BEQ ..4:INX|
000023B0: 3A 49 4E 58 00 DB 2B 98 02 20 4C 44 59 20 23 30 |:INX..+.. LDY #0|
000023C0: 3A 53 54 59 20 24 41 36 3A 42 45 51 20 4D 42 4F |:STY $A6:BEQ MBO|
000023D0: 58 35 20 3B 8B 20 31 20 52 4F 57 00 00 2C 9A 02 |X5 ;. 1 ROW..,..|
000023E0: 4D 42 4F 58 34 20 AF 20 23 24 33 46 3A 43 4D 50 |MBOX4 . #$3F:CMP|
000023F0: 20 24 41 36 20 20 20 3B 8B 20 32 20 52 4F 57 53 | $A6 ;. 2 ROWS|
00002400: 00 24 2C 9C 02 20 42 45 51 20 AC AA 34 3A 42 43 |.$,.. BEQ ..4:BC|
00002410: 53 20 AC AA 36 3A 4C 44 59 20 23 30 3A 53 54 59 |S ..6:LDY #0:STY|
00002420: 20 24 41 36 00 49 2C 9E 02 20 4C 44 59 20 24 41 | $A6.I,.. LDY $A|
00002430: 36 3A 53 54 41 20 24 41 36 20 3B 55 50 44 41 54 |6:STA $A6 ;UPDAT|
00002440: 45 20 50 41 53 54 20 4F 43 00 6E 2C A0 02 20 54 |E PAST OC.n,.. T|
00002450: 58 41 3A 53 45 43 3A 41 44 43 20 24 41 36 3A 54 |XA:SEC:ADC $A6:T|
00002460: 41 58 20 3B 53 49 5A 45 20 57 49 44 54 48 00 95 |AX ;SIZE WIDTH..|
00002470: 2C A2 02 20 43 50 59 20 23 30 3A 42 4E 45 20 AC |,.. CPY #0:BNE .|
00002480: AA 36 3A 49 4E 43 20 44 50 20 3B 53 49 5A 45 20 |.6:INC DP ;SIZE |
00002490: 44 45 50 54 48 00 B2 2C A4 02 4D 42 4F 58 35 20 |DEPTH..,..MBOX5 |
000024A0: 49 4E 43 20 44 50 20 3B 53 49 5A 45 20 44 45 50 |INC DP ;SIZE DEP|
000024B0: 54 48 00 D9 2C A6 02 20 43 50 58 20 57 44 3A 42 |TH..,.. CPX WD:B|
000024C0: 43 43 20 AC AA 34 3A 53 54 58 20 57 44 20 3B 53 |CC ..4:STX WD ;S|
000024D0: 49 5A 45 20 57 49 44 54 48 00 F5 2C A8 02 4D 42 |IZE WIDTH..,..MB|
000024E0: 4F 58 36 20 49 4E 43 20 4D 49 54 4D 3A 4C 44 59 |OX6 INC MITM:LDY|
000024F0: 20 4D 4E 55 4D 00 0D 2D AA 02 20 4C 44 41 20 4D | MNUM..-.. LDA M|
00002500: 49 54 4D 3A 43 4D 50 20 4D A4 50 2C 59 00 2E 2D |ITM:CMP M.P,Y..-|
00002510: AC 02 20 42 43 43 20 4D 42 4F 58 33 3A 42 45 51 |.. BCC MBOX3:BEQ|
00002520: 20 4D 42 4F 58 33 20 3B 82 20 49 54 45 4D 00 56 | MBOX3 ;. ITEM.V|
00002530: 2D AE 02 20 4C 44 41 20 4C 43 3A 43 4C 43 3A 41 |-.. LDA LC:CLC:A|
00002540: 44 43 20 57 44 20 3B 43 48 45 43 4B 20 4D 41 58 |DC WD ;CHECK MAX|
00002550: 20 57 49 44 54 48 00 77 2D B0 02 20 43 4D 50 20 | WIDTH.w-.. CMP |
00002560: 23 33 39 3A 42 43 43 20 4D 42 4F 58 37 3A 42 45 |#39:BCC MBOX7:BE|
00002570: 51 20 4D 42 4F 58 37 00 9A 2D B2 02 20 53 42 43 |Q MBOX7..-.. SBC|
00002580: 20 23 33 39 3A 45 B0 20 23 AB 31 3A 41 44 43 20 | #39:E. #.1:ADC |
00002590: 48 43 20 3B 41 44 4A 55 53 54 00 BF 2D B4 02 20 |HC ;ADJUST..-.. |
000025A0: 4A 4D 50 20 4D 42 4F 58 32 20 3B 54 52 59 20 4C |JMP MBOX2 ;TRY L|
000025B0: 43 B2 48 43 AB 28 4C 43 AA 57 44 AB 33 39 29 00 |C.HC.(LC.WD.39).|
000025C0: DB 2D B6 02 4D 42 4F 58 37 20 4C 44 41 20 4C 43 |.-..MBOX7 LDA LC|
000025D0: 3A 53 54 41 20 4D 4E 4C 43 2C 59 00 FC 2D B8 02 |:STA MNLC,Y..-..|
000025E0: 20 4C 44 41 20 57 44 3A 53 54 41 20 4D 4E 57 44 | LDA WD:STA MNWD|
000025F0: 2C 59 20 3B 53 A4 52 45 20 54 48 45 00 23 2E BA |,Y ;S.RE THE.#..|
00002600: 02 20 4C 44 41 20 54 52 3A 53 54 41 20 4D 4E 54 |. LDA TR:STA MNT|
00002610: 52 2C 59 20 3B 56 49 45 57 50 B0 54 20 50 41 52 |R,Y ;VIEWP.T PAR|
00002620: 41 4D 53 00 3F 2E BC 02 20 4C 44 41 20 44 50 3A |AMS.?... LDA DP:|
00002630: 43 4D 50 20 23 32 31 3A 42 43 43 20 AC AA 34 00 |CMP #21:BCC ..4.|
00002640: 5B 2E BE 02 20 4C 44 41 20 23 32 31 3A 53 54 41 |[... LDA #21:STA|
00002650: 20 4D 4E 44 50 2C 59 3A 52 54 53 00 61 2E C0 02 | MNDP,Y:RTS.a...|
00002660: 3B 00 87 2E C2 02 4D 45 4E 55 44 4F 57 4E 20 B2 |;.....MENUDOWN .|
00002670: 20 AC 20 3B 46 49 4E 44 20 4D 45 4E 55 20 26 20 | . ;FIND MENU & |
00002680: 44 49 53 50 4C 41 59 00 A7 2E C4 02 20 4A 53 52 |DISPLAY..... JSR|
00002690: 20 4D 45 4E 55 42 4F 58 20 3B 53 49 5A 45 20 4D | MENUBOX ;SIZE M|
000026A0: 45 4E 55 20 42 4F 58 00 C0 2E C6 02 20 4A 53 52 |ENU BOX..... JSR|
000026B0: 20 9F 57 4E 44 57 20 3B 9F 20 57 49 4E 44 4F 57 | .WNDW ;. WINDOW|
000026C0: 00 DF 2E C8 02 20 4A 53 52 20 56 42 B0 44 45 52 |..... JSR VB.DER|
000026D0: 20 3B 42 B0 44 45 52 20 56 49 45 57 50 B0 54 00 | ;B.DER VIEWP.T.|
000026E0: FB 2E CA 02 4D 45 4E 55 50 4C 54 20 B2 20 AC 20 |....MENUPLT . . |
000026F0: 20 3B 50 4C 4F 54 20 4D 45 4E 55 00 1F 2F CC 02 | ;PLOT MENU../..|
00002700: 20 4C 44 59 20 54 52 3A 53 54 59 20 52 52 20 3B | LDY TR:STY RR ;|
00002710: A4 50 20 52 4F 57 20 49 53 20 53 54 41 52 54 00 |.P ROW IS START.|
00002720: 43 2F CE 02 20 4C 44 58 20 23 31 3A 53 54 58 20 |C/.. LDX #1:STX |
00002730: 4D 49 54 4D 3A 4C 44 59 20 23 30 3A 53 54 59 20 |MITM:LDY #0:STY |
00002740: 24 41 36 00 68 2F D0 02 4D 50 4C 54 32 20 4A 53 |$A6.h/..MPLT2 JS|
00002750: 52 20 4C 43 41 53 45 20 3B 4C 4F 57 45 52 43 41 |R LCASE ;LOWERCA|
00002760: 53 45 20 96 41 55 4C 54 00 89 2F D2 02 20 4A 53 |SE .AULT../.. JS|
00002770: 52 20 A1 9B 3A 42 56 43 20 4D 50 4C 54 33 3B A8 |R ..:BVC MPLT3;.|
00002780: 20 49 4D 41 47 45 24 AB 32 00 A6 2F D4 02 20 AF | IMAGE$.2../.. .|
00002790: 20 23 24 33 46 3A 43 4D 50 20 24 41 36 20 3B 50 | #$3F:CMP $A6 ;P|
000027A0: 41 53 54 20 4F 43 00 CA 2F D6 02 20 42 45 51 20 |AST OC../.. BEQ |
000027B0: AC AA 34 3A 42 43 53 20 AC AA 36 3A 4C 44 59 20 |..4:BCS ..6:LDY |
000027C0: 23 30 3A 53 54 59 20 24 41 36 00 F0 2F D8 02 20 |#0:STY $A6../.. |
000027D0: 4C 44 59 20 24 41 36 3A 53 54 41 20 24 41 36 20 |LDY $A6:STA $A6 |
000027E0: 20 3B 55 50 44 41 54 45 20 50 41 53 54 20 4F 43 | ;UPDATE PAST OC|
000027F0: 00 17 30 DA 02 20 43 4C 43 3A 41 44 43 20 4C 43 |..0.. CLC:ADC LC|
00002800: 3A 54 41 58 20 3B 41 44 44 20 4F 46 46 53 45 54 |:TAX ;ADD OFFSET|
00002810: 20 43 4F 4C 55 4D 4E 00 2E 30 DC 02 20 43 50 59 | COLUMN..0.. CPY|
00002820: 20 23 30 3A 42 45 51 20 4D 50 4C 54 33 42 00 4D | #0:BEQ MPLT3B.M|
00002830: 30 DE 02 20 4C 44 59 20 52 52 3A 44 45 59 3A 44 |0.. LDY RR:DEY:D|
00002840: 45 59 3A 4A 4D 50 20 4D 50 4C 54 33 43 00 6A 30 |EY:JMP MPLT3C.j0|
00002850: E0 02 4D 50 4C 54 33 20 4C 44 58 20 4C 43 20 3B |..MPLT3 LDX LC ;|
00002860: 53 45 54 20 43 4F 4C 55 4D 4E 00 85 30 E2 02 4D |SET COLUMN..0..M|
00002870: 50 4C 54 33 42 20 4C 44 59 20 52 52 20 3B 53 45 |PLT3B LDY RR ;SE|
00002880: 54 20 52 4F 57 00 A5 30 E4 02 4D 50 4C 54 33 43 |T ROW..0..MPLT3C|
00002890: 20 4A 53 52 20 53 43 52 53 52 20 3B 53 45 54 20 | JSR SCRSR ;SET |
000028A0: 43 55 52 53 B0 00 C6 30 E6 02 20 4C 44 41 20 52 |CURS...0.. LDA R|
000028B0: 52 3A 4A 53 52 20 53 45 54 52 4F 57 20 3B 50 45 |R:JSR SETROW ;PE|
000028C0: 52 20 49 54 45 4D 00 E5 30 E8 02 20 4A 53 52 20 |R ITEM..0.. JSR |
000028D0: A1 54 59 50 45 3A 42 45 51 20 AC AA 35 20 3B 53 |.TYPE:BEQ ..5 ;S|
000028E0: 45 54 20 86 46 00 08 31 EA 02 20 4A 53 52 20 50 |ET .F..1.. JSR P|
000028F0: 4C 54 4D 41 52 4B 20 20 3B 43 48 45 43 4B 4D 41 |LTMARK ;CHECKMA|
00002900: 52 4B 20 8B 20 53 45 54 00 23 31 EC 02 20 4A 53 |RK . SET.#1.. JS|
00002910: 52 20 A1 9B 20 20 3B 4D 45 4E 55 9B 20 50 41 52 |R .. ;MENU. PAR|
00002920: 41 4D 53 00 43 31 EE 02 20 4A 53 52 20 50 4C 54 |AMS.C1.. JSR PLT|
00002930: 81 4D 20 20 3B 54 45 58 54 24 20 B0 20 49 4D 41 |.M ;TEXT$ . IMA|
00002940: 47 45 24 00 66 31 F0 02 20 42 49 54 20 24 41 35 |GE$.f1.. BIT $A5|
00002950: 3A 42 56 53 20 4D 50 4C 54 35 20 3B 8B 20 49 4D |:BVS MPLT5 ;. IM|
00002960: 41 47 45 24 AB 32 00 8E 31 F2 02 4D 50 4C 54 34 |AGE$.2..1..MPLT4|
00002970: 20 4C 44 59 20 23 30 3A 53 54 59 20 24 41 36 20 | LDY #0:STY $A6 |
00002980: 3B 52 45 53 45 54 20 50 41 53 54 20 4F 43 00 AC |;RESET PAST OC..|
00002990: 31 F4 02 20 4C 44 41 20 24 41 35 3A AF 20 23 24 |1.. LDA $A5:. #$|
000029A0: 33 46 3A 42 45 51 20 4D 50 4C 54 36 00 D1 31 F6 |3F:BEQ MPLT6..1.|
000029B0: 02 20 54 41 58 3A 4C 44 41 20 C6 49 49 2C 58 20 |. TAX:LDA .II,X |
000029C0: 3B 41 4C 54 20 4B 45 59 20 53 45 51 55 45 4E 43 |;ALT KEY SEQUENC|
000029D0: 45 00 F1 31 F8 02 20 4A 53 52 20 50 4C 54 41 4C |E..1.. JSR PLTAL|
000029E0: 54 4B 20 3B 50 4C 4F 54 20 BC 4F 20 26 20 4B 45 |TK ;PLOT .O & KE|
000029F0: 59 00 00 32 FA 02 20 4A 4D 50 20 4D 50 4C 54 36 |Y..2.. JMP MPLT6|
00002A00: 00 1E 32 FC 02 4D 50 4C 54 35 20 4A 53 52 20 43 |..2..MPLT5 JSR C|
00002A10: 43 52 53 52 20 3B 28 32 20 52 4F 57 53 29 00 3B |CRSR ;(2 ROWS).;|
00002A20: 32 FE 02 4D 50 4C 54 36 20 4A 53 52 20 43 43 52 |2..MPLT6 JSR CCR|
00002A30: 53 52 20 3B 28 31 20 52 4F 57 29 00 52 32 00 03 |SR ;(1 ROW).R2..|
00002A40: 20 49 4E 43 20 4D 49 54 4D 3A 4C 44 59 20 4D 4E | INC MITM:LDY MN|
00002A50: 55 4D 00 6A 32 02 03 20 4C 44 41 20 4D 49 54 4D |UM.j2.. LDA MITM|
00002A60: 3A 43 4D 50 20 4D A4 50 2C 59 00 87 32 04 03 20 |:CMP M.P,Y..2.. |
00002A70: 42 43 43 20 4D 50 4C 54 32 3A 42 45 51 20 4D 50 |BCC MPLT2:BEQ MP|
00002A80: 4C 54 32 3A 52 54 53 00 8D 32 06 03 3B 00 B0 32 |LT2:RTS..2..;..2|
00002A90: 08 03 4D 45 4E 55 4B 45 59 20 B2 20 AC 20 20 3B |..MENUKEY . . ;|
00002AA0: 53 43 41 4E 20 4D 45 4E 55 9B 20 81 20 4B 45 59 |SCAN MENU. . KEY|
00002AB0: 00 D1 32 0A 03 20 4C 44 41 20 24 43 35 3A 43 4D |..2.. LDA $C5:CM|
00002AC0: 50 20 23 36 34 3A 42 4E 45 20 AC AA 33 3A 52 54 |P #64:BNE ..3:RT|
00002AD0: 53 00 F9 32 0C 03 20 4C 44 59 20 23 31 20 20 20 |S..2.. LDY #1 |
00002AE0: 20 20 20 3B 53 54 41 52 54 20 53 43 41 4E 20 41 | ;START SCAN A|
00002AF0: 54 20 4D 45 4E 55 20 23 31 00 0C 33 0E 03 4D 4B |T MENU #1..3..MK|
00002B00: 45 59 32 20 53 54 59 20 4D 4E 55 4D 00 31 33 10 |EY2 STY MNUM.13.|
00002B10: 03 20 43 50 59 20 4D A4 50 3A 42 45 51 20 AC AA |. CPY M.P:BEQ ..|
00002B20: 34 3A 42 43 53 20 4D 4B 45 59 37 20 3B 45 58 49 |4:BCS MKEY7 ;EXI|
00002B30: 54 00 52 33 12 03 20 4C 44 41 20 4D A4 50 2C 59 |T.R3.. LDA M.P,Y|
00002B40: 3A 42 45 51 20 4D 4B 45 59 35 20 3B 82 20 4D 45 |:BEQ MKEY5 ;. ME|
00002B50: 4E 55 00 67 33 14 03 20 4C 44 58 20 23 30 3A 53 |NU.g3.. LDX #0:S|
00002B60: 54 58 20 4D 49 54 4D 00 87 33 16 03 20 4A 53 52 |TX MITM..3.. JSR|
00002B70: 20 A1 54 59 50 45 3A 4C 44 41 20 86 46 3A 42 4E | .TYPE:LDA .F:BN|
00002B80: 45 20 4D 4B 45 59 35 00 A2 33 18 03 4D 4B 45 59 |E MKEY5..3..MKEY|
00002B90: 33 20 4A 53 52 20 A1 9B 3A 42 56 53 20 4D 4B 45 |3 JSR ..:BVS MKE|
00002BA0: 59 34 00 C4 33 1A 03 20 4C 44 58 20 4D 49 54 4D |Y4..3.. LDX MITM|
00002BB0: 3A 42 45 51 20 4D 4B 45 59 34 20 20 20 3B 82 20 |:BEQ MKEY4 ;. |
00002BC0: 49 54 45 4D 00 EA 33 1C 03 20 AF 20 23 24 33 46 |ITEM..3.. . #$3F|
00002BD0: 3A 43 4D 50 20 24 43 35 3A 42 45 51 20 4D 4B 45 |:CMP $C5:BEQ MKE|
00002BE0: 59 36 20 3B 46 4F 55 4E 44 21 00 06 34 1E 03 4D |Y6 ;FOUND!..4..M|
00002BF0: 4B 45 59 34 20 49 4E 43 20 4D 49 54 4D 3A 4C 44 |KEY4 INC MITM:LD|
00002C00: 59 20 4D 4E 55 4D 00 1E 34 20 03 20 4C 44 41 20 |Y MNUM..4 . LDA |
00002C10: 4D 49 54 4D 3A 43 4D 50 20 4D A4 50 2C 59 00 37 |MITM:CMP M.P,Y.7|
00002C20: 34 22 03 20 42 43 43 20 4D 4B 45 59 33 3A 42 45 |4". BCC MKEY3:BE|
00002C30: 51 20 4D 4B 45 59 33 00 58 34 24 03 4D 4B 45 59 |Q MKEY3.X4$.MKEY|
00002C40: 35 20 4C 44 59 20 4D 4E 55 4D 3A 49 4E 59 3A 42 |5 LDY MNUM:INY:B|
00002C50: 4E 45 20 4D 4B 45 59 32 00 7C 34 26 03 4D 4B 45 |NE MKEY2.|4&.MKE|
00002C60: 59 36 20 44 45 43 20 24 43 36 20 3B 44 45 88 45 |Y6 DEC $C6 ;DE.E|
00002C70: 20 46 52 4F 4D 20 42 55 46 46 45 52 00 99 34 28 | FROM BUFFER..4(|
00002C80: 03 20 4A 53 52 20 A1 54 59 50 45 20 20 3B 49 54 |. JSR .TYPE ;IT|
00002C90: 45 4D 20 86 4D 45 44 22 3F 00 BA 34 2A 03 20 4C |EM .MED"?..4*. L|
00002CA0: 44 41 20 86 46 3A 42 4E 45 20 4D 4B 45 59 37 20 |DA .F:BNE MKEY7 |
00002CB0: 3B 59 45 53 2C 20 45 58 49 54 00 D8 34 2C 03 20 |;YES, EXIT..4,. |
00002CC0: 52 54 53 20 3B 45 58 49 54 20 57 49 54 48 20 23 |RTS ;EXIT WITH #|
00002CD0: 4D 4E 20 26 20 23 4D 49 00 F5 34 2E 03 4D 4B 45 |MN & #MI..4..MKE|
00002CE0: 59 37 20 4A 53 52 20 4D 4E 55 4C 4C 20 3B A8 20 |Y7 JSR MNULL ;. |
00002CF0: 46 4F 55 4E 44 00 16 35 30 03 20 53 54 59 20 4D |FOUND..50. STY M|
00002D00: 49 54 4D 3A 52 54 53 20 20 20 3B B0 20 49 54 45 |ITM:RTS ;. ITE|
00002D10: 4D 20 86 4D 45 44 00 1C 35 32 03 3B 00 42 35 34 |M .MED..52.;.B54|
00002D20: 03 4D 45 4E 55 41 57 41 59 20 B2 20 AC 20 20 3B |.MENUAWAY . . ;|
00002D30: 8F 4F 56 45 20 4D 45 4E 55 20 26 20 48 45 41 44 |.OVE MENU & HEAD|
00002D40: 45 52 00 5E 35 36 03 20 4A 53 52 20 43 4C 4F 53 |ER.^56. JSR CLOS|
00002D50: 57 4E 44 57 20 3B A0 20 57 49 4E 44 4F 57 00 83 |WNDW ;. WINDOW..|
00002D60: 35 38 03 20 4C 44 41 20 48 53 3A 4C 44 58 20 48 |58. LDA HS:LDX H|
00002D70: 43 3A 4C 44 59 20 48 52 3A 42 49 54 20 48 54 20 |C:LDY HR:BIT HT |
00002D80: 3B 81 4D 00 A7 35 3A 03 48 4C 49 54 81 4D 20 B2 |;.M..5:.HLIT.M .|
00002D90: 20 AC 20 20 3B 43 48 4F 4F 53 45 20 81 4D 20 26 | . ;CHOOSE .M &|
00002DA0: 20 48 49 4C 49 54 45 00 C8 35 3C 03 20 42 50 4C | HILITE..5<. BPL|
00002DB0: 20 48 4C 49 54 54 45 58 54 20 3B 42 59 20 45 58 | HLITTEXT ;BY EX|
00002DC0: 43 48 41 4E 47 49 4E 47 00 E8 35 3E 03 20 42 56 |CHANGING..5>. BV|
00002DD0: 43 20 48 4C 49 54 49 4D 47 31 20 3B 43 4F 4C B0 |C HLITIMG1 ;COL.|
00002DE0: 20 4E 49 42 42 4C 45 53 00 0A 36 40 03 20 42 56 | NIBBLES..6@. BV|
00002DF0: 53 20 48 4C 49 54 49 4D 47 32 20 3B 4F 56 45 52 |S HLITIMG2 ;OVER|
00002E00: 20 C3 47 54 48 20 AB 20 48 57 00 1F 36 42 03 3B | .GTH . HW..6B.;|
00002E10: 43 45 4C 4C 20 C3 47 54 48 20 49 4E 20 2E 41 00 |CELL .GTH IN .A.|
00002E20: 30 36 44 03 48 4C 49 54 49 4D 47 31 20 B2 20 AC |06D.HLITIMG1 . .|
00002E30: 00 52 36 46 03 48 4C 49 54 54 45 58 54 20 53 54 |.R6F.HLITTEXT ST|
00002E40: 41 20 48 57 20 3B 48 49 4C 49 54 45 20 31 20 52 |A HW ;HILITE 1 R|
00002E50: 4F 57 00 67 36 48 03 48 4C 49 54 57 B0 44 20 4A |OW.g6H.HLITW.D J|
00002E60: 53 52 20 56 43 B9 4E 00 7A 36 4A 03 48 4C 49 54 |SR VC.N.z6J.HLIT|
00002E70: 57 B0 32 20 4C 44 59 20 23 30 00 92 36 4C 03 48 |W.2 LDY #0..6L.H|
00002E80: 4C 49 54 57 B0 33 20 4C 44 41 20 28 24 46 37 29 |LITW.3 LDA ($F7)|
00002E90: 2C 59 00 AF 36 4E 03 20 41 53 4C 3A 41 53 4C 3A |,Y..6N. ASL:ASL:|
00002EA0: 41 53 4C 3A 41 53 4C 3A 53 54 41 20 24 41 46 00 |ASL:ASL:STA $AF.|
00002EB0: D0 36 50 03 20 4C 44 41 20 28 24 46 37 29 2C 59 |.6P. LDA ($F7),Y|
00002EC0: 3A 4C 53 52 3A 4C 53 52 3A 4C 53 52 3A 4C 53 52 |:LSR:LSR:LSR:LSR|
00002ED0: 00 E8 36 52 03 20 B0 41 20 24 41 46 3A 53 54 41 |..6R. .A $AF:STA|
00002EE0: 20 28 24 46 37 29 2C 59 00 08 37 54 03 20 49 4E | ($F7),Y..7T. IN|
00002EF0: 59 3A 43 50 59 20 48 57 3A 42 43 43 20 48 4C 49 |Y:CPY HW:BCC HLI|
00002F00: 54 57 B0 33 3A 52 54 53 00 0E 37 56 03 3B 00 31 |TW.3:RTS..7V.;.1|
00002F10: 37 58 03 48 4C 49 54 49 4D 47 32 20 53 54 41 20 |7X.HLITIMG2 STA |
00002F20: 48 57 20 3B 48 49 4C 49 54 45 20 32 20 52 4F 57 |HW ;HILITE 2 ROW|
00002F30: 53 00 50 37 5A 03 48 4C 49 54 41 52 45 41 20 4A |S.P7Z.HLITAREA J|
00002F40: 53 52 20 56 43 B9 4E 20 3B 41 52 45 41 20 58 32 |SR VC.N ;AREA X2|
00002F50: 00 68 37 5C 03 20 4C 44 58 20 23 30 3A 4A 53 52 |.h7\. LDX #0:JSR|
00002F60: 20 48 4C 49 54 57 B0 32 00 8F 37 5E 03 20 4A 53 | HLITW.2..7^. JS|
00002F70: 52 20 41 44 4C 4E 46 37 3A 49 4E 58 3A 43 50 58 |R ADLNF7:INX:CPX|
00002F80: 20 23 32 3A 42 43 43 20 AC AB 39 3A 52 54 53 00 | #2:BCC ..9:RTS.|
00002F90: 95 37 60 03 3B 00 B5 37 62 03 4D 45 4E 55 43 54 |.7`.;..7b.MENUCT|
00002FA0: 52 4C 20 B2 20 AC 20 3B 49 54 45 4D 20 53 45 4C |RL . . ;ITEM SEL|
00002FB0: 45 43 54 49 91 00 D7 37 64 03 20 4A 53 52 20 52 |ECTI...7d. JSR R|
00002FC0: 4D B9 30 59 20 3B 53 50 52 49 54 45 30 20 41 54 |M.0Y ;SPRITE0 AT|
00002FD0: 20 A4 50 20 52 4F 57 00 F2 37 66 03 20 4C 44 59 | .P ROW..7f. LDY|
00002FE0: 20 54 52 3A 53 54 59 20 52 52 20 3B A4 50 20 52 | TR:STY RR ;.P R|
00002FF0: 4F 57 00 11 38 68 03 20 4C 44 41 20 23 31 3A 53 |OW..8h. LDA #1:S|
00003000: 54 41 20 4D 49 54 4D 20 3B 31 53 54 20 49 54 45 |TA MITM ;1ST ITE|
00003010: 4D 00 34 38 6A 03 4D 43 54 52 32 20 4C 44 58 20 |M.48j.MCTR2 LDX |
00003020: 57 44 3A 53 54 58 20 48 57 20 3B 53 45 54 20 57 |WD:STX HW ;SET W|
00003030: 49 44 54 48 00 53 38 6C 03 20 4C 44 58 20 4C 43 |IDTH.S8l. LDX LC|
00003040: 3A 53 54 58 20 43 43 20 3B 53 45 54 20 43 4F 4C |:STX CC ;SET COL|
00003050: 55 4D 4E 00 71 38 6E 03 20 4A 53 52 20 A1 52 4F |UMN.q8n. JSR .RO|
00003060: 57 3A 53 54 59 20 52 52 20 3B 53 45 54 20 52 4F |W:STY RR ;SET RO|
00003070: 57 00 8E 38 70 03 20 4A 53 52 20 A1 9B 3A 42 56 |W..8p. JSR ..:BV|
00003080: 43 20 4D 43 54 52 33 3A 53 54 58 20 48 57 00 B4 |C MCTR3:STX HW..|
00003090: 38 72 03 20 AF 20 23 24 33 46 3A 43 4C 43 3A 41 |8r. . #$3F:CLC:A|
000030A0: 44 43 20 4C 43 3A 53 54 41 20 43 43 20 3B 53 45 |DC LC:STA CC ;SE|
000030B0: 54 20 43 43 00 D6 38 74 03 4D 43 54 52 33 20 4A |T CC..8t.MCTR3 J|
000030C0: 53 52 20 43 48 45 43 4B 42 4F 58 3A 42 43 53 20 |SR CHECKBOX:BCS |
000030D0: 4D 43 54 52 36 42 00 FC 38 76 03 20 4A 53 52 20 |MCTR6B..8v. JSR |
000030E0: 52 4D 42 54 4E 53 3A 42 45 51 20 4D 45 58 49 54 |RMBTNS:BEQ MEXIT|
000030F0: 20 3B 8B 20 52 45 4C 45 41 53 45 44 00 21 39 78 | ;. RELEASED.!9x|
00003100: 03 20 42 49 54 20 24 41 35 3A 42 56 43 20 4D 43 |. BIT $A5:BVC MC|
00003110: 54 52 34 20 3B 8B 20 A8 20 49 4D 41 47 45 24 AB |TR4 ;. . IMAGE$.|
00003120: 32 00 40 39 7A 03 20 43 50 59 20 52 52 3A 42 45 |2.@9z. CPY RR:BE|
00003130: 51 20 AC AA 31 31 3A 42 43 43 20 4D 43 54 52 39 |Q ..11:BCC MCTR9|
00003140: 00 62 39 7C 03 20 44 45 59 3A 43 50 59 20 52 52 |.b9|. DEY:CPY RR|
00003150: 3A 42 45 51 20 AC AA 34 3A 42 43 53 20 4D 43 54 |:BEQ ..4:BCS MCT|
00003160: 52 39 00 7C 39 7E 03 20 43 50 58 20 43 43 3A 42 |R9.|9~. CPX CC:B|
00003170: 43 43 20 4D 43 54 52 39 3A 54 58 41 00 A3 39 80 |CC MCTR9:TXA..9.|
00003180: 03 20 53 42 43 20 43 43 3A 43 4D 50 20 48 57 3A |. SBC CC:CMP HW:|
00003190: 42 43 53 20 4D 43 54 52 39 3A 42 43 43 20 4D 43 |BCS MCTR9:BCC MC|
000031A0: 54 52 35 00 BE 39 82 03 4D 43 54 52 34 20 43 50 |TR5..9..MCTR4 CP|
000031B0: 59 20 52 52 3A 42 4E 45 20 4D 43 54 52 39 00 E0 |Y RR:BNE MCTR9..|
000031C0: 39 84 03 4D 43 54 52 35 20 4A 53 52 20 48 49 47 |9..MCTR5 JSR HIG|
000031D0: 48 4C 49 54 45 20 3B 4D 45 4E 55 20 49 54 45 4D |HLITE ;MENU ITEM|
000031E0: 00 07 3A 86 03 4D 43 54 52 36 20 4A 53 52 20 43 |..:..MCTR6 JSR C|
000031F0: 48 45 43 4B 42 4F 58 20 3B 4D 4F 55 53 45 20 49 |HECKBOX ;MOUSE I|
00003200: 4E 20 42 4F 58 22 3F 00 2C 3A 88 03 4D 43 54 52 |N BOX"?.,:..MCTR|
00003210: 36 42 20 42 43 53 20 4D 45 58 49 54 20 3B 45 58 |6B BCS MEXIT ;EX|
00003220: 49 54 20 8B 20 4F 55 54 53 49 44 45 00 52 3A 8A |IT . OUTSIDE.R:.|
00003230: 03 20 4A 53 52 20 52 4D 42 54 4E 53 3A 42 45 51 |. JSR RMBTNS:BEQ|
00003240: 20 46 4C 41 53 48 20 3B 8B 20 52 45 4C 45 41 53 | FLASH ;. RELEAS|
00003250: 45 44 00 77 3A 8C 03 20 42 49 54 20 24 41 35 3A |ED.w:.. BIT $A5:|
00003260: 42 56 43 20 4D 43 54 52 37 20 3B 8B 20 A8 20 49 |BVC MCTR7 ;. . I|
00003270: 4D 41 47 45 24 AB 32 00 96 3A 8E 03 20 43 50 59 |MAGE$.2..:.. CPY|
00003280: 20 52 52 3A 42 45 51 20 AC AA 31 31 3A 42 43 43 | RR:BEQ ..11:BCC|
00003290: 20 4D 43 54 52 38 00 B8 3A 90 03 20 44 45 59 3A | MCTR8..:.. DEY:|
000032A0: 43 50 59 20 52 52 3A 42 45 51 20 AC AA 34 3A 42 |CPY RR:BEQ ..4:B|
000032B0: 43 53 20 4D 43 54 52 38 00 D2 3A 92 03 20 43 50 |CS MCTR8..:.. CP|
000032C0: 58 20 43 43 3A 42 43 43 20 4D 43 54 52 38 3A 54 |X CC:BCC MCTR8:T|
000032D0: 58 41 00 F9 3A 94 03 20 53 42 43 20 43 43 3A 43 |XA..:.. SBC CC:C|
000032E0: 4D 50 20 48 57 3A 42 43 53 20 4D 43 54 52 38 3A |MP HW:BCS MCTR8:|
000032F0: 42 43 43 20 4D 43 54 52 36 00 14 3B 96 03 4D 43 |BCC MCTR6..;..MC|
00003300: 54 52 37 20 43 50 59 20 52 52 3A 42 45 51 20 4D |TR7 CPY RR:BEQ M|
00003310: 43 54 52 36 00 3C 3B 98 03 4D 43 54 52 38 20 50 |CTR6.<;..MCTR8 P|
00003320: 48 50 3A 4A 53 52 20 48 49 47 48 4C 49 54 45 3A |HP:JSR HIGHLITE:|
00003330: 50 4C 50 3B 4F 4C 44 20 49 54 45 4D 00 59 3B 9A |PLP;OLD ITEM.Y;.|
00003340: 03 4D 43 54 52 39 20 42 43 53 20 AC AA 31 30 20 |.MCTR9 BCS ..10 |
00003350: 3B A4 20 82 20 49 54 45 4D 00 77 3B 9C 03 20 44 |;. . ITEM.w;.. D|
00003360: 45 43 20 4D 49 54 4D 20 20 3B 50 52 45 56 49 4F |EC MITM ;PREVIO|
00003370: 55 53 20 49 54 45 4D 00 8D 3B 9E 03 20 4C 44 41 |US ITEM..;.. LDA|
00003380: 20 4D 49 54 4D 3A 42 4E 45 20 AC AA 35 00 AD 3B | MITM:BNE ..5..;|
00003390: A0 03 20 49 4E 43 20 4D 49 54 4D 3A 4A 4D 50 20 |.. INC MITM:JMP |
000033A0: 4D 43 54 52 32 20 3B 82 20 49 54 45 4D 00 B3 3B |MCTR2 ;. ITEM..;|
000033B0: A2 03 3B 00 D8 3B A4 03 4D 45 58 49 54 20 4C 44 |..;..;..MEXIT LD|
000033C0: 58 20 23 30 3A 53 54 58 20 4D 49 54 4D 3A 53 54 |X #0:STX MITM:ST|
000033D0: 58 20 4D 42 3A 52 54 53 00 DE 3B A6 03 3B 00 FD |X MB:RTS..;..;..|
000033E0: 3B A8 03 46 4C 41 53 48 20 B2 20 AC 20 3B 8B 20 |;..FLASH . . ;. |
000033F0: 49 54 45 4D 20 53 45 4C 45 43 54 45 44 00 1D 3C |ITEM SELECTED..<|
00003400: AA 03 20 4A 53 52 20 A1 54 59 50 45 3A 4C 44 41 |.. JSR .TYPE:LDA|
00003410: 20 86 46 3A 42 4E 45 20 4D 45 58 49 54 00 33 3C | .F:BNE MEXIT.3<|
00003420: AC 03 46 4C 41 53 48 38 20 4A 53 52 20 46 4C 41 |..FLASH8 JSR FLA|
00003430: 53 48 34 00 49 3C AE 03 46 4C 41 53 48 34 20 4A |SH4.I<..FLASH4 J|
00003440: 53 52 20 46 4C 41 53 48 32 00 5F 3C B0 03 46 4C |SR FLASH2._<..FL|
00003450: 41 53 48 32 20 4A 53 52 20 46 4C 41 53 48 31 00 |ASH2 JSR FLASH1.|
00003460: 80 3C B2 03 46 4C 41 53 48 31 20 B2 20 AC 20 3B |.<..FLASH1 . . ;|
00003470: 44 45 4C 41 59 45 44 20 48 49 47 48 4C 49 54 45 |DELAYED HIGHLITE|
00003480: 00 A4 3C B4 03 20 4C 44 59 20 23 34 38 3A 4A 53 |..<.. LDY #48:JS|
00003490: 52 20 44 45 4C 41 59 20 3B 34 38 20 4D 49 4C 4C |R DELAY ;48 MILL|
000034A0: 49 53 45 43 00 C6 3C B6 03 48 49 47 48 4C 49 54 |ISEC..<..HIGHLIT|
000034B0: 45 20 B2 20 AC 20 20 3B 28 B0 20 55 4E 48 49 47 |E . . ;(. UNHIG|
000034C0: 48 4C 49 54 45 29 00 E8 3C B8 03 20 4A 53 52 20 |HLITE)..<.. JSR |
000034D0: A1 54 59 50 45 3A 4C 44 41 20 86 46 3A 42 45 51 |.TYPE:LDA .F:BEQ|
000034E0: 20 AC AA 33 3A 52 54 53 00 0A 3D BA 03 20 4C 44 | ..3:RTS..=.. LD|
000034F0: 41 20 48 57 3A 4C 44 58 20 43 43 3A 4C 44 59 20 |A HW:LDX CC:LDY |
00003500: 52 52 3A 42 49 54 20 24 41 35 00 2F 3D BC 03 20 |RR:BIT $A5./=.. |
00003510: 4A 4D 50 20 48 4C 49 54 81 4D 20 3B 48 4C 49 54 |JMP HLIT.M ;HLIT|
00003520: 20 54 45 58 54 24 20 B0 20 49 4D 41 47 45 24 00 | TEXT$ . IMAGE$.|
00003530: 35 3D BE 03 3B 00 59 3D C0 03 44 45 4C 41 59 20 |5=..;.Y=..DELAY |
00003540: B2 20 AC 20 3B 2E 59 20 B2 20 4D 49 4C 4C 49 53 |. . ;.Y . MILLIS|
00003550: 45 43 20 20 44 45 4C 41 59 00 73 3D C2 03 20 4C |EC DELAY.s=.. L|
00003560: 44 58 20 23 24 42 38 3A 44 45 58 3A 42 4E 45 20 |DX #$B8:DEX:BNE |
00003570: AC AB 31 00 88 3D C4 03 20 44 45 59 3A 42 4E 45 |..1..=.. DEY:BNE|
00003580: 20 AC AB 36 3A 52 54 53 00 8E 3D C6 03 3B 00 B2 | ..6:RTS..=..;..|
00003590: 3D C8 03 43 48 45 43 4B 42 4F 58 20 B2 20 AC 20 |=..CHECKBOX . . |
000035A0: 3B 43 48 45 43 4B 20 4D 4F 55 53 45 20 43 4F B0 |;CHECK MOUSE CO.|
000035B0: 44 53 00 D6 3D CA 03 20 4C 44 59 20 23 31 36 3A |DS..=.. LDY #16:|
000035C0: 4A 53 52 20 44 45 4C 41 59 20 3B 31 36 20 4D 49 |JSR DELAY ;16 MI|
000035D0: 4C 4C 49 53 45 43 00 F4 3D CC 03 20 4A 53 52 20 |LLISEC..=.. JSR |
000035E0: 52 44 4D 4F 55 53 45 20 3B 4D 4F 55 53 45 20 43 |RDMOUSE ;MOUSE C|
000035F0: 4F B0 44 53 00 15 3E CE 03 20 4A 53 52 20 4D 43 |O.DS..>.. JSR MC|
00003600: 4D 58 59 20 3B 43 4F 4C 4D 20 26 20 52 4F 57 20 |MXY ;COLM & ROW |
00003610: 43 4F B0 44 53 00 3C 3E D0 03 20 43 50 58 20 4C |CO.DS.<>.. CPX L|
00003620: 43 3A 42 43 43 20 4C 49 4D 49 54 3A 54 58 41 20 |C:BCC LIMIT:TXA |
00003630: 3B 4F 55 54 53 49 44 45 20 42 4F 58 00 59 3E D2 |;OUTSIDE BOX.Y>.|
00003640: 03 20 53 42 43 20 4C 43 3A 43 4D 50 20 57 44 3A |. SBC LC:CMP WD:|
00003650: 42 43 53 20 4C 49 4D 49 54 00 73 3E D4 03 20 43 |BCS LIMIT.s>.. C|
00003660: 50 59 20 54 52 3A 42 43 43 20 4C 49 4D 49 54 3A |PY TR:BCC LIMIT:|
00003670: 54 59 41 00 90 3E D6 03 20 53 42 43 20 54 52 3A |TYA..>.. SBC TR:|
00003680: 43 4D 50 20 44 50 3A 42 43 53 20 4C 49 4D 49 54 |CMP DP:BCS LIMIT|
00003690: 00 B2 3E D8 03 20 43 4C 43 3A 52 54 53 20 3B 20 |..>.. CLC:RTS ; |
000036A0: 4F 4B 21 20 57 49 54 48 49 4E 20 4D 45 4E 55 42 |OK! WITHIN MENUB|
000036B0: 4F 58 00 D5 3E DA 03 4C 49 4D 49 54 20 53 45 43 |OX..>..LIMIT SEC|
000036C0: 3A 52 54 53 20 3B 4F 55 54 53 49 44 45 20 4D 45 |:RTS ;OUTSIDE ME|
000036D0: 4E 55 42 4F 58 00 DB 3E DC 03 3B 00 E1 3E DE 03 |NUBOX..>..;..>..|
000036E0: 3B 00 E7 3E E0 03 3B 00 04 3F E2 03 3B AC AC AC |;..>..;..?..;...|
000036F0: 20 57 49 4E 44 4F 57 20 52 4F 55 54 49 4E 45 53 | WINDOW ROUTINES|
00003700: 20 AC AC AC 00 0A 3F E4 03 3B 00 10 3F E6 03 3B | .....?..;..?..;|
00003710: 00 28 3F E8 03 9F 57 4E 44 57 20 B2 20 AC 20 3B |.(?...WNDW . . ;|
00003720: 9F 20 57 49 4E 44 4F 57 00 47 3F EA 03 20 4A 53 |. WINDOW.G?.. JS|
00003730: 52 20 56 49 45 57 50 B0 54 20 3B 96 49 4E 45 20 |R VIEWP.T ;.INE |
00003740: 56 49 45 57 50 B0 54 00 6C 3F EC 03 20 4A 53 52 |VIEWP.T.l?.. JSR|
00003750: 20 56 57 49 50 45 20 20 20 3B 43 4C 45 41 52 20 | VWIPE ;CLEAR |
00003760: 42 49 54 4D 41 50 20 42 4D 41 50 30 00 8E 3F EE |BITMAP BMAP0..?.|
00003770: 03 20 4A 53 52 20 56 43 4F 43 4D 45 4D 20 3B 43 |. JSR VCOCMEM ;C|
00003780: 4F 4C B0 20 43 4D 45 4D 30 20 41 52 45 41 00 AE |OL. CMEM0 AREA..|
00003790: 3F F0 03 20 4A 53 52 20 53 41 56 42 50 20 20 20 |?.. JSR SAVBP |
000037A0: 3B 94 20 42 55 46 46 45 52 20 50 4E 54 52 00 D0 |;. BUFFER PNTR..|
000037B0: 3F F2 03 20 4A 53 52 20 56 53 57 43 4D 45 4D 20 |?.. JSR VSWCMEM |
000037C0: 3B 53 57 41 50 20 43 4F 4C B0 20 4D 45 4D B0 59 |;SWAP COL. MEM.Y|
000037D0: 00 F2 3F F4 03 20 4A 53 52 20 56 58 46 45 52 20 |..?.. JSR VXFER |
000037E0: 20 20 3B 53 57 41 50 20 42 49 54 4D 41 50 20 4F | ;SWAP BITMAP O|
000037F0: 55 54 00 18 40 F6 03 20 4A 4D 50 20 53 45 54 42 |UT..@.. JMP SETB|
00003800: 50 20 20 20 3B 41 44 56 41 4E 43 45 20 42 55 46 |P ;ADVANCE BUF|
00003810: 46 45 52 20 50 4E 54 52 00 1E 40 F8 03 3B 00 39 |FER PNTR..@..;.9|
00003820: 40 FA 03 43 4C 4F 53 57 4E 44 57 20 B2 20 AC 20 |@..CLOSWNDW . . |
00003830: 3B A0 20 57 49 4E 44 4F 57 00 58 40 FC 03 20 4A |;. WINDOW.X@.. J|
00003840: 53 52 20 56 49 45 57 50 B0 54 20 3B 96 49 4E 45 |SR VIEWP.T ;.INE|
00003850: 20 56 49 45 57 50 B0 54 00 78 40 FE 03 20 4A 53 | VIEWP.T.x@.. JS|
00003860: 52 20 4C 4F 44 42 50 20 20 20 3B 50 55 54 20 42 |R LODBP ;PUT B|
00003870: 41 43 4B 20 42 50 54 52 00 9C 40 00 04 20 4A 53 |ACK BPTR..@.. JS|
00003880: 52 20 56 58 46 45 52 20 20 20 3B 53 57 41 50 20 |R VXFER ;SWAP |
00003890: 42 49 54 4D 41 50 20 42 4D 41 50 30 00 BE 40 02 |BITMAP BMAP0..@.|
000038A0: 04 20 4A 4D 50 20 56 53 57 43 4D 45 4D 20 3B 53 |. JMP VSWCMEM ;S|
000038B0: 57 41 50 20 43 4D 45 4D 30 20 43 4D 45 4D 00 C4 |WAP CMEM0 CMEM..|
000038C0: 40 04 04 3B 00 DE 40 06 04 3B 57 49 4E 44 4F 57 |@..;..@..;WINDOW|
000038D0: 20 94 20 41 52 45 41 20 42 55 46 46 45 52 00 F7 | . AREA BUFFER..|
000038E0: 40 08 04 3B 50 4F B5 45 52 20 22 42 50 54 52 22 |@..;PO.ER "BPTR"|
000038F0: 20 50 4F B5 53 20 A4 00 12 41 0A 04 3B 42 49 54 | PO.S ...A..;BIT|
00003900: 4D 41 50 20 94 20 41 52 45 41 20 AB 20 42 4D 41 |MAP . AREA . BMA|
00003910: 50 30 00 22 41 0C 04 42 50 54 52 20 2E 57 B0 44 |P0."A..BPTR .W.D|
00003920: 20 30 00 37 41 0E 04 42 50 4C 4F 20 2E 42 59 54 | 0.7A..BPLO .BYT|
00003930: 45 20 30 30 2C 30 30 00 4C 41 10 04 42 50 48 49 |E 00,00.LA..BPHI|
00003940: 20 2E 42 59 54 45 20 30 30 2C 30 30 00 52 41 12 | .BYTE 00,00.RA.|
00003950: 04 3B 00 68 41 14 04 A1 42 50 20 B2 20 AC 20 3B |.;.hA...BP . . ;|
00003960: A1 20 22 42 50 54 52 22 00 81 41 16 04 20 4C 44 |. "BPTR"..A.. LD|
00003970: 41 20 42 50 54 52 3A 4C 44 58 20 42 50 54 52 AA |A BPTR:LDX BPTR.|
00003980: 31 00 9A 41 18 04 20 53 54 41 20 24 41 37 3A 53 |1..A.. STA $A7:S|
00003990: 54 58 20 24 41 38 3A 52 54 53 00 B6 41 1A 04 53 |TX $A8:RTS..A..S|
000039A0: 41 56 42 50 20 4A 53 52 20 A1 42 50 20 3B 94 20 |AVBP JSR .BP ;. |
000039B0: 22 42 50 54 52 22 00 D3 41 1C 04 20 4C 44 59 20 |"BPTR"..A.. LDY |
000039C0: 4D 4E 55 4D 3A 42 45 51 20 AC AA 34 3A 4C 44 59 |MNUM:BEQ ..4:LDY|
000039D0: 20 23 31 00 F6 41 1E 04 20 53 54 41 20 42 50 4C | #1..A.. STA BPL|
000039E0: 4F 2C 59 3A 54 58 41 3A 53 54 41 20 42 50 48 49 |O,Y:TXA:STA BPHI|
000039F0: 2C 59 3A 52 54 53 00 11 42 20 04 4C 4F 44 42 50 |,Y:RTS..B .LODBP|
00003A00: 20 B2 20 AC 20 3B 93 20 94 44 20 22 42 50 54 52 | . . ;. .D "BPTR|
00003A10: 22 00 2E 42 22 04 20 4C 44 59 20 4D 4E 55 4D 3A |"..B". LDY MNUM:|
00003A20: 42 45 51 20 AC AA 34 3A 4C 44 59 20 23 31 00 53 |BEQ ..4:LDY #1.S|
00003A30: 42 24 04 20 4C 44 41 20 42 50 4C 4F 2C 59 3A 4C |B$. LDA BPLO,Y:L|
00003A40: 44 58 20 42 50 48 49 2C 59 3A 42 4E 45 20 50 55 |DX BPHI,Y:BNE PU|
00003A50: 54 42 50 00 6D 42 26 04 53 45 54 42 50 20 B2 20 |TBP.mB&.SETBP . |
00003A60: AC 20 3B 53 45 54 20 22 42 50 54 52 22 00 8C 42 |. ;SET "BPTR"..B|
00003A70: 28 04 20 4C 44 41 20 24 41 37 3A 4C 44 58 20 24 |(. LDA $A7:LDX $|
00003A80: 41 38 3A 42 4E 45 20 50 55 54 42 50 00 A5 42 2A |A8:BNE PUTBP..B*|
00003A90: 04 A2 42 50 20 B2 20 AC 20 3B 49 4E 49 54 20 22 |..BP . . ;INIT "|
00003AA0: 42 50 54 52 22 00 C2 42 2C 04 20 4C 44 41 20 23 |BPTR"..B,. LDA #|
00003AB0: B3 42 4D 41 50 30 3A 4C 44 58 20 23 B1 42 4D 41 |.BMAP0:LDX #.BMA|
00003AC0: 50 30 00 E4 42 2E 04 50 55 54 42 50 20 53 54 41 |P0..B..PUTBP STA|
00003AD0: 20 42 50 54 52 3A 53 54 58 20 42 50 54 52 AA 31 | BPTR:STX BPTR.1|
00003AE0: 3A 52 54 53 00 EA 42 30 04 3B 00 0C 43 32 04 A1 |:RTS..B0.;..C2..|
00003AF0: 43 42 50 20 B2 20 AC 20 3B 43 4F 4D 50 55 54 45 |CBP . . ;COMPUTE|
00003B00: 20 22 43 4D 45 4D 20 42 50 54 52 22 00 2C 43 34 | "CMEM BPTR".,C4|
00003B10: 04 20 4C 44 41 20 42 50 54 52 AA 31 3A 53 45 43 |. LDA BPTR.1:SEC|
00003B20: 3A 53 42 43 20 23 B1 42 4D 41 50 30 00 51 43 36 |:SBC #.BMAP0.QC6|
00003B30: 04 20 53 54 41 20 24 46 41 3A 4C 44 41 20 42 50 |. STA $FA:LDA BP|
00003B40: 54 52 3A 4C 53 52 20 24 46 41 3A 52 B0 20 3B AD |TR:LSR $FA:R. ;.|
00003B50: 38 00 74 43 38 04 20 4C 53 52 20 24 46 41 3A 52 |8.tC8. LSR $FA:R|
00003B60: B0 3A 4C 53 52 20 24 46 41 3A 52 B0 3A 53 54 41 |.:LSR $FA:R.:STA|
00003B70: 20 24 46 39 00 99 43 3A 04 20 43 4C 43 3A 4C 44 | $F9..C:. CLC:LD|
00003B80: 41 20 24 46 41 3A 41 44 43 20 23 B1 43 4D 45 4D |A $FA:ADC #.CMEM|
00003B90: 30 3A 53 54 41 20 24 46 41 00 A2 43 3C 04 20 52 |0:STA $FA..C<. R|
00003BA0: 54 53 00 A8 43 3E 04 3B 00 AE 43 40 04 3B 00 CC |TS..C>.;..C@.;..|
00003BB0: 43 42 04 3B AC AC AC 20 56 49 45 57 50 B0 54 20 |CB.;... VIEWP.T |
00003BC0: 52 4F 55 54 49 4E 45 53 20 AC AC AC 00 D2 43 44 |ROUTINES .....CD|
00003BD0: 04 3B 00 ED 43 46 04 3B 42 59 54 45 AB 41 4C 49 |.;..CF.;BYTE.ALI|
00003BE0: 47 4E 45 44 20 56 49 45 57 50 B0 54 53 00 10 44 |GNED VIEWP.TS..D|
00003BF0: 48 04 56 50 58 20 2E 57 B0 44 20 30 20 3B 50 49 |H.VPX .W.D 0 ;PI|
00003C00: 58 45 4C 20 42 59 54 45 20 41 44 44 52 45 53 53 |XEL BYTE ADDRESS|
00003C10: 00 16 44 4A 04 3B 00 36 44 4C 04 56 49 45 57 50 |..DJ.;.6DL.VIEWP|
00003C20: B0 54 20 B2 20 AC 20 3B 56 49 45 57 50 B0 54 20 |.T . . ;VIEWP.T |
00003C30: 50 41 52 41 4D 53 00 53 44 4E 04 20 4C 44 59 20 |PARAMS.SDN. LDY |
00003C40: 4D 4E 55 4D 20 20 20 3B 4D 45 4E 55 20 4E 55 4D |MNUM ;MENU NUM|
00003C50: 42 45 52 00 77 44 50 04 20 4C 44 41 20 4D 4E 4C |BER.wDP. LDA MNL|
00003C60: 43 2C 59 20 3A 53 54 41 20 4C 43 20 3B 4C 45 46 |C,Y :STA LC ;LEF|
00003C70: 54 20 43 B0 4E 45 52 00 97 44 52 04 20 4C 44 41 |T C.NER..DR. LDA|
00003C80: 20 4D 4E 54 52 2C 59 20 3A 53 54 41 20 54 52 20 | MNTR,Y :STA TR |
00003C90: 3B A4 50 20 52 4F 57 00 B6 44 54 04 20 4C 44 41 |;.P ROW..DT. LDA|
00003CA0: 20 4D 4E 57 44 2C 59 20 3A 53 54 41 20 57 44 20 | MNWD,Y :STA WD |
00003CB0: 3B 57 49 44 54 48 00 D5 44 56 04 20 4C 44 41 20 |;WIDTH..DV. LDA |
00003CC0: 4D 4E 44 50 2C 59 20 3A 53 54 41 20 44 50 20 3B |MNDP,Y :STA DP ;|
00003CD0: 44 45 50 54 48 00 F9 44 58 04 3B 53 45 54 20 55 |DEPTH..DX.;SET U|
00003CE0: 50 20 43 4F B0 44 49 4E 41 54 45 20 50 49 58 45 |P CO.DINATE PIXE|
00003CF0: 4C 20 41 44 44 52 45 53 53 00 1E 45 5A 04 20 43 |L ADDRESS..EZ. C|
00003D00: 4C 43 3A 4C 44 41 20 4C 43 3A 41 44 43 20 57 44 |LC:LDA LC:ADC WD|
00003D10: 3A 53 54 41 20 43 45 20 3B 43 4F 4C 20 80 00 42 |:STA CE ;COL ..B|
00003D20: 45 5C 04 20 4A 53 52 20 48 43 52 53 52 3A 4C 44 |E\. JSR HCRSR:LD|
00003D30: 58 20 24 46 39 20 20 3B 48 4F 4D 45 20 43 55 52 |X $F9 ;HOME CUR|
00003D40: 53 B0 00 5D 45 5E 04 20 53 54 58 20 56 50 58 3A |S..]E^. STX VPX:|
00003D50: 53 54 41 20 56 50 58 AA 31 3A 52 54 53 00 63 45 |STA VPX.1:RTS.cE|
00003D60: 60 04 3B 00 85 45 62 04 56 41 44 44 52 20 B2 20 |`.;..Eb.VADDR . |
00003D70: AC 20 3B A4 50 20 4C 45 46 54 20 43 B0 4E 45 52 |. ;.P LEFT C.NER|
00003D80: 20 42 59 54 45 00 9C 45 64 04 20 4C 44 41 20 56 | BYTE..Ed. LDA V|
00003D90: 50 58 3A 4C 44 58 20 56 50 58 AA 31 00 B1 45 66 |PX:LDX VPX.1..Ef|
00003DA0: 04 20 53 54 41 20 24 41 37 3A 53 54 58 20 24 41 |. STA $A7:STX $A|
00003DB0: 38 00 D6 45 68 04 56 52 41 4D 20 B2 20 AC 20 3B |8..Eh.VRAM . . ;|
00003DC0: 44 49 53 41 42 4C 45 20 B5 45 52 52 55 50 54 53 |DISABLE .ERRUPTS|
00003DD0: 20 26 20 52 4F 4D 00 F2 45 6A 04 20 50 48 41 3A | & ROM..Ej. PHA:|
00003DE0: 4C 44 41 20 23 24 37 46 3A 53 54 41 20 24 44 43 |LDA #$7F:STA $DC|
00003DF0: 30 44 00 10 46 6C 04 20 4C 44 41 20 23 24 33 34 |0D..Fl. LDA #$34|
00003E00: 3A 53 54 41 20 24 30 31 3A 50 4C 41 3A 52 54 53 |:STA $01:PLA:RTS|
00003E10: 00 16 46 6E 04 3B 00 30 46 70 04 3B B9 49 A4 4E |..Fn.;.0Fp.;.I.N|
00003E20: 20 43 4F 4C B0 20 4D 45 4D 20 50 4F B5 45 52 53 | COL. MEM PO.ERS|
00003E30: 00 51 46 72 04 3B 20 20 46 37 AD 46 38 20 20 50 |.QFr.; F7.F8 P|
00003E40: 4E 54 52 20 A4 20 43 4D 45 4D 31 20 20 41 52 45 |NTR . CMEM1 ARE|
00003E50: 41 00 70 46 74 04 56 43 48 4F 4D 45 20 4C 44 58 |A.pFt.VCHOME LDX|
00003E60: 20 4C 43 3A 4C 44 59 20 54 52 20 3B 48 4F 4D 45 | LC:LDY TR ;HOME|
00003E70: 00 8D 46 76 04 56 43 B9 4E 20 4C 44 41 20 23 30 |..Fv.VC.N LDA #0|
00003E80: 20 20 20 3B 53 45 54 20 B9 49 54 49 91 00 AE 46 | ;SET .ITI...F|
00003E90: 78 04 20 53 54 41 20 24 46 37 3A 53 54 41 20 24 |x. STA $F7:STA $|
00003EA0: 46 38 3A 54 59 41 3A 42 45 51 20 AC AA 38 00 CA |F8:TYA:BEQ ..8..|
00003EB0: 46 7A 04 20 4A 53 52 20 41 44 4C 4E 46 37 3A 44 |Fz. JSR ADLNF7:D|
00003EC0: 45 59 3A 42 4E 45 20 AC AB 34 00 EB 46 7C 04 20 |EY:BNE ..4..F|. |
00003ED0: 54 58 41 3A 43 4C 43 3A 41 44 43 20 24 46 37 3A |TXA:CLC:ADC $F7:|
00003EE0: 53 54 41 20 24 46 37 3A 54 41 58 00 03 47 7E 04 |STA $F7:TAX..G~.|
00003EF0: 20 4C 44 41 20 23 30 3A 41 44 43 20 24 46 38 3A | LDA #0:ADC $F8:|
00003F00: 50 48 41 00 24 47 80 04 20 41 44 43 20 23 B1 43 |PHA.$G.. ADC #.C|
00003F10: 4D 45 4D 31 3A 53 54 41 20 24 46 38 3A 50 4C 41 |MEM1:STA $F8:PLA|
00003F20: 3A 52 54 53 00 2A 47 82 04 3B 00 4F 47 84 04 41 |:RTS.*G..;.OG..A|
00003F30: 44 4C 4E 46 37 20 43 4C 43 20 3B 41 44 56 41 4E |DLNF7 CLC ;ADVAN|
00003F40: 43 45 20 91 45 20 43 4D 45 4D 20 4C 49 4E 45 00 |CE .E CMEM LINE.|
00003F50: 6C 47 86 04 20 4C 44 41 20 24 46 37 3A 41 44 43 |lG.. LDA $F7:ADC|
00003F60: 20 23 34 30 3A 53 54 41 20 24 46 37 00 85 47 88 | #40:STA $F7..G.|
00003F70: 04 20 42 43 43 20 AC AA 34 3A 49 4E 43 20 24 46 |. BCC ..4:INC $F|
00003F80: 38 3A 52 54 53 00 8B 47 8A 04 3B 00 A9 47 8C 04 |8:RTS..G..;..G..|
00003F90: 3B 43 4D 45 4D 30 20 41 52 45 41 20 81 20 43 4F |;CMEM0 AREA . CO|
00003FA0: 4C 52 20 4D 45 4D 20 94 53 00 C8 47 8E 04 3B 20 |LR MEM .S..G..; |
00003FB0: 20 46 39 AD 46 41 20 50 4E 54 52 20 A4 20 43 4D | F9.FA PNTR . CM|
00003FC0: 45 4D 30 20 41 52 45 41 00 E6 47 90 04 56 43 4F |EM0 AREA..G..VCO|
00003FD0: 43 4D 45 4D 20 4C 44 41 20 4D 43 4F 4C 3A 2E 42 |CMEM LDA MCOL:.B|
00003FE0: 59 54 20 24 32 43 00 0A 48 92 04 56 53 57 43 4D |YT $2C..H..VSWCM|
00003FF0: 45 4D 20 4C 44 41 20 23 30 3A 53 54 41 20 24 41 |EM LDA #0:STA $A|
00004000: 33 3A 4A 53 52 20 56 52 41 4D 00 2A 48 94 04 20 |3:JSR VRAM.*H.. |
00004010: 4A 53 52 20 56 43 48 4F 4D 45 3A 4A 53 52 20 A1 |JSR VCHOME:JSR .|
00004020: 43 42 50 3A 4C 44 58 20 23 30 00 47 48 96 04 20 |CBP:LDX #0.GH.. |
00004030: 4C 44 59 20 23 30 3A 4C 44 41 20 24 41 33 3A 42 |LDY #0:LDA $A3:B|
00004040: 4E 45 20 AC AA 31 30 00 68 48 98 04 20 4C 44 41 |NE ..10.hH.. LDA|
00004050: 20 28 24 46 37 29 2C 59 3A 50 48 41 3A 4C 44 41 | ($F7),Y:PHA:LDA|
00004060: 20 28 24 46 39 29 2C 59 00 89 48 9A 04 20 53 54 | ($F9),Y..H.. ST|
00004070: 41 20 28 24 46 37 29 2C 59 3A 50 4C 41 3A 53 54 |A ($F7),Y:PLA:ST|
00004080: 41 20 28 24 46 39 29 2C 59 00 A2 48 9C 04 20 49 |A ($F9),Y..H.. I|
00004090: 4E 59 3A 43 50 59 20 57 44 3A 42 43 43 20 AC AB |NY:CPY WD:BCC ..|
000040A0: 31 37 00 BF 48 9E 04 20 54 59 41 3A 43 4C 43 3A |17..H.. TYA:CLC:|
000040B0: 41 44 43 20 24 46 39 3A 53 54 41 20 24 46 39 00 |ADC $F9:STA $F9.|
000040C0: DF 48 A0 04 20 42 43 43 20 AC AA 34 3A 49 4E 43 |.H.. BCC ..4:INC|
000040D0: 20 24 46 41 3A 4A 53 52 20 41 44 4C 4E 46 37 00 | $FA:JSR ADLNF7.|
000040E0: 01 49 A2 04 20 49 4E 58 3A 43 50 58 20 44 50 3A |.I.. INX:CPX DP:|
000040F0: 42 43 43 20 AC AB 33 37 3A 4A 4D 50 20 56 52 4F |BCC ..37:JMP VRO|
00004100: 4D 00 07 49 A4 04 3B 00 2C 49 A6 04 41 44 4C 4E |M..I..;.,I..ADLN|
00004110: 41 37 20 43 4C 43 20 3B 41 44 56 41 4E 43 45 20 |A7 CLC ;ADVANCE |
00004120: 91 45 20 42 4D 41 50 20 4C 49 4E 45 00 4B 49 A8 |.E BMAP LINE.KI.|
00004130: 04 20 4C 44 41 20 24 41 42 3A 41 44 43 20 23 B3 |. LDA $AB:ADC #.|
00004140: 33 32 30 3A 53 54 41 20 24 41 37 00 6A 49 AA 04 |320:STA $A7.jI..|
00004150: 20 4C 44 41 20 24 41 43 3A 41 44 43 20 23 B1 33 | LDA $AC:ADC #.3|
00004160: 32 30 3A 53 54 41 20 24 41 38 00 8F 49 AC 04 41 |20:STA $A8..I..A|
00004170: 44 4C 4E 41 39 20 43 4C 43 20 3B 41 44 56 41 4E |DLNA9 CLC ;ADVAN|
00004180: 43 45 20 91 45 20 42 4D 41 50 20 4C 49 4E 45 00 |CE .E BMAP LINE.|
00004190: AE 49 AE 04 20 4C 44 41 20 24 41 44 3A 41 44 43 |.I.. LDA $AD:ADC|
000041A0: 20 23 B3 33 32 30 3A 53 54 41 20 24 41 39 00 D1 | #.320:STA $A9..|
000041B0: 49 B0 04 20 4C 44 41 20 24 41 45 3A 41 44 43 20 |I.. LDA $AE:ADC |
000041C0: 23 B1 33 32 30 3A 53 54 41 20 24 41 41 3A 52 54 |#.320:STA $AA:RT|
000041D0: 53 00 D7 49 B2 04 3B 00 FE 49 B4 04 56 57 49 50 |S..I..;..I..VWIP|
000041E0: 45 20 B2 20 AC 20 3B 43 4C 45 41 52 20 48 49 52 |E . . ;CLEAR HIR|
000041F0: 45 53 20 42 55 46 46 45 52 20 41 52 45 41 00 13 |ES BUFFER AREA..|
00004200: 4A B6 04 20 4C 44 41 20 23 30 3A 2E 42 59 54 20 |J.. LDA #0:.BYT |
00004210: 24 32 43 00 36 4A B8 04 56 58 46 45 52 20 B2 20 |$2C.6J..VXFER . |
00004220: AC 20 3B 58 46 45 52 20 56 49 45 57 50 B0 54 20 |. ;XFER VIEWP.T |
00004230: 42 49 54 4D 41 50 00 55 4A BA 04 20 4C 44 41 20 |BITMAP.UJ.. LDA |
00004240: 23 31 3A 53 54 41 20 24 41 34 20 3B 58 46 45 52 |#1:STA $A4 ;XFER|
00004250: 20 46 4C 41 47 00 74 4A BC 04 20 4A 53 52 20 56 | FLAG.tJ.. JSR V|
00004260: 41 44 44 52 3A 53 54 41 20 24 41 39 3A 53 54 58 |ADDR:STA $A9:STX|
00004270: 20 24 41 41 00 88 4A BE 04 20 4A 53 52 20 A1 42 | $AA..J.. JSR .B|
00004280: 50 3A 4C 44 59 20 23 30 00 A1 4A C0 04 20 4A 53 |P:LDY #0..J.. JS|
00004290: 52 20 56 52 4F 57 3A 4A 53 52 20 41 44 4C 4E 41 |R VROW:JSR ADLNA|
000042A0: 39 00 C2 4A C2 04 20 4C 44 59 20 24 41 46 3A 49 |9..J.. LDY $AF:I|
000042B0: 4E 59 3A 43 50 59 20 44 50 3A 42 43 43 20 AC AB |NY:CPY DP:BCC ..|
000042C0: 31 31 00 E6 4A C4 04 56 52 4F 4D 20 B2 20 AC 20 |11..J..VROM . . |
000042D0: 3B 45 4E 41 42 4C 45 20 B5 45 52 52 55 50 54 53 |;ENABLE .ERRUPTS|
000042E0: 20 26 20 52 4F 4D 00 FC 4A C6 04 20 4C 44 41 20 | & ROM..J.. LDA |
000042F0: 23 24 33 37 3A 53 54 41 20 24 30 31 00 18 4B C8 |#$37:STA $01..K.|
00004300: 04 20 4C 44 41 20 23 24 38 31 3A 53 54 41 20 24 |. LDA #$81:STA $|
00004310: 44 43 30 44 3A 52 54 53 00 1E 4B CA 04 3B 00 3C |DC0D:RTS..K..;.<|
00004320: 4B CC 04 3B 53 55 42 52 4F 55 54 49 4E 45 20 81 |K..;SUBROUTINE .|
00004330: 20 56 57 49 50 45 AD 56 58 46 45 52 00 5F 4B CE | VWIPE.VXFER._K.|
00004340: 04 56 52 4F 57 20 53 54 59 20 24 41 46 3A 4C 44 |.VROW STY $AF:LD|
00004350: 58 20 23 30 20 3B 44 4F 20 91 45 20 52 4F 57 00 |X #0 ;DO .E ROW.|
00004360: 84 4B D0 04 20 4C 44 41 20 24 41 37 3A 53 54 41 |.K.. LDA $A7:STA|
00004370: 20 24 41 42 3A 4C 44 41 20 24 41 38 3A 53 54 41 | $AB:LDA $A8:STA|
00004380: 20 24 41 43 00 A9 4B D2 04 20 4C 44 41 20 24 41 | $AC..K.. LDA $A|
00004390: 39 3A 53 54 41 20 24 41 44 3A 4C 44 41 20 24 41 |9:STA $AD:LDA $A|
000043A0: 41 3A 53 54 41 20 24 41 45 00 B9 4B D4 04 56 52 |A:STA $AE..K..VR|
000043B0: 4F 32 20 4C 44 59 20 23 30 00 DA 4B D6 04 56 52 |O2 LDY #0..K..VR|
000043C0: 4F 33 20 4C 44 41 20 24 41 34 20 3B 46 4C 41 47 |O3 LDA $A4 ;FLAG|
000043D0: B2 30 20 81 20 56 57 49 50 45 00 FB 4B D8 04 20 |.0 . VWIPE..K.. |
000043E0: 42 45 51 20 56 52 4F 34 20 20 20 20 3B 46 4C 41 |BEQ VRO4 ;FLA|
000043F0: 47 B2 31 20 81 20 56 58 46 45 52 00 10 4C DA 04 |G.1 . VXFER..L..|
00004400: 20 4C 44 41 20 28 24 41 39 29 2C 59 3A 50 48 41 | LDA ($A9),Y:PHA|
00004410: 00 31 4C DC 04 20 4C 44 41 20 28 24 41 37 29 2C |.1L.. LDA ($A7),|
00004420: 59 3A 53 54 41 20 28 24 41 39 29 2C 59 3A 50 4C |Y:STA ($A9),Y:PL|
00004430: 41 00 46 4C DE 04 56 52 4F 34 20 53 54 41 20 28 |A.FL..VRO4 STA (|
00004440: 24 41 37 29 2C 59 00 5F 4C E0 04 20 49 4E 59 3A |$A7),Y._L.. INY:|
00004450: 43 50 59 20 23 38 3A 42 4E 45 20 56 52 4F 33 00 |CPY #8:BNE VRO3.|
00004460: 7C 4C E2 04 20 54 59 41 3A 43 4C 43 3A 41 44 43 ||L.. TYA:CLC:ADC|
00004470: 20 24 41 37 3A 53 54 41 20 24 41 37 00 91 4C E4 | $A7:STA $A7..L.|
00004480: 04 20 42 43 43 20 AC AA 34 3A 49 4E 43 20 24 41 |. BCC ..4:INC $A|
00004490: 38 00 AE 4C E6 04 20 54 59 41 3A 43 4C 43 3A 41 |8..L.. TYA:CLC:A|
000044A0: 44 43 20 24 41 39 3A 53 54 41 20 24 41 39 00 C3 |DC $A9:STA $A9..|
000044B0: 4C E8 04 20 42 43 43 20 AC AA 34 3A 49 4E 43 20 |L.. BCC ..4:INC |
000044C0: 24 41 41 00 E0 4C EA 04 20 49 4E 58 3A 43 50 58 |$AA..L.. INX:CPX|
000044D0: 20 57 44 3A 42 43 43 20 56 52 4F 32 3A 52 54 53 | WD:BCC VRO2:RTS|
000044E0: 00 E6 4C EC 04 3B 00 04 4D EE 04 56 42 B0 44 45 |..L..;..M..VB.DE|
000044F0: 52 20 B2 20 AC 20 3B 42 B0 44 45 52 20 56 49 45 |R . . ;B.DER VIE|
00004500: 57 50 B0 54 00 1A 4D F0 04 20 4A 53 52 20 56 41 |WP.T..M.. JSR VA|
00004510: 44 44 52 3A 4C 44 58 20 23 30 00 3A 4D F2 04 56 |DDR:LDX #0.:M..V|
00004520: 42 4C 46 54 20 4C 44 41 20 23 25 31 30 30 30 30 |BLFT LDA #%10000|
00004530: 30 30 30 3A 4C 44 59 20 23 37 00 57 4D F4 04 20 |000:LDY #7.WM.. |
00004540: 53 54 41 20 28 24 41 37 29 2C 59 3A 44 45 59 3A |STA ($A7),Y:DEY:|
00004550: 42 50 4C 20 AC AB 33 00 71 4D F6 04 20 49 4E 58 |BPL ..3.qM.. INX|
00004560: 3A 43 50 58 20 44 50 3A 42 43 53 20 56 42 42 4F |:CPX DP:BCS VBBO|
00004570: 54 00 90 4D F8 04 20 4C 44 41 20 24 41 37 3A 41 |T..M.. LDA $A7:A|
00004580: 44 43 20 23 B3 33 32 30 3A 53 54 41 20 24 41 37 |DC #.320:STA $A7|
00004590: 00 AF 4D FA 04 20 4C 44 41 20 24 41 38 3A 41 44 |..M.. LDA $A8:AD|
000045A0: 43 20 23 B1 33 32 30 3A 53 54 41 20 24 41 38 00 |C #.320:STA $A8.|
000045B0: BE 4D FC 04 20 42 4E 45 20 56 42 4C 46 54 00 D6 |.M.. BNE VBLFT..|
000045C0: 4D FE 04 56 42 42 4F 54 20 4C 44 58 20 23 30 3A |M..VBBOT LDX #0:|
000045D0: 4C 44 59 20 23 37 00 F1 4D 00 05 20 4A 53 52 20 |LDY #7..M.. JSR |
000045E0: 56 42 4C 49 4E 20 3B 42 4F 54 A4 4D 20 4C 49 4E |VBLIN ;BOT.M LIN|
000045F0: 45 00 06 4E 02 05 56 42 52 48 54 20 4C 44 58 20 |E..N..VBRHT LDX |
00004600: 23 30 3A 44 45 59 00 1A 4E 04 05 20 4C 44 41 20 |#0:DEY..N.. LDA |
00004610: 23 25 30 30 30 30 30 30 30 31 00 37 4E 06 05 20 |#%00000001.7N.. |
00004620: 53 54 41 20 28 24 41 37 29 2C 59 3A 44 45 59 3A |STA ($A7),Y:DEY:|
00004630: 42 50 4C 20 AC AB 33 00 53 4E 08 05 20 49 4E 58 |BPL ..3.SN.. INX|
00004640: 3A 43 50 58 20 44 50 3A 42 43 53 20 56 42 80 3A |:CPX DP:BCS VB.:|
00004650: 53 45 43 00 72 4E 0A 05 20 4C 44 41 20 24 41 37 |SEC.rN.. LDA $A7|
00004660: 3A 53 42 43 20 23 B3 33 32 30 3A 53 54 41 20 24 |:SBC #.320:STA $|
00004670: 41 37 00 91 4E 0C 05 20 4C 44 41 20 24 41 38 3A |A7..N.. LDA $A8:|
00004680: 53 42 43 20 23 B1 33 32 30 3A 53 54 41 20 24 41 |SBC #.320:STA $A|
00004690: 38 00 A9 4E 0E 05 20 4C 44 59 20 23 37 3A 42 4E |8..N.. LDY #7:BN|
000046A0: 45 20 56 42 52 48 54 AA 33 00 BA 4E 10 05 56 42 |E VBRHT.3..N..VB|
000046B0: 80 20 4A 4D 50 20 56 52 4F 4D 00 C0 4E 12 05 3B |. JMP VROM..N..;|
000046C0: 00 E2 4E 14 05 56 42 A4 50 20 B2 20 AC 20 20 3B |..N..VB.P . . ;|
000046D0: A4 50 20 4C 49 4E 45 20 4F 46 20 56 49 45 57 50 |.P LINE OF VIEWP|
000046E0: B0 54 00 FF 4E 16 05 20 4A 53 52 20 56 41 44 44 |.T..N.. JSR VADD|
000046F0: 52 3A 4C 44 58 20 23 30 3A 4C 44 59 20 23 30 00 |R:LDX #0:LDY #0.|
00004700: 18 4F 18 05 56 42 4C 49 4E 20 4C 44 41 20 23 25 |.O..VBLIN LDA #%|
00004710: 31 31 31 31 31 31 31 31 00 3D 4F 1A 05 20 53 54 |11111111.=O.. ST|
00004720: 41 20 28 24 41 37 29 2C 59 3A 49 4E 58 3A 43 50 |A ($A7),Y:INX:CP|
00004730: 58 20 57 44 3A 42 43 53 20 AC AA 31 34 00 59 4F |X WD:BCS ..14.YO|
00004740: 1C 05 20 4C 44 41 20 24 41 37 3A 41 44 43 20 23 |.. LDA $A7:ADC #|
00004750: 38 3A 53 54 41 20 24 41 37 00 78 4F 1E 05 20 42 |8:STA $A7.xO.. B|
00004760: 43 43 20 AC AA 34 3A 49 4E 43 20 24 41 38 3A 42 |CC ..4:INC $A8:B|
00004770: 4E 45 20 56 42 4C 49 4E 00 81 4F 20 05 20 52 54 |NE VBLIN..O . RT|
00004780: 53 00 87 4F 22 05 3B 00 8D 4F 24 05 3B 00 AC 4F |S..O".;..O$.;..O|
00004790: 26 05 3B AC AC AC 20 50 4C 4F 54 54 49 4E 47 20 |&.;... PLOTTING |
000047A0: 52 4F 55 54 49 4E 45 53 20 AC AC AC 00 B2 4F 28 |ROUTINES .....O(|
000047B0: 05 3B 00 C8 4F 2A 05 3B 33 20 81 4D 53 20 4F 46 |.;..O*.;3 .MS OF|
000047C0: 20 4F 42 4A 45 43 54 53 00 E9 4F 2C 05 50 4C 54 | OBJECTS..O,.PLT|
000047D0: 81 4D 20 20 B2 20 AC 20 3B 43 48 4F 4F 53 45 20 |.M . . ;CHOOSE |
000047E0: 81 4D 20 26 20 50 4C 4F 54 00 0C 50 2E 05 20 42 |.M & PLOT..P.. B|
000047F0: 50 4C 20 50 4C 54 54 45 58 54 20 3B 57 49 54 48 |PL PLTTEXT ;WITH|
00004800: 20 41 55 A4 AB 41 44 56 41 4E 43 45 00 2D 50 30 | AU..ADVANCE.-P0|
00004810: 05 20 42 56 43 20 50 4C 54 49 4D 47 31 20 3B 4F |. BVC PLTIMG1 ;O|
00004820: 46 20 43 55 52 53 B0 20 50 4E 54 52 53 00 4E 50 |F CURS. PNTRS.NP|
00004830: 32 05 20 42 56 53 20 50 4C 54 49 4D 47 32 20 3B |2. BVS PLTIMG2 ;|
00004840: AF 20 42 49 54 4D 41 50 20 50 4E 54 52 53 00 63 |. BITMAP PNTRS.c|
00004850: 50 34 05 3B 43 45 4C 4C 20 C3 47 54 48 20 49 4E |P4.;CELL .GTH IN|
00004860: 20 2E 58 00 7E 50 36 05 50 4C 54 54 45 58 54 20 | .X.~P6.PLTTEXT |
00004870: B2 20 AC 20 20 3B 44 4F 20 54 45 58 54 24 00 A1 |. . ;DO TEXT$..|
00004880: 50 38 05 20 49 4E 58 3A 4C 44 59 20 23 30 3A 53 |P8. INX:LDY #0:S|
00004890: 54 59 20 49 4D 47 46 20 3B 53 45 54 20 46 4C 41 |TY IMGF ;SET FLA|
000048A0: 47 00 B3 50 3A 05 20 44 45 58 3A 42 45 51 20 AC |G..P:. DEX:BEQ .|
000048B0: AA 31 30 00 CF 50 3C 05 20 4C 44 41 20 28 24 41 |.10..P<. LDA ($A|
000048C0: 33 29 2C 59 3A 4A 53 52 20 44 4F 43 48 41 52 00 |3),Y:JSR DOCHAR.|
000048D0: E4 50 3E 05 20 49 4E 59 3A 42 4E 45 20 AC AB 39 |.P>. INY:BNE ..9|
000048E0: 3A 52 54 53 00 EA 50 40 05 3B 00 11 51 42 05 50 |:RTS..P@.;..QB.P|
000048F0: 4C 54 49 4D 47 31 20 B2 20 AC 20 20 3B 44 4F 20 |LTIMG1 . . ;DO |
00004900: 49 4D 41 47 45 24 AB 31 20 28 20 31 20 52 4F 57 |IMAGE$.1 ( 1 ROW|
00004910: 29 00 2B 51 44 05 20 49 4E 58 20 3B 43 45 4C 4C |).+QD. INX ;CELL|
00004920: 20 C3 47 54 48 20 49 4E 20 2E 58 00 49 51 46 05 | .GTH IN .X.IQF.|
00004930: 50 4C 54 49 4D 47 41 20 4C 44 59 20 23 24 38 30 |PLTIMGA LDY #$80|
00004940: 3A 53 54 59 20 49 4D 47 46 00 69 51 48 05 20 4C |:STY IMGF.iQH. L|
00004950: 44 41 20 24 41 33 3A 4C 44 59 20 24 41 34 20 20 |DA $A3:LDY $A4 |
00004960: 3B 4C AD 48 20 44 45 53 43 00 89 51 4A 05 20 53 |;L.H DESC..QJ. S|
00004970: 54 41 20 24 41 39 3A 53 54 59 20 24 41 41 20 20 |TA $A9:STY $AA |
00004980: 3B 50 55 54 20 50 4E 54 52 00 A5 51 4C 05 50 4C |;PUT PNTR..QL.PL|
00004990: 54 49 4D 47 42 20 44 45 58 3A 42 4E 45 20 AC AA |TIMGB DEX:BNE ..|
000049A0: 33 3A 52 54 53 00 B5 51 4E 05 20 4A 53 52 20 44 |3:RTS..QN. JSR D|
000049B0: 4F 43 48 41 52 00 D5 51 50 05 20 43 4C 43 3A 4C |OCHAR..QP. CLC:L|
000049C0: 44 41 20 24 41 39 3A 41 44 43 20 23 38 3A 53 54 |DA $A9:ADC #8:ST|
000049D0: 41 20 24 41 39 00 F6 51 52 05 20 42 43 43 20 AC |A $A9..QR. BCC .|
000049E0: AA 34 3A 49 4E 43 20 24 41 41 3A 4A 4D 50 20 50 |.4:INC $AA:JMP P|
000049F0: 4C 54 49 4D 47 42 00 FC 51 54 05 3B 00 23 52 56 |LTIMGB..QT.;.#RV|
00004A00: 05 50 4C 54 49 4D 47 32 20 B2 20 AC 20 20 3B 44 |.PLTIMG2 . . ;D|
00004A10: 4F 20 49 4D 41 47 45 24 AB 32 20 28 32 20 52 4F |O IMAGE$.2 (2 RO|
00004A20: 57 53 29 00 46 52 58 05 20 4C 44 41 20 43 43 3A |WS).FRX. LDA CC:|
00004A30: 53 54 41 20 43 53 20 3B 94 20 43 55 52 52 45 4E |STA CS ;. CURREN|
00004A40: 54 20 43 4F 4C 4D 00 64 52 5A 05 20 54 58 41 3A |T COLM.dRZ. TXA:|
00004A50: 50 48 41 20 3B 43 45 4C 4C 20 C3 47 54 48 20 49 |PHA ;CELL .GTH I|
00004A60: 4E 20 2E 58 00 8B 52 5C 05 20 49 4E 58 3A 4A 53 |N .X..R\. INX:JS|
00004A70: 52 20 50 4C 54 49 4D 47 41 20 20 20 20 20 20 20 |R PLTIMGA |
00004A80: 3B 44 4F 20 31 53 54 20 52 4F 57 00 A5 52 5E 05 |;DO 1ST ROW..R^.|
00004A90: 20 4C 44 58 20 43 43 3A 4C 44 59 20 52 52 3A 4C | LDX CC:LDY RR:L|
00004AA0: 44 41 20 43 53 00 C3 52 60 05 20 53 54 58 20 43 |DA CS..R`. STX C|
00004AB0: 53 3A 54 41 58 3A 49 4E 59 3A 4A 53 52 20 53 43 |S:TAX:INY:JSR SC|
00004AC0: 52 53 52 00 EA 52 62 05 20 50 4C 41 3A 54 41 58 |RSR..Rb. PLA:TAX|
00004AD0: 3A 49 4E 58 3A 4A 53 52 20 50 4C 54 49 4D 47 42 |:INX:JSR PLTIMGB|
00004AE0: 20 3B 20 32 4E 44 20 52 4F 57 00 0B 53 64 05 20 | ; 2ND ROW..Sd. |
00004AF0: 4C 44 58 20 43 53 3A 4C 44 59 20 52 52 3A 44 45 |LDX CS:LDY RR:DE|
00004B00: 59 3A 4A 4D 50 20 53 43 52 53 52 00 11 53 66 05 |Y:JMP SCRSR..Sf.|
00004B10: 3B 00 34 53 68 05 50 4C 54 4D 41 52 4B 20 B2 20 |;.4Sh.PLTMARK . |
00004B20: AC 20 20 3B 44 4F 20 43 48 45 43 4B 4D 41 52 4B |. ;DO CHECKMARK|
00004B30: 20 22 BA 22 00 55 53 6A 05 20 42 49 54 20 24 41 | ".".USj. BIT $A|
00004B40: 35 3A 42 56 53 20 AC AA 38 20 3B 8B 20 49 4D 41 |5:BVS ..8 ;. IMA|
00004B50: 47 45 24 AB 32 00 6F 53 6C 05 20 4A 53 52 20 50 |GE$.2.oSl. JSR P|
00004B60: 55 54 43 48 4B 3A 4A 4D 50 20 4C 43 52 53 52 00 |UTCHK:JMP LCRSR.|
00004B70: 8A 53 6E 05 20 4A 53 52 20 4C 43 52 53 52 20 3A |.Sn. JSR LCRSR :|
00004B80: 4A 4D 50 20 50 55 54 43 48 4B 00 90 53 70 05 3B |JMP PUTCHK..Sp.;|
00004B90: 00 B2 53 72 05 50 4C 54 41 4C 54 4B 20 B2 20 AC |..Sr.PLTALTK . .|
00004BA0: 20 20 3B 44 4F 20 BC 4F 20 26 20 41 4C 54 20 4B | ;DO .O & ALT K|
00004BB0: 45 59 00 D6 53 74 05 20 53 54 41 20 43 48 41 52 |EY..St. STA CHAR|
00004BC0: 3A 4A 53 52 20 45 43 52 53 52 20 3B 45 44 47 45 |:JSR ECRSR ;EDGE|
00004BD0: 20 52 49 47 48 54 00 EE 53 76 05 20 4A 53 52 20 | RIGHT..Sv. JSR |
00004BE0: 50 55 54 43 4F 4D 20 3B 43 4F 4D AB BC 4F 00 0D |PUTCOM ;COM..O..|
00004BF0: 54 78 05 20 4A 53 52 20 4C 43 41 53 45 3A 4C 44 |Tx. JSR LCASE:LD|
00004C00: 59 20 23 30 3A 53 54 59 20 49 4D 47 46 00 23 54 |Y #0:STY IMGF.#T|
00004C10: 7A 05 20 4C 44 41 20 43 48 41 52 20 3B 44 4F 20 |z. LDA CHAR ;DO |
00004C20: 4B 45 59 00 40 54 7C 05 44 4F 43 48 41 52 20 B2 |KEY.@T|.DOCHAR .|
00004C30: 20 AC 20 20 3B 50 4C 4F 54 20 41 20 43 45 4C 4C | . ;PLOT A CELL|
00004C40: 00 5E 54 7E 05 20 53 54 41 20 43 48 41 52 3A 54 |.^T~. STA CHAR:T|
00004C50: 58 41 3A 50 48 41 3A 54 59 41 3A 50 48 41 00 6E |XA:PHA:TYA:PHA.n|
00004C60: 54 80 05 20 4A 53 52 20 45 58 43 48 41 52 00 87 |T.. JSR EXCHAR..|
00004C70: 54 82 05 20 50 4C 41 3A 54 41 59 3A 50 4C 41 3A |T.. PLA:TAY:PLA:|
00004C80: 54 41 58 3A 52 54 53 00 8D 54 84 05 3B 00 AD 54 |TAX:RTS..T..;..T|
00004C90: 86 05 45 58 43 48 41 52 20 B2 20 AC 20 20 3B 54 |..EXCHAR . . ;T|
00004CA0: 45 58 54 24 20 B0 20 49 4D 41 47 45 24 00 CB 54 |EXT$ . IMAGE$..T|
00004CB0: 88 05 20 4C 44 41 20 49 4D 47 46 3A 42 4E 45 20 |.. LDA IMGF:BNE |
00004CC0: 99 20 3B 8B 20 49 4D 41 47 45 24 00 F1 54 8A 05 |. ;. IMAGE$..T..|
00004CD0: 20 4C 44 41 20 43 48 41 52 3A 42 4D 49 20 48 49 | LDA CHAR:BMI HI|
00004CE0: 43 48 52 20 3B 46 49 4C 54 45 52 20 54 45 58 54 |CHR ;FILTER TEXT|
00004CF0: 24 00 17 55 8C 05 4C 4F 43 48 52 20 43 4D 50 20 |$..U..LOCHR CMP |
00004D00: 23 24 32 30 3A 42 43 43 20 4C 4F 43 48 32 3A 43 |#$20:BCC LOCH2:C|
00004D10: 4D 50 20 23 24 36 30 00 3A 55 8E 05 20 42 43 43 |MP #$60.:U.. BCC|
00004D20: 20 AC AA 36 3A AF 20 23 24 44 46 3A 42 4E 45 20 | ..6:. #$DF:BNE |
00004D30: AC AA 34 3A AF 20 23 24 33 46 00 5D 55 90 05 50 |..4:. #$3F.]U..P|
00004D40: 52 43 48 52 20 4C 44 58 20 52 56 53 45 3A 42 45 |RCHR LDX RVSE:BE|
00004D50: 51 20 AC AA 34 3A B0 41 20 23 24 38 30 00 81 55 |Q ..4:.A #$80..U|
00004D60: 92 05 20 4C 44 58 20 23 30 3A 53 54 58 20 24 41 |.. LDX #0:STX $A|
00004D70: 41 20 3B A1 20 43 48 53 45 54 20 4F 46 46 53 45 |A ;. CHSET OFFSE|
00004D80: 54 00 9E 55 94 05 20 41 53 4C 3A 52 4F 4C 20 24 |T..U.. ASL:ROL $|
00004D90: 41 41 3A 41 53 4C 3A 52 4F 4C 20 24 41 41 00 C0 |AA:ASL:ROL $AA..|
00004DA0: 55 96 05 20 41 53 4C 3A 52 4F 4C 20 24 41 41 3A |U.. ASL:ROL $AA:|
00004DB0: 43 4C 43 3A 41 44 43 20 43 53 45 54 3A 54 41 58 |CLC:ADC CSET:TAX|
00004DC0: 00 DC 55 98 05 20 4C 44 41 20 24 41 41 3A 41 44 |..U.. LDA $AA:AD|
00004DD0: 43 20 43 53 45 54 AA 31 3A 54 41 59 00 F1 55 9A |C CSET.1:TAY..U.|
00004DE0: 05 20 53 54 58 20 24 41 39 3A 53 54 59 20 24 41 |. STX $A9:STY $A|
00004DF0: 41 00 03 56 9C 05 99 20 4A 4D 50 20 50 55 54 42 |A..V... JMP PUTB|
00004E00: 59 54 53 00 20 56 9E 05 4C 4F 43 48 32 20 43 4D |YTS. V..LOCH2 CM|
00004E10: 50 20 23 24 30 45 3A 42 4E 45 20 52 56 43 48 52 |P #$0E:BNE RVCHR|
00004E20: 00 45 56 A0 05 4C 43 41 53 45 20 4C 44 41 20 43 |.EV..LCASE LDA C|
00004E30: 53 45 54 AA 31 3A B0 41 20 23 38 3A 42 4E 45 20 |SET.1:.A #8:BNE |
00004E40: 50 43 41 53 45 00 66 56 A2 05 52 56 43 48 52 20 |PCASE.fV..RVCHR |
00004E50: 43 4D 50 20 23 24 31 32 3A 42 45 51 20 50 52 56 |CMP #$12:BEQ PRV|
00004E60: 53 45 3A 52 54 53 00 88 56 A4 05 48 49 43 48 52 |SE:RTS..V..HICHR|
00004E70: 20 AF 20 23 24 37 46 3A 43 4D 50 20 23 24 37 46 | . #$7F:CMP #$7F|
00004E80: 3A 42 4E 45 20 AC AA 34 00 A9 56 A6 05 20 4C 44 |:BNE ..4..V.. LD|
00004E90: 41 20 23 24 35 45 3A 43 4D 50 20 23 24 32 30 3A |A #$5E:CMP #$20:|
00004EA0: 42 43 43 20 48 49 43 48 32 00 C0 56 A8 05 20 B0 |BCC HICH2..V.. .|
00004EB0: 41 20 23 24 34 30 3A 42 4E 45 20 50 52 43 48 52 |A #$40:BNE PRCHR|
00004EC0: 00 DD 56 AA 05 48 49 43 48 32 20 43 4D 50 20 23 |..V..HICH2 CMP #|
00004ED0: 24 30 45 3A 42 4E 45 20 4F 46 43 48 52 00 F9 56 |$0E:BNE OFCHR..V|
00004EE0: AC 05 55 43 41 53 45 20 4C 44 41 20 43 53 45 54 |..UCASE LDA CSET|
00004EF0: AA 31 3A AF 20 23 24 46 30 00 12 57 AE 05 50 43 |.1:. #$F0..W..PC|
00004F00: 41 53 45 20 53 54 41 20 43 53 45 54 AA 31 3A 52 |ASE STA CSET.1:R|
00004F10: 54 53 00 34 57 B0 05 4F 46 43 48 52 20 43 4D 50 |TS.4W..OFCHR CMP|
00004F20: 20 23 24 31 32 3A 42 4E 45 20 AC AA 37 3A 4C 44 | #$12:BNE ..7:LD|
00004F30: 41 20 23 30 00 4B 57 B2 05 50 52 56 53 45 20 53 |A #0.KW..PRVSE S|
00004F40: 54 41 20 52 56 53 45 3A 52 54 53 00 51 57 B4 05 |TA RVSE:RTS.QW..|
00004F50: 3B 00 76 57 B6 05 43 43 52 53 52 20 4C 44 58 20 |;.vW..CCRSR LDX |
00004F60: 4C 43 3A 4C 44 59 20 52 52 3A 49 4E 59 20 3B B3 |LC:LDY RR:INY ;.|
00004F70: 43 52 AD 4C 46 B1 00 99 57 B8 05 53 43 52 53 52 |CR.LF...W..SCRSR|
00004F80: 20 53 54 58 20 43 43 3A 53 54 59 20 52 52 20 3B | STX CC:STY RR ;|
00004F90: 53 45 54 20 43 55 52 53 B0 00 B7 57 BA 05 20 4A |SET CURS...W.. J|
00004FA0: 53 52 20 56 43 B9 4E 3A 53 54 41 20 24 46 41 3A |SR VC.N:STA $FA:|
00004FB0: 53 54 58 20 24 46 39 00 DC 57 BC 05 20 41 53 4C |STX $F9..W.. ASL|
00004FC0: 20 24 46 39 3A 52 4F 4C 3A 41 53 4C 20 24 46 39 | $F9:ROL:ASL $F9|
00004FD0: 3A 52 4F 4C 3A 41 53 4C 20 24 46 39 00 01 58 BE |:ROL:ASL $F9..X.|
00004FE0: 05 20 52 4F 4C 3A 43 4C 43 3A 41 44 43 20 23 B1 |. ROL:CLC:ADC #.|
00004FF0: 42 4D 41 50 31 3A 53 54 41 20 24 46 41 3A 52 54 |BMAP1:STA $FA:RT|
00005000: 53 00 07 58 C0 05 3B 00 29 58 C2 05 48 43 52 53 |S..X..;.)X..HCRS|
00005010: 52 20 4C 44 58 20 4C 43 3A 4C 44 59 20 54 52 3A |R LDX LC:LDY TR:|
00005020: 4A 4D 50 20 53 43 52 53 52 00 4E 58 C4 05 45 43 |JMP SCRSR.NX..EC|
00005030: 52 53 52 20 4C 44 58 20 43 45 3A 44 45 58 3A 44 |RSR LDX CE:DEX:D|
00005040: 45 58 20 3B 45 44 47 45 20 52 49 47 48 54 00 6F |EX ;EDGE RIGHT.o|
00005050: 58 C6 05 20 4C 44 59 20 52 52 3A 4A 4D 50 20 53 |X.. LDY RR:JMP S|
00005060: 43 52 53 52 20 3B 53 45 54 20 43 55 52 53 B0 00 |CRSR ;SET CURS..|
00005070: 75 58 C8 05 3B 00 94 58 CA 05 3B 53 50 45 43 49 |uX..;..X..;SPECI|
00005080: 41 4C 20 38 58 38 20 43 45 4C 4C 20 47 52 41 50 |AL 8X8 CELL GRAP|
00005090: 48 49 43 53 00 AB 58 CC 05 43 48 4B 20 B2 20 AC |HICS..X..CHK . .|
000050A0: 20 3B 43 48 45 43 4B 4D 41 52 4B 00 BE 58 CE 05 | ;CHECKMARK..X..|
000050B0: 2E 42 59 54 20 25 30 30 30 30 30 30 30 30 00 D1 |.BYT %00000000..|
000050C0: 58 D0 05 2E 42 59 54 20 25 30 30 30 30 30 30 30 |X...BYT %0000000|
000050D0: 31 00 E4 58 D2 05 2E 42 59 54 20 25 30 30 30 30 |1..X...BYT %0000|
000050E0: 30 30 31 30 00 F7 58 D4 05 2E 42 59 54 20 25 30 |0010..X...BYT %0|
000050F0: 30 30 30 30 31 30 30 00 0A 59 D6 05 2E 42 59 54 |0000100..Y...BYT|
00005100: 20 25 30 30 31 30 31 30 30 30 00 1D 59 D8 05 2E | %00101000..Y...|
00005110: 42 59 54 20 25 30 30 30 31 30 30 30 30 00 30 59 |BYT %00010000.0Y|
00005120: DA 05 2E 42 59 54 20 25 30 30 30 30 30 30 30 30 |...BYT %00000000|
00005130: 00 43 59 DC 05 2E 42 59 54 20 25 30 30 30 30 30 |.CY...BYT %00000|
00005140: 30 30 30 00 60 59 DE 05 43 4F 4D 20 B2 20 AC 20 |000.`Y..COM . . |
00005150: 3B 43 4F 4D 4D 4F 44 B0 45 20 4B 45 59 20 BC 4F |;COMMOD.E KEY .O|
00005160: 00 73 59 E0 05 2E 42 59 54 20 25 30 30 31 31 31 |.sY...BYT %00111|
00005170: 30 30 30 00 86 59 E2 05 2E 42 59 54 20 25 30 31 |000..Y...BYT %01|
00005180: 30 30 30 31 31 30 00 99 59 E4 05 2E 42 59 54 20 |000110..Y...BYT |
00005190: 25 31 30 31 31 30 31 30 30 00 AC 59 E6 05 2E 42 |%10110100..Y...B|
000051A0: 59 54 20 25 31 30 31 31 31 30 30 30 00 BF 59 E8 |YT %10111000..Y.|
000051B0: 05 2E 42 59 54 20 25 31 30 31 31 30 31 30 30 00 |..BYT %10110100.|
000051C0: D2 59 EA 05 2E 42 59 54 20 25 30 31 30 30 30 31 |.Y...BYT %010001|
000051D0: 31 30 00 E5 59 EC 05 2E 42 59 54 20 25 30 30 31 |10..Y...BYT %001|
000051E0: 31 31 30 30 30 00 F8 59 EE 05 2E 42 59 54 20 25 |11000..Y...BYT %|
000051F0: 30 30 30 30 30 30 30 30 00 0F 5A F0 05 86 20 B2 |00000000..Z... .|
00005200: 20 AC 20 3B 86 20 42 49 54 53 20 4D 41 53 4B 00 | . ;. BITS MASK.|
00005210: 22 5A F2 05 2E 42 59 54 20 25 31 30 31 30 31 30 |"Z...BYT %101010|
00005220: 31 30 00 35 5A F4 05 2E 42 59 54 20 25 30 31 30 |10.5Z...BYT %010|
00005230: 31 30 31 30 31 00 48 5A F6 05 2E 42 59 54 20 25 |10101.HZ...BYT %|
00005240: 31 30 31 30 31 30 31 30 00 5B 5A F8 05 2E 42 59 |10101010.[Z...BY|
00005250: 54 20 25 30 31 30 31 30 31 30 31 00 6E 5A FA 05 |T %01010101.nZ..|
00005260: 2E 42 59 54 20 25 31 30 31 30 31 30 31 30 00 81 |.BYT %10101010..|
00005270: 5A FC 05 2E 42 59 54 20 25 30 31 30 31 30 31 30 |Z...BYT %0101010|
00005280: 31 00 94 5A FE 05 2E 42 59 54 20 25 31 30 31 30 |1..Z...BYT %1010|
00005290: 31 30 31 30 00 A7 5A 00 06 2E 42 59 54 20 25 30 |1010..Z...BYT %0|
000052A0: 31 30 31 30 31 30 31 00 C3 5A 02 06 53 50 43 20 |1010101..Z..SPC |
000052B0: B2 20 AC 20 3B 43 45 4C 4C 20 57 B0 4B 20 53 50 |. . ;CELL W.K SP|
000052C0: 41 43 45 00 D8 5A 04 06 AC B2 AC AA 38 20 20 20 |ACE..Z......8 |
000052D0: 3B 38 20 42 59 54 45 53 00 DE 5A 06 06 3B 00 02 |;8 BYTES..Z..;..|
000052E0: 5B 08 06 50 55 54 43 48 4B 20 B2 20 AC 20 3B 50 |[..PUTCHK . . ;P|
000052F0: 55 54 20 43 48 45 43 4B 4D 41 52 4B 20 42 59 54 |UT CHECKMARK BYT|
00005300: 45 53 00 27 5B 0A 06 20 4C 44 58 20 23 B3 43 48 |ES.'[.. LDX #.CH|
00005310: 4B 3A 4C 44 59 20 23 B1 43 48 4B 3A 42 4E 45 20 |K:LDY #.CHK:BNE |
00005320: 50 55 54 50 54 52 53 00 48 5B 0C 06 50 55 54 43 |PUTPTRS.H[..PUTC|
00005330: 4F 4D 20 B2 20 AC 20 3B 50 55 54 20 43 4F 4D AB |OM . . ;PUT COM.|
00005340: BC 4F 20 42 59 54 45 53 00 61 5B 0E 06 20 4C 44 |.O BYTES.a[.. LD|
00005350: 58 20 23 B3 43 4F 4D 3A 4C 44 59 20 23 B1 43 4F |X #.COM:LDY #.CO|
00005360: 4D 00 7D 5B 10 06 50 55 54 50 54 52 53 20 53 54 |M.}[..PUTPTRS ST|
00005370: 58 20 24 41 39 3A 53 54 59 20 24 41 41 00 9F 5B |X $A9:STY $AA..[|
00005380: 12 06 50 55 54 42 59 54 53 20 B2 20 AC 20 3B 38 |..PUTBYTS . . ;8|
00005390: 20 42 59 54 45 53 20 50 45 52 20 43 45 4C 4C 00 | BYTES PER CELL.|
000053A0: BE 5B 14 06 20 4C 44 41 20 24 44 43 30 45 3A AF |.[.. LDA $DC0E:.|
000053B0: 20 23 AB 32 3A 53 54 41 20 24 44 43 30 45 00 D4 | #.2:STA $DC0E..|
000053C0: 5B 16 06 20 4C 44 41 20 23 24 33 31 3A 53 54 41 |[.. LDA #$31:STA|
000053D0: 20 24 30 31 00 EC 5B 18 06 20 4C 44 59 20 23 37 | $01..[.. LDY #7|
000053E0: 3A 4C 44 41 20 28 24 41 39 29 2C 59 00 07 5C 1A |:LDA ($A9),Y..\.|
000053F0: 06 20 53 54 41 20 53 50 43 2C 59 3A 44 45 59 3A |. STA SPC,Y:DEY:|
00005400: 42 50 4C 20 AC AB 36 00 1F 5C 1C 06 20 4C 44 41 |BPL ..6..\.. LDA|
00005410: 20 86 46 3A 42 45 51 20 43 48 4B 42 49 54 53 00 | .F:BEQ CHKBITS.|
00005420: 3A 5C 1E 06 86 42 49 54 53 20 4C 44 59 20 23 37 |:\...BITS LDY #7|
00005430: 3A 4C 44 41 20 53 50 43 2C 59 00 4F 5C 20 06 20 |:LDA SPC,Y.O\ . |
00005440: AF 20 86 2C 59 3A 53 54 41 20 53 50 43 2C 59 00 |. .,Y:STA SPC,Y.|
00005450: 61 5C 22 06 20 44 45 59 3A 42 50 4C 20 AC AB 31 |a\". DEY:BPL ..1|
00005460: 30 00 80 5C 24 06 43 48 4B 42 49 54 53 20 4C 44 |0..\$.CHKBITS LD|
00005470: 59 20 23 37 3A 4C 44 41 20 28 24 46 39 29 2C 59 |Y #7:LDA ($F9),Y|
00005480: 00 9A 5C 26 06 20 B0 41 20 53 50 43 2C 59 3A 53 |..\&. .A SPC,Y:S|
00005490: 54 41 20 28 24 46 39 29 2C 59 00 AB 5C 28 06 20 |TA ($F9),Y..\(. |
000054A0: 44 45 59 3A 42 50 4C 20 AC AB 38 00 C1 5C 2A 06 |DEY:BPL ..8..\*.|
000054B0: 20 4C 44 41 20 23 24 33 37 3A 53 54 41 20 24 30 | LDA #$37:STA $0|
000054C0: 31 00 E0 5C 2C 06 20 4C 44 41 20 24 44 43 30 45 |1..\,. LDA $DC0E|
000054D0: 3A B0 41 20 23 31 3A 53 54 41 20 24 44 43 30 45 |:.A #1:STA $DC0E|
000054E0: 00 FB 5C 2E 06 52 43 52 53 52 20 B2 20 AC 20 3B |..\..RCRSR . . ;|
000054F0: 43 55 52 53 B0 20 52 49 47 48 54 00 22 5D 30 06 |CURS. RIGHT."]0.|
00005500: 20 4C 44 58 20 43 43 3A 49 4E 58 3A 43 50 58 20 | LDX CC:INX:CPX |
00005510: 43 45 3A 42 43 53 20 AC AA 31 35 3A 53 54 58 20 |CE:BCS ..15:STX |
00005520: 43 43 00 42 5D 32 06 20 43 4C 43 3A 4C 44 41 20 |CC.B]2. CLC:LDA |
00005530: 24 46 39 3A 41 44 43 20 23 38 3A 53 54 41 20 24 |$F9:ADC #8:STA $|
00005540: 46 39 00 5B 5D 34 06 20 42 43 43 20 AC AA 34 3A |F9.[]4. BCC ..4:|
00005550: 49 4E 43 20 24 46 41 3A 52 54 53 00 75 5D 36 06 |INC $FA:RTS.u]6.|
00005560: 4C 43 52 53 52 20 B2 20 AC 20 3B 43 55 52 53 B0 |LCRSR . . ;CURS.|
00005570: 20 4C 45 46 54 00 9C 5D 38 06 20 4C 44 58 20 43 | LEFT..]8. LDX C|
00005580: 43 3A 44 45 58 3A 43 50 58 20 4C 43 3A 42 43 43 |C:DEX:CPX LC:BCC|
00005590: 20 AC AA 31 35 3A 53 54 58 20 43 43 00 BC 5D 3A | ..15:STX CC..]:|
000055A0: 06 20 53 45 43 3A 4C 44 41 20 24 46 39 3A 53 42 |. SEC:LDA $F9:SB|
000055B0: 43 20 23 38 3A 53 54 41 20 24 46 39 00 D5 5D 3C |C #8:STA $F9..]<|
000055C0: 06 20 42 43 53 20 AC AA 34 3A 44 45 43 20 24 46 |. BCS ..4:DEC $F|
000055D0: 41 3A 52 54 53 00 DB 5D 3E 06 3B 00 E1 5D 40 06 |A:RTS..]>.;..]@.|
000055E0: 3B 00 05 5E 42 06 3B AC AC AC 20 4D 4F 55 53 45 |;..^B.;... MOUSE|
000055F0: 20 4D 41 4E 41 47 45 52 20 26 20 44 52 49 56 45 | MANAGER & DRIVE|
00005600: 52 20 AC AC AC 00 0B 5E 44 06 3B 00 11 5E 46 06 |R .....^D.;..^F.|
00005610: 3B 00 35 5E 48 06 3B 9E 20 4D 4F 55 53 45 2C 43 |;.5^H.;. MOUSE,C|
00005620: 55 52 53 B0 24 20 AB AB 28 4D 41 4B 45 20 20 43 |URS.$ ..(MAKE C|
00005630: 55 52 53 B0 29 00 5B 5E 4A 06 3B 9E 20 4D 4F 55 |URS.).[^J.;. MOU|
00005640: 53 45 2C 30 20 20 20 20 20 20 20 AB AB AB 28 54 |SE,0 ...(T|
00005650: 52 41 4E 53 50 41 52 45 4E 54 29 00 80 5E 4C 06 |RANSPARENT)..^L.|
00005660: 3B 9E 20 4D 4F 55 53 45 2C 31 20 20 20 20 20 20 |;. MOUSE,1 |
00005670: 20 AB AB 28 41 52 52 4F 57 20 43 55 52 53 B0 29 | ..(ARROW CURS.)|
00005680: 00 A5 5E 4E 06 3B 9E 20 4D 4F 55 53 45 2C 32 20 |..^N.;. MOUSE,2 |
00005690: 20 20 20 20 20 20 AB AB 28 43 52 4F 53 53 20 43 | ..(CROSS C|
000056A0: 55 52 53 B0 29 00 C9 5E 50 06 3B 9E 20 4D 4F 55 |URS.)..^P.;. MOU|
000056B0: 53 45 20 91 20 5B 2C 43 4F 4C B0 5D 20 28 53 48 |SE . [,COL.] (SH|
000056C0: 4F 57 20 4D 4F 55 53 45 29 00 EF 5E 52 06 3B 9E |OW MOUSE)..^R.;.|
000056D0: 20 4D 4F 55 53 45 20 5B 4F 46 46 5D 20 20 20 AB | MOUSE [OFF] .|
000056E0: AB AB AB 28 48 49 44 45 20 4D 4F 55 53 45 29 00 |...(HIDE MOUSE).|
000056F0: F5 5E 54 06 3B 00 14 5F 56 06 4D 4F 55 53 45 20 |.^T.;.._V.MOUSE |
00005700: B2 20 AC 20 20 20 3B 43 48 45 43 4B 20 81 20 A4 |. . ;CHECK . .|
00005710: 4B 45 4E 53 00 30 5F 58 06 20 4A 53 52 20 43 48 |KENS.0_X. JSR CH|
00005720: 52 CB 54 3A 42 45 51 20 4D 4F 55 53 45 4F 46 46 |R.T:BEQ MOUSEOFF|
00005730: 00 4D 5F 5A 06 20 43 4D 50 20 23 22 2C 22 20 20 |.M_Z. CMP #"," |
00005740: 3A 42 45 51 20 4D 4F 55 53 45 50 41 52 00 67 5F |:BEQ MOUSEPAR.g_|
00005750: 5C 06 20 50 48 41 3A 4A 53 52 20 4D 4F 55 53 45 |\. PHA:JSR MOUSE|
00005760: 43 4F 4C 3A 50 4C 41 00 82 5F 5E 06 20 43 4D 50 |COL:PLA.._^. CMP|
00005770: 20 23 24 39 31 20 20 3A 42 45 51 20 4D 4F 55 53 | #$91 :BEQ MOUS|
00005780: 45 91 00 98 5F 60 06 20 4A 4D 50 20 53 59 4E 54 |E..._`. JMP SYNT|
00005790: 41 58 20 3B 45 52 52 B0 00 B9 5F 62 06 4D 4F 55 |AX ;ERR..._b.MOU|
000057A0: 53 45 50 41 52 20 4A 53 52 20 45 41 54 43 4D 41 |SEPAR JSR EATCMA|
000057B0: 20 3B 45 41 54 20 22 2C 22 00 CF 5F 64 06 20 4A | ;EAT ",".._d. J|
000057C0: 53 52 20 45 C5 46 4D 20 3B 45 C5 55 41 54 45 00 |SR E.FM ;E.UATE.|
000057D0: E9 5F 66 06 20 42 49 54 20 24 30 44 3A 42 4D 49 |._f. BIT $0D:BMI|
000057E0: 20 4D 4F 55 53 45 53 54 52 00 0C 60 68 06 4D 4F | MOUSESTR..`h.MO|
000057F0: 55 53 45 4E 55 4D 20 4A 53 52 20 46 41 43 42 59 |USENUM JSR FACBY|
00005800: 54 20 3B 42 59 54 20 49 4E 20 2E 58 00 33 60 6A |T ;BYT IN .X.3`j|
00005810: 06 20 43 50 58 20 23 30 20 3A 42 45 51 20 53 45 |. CPX #0 :BEQ SE|
00005820: 54 54 52 41 4E 53 20 3B 54 52 41 4E 53 50 41 52 |TTRANS ;TRANSPAR|
00005830: 45 4E 54 00 56 60 6C 06 20 43 50 58 20 23 31 20 |ENT.V`l. CPX #1 |
00005840: 3A 42 45 51 20 53 45 54 41 52 52 4F 57 20 3B AE |:BEQ SETARROW ;.|
00005850: AB 41 52 52 4F 57 00 79 60 6E 06 20 43 50 58 20 |.ARROW.y`n. CPX |
00005860: 23 32 20 3A 42 45 51 20 53 45 54 43 52 4F 53 53 |#2 :BEQ SETCROSS|
00005870: 20 3B 58 AB 43 52 4F 53 53 00 89 60 70 06 20 4A | ;X.CROSS..`p. J|
00005880: 4D 50 20 49 4C 4C 51 4E 54 00 AE 60 72 06 53 45 |MP ILLQNT..`r.SE|
00005890: 54 41 52 52 4F 57 20 4C 44 41 20 23 B3 41 52 52 |TARROW LDA #.ARR|
000058A0: 4F 57 3A 4C 44 59 20 23 B1 41 52 52 4F 57 00 C7 |OW:LDY #.ARROW..|
000058B0: 60 74 06 20 4C 44 58 20 23 33 39 3A 42 4E 45 20 |`t. LDX #39:BNE |
000058C0: 53 45 54 50 4E 54 52 00 EC 60 76 06 53 45 54 43 |SETPNTR..`v.SETC|
000058D0: 52 4F 53 53 20 4C 44 41 20 23 B3 43 52 4F 53 53 |ROSS LDA #.CROSS|
000058E0: 3A 4C 44 59 20 23 B1 43 52 4F 53 53 00 05 61 78 |:LDY #.CROSS..ax|
000058F0: 06 20 4C 44 58 20 23 31 35 20 3B C3 47 54 48 20 |. LDX #15 ;.GTH |
00005900: 49 4E 20 2E 58 00 21 61 7A 06 53 45 54 50 4E 54 |IN .X.!az.SETPNT|
00005910: 52 20 53 54 41 20 24 32 32 3A 53 54 59 20 24 32 |R STA $22:STY $2|
00005920: 33 00 33 61 7C 06 20 42 4E 45 20 53 45 54 54 52 |3.3a|. BNE SETTR|
00005930: 41 4E 53 00 55 61 7E 06 4D 4F 55 53 45 53 54 52 |ANS.Ua~.MOUSESTR|
00005940: 20 4A 53 52 20 B8 53 54 52 20 3B A1 20 44 45 53 | JSR .STR ;. DES|
00005950: 43 52 49 50 54 00 6A 61 80 06 20 54 41 58 20 3B |CRIPT.ja.. TAX ;|
00005960: C3 47 54 48 20 49 4E 20 2E 58 00 8D 61 82 06 53 |.GTH IN .X..a..S|
00005970: 45 54 54 52 41 4E 53 20 4C 44 59 20 23 36 33 3A |ETTRANS LDY #63:|
00005980: 4C 44 41 20 23 30 20 3B 43 4C 45 41 52 00 AF 61 |LDA #0 ;CLEAR..a|
00005990: 84 06 20 53 54 41 20 53 4C 4F 54 31 2C 59 3A 44 |.. STA SLOT1,Y:D|
000059A0: 45 59 3A 42 50 4C 20 AC AB 34 20 3B 4F 55 54 00 |EY:BPL ..4 ;OUT.|
000059B0: BF 61 86 06 20 4C 44 59 20 23 30 3A 49 4E 58 00 |.a.. LDY #0:INX.|
000059C0: D5 61 88 06 20 44 45 58 3A 42 45 51 20 4D 4F 55 |.a.. DEX:BEQ MOU|
000059D0: 53 45 50 54 52 00 F2 61 8A 06 20 4C 44 41 20 28 |SEPTR..a.. LDA (|
000059E0: 24 32 32 29 2C 59 3A 53 54 41 20 53 4C 4F 54 31 |$22),Y:STA SLOT1|
000059F0: 2C 59 00 0C 62 8C 06 20 49 4E 59 3A 43 50 59 20 |,Y..b.. INY:CPY |
00005A00: 23 36 34 3A 42 43 43 20 AC AB 31 31 00 30 62 8E |#64:BCC ..11.0b.|
00005A10: 06 4D 4F 55 53 45 50 54 52 20 4C 44 41 20 23 32 |.MOUSEPTR LDA #2|
00005A20: 35 33 3A 53 54 41 20 53 50 54 52 30 3A 52 54 53 |53:STA SPTR0:RTS|
00005A30: 00 36 62 90 06 3B 00 53 62 92 06 4D 4F 55 53 45 |.6b..;.Sb..MOUSE|
00005A40: 4F 46 46 20 B2 20 AC 20 3B 48 49 44 45 20 4D 4F |OFF . . ;HIDE MO|
00005A50: 55 53 45 00 7A 62 94 06 20 4C 44 58 20 23 AB 32 |USE.zb.. LDX #.2|
00005A60: 3A 4C 44 41 20 23 B3 4F 4C 44 49 52 51 3A 4C 44 |:LDA #.OLDIRQ:LD|
00005A70: 59 20 23 B1 4F 4C 44 49 52 51 00 92 62 96 06 20 |Y #.OLDIRQ..b.. |
00005A80: 42 4E 45 20 AC AA 38 20 3B 53 4B 49 50 20 4F 56 |BNE ..8 ;SKIP OV|
00005A90: 45 52 00 AE 62 98 06 4D 4F 55 53 45 91 20 B2 20 |ER..b..MOUSE. . |
00005AA0: AC 20 20 3B 53 48 4F 57 20 4D 4F 55 53 45 00 D1 |. ;SHOW MOUSE..|
00005AB0: 62 9A 06 20 4C 44 58 20 23 30 31 3A 4C 44 41 20 |b.. LDX #01:LDA |
00005AC0: 23 B3 A2 49 52 51 3A 4C 44 59 20 23 B1 A2 49 52 |#..IRQ:LDY #..IR|
00005AD0: 51 00 EE 62 9C 06 20 53 45 49 3A 53 54 41 20 24 |Q..b.. SEI:STA $|
00005AE0: 30 33 31 34 3A 53 54 59 20 24 30 33 31 35 00 0D |0314:STY $0315..|
00005AF0: 63 9E 06 20 4A 53 52 20 52 4D 53 50 52 54 30 20 |c.. JSR RMSPRT0 |
00005B00: 3B 49 4E 49 54 20 53 50 52 49 54 45 30 00 1A 63 |;INIT SPRITE0..c|
00005B10: A0 06 20 43 4C 49 3A 52 54 53 00 20 63 A2 06 3B |.. CLI:RTS. c..;|
00005B20: 00 43 63 A4 06 4D 4F 55 53 45 43 4F 4C 20 B2 20 |.Cc..MOUSECOL . |
00005B30: AC 20 3B 45 41 54 20 A4 4B 45 4E 20 5B 2C 43 4F |. ;EAT .KEN [,CO|
00005B40: 4C B0 5D 00 5D 63 A6 06 20 4A 53 52 20 43 48 52 |L.].]c.. JSR CHR|
00005B50: A1 3A 42 4E 45 20 AC AA 33 3A 52 54 53 00 76 63 |.:BNE ..3:RTS.vc|
00005B60: A8 06 20 4A 53 52 20 A1 42 59 54 3A 54 58 41 3A |.. JSR .BYT:TXA:|
00005B70: AF 20 23 24 30 46 00 95 63 AA 06 20 4A 4D 50 20 |. #$0F..c.. JMP |
00005B80: 52 4D 53 43 4F 4C 30 20 3B 53 50 52 49 54 45 30 |RMSCOL0 ;SPRITE0|
00005B90: 20 43 4F 4C B0 00 9B 63 AC 06 3B 00 BD 63 AE 06 | COL...c..;..c..|
00005BA0: 4F 4C 44 49 52 51 20 B2 20 24 45 41 33 31 20 3B |OLDIRQ . $EA31 ;|
00005BB0: 4B 45 59 53 43 41 4E 2C 20 45 54 43 2E 00 DC 63 |KEYSCAN, ETC...c|
00005BC0: B0 06 45 58 54 49 52 51 20 B2 20 24 45 41 38 31 |..EXTIRQ . $EA81|
00005BD0: 20 3B 8E 20 46 52 4F 4D 20 49 52 51 00 E2 63 B2 | ;. FROM IRQ..c.|
00005BE0: 06 3B 00 04 64 B4 06 A2 49 52 51 20 B2 20 AC 20 |.;..d...IRQ . . |
00005BF0: 3B 53 45 54 20 55 50 20 4D 4F 55 53 45 20 44 52 |;SET UP MOUSE DR|
00005C00: 49 56 45 52 00 25 64 B6 06 20 4C 44 41 20 23 B1 |IVER.%d.. LDA #.|
00005C10: 4D 53 44 49 52 51 3A 50 48 41 20 3B 82 20 91 20 |MSDIRQ:PHA ;. . |
00005C20: 53 54 41 43 4B 00 3B 64 B8 06 20 4C 44 41 20 23 |STACK.;d.. LDA #|
00005C30: B3 4D 53 44 49 52 51 3A 50 48 41 00 5E 64 BA 06 |.MSDIRQ:PHA.^d..|
00005C40: 20 50 48 50 3A 50 48 41 3A 50 48 41 3A 50 48 41 | PHP:PHA:PHA:PHA|
00005C50: 20 3B 43 41 4C 4C 20 44 55 4D 4D 59 20 83 00 6E | ;CALL DUMMY ..n|
00005C60: 64 BC 06 20 4A 4D 50 20 4F 4C 44 49 52 51 00 74 |d.. JMP OLDIRQ.t|
00005C70: 64 BE 06 3B 00 7A 64 C0 06 3B 00 96 64 C2 06 3B |d..;.zd..;..d..;|
00005C80: AC AC AC 20 4D 4F 55 53 45 20 52 4F 55 54 49 4E |... MOUSE ROUTIN|
00005C90: 45 53 20 AC AC AC 00 9C 64 C4 06 3B 00 A2 64 C6 |ES .....d..;..d.|
00005CA0: 06 3B 00 C5 64 C8 06 4D 53 44 49 52 51 20 B2 20 |.;..d..MSDIRQ . |
00005CB0: AC 20 3B A2 20 4D 4F 55 53 45 20 44 52 49 56 45 |. ;. MOUSE DRIVE|
00005CC0: 52 20 49 52 51 00 E7 64 CA 06 20 4A 53 52 20 52 |R IRQ..d.. JSR R|
00005CD0: 44 4D 4F 55 53 45 20 3B 87 20 4D 4F 55 53 45 20 |DMOUSE ;. MOUSE |
00005CE0: 28 50 B0 54 20 32 29 00 06 65 CC 06 20 4A 53 52 |(P.T 2)..e.. JSR|
00005CF0: 20 52 4D 42 54 4E 53 20 20 3B 87 20 4D 4F 55 53 | RMBTNS ;. MOUS|
00005D00: 45 20 42 54 4E 53 00 24 65 CE 06 20 53 54 41 20 |E BTNS.$e.. STA |
00005D10: 4D 42 3A 42 45 51 20 4D 53 44 32 20 3B 4E 4F 20 |MB:BEQ MSD2 ;NO |
00005D20: 42 54 4E 53 00 3E 65 D0 06 20 4A 53 52 20 4D 53 |BTNS.>e.. JSR MS|
00005D30: 45 56 45 4E 54 20 3B 44 4F 20 42 54 4E 53 00 59 |EVENT ;DO BTNS.Y|
00005D40: 65 D2 06 20 4A 4D 50 20 45 58 54 49 52 51 20 20 |e.. JMP EXTIRQ |
00005D50: 3B 45 58 49 54 20 49 52 51 00 7B 65 D4 06 4D 53 |;EXIT IRQ.{e..MS|
00005D60: 44 32 20 4C 44 59 20 24 30 32 38 45 20 3B 43 48 |D2 LDY $028E ;CH|
00005D70: 45 43 4B 20 43 4F 4D AB 4B 45 59 00 9D 65 D6 06 |ECK COM.KEY..e..|
00005D80: 20 43 50 59 20 23 32 3A 42 4E 45 20 4D 53 44 33 | CPY #2:BNE MSD3|
00005D90: 20 3B 8B 20 A8 20 50 52 45 53 53 45 44 00 BE 65 | ;. . PRESSED..e|
00005DA0: D8 06 20 4C 44 58 20 24 43 36 3A 42 45 51 20 4D |.. LDX $C6:BEQ M|
00005DB0: 53 44 33 20 3B 53 4B 49 50 20 53 43 41 4E 00 DF |SD3 ;SKIP SCAN..|
00005DC0: 65 DA 06 20 4A 53 52 20 4D 45 4E 55 4B 45 59 20 |e.. JSR MENUKEY |
00005DD0: 3B 4D 45 4E 55 9B 20 4B 45 59 43 4F 44 45 53 00 |;MENU. KEYCODES.|
00005DE0: F9 65 DC 06 4D 53 44 33 20 4A 4D 50 20 45 58 54 |.e..MSD3 JMP EXT|
00005DF0: 49 52 51 20 3B 45 58 49 54 00 FF 65 DE 06 3B 00 |IRQ ;EXIT..e..;.|
00005E00: 22 66 E0 06 4D 53 45 56 45 4E 54 20 B2 20 AC 20 |"f..MSEVENT . . |
00005E10: 3B 4C 45 46 54 20 26 20 52 49 47 48 54 20 42 54 |;LEFT & RIGHT BT|
00005E20: 4E 53 00 3D 66 E2 06 20 42 4D 49 20 53 45 4C 45 |NS.=f.. BMI SELE|
00005E30: 43 54 20 20 3B 4C 45 46 54 20 42 54 4E 00 60 66 |CT ;LEFT BTN.`f|
00005E40: E4 06 20 4E 4F 50 20 3B 28 52 54 53 20 AB 20 52 |.. NOP ;(RTS . R|
00005E50: 49 47 48 54 20 42 54 4E 20 49 47 4E B0 45 44 29 |IGHT BTN IGN.ED)|
00005E60: 00 7C 66 E6 06 20 42 50 4C 20 4D 45 4E 55 42 54 |.|f.. BPL MENUBT|
00005E70: 4E 20 3B 52 49 47 48 54 20 42 54 4E 00 8C 66 E8 |N ;RIGHT BTN..f.|
00005E80: 06 4E 4F 45 56 45 4E 54 20 52 54 53 00 92 66 EA |.NOEVENT RTS..f.|
00005E90: 06 3B 00 B4 66 EC 06 53 45 4C 45 43 54 20 B2 20 |.;..f..SELECT . |
00005EA0: AC 20 20 3B 4C 45 46 54 20 4D 4F 55 53 45 20 42 |. ;LEFT MOUSE B|
00005EB0: 55 54 A4 4E 00 D7 66 EE 06 20 52 54 53 20 3B 28 |UT.N..f.. RTS ;(|
00005EC0: 4E 4F 50 20 AB 20 52 49 47 48 54 20 42 54 4E 20 |NOP . RIGHT BTN |
00005ED0: 49 47 4E B0 45 44 29 00 F3 66 F0 06 20 4E 4F 50 |IGN.ED)..f.. NOP|
00005EE0: 3A 4E 4F 50 20 3B 46 55 54 55 52 45 20 BD 41 4E |:NOP ;FUTURE .AN|
00005EF0: 53 49 91 00 F9 66 F2 06 3B 00 1C 67 F4 06 4D 45 |SI...f..;..g..ME|
00005F00: 4E 55 42 54 4E 20 B2 20 AC 20 3B 52 49 47 48 54 |NUBTN . . ;RIGHT|
00005F10: 20 4D 4F 55 53 45 20 42 55 54 A4 4E 00 39 67 F6 | MOUSE BUT.N.9g.|
00005F20: 06 20 4A 53 52 20 4D 45 4E 55 53 45 4C 3A 42 43 |. JSR MENUSEL:BC|
00005F30: 53 20 4E 4F 45 56 45 4E 54 00 5E 67 F8 06 20 4A |S NOEVENT.^g.. J|
00005F40: 53 52 20 4D 45 4E 55 44 4F 57 4E 20 3B 4C 41 59 |SR MENUDOWN ;LAY|
00005F50: 4F 55 54 20 4D 45 4E 55 20 49 54 45 4D 53 00 7D |OUT MENU ITEMS.}|
00005F60: 67 FA 06 20 4A 53 52 20 4D 45 4E 55 43 54 52 4C |g.. JSR MENUCTRL|
00005F70: 20 3B 53 45 4C 45 43 54 20 49 54 45 4D 00 A1 67 | ;SELECT ITEM..g|
00005F80: FC 06 20 4A 4D 50 20 4D 45 4E 55 41 57 41 59 20 |.. JMP MENUAWAY |
00005F90: 3B 45 52 41 53 45 20 4D 45 4E 55 20 49 54 45 4D |;ERASE MENU ITEM|
00005FA0: 53 00 A7 67 FE 06 3B 00 CE 67 00 07 4D 43 4D 58 |S..g..;..g..MCMX|
00005FB0: 59 20 B2 20 AC 20 3B 4D 4F 55 53 45 20 43 45 4C |Y . . ;MOUSE CEL|
00005FC0: 4C 20 43 4F 4C 55 4D 4E 20 26 20 52 4F 57 00 EF |L COLUMN & ROW..|
00005FD0: 67 02 07 20 4C 44 41 20 4D 58 AA 31 3A 4C 53 52 |g.. LDA MX.1:LSR|
00005FE0: 20 3B 58 48 49 20 53 45 54 20 43 41 52 52 59 00 | ;XHI SET CARRY.|
00005FF0: 15 68 04 07 20 4C 44 41 20 4D 58 3A 52 B0 3A 4C |.h.. LDA MX:R.:L|
00006000: 53 52 3A 4C 53 52 20 3B AD 38 20 57 49 54 48 20 |SR:LSR ;.8 WITH |
00006010: 43 41 52 52 59 00 26 68 06 07 20 54 41 58 3A 53 |CARRY.&h.. TAX:S|
00006020: 54 58 20 4D 43 58 00 42 68 08 07 20 4C 44 41 20 |TX MCX.Bh.. LDA |
00006030: 4D 59 3A 4C 53 52 3A 4C 53 52 3A 4C 53 52 20 3B |MY:LSR:LSR:LSR ;|
00006040: AD 38 00 57 68 0A 07 20 54 41 59 3A 53 54 59 20 |.8.Wh.. TAY:STY |
00006050: 4D 43 59 3A 52 54 53 00 5D 68 0C 07 3B 00 63 68 |MCY:RTS.]h..;.ch|
00006060: 0E 07 3B 00 81 68 10 07 3B AC AC AC 20 53 50 52 |..;..h..;... SPR|
00006070: 49 54 45 30 20 52 4F 55 54 49 4E 45 53 20 AC AC |ITE0 ROUTINES ..|
00006080: AC 00 87 68 12 07 3B 00 8D 68 14 07 3B 00 AC 68 |...h..;..h..;..h|
00006090: 16 07 52 44 4D 4F 55 53 45 20 B2 20 AC 20 3B 87 |..RDMOUSE . . ;.|
000060A0: 20 4D 4F 55 53 45 20 B9 49 54 49 91 00 D0 68 18 | MOUSE .ITI...h.|
000060B0: 07 20 4C 44 41 20 23 24 43 30 3A 53 54 41 20 24 |. LDA #$C0:STA $|
000060C0: 44 43 30 32 20 3B 43 54 52 4C 20 50 B0 54 20 32 |DC02 ;CTRL P.T 2|
000060D0: 00 E8 68 1A 07 20 4C 44 41 20 23 24 38 30 3A 53 |..h.. LDA #$80:S|
000060E0: 54 41 20 24 44 43 30 30 00 0E 69 1C 07 20 4C 44 |TA $DC00..i.. LD|
000060F0: 58 20 23 30 3A 49 4E 58 3A 42 4E 45 20 AC AB 31 |X #0:INX:BNE ..1|
00006100: 20 3B 53 45 54 54 4C 45 20 4C 49 4E 45 53 00 2E | ;SETTLE LINES..|
00006110: 69 1E 07 20 4C 44 58 20 24 44 34 31 39 20 20 20 |i.. LDX $D419 |
00006120: 20 20 20 20 20 20 20 3B 87 20 50 4F 54 58 00 4D | ;. POTX.M|
00006130: 69 20 07 20 4C 44 41 20 24 44 43 30 30 3A 50 48 |i . LDA $DC00:PH|
00006140: 41 20 20 20 20 20 20 3B 87 20 50 B0 54 00 6F 69 |A ;. P.T.oi|
00006150: 22 07 20 AF 20 23 24 31 30 3A 53 54 41 20 4D 42 |". . #$10:STA MB|
00006160: 20 20 20 20 3B 94 20 4C 45 46 54 20 42 54 4E 00 | ;. LEFT BTN.|
00006170: 92 69 24 07 20 54 58 41 3A 42 4D 49 20 AC AA 35 |.i$. TXA:BMI ..5|
00006180: 20 20 20 20 20 20 20 20 3B 52 49 47 48 54 20 42 | ;RIGHT B|
00006190: 54 4E 00 B4 69 26 07 20 4C 44 41 20 23 24 32 30 |TN..i&. LDA #$20|
000061A0: 3A 2E 42 59 54 20 24 32 43 20 20 3B BC 49 43 20 |:.BYT $2C ;.IC |
000061B0: 48 49 47 48 00 D4 69 28 07 20 4C 44 41 20 23 24 |HIGH..i(. LDA #$|
000061C0: 30 30 3A B0 41 20 4D 42 3A 4C 53 52 3B BC 49 43 |00:.A MB:LSR;.IC|
000061D0: 20 4C 4F 57 00 F7 69 2A 07 20 4C 53 52 3A 45 B0 | LOW..i*. LSR:E.|
000061E0: 20 23 AB 31 3A 53 54 41 20 4D 42 20 3B 94 20 4C | #.1:STA MB ;. L|
000061F0: 26 52 20 42 54 4E 53 00 1B 6A 2C 07 20 50 4C 41 |&R BTNS..j,. PLA|
00006200: 3A AF 20 23 24 30 46 20 20 20 3B 46 49 4C 54 45 |:. #$0F ;FILTE|
00006210: 52 20 44 49 52 45 43 54 49 91 53 00 3E 6A 2E 07 |R DIRECTI.S.>j..|
00006220: 20 4C 44 58 20 23 24 46 46 3A 53 54 58 20 24 44 | LDX #$FF:STX $D|
00006230: 43 30 32 20 3B 52 45 53 45 54 20 44 44 52 00 61 |C02 ;RESET DDR.a|
00006240: 6A 30 07 20 4C 44 58 20 23 24 37 46 3A 53 54 58 |j0. LDX #$7F:STX|
00006250: 20 24 44 43 30 30 20 3B 52 45 53 45 54 20 52 45 | $DC00 ;RESET RE|
00006260: 47 00 80 6A 32 07 52 4D 55 50 20 54 41 59 3A AF |G..j2.RMUP TAY:.|
00006270: 20 23 25 30 30 30 31 3A 42 4E 45 20 52 4D 44 4E | #%0001:BNE RMDN|
00006280: 00 A5 6A 34 07 20 4C 44 41 20 24 44 30 30 31 20 |..j4. LDA $D001 |
00006290: 20 20 20 20 20 20 20 20 20 20 3B 53 50 52 49 54 | ;SPRIT|
000062A0: 45 30 28 59 29 00 BB 6A 36 07 20 43 4D 50 20 23 |E0(Y)..j6. CMP #|
000062B0: 34 38 3A 42 45 51 20 52 4D 4C 46 00 D3 6A 38 07 |48:BEQ RMLF..j8.|
000062C0: 20 44 45 43 20 24 44 30 30 31 3A 42 4E 45 20 52 | DEC $D001:BNE R|
000062D0: 4D 4C 46 00 F2 6A 3A 07 52 4D 44 4E 20 54 59 41 |MLF..j:.RMDN TYA|
000062E0: 3A AF 20 23 25 30 30 31 30 3A 42 4E 45 20 52 4D |:. #%0010:BNE RM|
000062F0: 4C 46 00 17 6B 3C 07 20 4C 44 41 20 24 44 30 30 |LF..k<. LDA $D00|
00006300: 31 20 20 20 20 20 20 20 20 20 20 20 3B 53 50 52 |1 ;SPR|
00006310: 49 54 45 30 28 59 29 00 2E 6B 3E 07 20 43 4D 50 |ITE0(Y)..k>. CMP|
00006320: 20 23 32 34 37 3A 42 45 51 20 52 4D 4C 46 00 3D | #247:BEQ RMLF.=|
00006330: 6B 40 07 20 49 4E 43 20 24 44 30 30 31 00 5C 6B |k@. INC $D001.\k|
00006340: 42 07 52 4D 4C 46 20 54 59 41 3A AF 20 23 25 30 |B.RMLF TYA:. #%0|
00006350: 31 30 30 3A 42 4E 45 20 52 4D 52 54 00 81 6B 44 |100:BNE RMRT..kD|
00006360: 07 20 4C 44 58 20 24 44 30 30 30 20 20 20 20 20 |. LDX $D000 |
00006370: 20 20 20 20 20 20 3B 53 50 52 49 54 45 30 28 58 | ;SPRITE0(X|
00006380: 29 00 9D 6B 46 07 20 4C 44 41 20 24 44 30 31 30 |)..kF. LDA $D010|
00006390: 3A AF 20 23 31 3A 42 4E 45 20 AC AA 36 00 B3 6B |:. #1:BNE ..6..k|
000063A0: 48 07 20 43 50 58 20 23 32 32 3A 42 45 51 20 52 |H. CPX #22:BEQ R|
000063B0: 4D 58 59 00 D2 6B 4A 07 20 44 45 43 20 24 44 30 |MXY..kJ. DEC $D0|
000063C0: 30 30 3A 43 50 58 20 23 30 3A 42 4E 45 20 52 4D |00:CPX #0:BNE RM|
000063D0: 58 59 00 F2 6B 4C 07 20 4C 44 41 20 24 44 30 31 |XY..kL. LDA $D01|
000063E0: 30 3A AF 20 23 24 46 45 3A 53 54 41 20 24 44 30 |0:. #$FE:STA $D0|
000063F0: 31 30 00 00 6C 4E 07 20 4A 4D 50 20 52 4D 58 59 |10..lN. JMP RMXY|
00006400: 00 1F 6C 50 07 52 4D 52 54 20 54 59 41 3A AF 20 |..lP.RMRT TYA:. |
00006410: 23 25 31 30 30 30 3A 42 4E 45 20 52 4D 58 59 00 |#%1000:BNE RMXY.|
00006420: 44 6C 52 07 20 4C 44 58 20 24 44 30 30 30 20 20 |DlR. LDX $D000 |
00006430: 20 20 20 20 20 20 20 20 20 3B 53 50 52 49 54 45 | ;SPRITE|
00006440: 30 28 58 29 00 60 6C 54 07 20 4C 44 41 20 24 44 |0(X).`lT. LDA $D|
00006450: 30 31 30 3A AF 20 23 31 3A 42 45 51 20 AC AA 36 |010:. #1:BEQ ..6|
00006460: 00 76 6C 56 07 20 43 50 58 20 23 38 35 3A 42 45 |.vlV. CPX #85:BE|
00006470: 51 20 52 4D 58 59 00 8E 6C 58 07 20 49 4E 43 20 |Q RMXY..lX. INC |
00006480: 24 44 30 30 30 3A 42 4E 45 20 52 4D 58 59 00 AF |$D000:BNE RMXY..|
00006490: 6C 5A 07 20 4C 44 41 20 24 44 30 31 30 3A B0 41 |lZ. LDA $D010:.A|
000064A0: 20 23 24 30 31 3A 53 54 41 20 24 44 30 31 30 00 | #$01:STA $D010.|
000064B0: D2 6C 5C 07 52 4D 58 59 20 B2 20 AC 20 3B 50 55 |.l\.RMXY . . ;PU|
000064C0: 54 20 4D 4F 55 53 45 20 B9 4E 20 28 4D 58 2C 4D |T MOUSE .N (MX,M|
000064D0: 59 29 00 F4 6C 5E 07 20 4C 44 41 20 24 44 30 30 |Y)..l^. LDA $D00|
000064E0: 30 3A 53 45 43 3A 53 42 43 20 23 32 32 3A 53 54 |0:SEC:SBC #22:ST|
000064F0: 41 20 4D 58 00 18 6D 60 07 20 4C 44 41 20 24 44 |A MX..m`. LDA $D|
00006500: 30 31 30 3A AF 20 23 31 3A 53 42 43 20 23 30 3A |010:. #1:SBC #0:|
00006510: 53 54 41 20 4D 58 AA 31 00 3A 6D 62 07 20 4C 44 |STA MX.1.:mb. LD|
00006520: 41 20 24 44 30 30 31 3A 53 45 43 3A 53 42 43 20 |A $D001:SEC:SBC |
00006530: 23 34 38 3A 53 54 41 20 4D 59 00 5B 6D 64 07 20 |#48:STA MY.[md. |
00006540: 4C 44 41 20 23 31 39 39 3A 53 42 43 20 4D 59 3A |LDA #199:SBC MY:|
00006550: 53 54 41 20 4D 59 49 3A 52 54 53 00 61 6D 66 07 |STA MYI:RTS.amf.|
00006560: 3B 00 81 6D 68 07 52 4D B9 30 59 20 B2 20 AC 20 |;..mh.RM.0Y . . |
00006570: 3B B9 49 54 49 91 20 53 50 52 49 54 45 30 28 59 |;.ITI. SPRITE0(Y|
00006580: 29 00 A7 6D 6A 07 20 4C 44 41 20 54 52 3A 41 53 |)..mj. LDA TR:AS|
00006590: 4C 3A 41 53 4C 3A 41 53 4C 20 20 3B 57 49 54 48 |L:ASL:ASL ;WITH|
000065A0: 49 4E 20 4D 45 4E 55 00 CC 6D 6C 07 20 41 44 43 |IN MENU..ml. ADC|
000065B0: 20 23 35 32 3A 53 54 41 20 24 44 30 30 31 3A 52 | #52:STA $D001:R|
000065C0: 54 53 20 20 3B 56 49 45 57 50 B0 54 00 D2 6D 6E |TS ;VIEWP.T..mn|
000065D0: 07 3B 00 F0 6D 70 07 52 4D 53 50 52 54 30 20 B2 |.;..mp.RMSPRT0 .|
000065E0: 20 AC 20 3B 49 4E 49 54 20 53 50 52 49 54 45 30 | . ;INIT SPRITE0|
000065F0: 00 10 6E 72 07 20 4C 44 41 20 24 44 30 30 31 3A |..nr. LDA $D001:|
00006600: 43 4D 50 20 23 34 38 3A 42 43 53 20 AC AA 32 36 |CMP #48:BCS ..26|
00006610: 00 31 6E 74 07 20 4C 44 41 20 23 37 35 3A 53 54 |.1nt. LDA #75:ST|
00006620: 41 20 24 44 30 30 30 3A 53 54 41 20 24 44 30 30 |A $D000:STA $D00|
00006630: 31 00 50 6E 76 07 20 4C 44 41 20 23 AB 32 3A AF |1.Pnv. LDA #.2:.|
00006640: 20 24 44 30 31 30 3A 53 54 41 20 24 44 30 31 30 | $D010:STA $D010|
00006650: 00 6F 6E 78 07 20 4C 44 41 20 23 AB 32 3A AF 20 |.onx. LDA #.2:. |
00006660: 24 44 30 31 42 3A 53 54 41 20 24 44 30 31 42 00 |$D01B:STA $D01B.|
00006670: 91 6E 7A 07 20 54 58 41 3A 42 4D 49 20 AC AA 37 |.nz. TXA:BMI ..7|
00006680: 3A B0 41 20 24 44 30 31 35 3A 42 4E 45 20 AC AA |:.A $D015:BNE ..|
00006690: 35 00 AC 6E 7C 07 20 AF 20 24 44 30 31 35 3A 53 |5..n|. . $D015:S|
000066A0: 54 41 20 24 44 30 31 35 3A 52 54 53 00 B2 6E 7E |TA $D015:RTS..n~|
000066B0: 07 3B 00 D4 6E 80 07 52 4D 53 43 4F 4C 30 20 B2 |.;..n..RMSCOL0 .|
000066C0: 20 AC 20 3B 53 45 54 20 53 50 52 49 54 45 30 20 | . ;SET SPRITE0 |
000066D0: 43 4F 4C B0 00 E7 6E 82 07 20 53 54 41 20 24 44 |COL...n.. STA $D|
000066E0: 30 32 37 3A 52 54 53 00 ED 6E 84 07 3B 00 0C 6F |027:RTS..n..;..o|
000066F0: 86 07 52 4D 42 54 4E 53 20 B2 20 AC 20 3B 87 20 |..RMBTNS . . ;. |
00006700: 4D 4F 55 53 45 20 42 55 54 A4 4E 53 00 2A 6F 88 |MOUSE BUT.NS.*o.|
00006710: 07 20 4C 44 41 20 23 34 3A 42 49 54 20 4D 42 3A |. LDA #4:BIT MB:|
00006720: 42 4E 45 20 52 4D 42 54 4E 31 00 45 6F 8A 07 20 |BNE RMBTN1.Eo.. |
00006730: 41 53 4C 3A 42 49 54 20 4D 42 3A 42 4E 45 20 52 |ASL:BIT MB:BNE R|
00006740: 4D 42 54 4E 32 00 6A 6F 8C 07 52 4D 42 54 4E 30 |MBTN2.jo..RMBTN0|
00006750: 20 4C 44 41 20 23 20 30 3A 52 54 53 20 3B 20 4E | LDA # 0:RTS ; N|
00006760: 4F 20 20 42 54 4E 20 5A B2 31 00 8F 6F 8E 07 52 |O BTN Z.1..o..R|
00006770: 4D 42 54 4E 31 20 4C 44 41 20 23 AB 31 3A 52 54 |MBTN1 LDA #.1:RT|
00006780: 53 20 3B 4C 45 46 54 20 42 54 4E 20 5A B2 30 00 |S ;LEFT BTN Z.0.|
00006790: B4 6F 90 07 52 4D 42 54 4E 32 20 4C 44 41 20 23 |.o..RMBTN2 LDA #|
000067A0: 20 31 3A 52 54 53 20 3B 52 47 48 54 20 42 54 4E | 1:RTS ;RGHT BTN|
000067B0: 20 5A B2 30 00 BA 6F 92 07 3B 00 C0 6F 94 07 3B | Z.0..o..;..o..;|
000067C0: 00 C6 6F 96 07 3B 00 DE 6F 98 07 41 52 52 4F 57 |..o..;..o..ARROW|
000067D0: 20 B2 20 AC 20 3B 53 50 52 49 54 45 20 83 00 05 | . . ;SPRITE ...|
000067E0: 70 9A 07 2E 42 59 54 20 25 30 30 30 30 30 30 30 |p...BYT %0000000|
000067F0: 30 2C 25 30 30 30 30 30 30 30 30 2C 25 30 30 30 |0,%00000000,%000|
00006800: 30 30 30 30 30 00 2C 70 9C 07 2E 42 59 54 20 25 |00000.,p...BYT %|
00006810: 30 30 30 30 30 30 30 30 2C 25 30 30 30 30 30 30 |00000000,%000000|
00006820: 30 30 2C 25 30 30 30 30 30 30 30 30 00 53 70 9E |00,%00000000.Sp.|
00006830: 07 2E 42 59 54 20 25 30 30 31 30 30 30 30 30 2C |..BYT %00100000,|
00006840: 25 30 30 30 30 30 30 30 30 2C 25 30 30 30 30 30 |%00000000,%00000|
00006850: 30 30 30 00 7A 70 A0 07 2E 42 59 54 20 25 30 30 |000.zp...BYT %00|
00006860: 31 31 30 30 30 30 2C 25 30 30 30 30 30 30 30 30 |110000,%00000000|
00006870: 2C 25 30 30 30 30 30 30 30 30 00 A1 70 A2 07 2E |,%00000000..p...|
00006880: 42 59 54 20 25 30 30 31 31 31 30 30 30 2C 25 30 |BYT %00111000,%0|
00006890: 30 30 30 30 30 30 30 2C 25 30 30 30 30 30 30 30 |0000000,%0000000|
000068A0: 30 00 C8 70 A4 07 2E 42 59 54 20 25 30 30 31 31 |0..p...BYT %0011|
000068B0: 31 31 30 30 2C 25 30 30 30 30 30 30 30 30 2C 25 |1100,%00000000,%|
000068C0: 30 30 30 30 30 30 30 30 00 EF 70 A6 07 2E 42 59 |00000000..p...BY|
000068D0: 54 20 25 30 30 31 31 31 31 31 30 2C 25 30 30 30 |T %00111110,%000|
000068E0: 30 30 30 30 30 2C 25 30 30 30 30 30 30 30 30 00 |00000,%00000000.|
000068F0: 16 71 A8 07 2E 42 59 54 20 25 30 30 31 31 31 31 |.q...BYT %001111|
00006900: 31 31 2C 25 30 30 30 30 30 30 30 30 2C 25 30 30 |11,%00000000,%00|
00006910: 30 30 30 30 30 30 00 3D 71 AA 07 2E 42 59 54 20 |000000.=q...BYT |
00006920: 25 30 30 31 31 31 31 30 30 2C 25 30 30 30 30 30 |%00111100,%00000|
00006930: 30 30 30 2C 25 30 30 30 30 30 30 30 30 00 64 71 |000,%00000000.dq|
00006940: AC 07 2E 42 59 54 20 25 30 30 31 30 30 31 31 30 |...BYT %00100110|
00006950: 2C 25 30 30 30 30 30 30 30 30 2C 25 30 30 30 30 |,%00000000,%0000|
00006960: 30 30 30 30 00 8B 71 AE 07 2E 42 59 54 20 25 30 |0000..q...BYT %0|
00006970: 30 30 30 30 31 31 30 2C 25 30 30 30 30 30 30 30 |0000110,%0000000|
00006980: 30 2C 25 30 30 30 30 30 30 30 30 00 B2 71 B0 07 |0,%00000000..q..|
00006990: 2E 42 59 54 20 25 30 30 30 30 30 30 31 31 2C 25 |.BYT %00000011,%|
000069A0: 30 30 30 30 30 30 30 30 2C 25 30 30 30 30 30 30 |00000000,%000000|
000069B0: 30 30 00 D9 71 B2 07 2E 42 59 54 20 25 30 30 30 |00..q...BYT %000|
000069C0: 30 30 30 31 31 2C 25 30 30 30 30 30 30 30 30 2C |00011,%00000000,|
000069D0: 25 30 30 30 30 30 30 30 30 00 DF 71 B4 07 3B 00 |%00000000..q..;.|
000069E0: F7 71 B6 07 43 52 4F 53 53 20 B2 20 AC 20 3B 53 |.q..CROSS . . ;S|
000069F0: 50 52 49 54 45 20 83 00 1E 72 B8 07 2E 42 59 54 |PRITE ...r...BYT|
00006A00: 20 25 31 30 30 30 31 30 30 30 2C 25 30 30 30 30 | %10001000,%0000|
00006A10: 30 30 30 30 2C 25 30 30 30 30 30 30 30 30 00 45 |0000,%00000000.E|
00006A20: 72 BA 07 2E 42 59 54 20 25 30 31 30 31 30 30 30 |r...BYT %0101000|
00006A30: 30 2C 25 30 30 30 30 30 30 30 30 2C 25 30 30 30 |0,%00000000,%000|
00006A40: 30 30 30 30 30 00 6C 72 BC 07 2E 42 59 54 20 25 |00000.lr...BYT %|
00006A50: 30 30 31 30 30 30 30 30 2C 25 30 30 30 30 30 30 |00100000,%000000|
00006A60: 30 30 2C 25 30 30 30 30 30 30 30 30 00 93 72 BE |00,%00000000..r.|
00006A70: 07 2E 42 59 54 20 25 30 31 30 31 30 30 30 30 2C |..BYT %01010000,|
00006A80: 25 30 30 30 30 30 30 30 30 2C 25 30 30 30 30 30 |%00000000,%00000|
00006A90: 30 30 30 00 BA 72 C0 07 2E 42 59 54 20 25 31 30 |000..r...BYT %10|
00006AA0: 30 30 31 30 30 30 2C 25 30 30 30 30 30 30 30 30 |001000,%00000000|
00006AB0: 2C 25 30 30 30 30 30 30 30 30 00 C0 72 C2 07 3B |,%00000000..r..;|
00006AC0: 00 C6 72 C4 07 3B 00 E6 72 C6 07 3B 43 4F 44 45 |..r..;..r..;CODE|
00006AD0: 20 43 55 52 52 45 4E 54 4C 59 20 80 53 20 41 54 | CURRENTLY .S AT|
00006AE0: 20 24 38 42 44 36 00 EC 72 C8 07 3B 00 F2 72 CA | $8BD6..r..;..r.|
00006AF0: 07 3B 00 F8 72 CC 07 3B 00 18 73 CE 07 50 48 41 |.;..r..;..s..PHA|
00006B00: 53 45 20 2E 8B 20 50 48 41 53 45 AB AC 3A 50 48 |SE .. PHASE..:PH|
00006B10: 41 53 45 20 45 52 52 B0 00 1F 73 D0 07 2E 80 00 |ASE ERR...s.....|
00006B20: 00 00 |.. |
..%.... "MOUSE DRIVEN MENUS" V1.0.+.
....P.... SOURCE FILE BY ANTHONY BRYANT
.V.....P.... AUGUST 1986.Z.... 7
00......OPT N.....;.....;... BASIC ROM R
OUTINES ....F...CHR. . $0073 ;. . CHAR..
...CHRKT . $0079 ;. OLD CHAR.....EEFM .
$AD9E ;EEUATE .MULA.....EATCMA . $AEFD ;
EAT ",".?...SYNTAX . $AF08 ;SYNTAX ERR..
D. .ILLQNT . $B248 ;ILLEGAL QUANTITY..."
..STR . $B6A3 ;.E DESCRIP.R...$.FACBYT .
$B7A1 ;FAC . BYT IN X.K.&..BYT . $B7F1
;EAT "," . BYT IN X.Q.(.;...*.;... MEM.Y
MAP ......,.PROGM . $8000 ;START OF PR
OGRAM./...; . $8C00 ;FUTURE .ANSI..
R.0.M. . $8D00 ;MENU. (252 BYTES).X.2.C
MEM0 . $8E00 ;COL. S.RE 1.2SCRN. .4.BMA
P0 . $9000 ;BITMAP S.RE 1.2SCRN.G.6.CME
M1 . $CC00 ;'HIRES' COL. MEM.Y...8.SPTR
0 . $CFF8 ;SPRITE 0 PO.ER...:.CHSET .
$D800 ;LOWERCASE ROM SET.3.<.BMAP1 . $E
000 ;'HIRES' BITMAP.W.>.FII . $EBC2 ;TA
BLE KEYCODE.FII.~.@.SLOT1 . $FF40 ;SPRI
TE SLOT (#253)...B.;...D.;... ZERO PAGE
REQUI.ENT ***.D.F.CS . $9B ;CURRENT COLU
MN ....H.CE . $9C ;CURRENT COLUMN ....J.
CC . $9E ;CURRENT COLUMN...L.RR . $9F ;C
URRENT ROW.4.N.; $A3 . $AB . VARIOUS.[.P
.LC . $B0 ;LEFT COLUMN CURRENT MENU..R.
TR . $B1 ;.P ROW " "...T.WD .
$B2 ;WIDTH OF " ".I.V.DP . $B
3 ;DEPTH OF " "...X.HS . $B4 ;
TEMP . HEADER PARAM...Z.HC . $BD ;LEFT C
OLUMN OF HEADER.6.\.HR . $BE ;.P ROW OF
HEADER.MENUBAR.T.^.HW . $BF ;WIDTH OF HE
ADER.Z.`.HT . $C0 ;HEADER.M.TEXT$ . IMAG
E$...B.; $F7 . $FA . PNTR . CMEM & BMAP.
..D.;...F.;.F.H...PROGM ;START OF CODE.L
.J.;.R.L.;...N.;MENUS COMM. . VARIABLES.
..P.JMP MENUS ;MENUS MANAGER.6.R.MNUM
.BYT 0 ;MENU NUMBER . #MN(1.7).\.T.MCOL
.BYT 1 ;MENU COL. BYTE FG.BG...V.MFLG .B
YT 0 ;MENUBAR ..OFF FLAG...X.MITM .BYT
0 ;MENU ITEM . #MI(0.8).Q.Z.MTYP .BYT
0 ; " ITEM TYPE #MT(0-2)...|.MLIX .BYT
0 ;MENU . INDEX...~.;MOUSE COMM. . VARIA
BLES.2...JMP MOUSE ;MOUSE MANAGER.DRIV
ER.P...MB .BYT 0 ;BUT.N STATUS.N...MCX
.BYT 0 ;CELL X.CO.DS.....MCY .BYT 0 ;
CELL Y.CO.D.....MX .BYT 0 ;PIXEL X LO.
C... .BYT 0 ;PIXEL X HI.....MY .BY
T 0 ;PIXEL Y.....MYI .BYT 0 ;PIXEL 199.
Y.....;.....;.$...;... MENU . STRUCTURES
***.*...;.0...;.V...; #MN ... 0 1 2
3 4 5 6 7.{...M.P .BYT 0, 0, 0, 0,
0, 0, 0, 0.....MNLC .BYT 0, 0, 0, 0, 0
, 0, 0, 0.G. .MNTR .BYT 0, 1, 1, 1, 1,
1, 1, 1.....MNWD .BYT 40, 0, 0, 0, 0, 0,
0, 0.....MNDP .BYT 1, 0, 0, 0, 0, 0, 0
, 0.7...M. .BYT 00,00,00,00,00,00,00,00.
]...MCHK .BYT 00,00,00,00,00,00,00,00.C.
..;.....; #MI ... 1, 2, 3, 4, 5, 6, 7 ,
8.....MROW .BYT 0, 0, 0, 0, 0, 0, 0, 0.
....;.....MASK .BYT $80,$40,$20,$10,8,4,
2,1.....;.....CSET .W.D CHSET.....CHAR .
BYT 0 ;CURRENT CHAR.1...RVSE .BYT 0 ;R
VS . FLAG.J....F .BYT 0 ;. . FLAG.N...I
MGF .BYT 0 ;IMAGE$.TEXT$ FLAG.T...;.Z.B
.;...D.;... MENU MANAGER ......F.;. .H.;
.A.J.;. MENUS,MN, 0,MT,NAME$[,XR]...L.;.
WHERE XR. 0 . OC . TEXT$...N.; (MI.0)
XR.128 . OC . IMAGE$.1.-.P.; X
R.192 . OC . IMAGE$.2.3.R.;.T.T.;. MENUS
,MN,MI,MT,ITEM$[,XR].V.V.;. WHERE XR.
0 . KC . TEXT$...X.; (MI..0) XR.128 . KC
. IMAGE$.1...Z.; XR.192 . OC .
IMAGE$.2.F...;.....;. MENUS,MN,MI,MT ..
(CHANGE TYPE).....;. MENUS . [,BG,FG](SH
OW MENUBAR).:...;. MENUS [OFF] .....(HID
E MENUBAR).\...;. MENUS .[,BG,FG] (CLEAR
.S).B...;.....MENUS . . ;CHECK . .KE
NS..... JSR CHRKT:BEQ MENUOFF..... CMP #
"," :BEQ MENUPAR..... PHA:JSR MENUCOL:P
LA ;OPTN COL.S..... CMP #$9C :BEQ MENU.
..... CMP #$91 :BEQ MENU..)... JMP SYNT
AX ;ERR..J...MENUPAR . . ;. ,#MN,#MI,#
MT.D... JSR .BYT:TXA:BEQ ILL..... CPX #8
:BCS ILL:STX MNUM ;#MN(1.7)..... JSR .BY
T..... CPX #9:BCS ILL:STX MITM ;#MI(0.8)
.N... JSR .BYT..... CPX #3:BCS ILL:STX M
TYP ;#MT(0.2)..... JSR SETTYPE ;IN MENU
. AREA.1... JSR CHRKT:BNE ..3:RTS.O...;.
NAME$ . ITEM$ .O MENU..I... JSR EATCMA
;EAT ","..... JSR EEFM ;EE STRING.....
JSR .STR ;. DESCRIP.R..... JSR SET. ;.
O MENU..R... JSR CHRKT:BNE ..3:RTS.....;
. XR [. OC] [. KC] CODED BYTE..... JSR .
BYT:TXA."... JMP SETLAST ;.O MENU..(...;
.M...ILL JMP ILLQNT ;ILLEGAL QUANTITY.S.
..;.U. .MENU. . . ;CLEAR ALL MENU .S...
". LDX #0:TXA:STA M.P,X...$. INX:CPX #8:
BCC ..6:STA MLIX.B.&. TAX:STA M.,X...(.
INX:BNE ..4 ;. DO A MENUOFF...*.MENUOFF
. . ;HIDE MENUBAR...,. LDA MFLG:BEQ MEN
UST.3... JSR MNULL:STY MITM.O.0. JSR CLO
SWNDW ; WINDOW.F.2. LDA #0:BEQ MENUST..
.4.MENU. . . ;SHOW MENUBAR...6. LDA MF
LG:BNE MENUST ;AL.Y .!.A.8. JSR .BP ;R
ESET BPTR...:. LDA M.P:BEQ MENUST ;NO ME
NUS!...<. JSR MENUSIZ ;SIZE MENUBAR...>.
JSR .WNDW ;. WINDOW.>.@. JSR MENUBAR ;D
ISPLAY HEADERS.Y.B. LDA #.1 ;FLAG .
..Q.D.MENUST STA MFLG:RTS.W.F.;...H.MENU
COL . . ;EAT .KEN [,BG,FG]...J. JSR CHR
.:BNE ..3:RTS.W.L. JSR .BYT:TXA:. #$0F:S
TA MCOL...N. JSR .BYT:TXA:ASL:ASL:ASL:AS
L...P. .A MCOL:STA MCOL:RTS...R.;.7.T.;M
ENU TYPES 1 BIT.1 ITEM.\.V.;. STRUCT 1
BYT=1 MENU (8 ITEMS).B.X.;...Z.SETTYPE .
. ;SET MENU TYPE...\. LDY MNUM ;#MN
(1.7) CURRENT MENU.R.^. LDX MITM ;#MI
(0.8) CURRENT ITEM...`. BNE ..7 ;. #
MI.0 . USE...B. LDY #0:LDX MNUM ; #MN.0
BITS.5.D..M. . . ;TYPE IS . DISABLED.O.
F. LDA MASK.1,X:E. #$FF.K.H. . M.,Y ;CL
EAR BIT #MI.Y.J. STA M.,Y...L..MCHK . .
;TYPE IS . MARKED...N. LDA MASK.1,X:E.
#$FF.R.P. . MCHK,Y ;CLEAR BIT #MI...R.
STA MCHK,Y...T. LDA MTYP ;#MT(0.2) CU
RRENT TYPE. .V. CMP #0:BEQ SETM..8.X. CM
P #2:BEQ SETMCHK.U.Z. RTS ;ELSE
#MT.1.[.|.;.|.~.SETM. . . ;TYPE IS DISA
BLED..... LDA M.,Y ;. BITS..... .A MASK
.1,X ;SET BIT #MI.C... STA M.,Y:RTS.I...
;.....SETMCHK . . ;TYPE IS MARKED.....
LDA MCHK,Y ;CHECK BITS.%... .A MASK.1,X
;SET BIT #MI.9... STA MCHK,Y:RTS.?...;.
`....TYPE . . ;CHECK MENU TYPES..... LD
Y MNUM ;#MN(1.7) CURRENT MENU..... LD
X MITM ;#MI(0.8) CURRENT ITEM..... BN
E .M...... LDY #0:LDX MNUM ;. #MI.0.....
.M. . . ;CHECK . DISABLED..... LDA M.,Y
;ITEM FLAGS.%. . . MASK.1,X.;... STA .
F ;0.OFF.Z....MCHK . . ;CHECK . MARK
ED.W... LDA MCHK,Y ;ITEM FLAGS..... . M
ASK.1,X..... RTS ;0.OFF.....;.M.
..SETROW . . ;SET MENU ROW PER ITEM...
.. LDX MITM:STA MROW.1,X:RTS......ROW .
. ;. MENU ROW PER ITEM./... LDX MITM:L
DY MROW.1,X:RTS.5...;.;...;.Z...;MENU. .
A TABLE OF PO.ERS.{...;. TEXT$ . IMAGE$
DESCRIP.RS.....; 4 BYTES PER NAME$ . IT
EM$.....; INDEX . MLIX.(MN.1).36.MI.4.D
.B.;...D.MLX . . ;. INDEX .O MENU... F.
LDA MNUM:SEC:SBC #1 ;(MN.1).. H. ASL:AS
L:STA $A3 ;.4.; J. ASL:ADC $A3:STA $A3 ;
.12.Y L. ASL:ADC $A3:STA $A3 ;.36.S N. L
DA MITM:ASL:ASL ;.4.. P. ADC $A3:TAY:RTS
.. R.;.. T.SET. . . ;DESCRIP.R IN $22.2
3.J V. TAX ;CGTH OF STRING.. X. JSR MLX:
TXA:STA M.,Y ;ML.X..!Z. INY:LDA $22:STA
M.,Y ;ML.L.*!.. INY:LDA $23:STA M.,Y ;ML
.H.J!.. INY:STY MLIX ;UPDATE INDEX.I!..
LDA #0:JSR SETLAST ;.AULT..!..SETM.P . .
;UPDATE MAXIMUMS MENUS..!.. LDX MNUM:C
PX M.P:BCC ..5.R!.. STX M.P ;UPDATE M
AXIMUM #MN..!.. LDA MITM:CMP M.P,X:BCC .
.5..".. STA M.P,X ;UPDATE MAXIMUM #MI..
".. RTS.%"..;.F"..SETLAST . . ;ADD XR .
MENU..H".. LDY MLIX:STA M.,Y:RTS ;ML.XR
.N"..;..".... . . ;DESCRIP.R . $A3.A4..
".. JSR MLX:LDX M.,Y ;ML.X.N".. INY:
LDA M.,Y:STA $A3 ;ML.L..".. INY:LDA M.,Y
:STA $A4 ;ML.H..#.. INY:LDA M.,Y:STA $A5
;ML.XR.,#.. STY MLIX ;. .Y INDEX.P#.
. TXA:BIT $A5 ;STRING CGTH IN .X.P#...C
. . ; CELL CGTH IN .X..#.. BPL ..8
;. TEXT$..#.. BVC ..3:LSR ;. IMAGE$.1.
B#.. LSR:LSR:LSR ;.8 . .16..#.. TAX:LDA
$A5:BIT $A5:RTS..#..;..#..;..$..;... MEN
U ROUTINES .....$..;..$..;.8$..MENUSIZ .
. ;SIZE PRO.ED MENUBAR.Z$.. LDA #1:STA
MNDP ;1 ROW.S$.. LDY #0:STY MITM:
INY..$..MSIZ2 STY MNUM..$ . CPY M.P:BEQ
..4:BCS MNULL.E$". JSR ..:BVS MSIZ3 ;CHE
CK .M..$$. LDY MNUM:INY:BNE MSIZ2..%&.MS
IZ3 LDA #2:STA MNDP ;2 ROWS."%(.MNULL L
DY #0:STY MNUM:RTS.(%*.;.K%,.MENUBAR . .
;DISPLAY MENU BAR.`%.. LDX MNLC:STX HC
.%0. LDY MNTR:STY HR:JSR SCRSR..%2. LDY
#0:STY MITM:INY..%4.MBAR2 STY MNUM.J%6.
CPY M.P:BEQ ..4:BCS MNULL..%8. LDA M.P,
Y:BNE ..8..&:. STA MTYP:JSR SETTYPE ;NO
ITEMS!.(&<. JSR LCASE ;LOWERCASE .AULT
.C&>. JSR .TYPE ;SET .F .LY.\&@.JSR .. ;
MENU. PARAMS.&B. . #$3F:BEQ MBAR3 ;. OF
FSET OC..&D. CLC:ADC HC:TAX ;.ITI. . OC.
.&F. LDY HR:JSR SCRSR ;SET CURS...&H.MBA
R3 JSR .. ;MENU. PARAMS..'J. .A CC:JSR S
ETLAST ;SET OC IN XR..'L. BIT $A5 ;CHECK
.M.;'N. JSR PLT.M ;TEXT$ . IMAGE$.\'P.
MBAR4 LDY MNUM:INY:BNE MBAR2.B'R.;..'T.M
ENUSEL . . ;SELECT FROM MENUBAR..'V. LD
A MFLG:BEQ MSEL4 ;NO MENUBAR!.Q'X. LDA
M.P:BEQ MSEL4 ;NO MENUS!..'Z. LDY MNTR:
STY HR ;SET HEADER ROW..(\. JSR MCMXY
;MOUSE .N (MCX,MCY).?(^. INY:LDA MNDP ;W
ITHIN MENUBAR"?.`(`. DEY:CPY HR:BEQ ..7
;YES!..(B. LSR:BCC ..6:BCS MSEL4 ;NO,
EXIT..(D. LDY #0:STY MITM:INY.F(F.MSEL2
STY MNUM ;SCAN EACH MENU NAME..(H. CPY
M.P:BEQ ..4:BCS MSEL4..)J. JSR ..:STA HT
;.M STATE. )L. . #$3F:STA HC ;CC OFFSET
.?)N. CMP MCX:BEQ ..4:BCS MSEL4.E)P. TXA
:CLC:ADC HC ;WITHIN HEADER"?..)R. CMP M
CX:BEQ ..4:BCS MSEL3 ;FOUND!..)T. LDY MN
UM:INY:BNE MSEL2 ;. MENU.Q)V.MSEL3 STX H
S ;. HEADER WIDTH..)X. JSR .TYPE:LDA .F:
BNE MSEL4..*Z. LDA HS ;CGTH IN .A . HILI
TE.6*|. LDX HC:LDY HR:BIT HT ;.M STATE.[
*~. JSR HLIT.M ;HLIT TEXT$ . IMAGE$.|*..
CLC:RTS ;. WITH #MN HILITED..*..MSEL4 J
SR MNULL ;#MN.0..*.. SEC:RTS ;. C.1 NO S
ELECT!..*..;..*..MENUBOX . . ;SIZE UP M
ENU BOX..+.. LDA HR:CLC:ADC MNDP:STA TR
;.PROW.,+.. LDA HC ;TRY . ALIGN AT LEFT
EDGE.D+..MBOX2 STA LC:LDY #0.H+.. STY WD
:STY DP:STY $A6 ;PAST OC.}+.. LDX #1:STX
MITM..+..MBOX3 JSR ..:BVS MBOX4..+.. .
#$3F:BEQ ..4:INX:INX..+.. LDY #0:STY $A6
:BEQ MBOX5 ;. 1 ROW..,..MBOX4 . #$3F:CMP
$A6 ;. 2 ROWS.$,.. BEQ ..4:BCS ..6:LD
Y #0:STY $A6.I,.. LDY $A6:STA $A6 ;UPDAT
E PAST OC.N, . TXA:SEC:ADC $A6:TAX ;SIZE
WIDTH..,.. CPY #0:BNE ..6:INC DP ;SIZE
DEPTH..,..MBOX5 INC DP ;SIZE DEPTH.Y,..
CPX WD:BCC ..4:STX WD ;SIZE WIDTH..,..MB
OX6 INC MITM:LDY MNUM..-.. LDA MITM:CMP
M.P,Y..-.. BCC MBOX3:BEQ MBOX3 ;. ITEM.V
-.. LDA LC:CLC:ADC WD ;CHECK MAX WIDTH.W
-.. CMP #39:BCC MBOX7:BEQ MBOX7..-.. SBC
#39:E. #.1:ADC HC ;ADJUST..-.. JMP MBOX
2 ;TRY LC.HC.(LC.WD.39)..-..MBOX7 LDA LC
:STA MNLC,Y..-.. LDA WD:STA MNWD,Y ;S.RE
THE.#... LDA TR:STA MNTR,Y ;VIEWP.T PAR
AMS.?... LDA DP:CMP #21:BCC ..4.[... LDA
#21:STA MNDP,Y:RTS.A...;...B.MENUDOWN .
. ;FIND MENU & DISPLAY...D. JSR MENUBOX
;SIZE MENU BOX...F. JSR .WNDW ;. WINDOW
...H. JSR VB.DER ;B.DER VIEWP.T...J.MENU
PLT . . ;PLOT MENU../L. LDY TR:STY RR ;
.P ROW IS START.C/N. LDX #1:STX MITM:LDY
#0:STY $A6.H/P.MPLT2 JSR LCASE ;LOWERCA
SE .AULT../R. JSR ..:BVC MPLT3;. IMAGE$.
2../T. . #$3F:CMP $A6 ;PAST OC.J/V. BEQ
..4:BCS ..6:LDY #0:STY $A6../X. LDY $A6:
STA $A6 ;UPDATE PAST OC..0Z. CLC:ADC LC
:TAX ;ADD OFFSET COLUMN..0.. CPY #0:BEQ
MPLT3B.M0.. LDY RR:DEY:DEY:JMP MPLT3C.J0
..MPLT3 LDX LC ;SET COLUMN..0..MPLT3B LD
Y RR ;SET ROW..0..MPLT3C JSR SCRSR ;SET
CURS..F0.. LDA RR:JSR SETROW ;PER ITEM..
0.. JSR .TYPE:BEQ ..5 ;SET .F..1.. JSR P
LTMARK ;CHECKMARK . SET.#1.. JSR .. ;M
ENU. PARAMS.C1.. JSR PLT.M ;TEXT$ . IMA
GE$.F1.. BIT $A5:BVS MPLT5 ;. IMAGE$.2..
1..MPLT4 LDY #0:STY $A6 ;RESET PAST OC..
1.. LDA $A5:. #$3F:BEQ MPLT6.Q1.. TAX:LD
A FII,X ;ALT KEY SEQUENCE..1.. JSR PLTAL
TK ;PLOT .O & KEY..2.. JMP MPLT6..2..MPL
T5 JSR CCRSR ;(2 ROWS).;2..MPLT6 JSR CCR
SR ;(1 ROW).R2.. INC MITM:LDY MNUM.J2..
LDA MITM:CMP M.P,Y..2.. BCC MPLT2:BEQ MP
LT2:RTS..2..;..2..MENUKEY . . ;SCAN MEN
U. . KEY.Q2.. LDA $C5:CMP #64:BNE ..3:RT
S..2.. LDY #1 ;START SCAN AT MENU #
1..3..MKEY2 STY MNUM.13.. CPY M.P:BEQ ..
4:BCS MKEY7 ;EXIT.R3.. LDA M.P,Y:BEQ MKE
Y5 ;. MENU.G3.. LDX #0:STX MITM..3.. JSR
.TYPE:LDA .F:BNE MKEY5..3..MKEY3 JSR ..
:BVS MKEY4.D3.. LDX MITM:BEQ MKEY4 ;.
ITEM..3.. . #$3F:CMP $C5:BEQ MKEY6 ;FOUN
D!..4..MKEY4 INC MITM:LDY MNUM..4 . LDA
MITM:CMP M.P,Y.74". BCC MKEY3:BEQ MKEY3.
X4$.MKEY5 LDY MNUM:INY:BNE MKEY2.|4&.MKE
Y6 DEC $C6 ;DE.E FROM BUFFER..4(. JSR .T
YPE ;ITEM .MED"?..4*. LDA .F:BNE MKEY7
;YES, EXIT.X4,. RTS ;EXIT WITH #MN & #MI
..4..MKEY7 JSR MNULL ;. FOUND..50. STY M
ITM:RTS ;. ITEM .MED..52.;.B54.MENUAWA
Y . . ;.OVE MENU & HEADER.^56. JSR CLOS
WNDW ; WINDOW..58. LDA HS:LDX HC:LDY HR
:BIT HT ;.M..5:.HLIT.M . . ;CHOOSE .M &
HILITE.H5<. BPL HLITTEXT ;BY EXCHANGING
..5>. BVC HLITIMG1 ;COL. NIBBLES..6@. BV
S HLITIMG2 ;OVER CGTH . HW..6B.;CELL CGT
H IN .A.06D.HLITIMG1 . ..R6F.HLITTEXT ST
A HW ;HILITE 1 ROW.G6H.HLITW.D JSR VC.N.
Z6J.HLITW.2 LDY #0..6L.HLITW.3 LDA ($F7)
,Y..6N. ASL:ASL:ASL:ASL:STA $AF.P6P. LDA
($F7),Y:LSR:LSR:LSR:LSR..6R. .A $AF:STA
($F7),Y..7T. INY:CPY HW:BCC HLITW.3:RTS
..7V.;.17X.HLITIMG2 STA HW ;HILITE 2 ROW
S.P7Z.HLITAREA JSR VC.N ;AREA X2.H7\. LD
X #0:JSR HLITW.2..7^. JSR ADLNF7:INX:CPX
#2:BCC ..9:RTS..7`.;..7B.MENUCTRL . . ;
ITEM SELECTI..W7D. JSR RM.0Y ;SPRITE0 AT
.P ROW..7F. LDY TR:STY RR ;.P ROW..8H.
LDA #1:STA MITM ;1ST ITEM.48J.MCTR2 LDX
WD:STX HW ;SET WIDTH.S8L. LDX LC:STX CC
;SET COLUMN.Q8N. JSR .ROW:STY RR ;SET RO
W..8P. JSR ..:BVC MCTR3:STX HW..8R. . #$
3F:CLC:ADC LC:STA CC ;SET CC.V8T.MCTR3 J
SR CHECKBOX:BCS MCTR6B..8V. JSR RMBTNS:B
EQ MEXIT ;. RELEASED.!9X. BIT $A5:BVC MC
TR4 ;. . IMAGE$.2.@9Z. CPY RR:BEQ ..11:B
CC MCTR9.B9|. DEY:CPY RR:BEQ ..4:BCS MCT
R9.|9~. CPX CC:BCC MCTR9:TXA..9.. SBC CC
:CMP HW:BCS MCTR9:BCC MCTR5..9..MCTR4 CP
Y RR:BNE MCTR9..9..MCTR5 JSR HIGHLITE ;M
ENU ITEM..:..MCTR6 JSR CHECKBOX ;MOUSE I
N BOX"?.,:..MCTR6B BCS MEXIT ;EXIT . OUT
SIDE.R:.. JSR RMBTNS:BEQ FLASH ;. RELEAS
ED.W:.. BIT $A5:BVC MCTR7 ;. . IMAGE$.2.
.:.. CPY RR:BEQ ..11:BCC MCTR8..:.. DEY:
CPY RR:BEQ ..4:BCS MCTR8.R:.. CPX CC:BCC
MCTR8:TXA..:.. SBC CC:CMP HW:BCS MCTR8:
BCC MCTR6..;..MCTR7 CPY RR:BEQ MCTR6.<;.
.MCTR8 PHP:JSR HIGHLITE:PLP;OLD ITEM.Y;.
.MCTR9 BCS ..10 ;. . ITEM.W;.. DEC MITM
;PREVIOUS ITEM..;.. LDA MITM:BNE ..5..;
. INC MITM:JMP MCTR2 ;. ITEM..;..;.X;..
MEXIT LDX #0:STX MITM:STX MB:RTS..;..;..
;..FLASH . . ;. ITEM SELECTED..<.. JSR .
TYPE:LDA .F:BNE MEXIT.3<..FLASH8 JSR FLA
SH4.I<..FLASH4 JSR FLASH2._<..FLASH2 JSR
FLASH1..<..FLASH1 . . ;DELAYED HIGHLITE
..<.. LDY #48:JSR DELAY ;48 MILLISEC.F<.
.HIGHLITE . . ;(. UNHIGHLITE)..<.. JSR
.TYPE:LDA .F:BEQ ..3:RTS..=.. LDA HW:LDX
CC:LDY RR:BIT $A5./=.. JMP HLIT.M ;HLIT
TEXT$ . IMAGE$.5=..;.Y=..DELAY . . ;.Y
. MILLISEC DELAY.S=B. LDX #$B8:DEX:BNE
..1..=D. DEY:BNE ..6:RTS..=F.;..=H.CHECK
BOX . . ;CHECK MOUSE CO.DS.V=J. LDY #16:
JSR DELAY ;16 MILLISEC..=L. JSR RDMOUSE
;MOUSE CO.DS..>N. JSR MCMXY ;COLM & ROW
CO.DS.<>P. CPX LC:BCC LIMIT:TXA ;OUTSIDE
BOX.Y>R. SBC LC:CMP WD:BCS LIMIT.S>T. C
PY TR:BCC LIMIT:TYA..>V. SBC TR:CMP DP:B
CS LIMIT..>X. CLC:RTS ; OK! WITHIN MENUB
OX.U>Z.LIMIT SEC:RTS ;OUTSIDE MENUBOX..>
..;..>..;..>..;..?..;... WINDOW ROUTINES
.....?..;..?..;.(?...WNDW . . ;. WINDOW
.G?.. JSR VIEWP.T ;.INE VIEWP.T.L?.. JSR
VWIPE ;CLEAR BITMAP BMAP0..?.. JSR VC
OCMEM ;COL. CMEM0 AREA..?.. JSR SAVBP
;. BUFFER PNTR.P?.. JSR VSWCMEM ;SWAP CO
L. MEM.Y..?.. JSR VXFER ;SWAP BITMAP O
UT..@.. JMP SETBP ;ADVANCE BUFFER PNTR
..@..;.9@..CLOSWNDW . . ; WINDOW.X@.. J
SR VIEWP.T ;.INE VIEWP.T.X@.. JSR LODBP
;PUT BACK BPTR..@.. JSR VXFER ;SWAP
BITMAP BMAP0..@.. JMP VSWCMEM ;SWAP CMEM
0 CMEM.D@..;..@..;WINDOW . AREA BUFFER..
@..;PO.ER "BPTR" PO.S ...A..;BITMAP . AR
EA . BMAP0."A..BPTR .W.D 0.7A..BPLO .BYT
E 00,00.LA..BPHI .BYTE 00,00.RA..;.HA...
BP . . ;. "BPTR"..A.. LDA BPTR:LDX BPTR.
1..A.. STA $A7:STX $A8:RTS..A..SAVBP JSR
.BP ;. "BPTR".SA.. LDY MNUM:BEQ ..4:LDY
#1..A.. STA BPLO,Y:TXA:STA BPHI,Y:RTS..
B .LODBP . . ;. .D "BPTR"..B". LDY MNUM:
BEQ ..4:LDY #1.SB$. LDA BPLO,Y:LDX BPHI,
Y:BNE PUTBP.MB&.SETBP . . ;SET "BPTR"..B
(. LDA $A7:LDX $A8:BNE PUTBP..B*..BP . .
;INIT "BPTR".BB,. LDA #.BMAP0:LDX #.BMA
P0..B..PUTBP STA BPTR:STX BPTR.1:RTS..B0
.;..C2..CBP . . ;COMPUTE "CMEM BPTR".,C4
. LDA BPTR.1:SEC:SBC #.BMAP0.QC6. STA $F
A:LDA BPTR:LSR $FA:R. ;.8.TC8. LSR $FA:R
.:LSR $FA:R.:STA $F9..C:. CLC:LDA $FA:AD
C #.CMEM0:STA $FA..C<. RTS..C>.;..C@.;.L
CB.;... VIEWP.T ROUTINES ....RCD.;..CF.;
BYTE.ALIGNED VIEWP.TS..DH.VPX .W.D 0 ;PI
XEL BYTE ADDRESS..DJ.;.6DL.VIEWP.T . . ;
VIEWP.T PARAMS.SDN. LDY MNUM ;MENU NUM
BER.WDP. LDA MNLC,Y :STA LC ;LEFT C.NER.
.DR. LDA MNTR,Y :STA TR ;.P ROW..DT. LDA
MNWD,Y :STA WD ;WIDTH.UDV. LDA MNDP,Y :
STA DP ;DEPTH..DX.;SET UP CO.DINATE PIXE
L ADDRESS..EZ. CLC:LDA LC:ADC WD:STA CE
;COL ..BE\. JSR HCRSR:LDX $F9 ;HOME CUR
S..]E^. STX VPX:STA VPX.1:RTS.CE`.;..EB.
VADDR . . ;.P LEFT C.NER BYTE..ED. LDA V
PX:LDX VPX.1..EF. STA $A7:STX $A8.VEH.VR
AM . . ;DISABLE .ERRUPTS & ROM..EJ. PHA:
LDA #$7F:STA $DC0D..FL. LDA #$34:STA $01
:PLA:RTS..FN.;.0FP.;.I.N COL. MEM PO.ERS
.QFR.; F7.F8 PNTR . CMEM1 AREA.PFT.VC
HOME LDX LC:LDY TR ;HOME..FV.VC.N LDA #0
;SET .ITI...FX. STA $F7:STA $F8:TYA:B
EQ ..8.JFZ. JSR ADLNF7:DEY:BNE ..4..F|.
TXA:CLC:ADC $F7:STA $F7:TAX..G~. LDA #0:
ADC $F8:PHA.$G.. ADC #.CMEM1:STA $F8:PLA
:RTS.*G..;.OG..ADLNF7 CLC ;ADVANCE .E CM
EM LINE.LG.. LDA $F7:ADC #40:STA $F7..G.
. BCC ..4:INC $F8:RTS..G..;..G..;CMEM0 A
REA . COLR MEM .S.HG..; F9.FA PNTR . CM
EM0 AREA..G..VCOCMEM LDA MCOL:.BYT $2C..
H..VSWCMEM LDA #0:STA $A3:JSR VRAM.*H..
JSR VCHOME:JSR .CBP:LDX #0.GH.. LDY #0:L
DA $A3:BNE ..10.HH.. LDA ($F7),Y:PHA:LDA
($F9),Y..H.. STA ($F7),Y:PLA:STA ($F9),
Y..H.. INY:CPY WD:BCC ..17..H.. TYA:CLC:
ADC $F9:STA $F9..H . BCC ..4:INC $FA:JSR
ADLNF7..I.. INX:CPX DP:BCC ..37:JMP VRO
M..I..;.,I..ADLNA7 CLC ;ADVANCE .E BMAP
LINE.KI.. LDA $AB:ADC #.320:STA $A7.JI..
LDA $AC:ADC #.320:STA $A8..I..ADLNA9 CL
C ;ADVANCE .E BMAP LINE..I.. LDA $AD:ADC
#.320:STA $A9.QI.. LDA $AE:ADC #.320:ST
A $AA:RTS.WI..;..I..VWIPE . . ;CLEAR HIR
ES BUFFER AREA..J.. LDA #0:.BYT $2C.6J..
VXFER . . ;XFER VIEWP.T BITMAP.UJ.. LDA
#1:STA $A4 ;XFER FLAG.TJ.. JSR VADDR:STA
$A9:STX $AA..J.. JSR .BP:LDY #0..J.. JS
R VROW:JSR ADLNA9.BJB. LDY $AF:INY:CPY D
P:BCC ..11..JD.VROM . . ;ENABLE .ERRUPTS
& ROM..JF. LDA #$37:STA $01..KH. LDA #$
81:STA $DC0D:RTS..KJ.;.<KL.;SUBROUTINE .
VWIPE.VXFER._KN.VROW STY $AF:LDX #0 ;DO
.E ROW..KP. LDA $A7:STA $AB:LDA $A8:STA
$AC..KR. LDA $A9:STA $AD:LDA $AA:STA $A
E..KT.VRO2 LDY #0.ZKV.VRO3 LDA $A4 ;FLAG
.0 . VWIPE..KX. BEQ VRO4 ;FLAG.1 . VX
FER..LZ. LDA ($A9),Y:PHA.1L.. LDA ($A7),
Y:STA ($A9),Y:PLA.FL..VRO4 STA ($A7),Y._
L.. INY:CPY #8:BNE VRO3.|L.. TYA:CLC:ADC
$A7:STA $A7..L.. BCC ..4:INC $A8..L.. T
YA:CLC:ADC $A9:STA $A9.CL.. BCC ..4:INC
$AA..L.. INX:CPX WD:BCC VRO2:RTS..L..;..
M..VB.DER . . ;B.DER VIEWP.T..M.. JSR VA
DDR:LDX #0.:M..VBLFT LDA #%10000000:LDY
#7.WM.. STA ($A7),Y:DEY:BPL ..3.QM.. INX
:CPX DP:BCS VBBOT..M.. LDA $A7:ADC #.320
:STA $A7..M.. LDA $A8:ADC #.320:STA $A8.
.M.. BNE VBLFT.VM..VBBOT LDX #0:LDY #7..
M.. JSR VBLIN ;BOT.M LINE..N..VBRHT LDX
#0:DEY..N.. LDA #%00000001.7N.. STA ($A7
),Y:DEY:BPL ..3.SN.. INX:CPX DP:BCS VB.:
SEC.RN.. LDA $A7:SBC #.320:STA $A7..N..
LDA $A8:SBC #.320:STA $A8..N.. LDY #7:BN
E VBRHT.3..N..VB. JMP VROM..N..;..N..VB.
P . . ;.P LINE OF VIEWP.T..N.. JSR VADD
R:LDX #0:LDY #0..O..VBLIN LDA #%11111111
.=O.. STA ($A7),Y:INX:CPX WD:BCS ..14.YO
.. LDA $A7:ADC #8:STA $A7.XO.. BCC ..4:I
NC $A8:BNE VBLIN..O . RTS..O".;..O$.;..O
&.;... PLOTTING ROUTINES .....O(.;.HO*.;
3 .MS OF OBJECTS..O,.PLT.M . . ;CHOOSE
.M & PLOT..P.. BPL PLTTEXT ;WITH AU..ADV
ANCE.-P0. BVC PLTIMG1 ;OF CURS. PNTRS.NP
2. BVS PLTIMG2 ;. BITMAP PNTRS.CP4.;CELL
CGTH IN .X.~P6.PLTTEXT . . ;DO TEXT$..
P8. INX:LDY #0:STY IMGF ;SET FLAG..P:. D
EX:BEQ ..10.OP<. LDA ($A3),Y:JSR DOCHAR.
.P>. INY:BNE ..9:RTS..P@.;..QB.PLTIMG1 .
. ;DO IMAGE$.1 ( 1 ROW).+QD. INX ;CELL
CGTH IN .X.IQF.PLTIMGA LDY #$80:STY IMG
F.IQH. LDA $A3:LDY $A4 ;L.H DESC..QJ. S
TA $A9:STY $AA ;PUT PNTR..QL.PLTIMGB DE
X:BNE ..3:RTS..QN. JSR DOCHAR.UQP. CLC:L
DA $A9:ADC #8:STA $A9..QR. BCC ..4:INC $
AA:JMP PLTIMGB..QT.;.#RV.PLTIMG2 . . ;D
O IMAGE$.2 (2 ROWS).FRX. LDA CC:STA CS ;
. CURRENT COLM.DRZ. TXA:PHA ;CELL CGTH I
N .X..R\. INX:JSR PLTIMGA ;DO 1ST
ROW..R^. LDX CC:LDY RR:LDA CS.CR`. STX C
S:TAX:INY:JSR SCRSR..RB. PLA:TAX:INX:JSR
PLTIMGB ; 2ND ROW..SD. LDX CS:LDY RR:DE
Y:JMP SCRSR..SF.;.4SH.PLTMARK . . ;DO C
HECKMARK ".".USJ. BIT $A5:BVS ..8 ;. IMA
GE$.2.OSL. JSR PUTCHK:JMP LCRSR..SN. JSR
LCRSR :JMP PUTCHK..SP.;..SR.PLTALTK . .
;DO .O & ALT KEY.VST. STA CHAR:JSR ECR
SR ;EDGE RIGHT..SV. JSR PUTCOM ;COM..O..
TX. JSR LCASE:LDY #0:STY IMGF.#TZ. LDA C
HAR ;DO KEY.@T|.DOCHAR . . ;PLOT A CELL
.^T~. STA CHAR:TXA:PHA:TYA:PHA.NT.. JSR
EXCHAR..T.. PLA:TAY:PLA:TAX:RTS..T..;..T
..EXCHAR . . ;TEXT$ . IMAGE$.KT.. LDA I
MGF:BNE . ;. IMAGE$..T.. LDA CHAR:BMI HI
CHR ;FILTER TEXT$..U..LOCHR CMP #$20:BCC
LOCH2:CMP #$60.:U.. BCC ..6:. #$DF:BNE
..4:. #$3F.]U..PRCHR LDX RVSE:BEQ ..4:.A
#$80..U.. LDX #0:STX $AA ;. CHSET OFFSE
T..U.. ASL:ROL $AA:ASL:ROL $AA..U.. ASL:
ROL $AA:CLC:ADC CSET:TAX..U.. LDA $AA:AD
C CSET.1:TAY..U.. STX $A9:STY $AA..V...
JMP PUTBYTS. V..LOCH2 CMP #$0E:BNE RVCHR
.EV .LCASE LDA CSET.1:.A #8:BNE PCASE.FV
..RVCHR CMP #$12:BEQ PRVSE:RTS..V..HICHR
. #$7F:CMP #$7F:BNE ..4..V.. LDA #$5E:C
MP #$20:BCC HICH2..V.. .A #$40:BNE PRCHR
..V..HICH2 CMP #$0E:BNE OFCHR..V..UCASE
LDA CSET.1:. #$F0..W..PCASE STA CSET.1:R
TS.4W..OFCHR CMP #$12:BNE ..7:LDA #0.KW.
.PRVSE STA RVSE:RTS.QW..;.VW..CCRSR LDX
LC:LDY RR:INY ;.CR.LF...W..SCRSR STX CC:
STY RR ;SET CURS...W.. JSR VC.N:STA $FA:
STX $F9..W.. ASL $F9:ROL:ASL $F9:ROL:ASL
$F9..X.. ROL:CLC:ADC #.BMAP1:STA $FA:RT
S..X..;.)XB.HCRSR LDX LC:LDY TR:JMP SCRS
R.NXD.ECRSR LDX CE:DEX:DEX ;EDGE RIGHT.O
XF. LDY RR:JMP SCRSR ;SET CURS..UXH.;..X
J.;SPECIAL 8X8 CELL GRAPHICS..XL.CHK . .
;CHECKMARK..XN..BYT %00000000.QXP..BYT
%00000001..XR..BYT %00000010..XT..BYT %0
0000100..YV..BYT %00101000..YX..BYT %000
10000.0YZ..BYT %00000000.CY...BYT %00000
000.`Y..COM . . ;COMMOD.E KEY .O.SY...BY
T %00111000..Y...BYT %01000110..Y...BYT
%10110100..Y...BYT %10111000..Y...BYT %1
0110100.RY...BYT %01000110..Y...BYT %001
11000..Y...BYT %00000000..Z... . . ;. BI
TS MASK."Z...BYT %10101010.5Z...BYT %010
10101.HZ...BYT %10101010.[Z...BYT %01010
101.NZ...BYT %10101010..Z...BYT %0101010
1..Z...BYT %10101010..Z...BYT %01010101.
CZ..SPC . . ;CELL W.K SPACE.XZ......8
;8 BYTES..Z..;..[..PUTCHK . . ;PUT CHECK
MARK BYTES.'[.. LDX #.CHK:LDY #.CHK:BNE
PUTPTRS.H[..PUTCOM . . ;PUT COM..O BYTES
.A[.. LDX #.COM:LDY #.COM.}[..PUTPTRS ST
X $A9:STY $AA..[..PUTBYTS . . ;8 BYTES P
ER CELL..[.. LDA $DC0E:. #.2:STA $DC0E.T
[.. LDA #$31:STA $01..[.. LDY #7:LDA ($A
9),Y..\.. STA SPC,Y:DEY:BPL ..6..\.. LDA
.F:BEQ CHKBITS.:\...BITS LDY #7:LDA SPC
,Y.O\ . . .,Y:STA SPC,Y.A\". DEY:BPL ..1
0..\$.CHKBITS LDY #7:LDA ($F9),Y..\&. .A
SPC,Y:STA ($F9),Y..\(. DEY:BPL ..8.A\*.
LDA #$37:STA $01..\,. LDA $DC0E:.A #1:S
TA $DC0E..\..RCRSR . . ;CURS. RIGHT."]0.
LDX CC:INX:CPX CE:BCS ..15:STX CC.B]2.
CLC:LDA $F9:ADC #8:STA $F9.[]4. BCC ..4:
INC $FA:RTS.U]6.LCRSR . . ;CURS. LEFT..]
8. LDX CC:DEX:CPX LC:BCC ..15:STX CC..]:
. SEC:LDA $F9:SBC #8:STA $F9.U]<. BCS ..
4:DEC $FA:RTS..]>.;..]@.;..^B.;... MOUSE
MANAGER & DRIVER .....^D.;..^F.;.5^H.;.
MOUSE,CURS.$ ..(MAKE CURS.).[^J.;. MOU
SE,0 ...(TRANSPARENT)..^L.;. MOUSE
,1 ..(ARROW CURS.)..^N.;. MOUSE,2
..(CROSS CURS.).I^P.;. MOUSE . [,C
OL.] (SHOW MOUSE)..^R.;. MOUSE [OFF] .
...(HIDE MOUSE)..^T.;.._V.MOUSE . . ;C
HECK . .KENS.0_X. JSR CHRKT:BEQ MOUSEOFF
.M_Z. CMP #"," :BEQ MOUSEPAR.G_\. PHA:J
SR MOUSECOL:PLA.._^. CMP #$91 :BEQ MOUS
E..._`. JMP SYNTAX ;ERR..._B.MOUSEPAR JS
R EATCMA ;EAT ",".O_D. JSR EEFM ;EEUATE.
._F. BIT $0D:BMI MOUSESTR..`H.MOUSENUM J
SR FACBYT ;BYT IN .X.3`J. CPX #0 :BEQ SE
TTRANS ;TRANSPARENT.V`L. CPX #1 :BEQ SET
ARROW ;..ARROW.Y`N. CPX #2 :BEQ SETCROSS
;X.CROSS..`P. JMP ILLQNT..`R.SETARROW L
DA #.ARROW:LDY #.ARROW.G`T. LDX #39:BNE
SETPNTR..`V.SETCROSS LDA #.CROSS:LDY #.C
ROSS..AX. LDX #15 ;CGTH IN .X.!AZ.SETPNT
R STA $22:STY $23.3A|. BNE SETTRANS.UA~.
MOUSESTR JSR .STR ;. DESCRIPT.JA.. TAX ;
CGTH IN .X..A..SETTRANS LDY #63:LDA #0 ;
CLEAR..A.. STA SLOT1,Y:DEY:BPL ..4 ;OUT.
.A.. LDY #0:INX.UA.. DEX:BEQ MOUSEPTR..A
.. LDA ($22),Y:STA SLOT1,Y..B.. INY:CPY
#64:BCC ..11.0B..MOUSEPTR LDA #253:STA S
PTR0:RTS.6B..;.SB..MOUSEOFF . . ;HIDE MO
USE.ZB.. LDX #.2:LDA #.OLDIRQ:LDY #.OLDI
RQ..B.. BNE ..8 ;SKIP OVER..B..MOUSE. .
. ;SHOW MOUSE.QB.. LDX #01:LDA #..IRQ:L
DY #..IRQ..B.. SEI:STA $0314:STY $0315..
C.. JSR RMSPRT0 ;INIT SPRITE0..C . CLI:R
TS. C..;.CC..MOUSECOL . . ;EAT .KEN [,CO
L.].]C.. JSR CHR.:BNE ..3:RTS.VC.. JSR .
BYT:TXA:. #$0F..C.. JMP RMSCOL0 ;SPRITE0
COL...C..;..C..OLDIRQ . $EA31 ;KEYSCAN,
ETC...C..EXTIRQ . $EA81 ;. FROM IRQ..C.
.;..D...IRQ . . ;SET UP MOUSE DRIVER.%D.
. LDA #.MSDIRQ:PHA ;. . STACK.;D.. LDA #
.MSDIRQ:PHA.^D.. PHP:PHA:PHA:PHA ;CALL D
UMMY ..ND.. JMP OLDIRQ.TD..;.ZD..;..DB.;
... MOUSE ROUTINES .....DD.;..DF.;.EDH.M
SDIRQ . . ;. MOUSE DRIVER IRQ..DJ. JSR R
DMOUSE ;. MOUSE (P.T 2)..EL. JSR RMBTNS
;. MOUSE BTNS.$EN. STA MB:BEQ MSD2 ;NO
BTNS.>EP. JSR MSEVENT ;DO BTNS.YER. JMP
EXTIRQ ;EXIT IRQ.{ET.MSD2 LDY $028E ;CH
ECK COM.KEY..EV. CPY #2:BNE MSD3 ;. . PR
ESSED..EX. LDX $C6:BEQ MSD3 ;SKIP SCAN..
EZ. JSR MENUKEY ;MENU. KEYCODES..E..MSD3
JMP EXTIRQ ;EXIT..E..;."F..MSEVENT . .
;LEFT & RIGHT BTNS.=F.. BMI SELECT ;LEF
T BTN.`F.. NOP ;(RTS . RIGHT BTN IGN.ED)
.|F.. BPL MENUBTN ;RIGHT BTN..F..NOEVENT
RTS..F..;..F..SELECT . . ;LEFT MOUSE B
UT.N.WF.. RTS ;(NOP . RIGHT BTN IGN.ED).
.F.. NOP:NOP ;FUTURE .ANSI...F..;..G..ME
NUBTN . . ;RIGHT MOUSE BUT.N.9G.. JSR ME
NUSEL:BCS NOEVENT.^G.. JSR MENUDOWN ;LAY
OUT MENU ITEMS.}G.. JSR MENUCTRL ;SELECT
ITEM..G.. JMP MENUAWAY ;ERASE MENU ITEM
S..G..;.NG..MCMXY . . ;MOUSE CELL COLUMN
& ROW..G.. LDA MX.1:LSR ;XHI SET CARRY.
.H.. LDA MX:R.:LSR:LSR ;.8 WITH CARRY.&H
.. TAX:STX MCX.BH.. LDA MY:LSR:LSR:LSR ;
.8.WH.. TAY:STY MCY:RTS.]H..;.CH..;..H..
;... SPRITE0 ROUTINES .....H..;..H..;..H
..RDMOUSE . . ;. MOUSE .ITI..PH.. LDA #$
C0:STA $DC02 ;CTRL P.T 2..H.. LDA #$80:S
TA $DC00..I.. LDX #0:INX:BNE ..1 ;SETTLE
LINES..I.. LDX $D419 ;. POTX.M
I . LDA $DC00:PHA ;. P.T.OI". . #$1
0:STA MB ;. LEFT BTN..I$. TXA:BMI ..5
;RIGHT BTN..I&. LDA #$20:.BYT $2
C ;.IC HIGH.TI(. LDA #$00:.A MB:LSR;.IC
LOW..I*. LSR:E. #.1:STA MB ;. L&R BTNS.
.J,. PLA:. #$0F ;FILTER DIRECTI.S.>J..
LDX #$FF:STX $DC02 ;RESET DDR.AJ0. LDX
#$7F:STX $DC00 ;RESET REG..J2.RMUP TAY:.
#%0001:BNE RMDN..J4. LDA $D001
;SPRITE0(Y)..J6. CMP #48:BEQ RMLF.SJ8.
DEC $D001:BNE RMLF..J:.RMDN TYA:. #%001
0:BNE RMLF..K<. LDA $D001 ;SPR
ITE0(Y)..K>. CMP #247:BEQ RMLF.=K@. INC
$D001.\KB.RMLF TYA:. #%0100:BNE RMRT..KD
. LDX $D000 ;SPRITE0(X)..KF. L
DA $D010:. #1:BNE ..6..KH. CPX #22:BEQ R
MXY.RKJ. DEC $D000:CPX #0:BNE RMXY..KL.
LDA $D010:. #$FE:STA $D010..LN. JMP RMXY
..LP.RMRT TYA:. #%1000:BNE RMXY.DLR. LDX
$D000 ;SPRITE0(X).`LT. LDA $D
010:. #1:BEQ ..6.VLV. CPX #85:BEQ RMXY..
LX. INC $D000:BNE RMXY..LZ. LDA $D010:.A
#$01:STA $D010.RL\.RMXY . . ;PUT MOUSE
.N (MX,MY)..L^. LDA $D000:SEC:SBC #22:ST
A MX..M`. LDA $D010:. #1:SBC #0:STA MX.1
.:MB. LDA $D001:SEC:SBC #48:STA MY.[MD.
LDA #199:SBC MY:STA MYI:RTS.AMF.;..MH.RM
.0Y . . ;.ITI. SPRITE0(Y)..MJ. LDA TR:AS
L:ASL:ASL ;WITHIN MENU.LML. ADC #52:STA
$D001:RTS ;VIEWP.T.RMN.;..MP.RMSPRT0 .
. ;INIT SPRITE0..NR. LDA $D001:CMP #48:
BCS ..26.1NT. LDA #75:STA $D000:STA $D00
1.PNV. LDA #.2:. $D010:STA $D010.ONX. LD
A #.2:. $D01B:STA $D01B..NZ. TXA:BMI ..7
:.A $D015:BNE ..5..N|. . $D015:STA $D015
:RTS..N~.;.TN..RMSCOL0 . . ;SET SPRITE0
COL...N.. STA $D027:RTS..N..;..O..RMBTNS
. . ;. MOUSE BUT.NS.*O.. LDA #4:BIT MB:
BNE RMBTN1.EO.. ASL:BIT MB:BNE RMBTN2.JO
..RMBTN0 LDA # 0:RTS ; NO BTN Z.1..O..R
MBTN1 LDA #.1:RTS ;LEFT BTN Z.0..O..RMBT
N2 LDA # 1:RTS ;RGHT BTN Z.0..O..;..O..;
.FO..;..O..ARROW . . ;SPRITE ...P...BYT
%00000000,%00000000,%00000000.,P...BYT %
00000000,%00000000,%00000000.SP...BYT %0
0100000,%00000000,%00000000.ZP ..BYT %00
110000,%00000000,%00000000..P...BYT %001
11000,%00000000,%00000000.HP...BYT %0011
1100,%00000000,%00000000..P...BYT %00111
110,%00000000,%00000000..Q...BYT %001111
11,%00000000,%00000000.=Q...BYT %0011110
0,%00000000,%00000000.DQ...BYT %00100110
,%00000000,%00000000..Q...BYT %00000110,
%00000000,%00000000..Q...BYT %00000011,%
00000000,%00000000.YQ...BYT %00000011,%0
0000000,%00000000..Q..;..Q..CROSS . . ;S
PRITE ...R...BYT %10001000,%00000000,%00
000000.ER...BYT %01010000,%00000000,%000
00000.LR...BYT %00100000,%00000000,%0000
0000..R...BYT %01010000,%00000000,%00000
000..R...BYT %10001000,%00000000,%000000
00..RB.;.FRD.;..RF.;CODE CURRENTLY .S AT
$8BD6..RH.;..RJ.;..RL.;..SN.PHASE .. PH
ASE..:PHASE ERR...SP......
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL