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

QV←UTILITY

FILE INFORMATION

FILENAME(S): QV←UTILITY

FILE TYPE(S): USR

FILE SIZE: 3K

FIRST SEEN: 2025-10-20 14:31:15

APPEARS ON: 1 disk(s)

FILE HASH

4c3b7c1c7252ea216617f144716e1f8685c90d766b79dbd6beb4ae41df84dd28

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
C QV←UTILITY USR Treasure Chest - Klaus Der Suhler 24 12 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 20 55 54 49 4C 49 54  59 27 73 20 66 6F 72 20  |; UTILITY's for |
00000010: 51 75 69 63 6B 56 69 65  77 00 3B 2D 2D 2D 2D 2D  |QuickView.;-----|
00000020: 2A 00 50 52 54 4F 55 54  00 20 43 4D 50 20 23 31  |*.PRTOUT. CMP #1|
00000030: 33 00 20 42 45 51 20 40  45 4E 4C 49 4E 00 20 43  |3. BEQ @ENLIN. C|
00000040: 4D 50 20 23 33 32 00 20  42 43 43 20 40 4E 4F 50  |MP #32. BCC @NOP|
00000050: 52 54 00 20 43 4D 50 20  23 31 32 39 00 20 42 43  |RT. CMP #129. BC|
00000060: 53 20 40 4E 4F 50 52 54  00 20 4A 53 52 20 50 75  |S @NOPRT. JSR Pu|
00000070: 74 43 68 61 72 00 20 6A  73 72 20 53 45 54 55 50  |tChar. jsr SETUP|
00000080: 42 00 40 4E 4F 50 52 54  00 20 52 54 53 00 3B 00  |B.@NOPRT. RTS.;.|
00000090: 40 45 4E 4C 49 4E 00 20  6A 73 72 20 45 78 4C 42  |@ENLIN. jsr ExLB|
000000A0: 00 20 4C 44 41 20 59 50  4F 53 31 00 20 43 4C 43  |. LDA YPOS1. CLC|
000000B0: 00 20 41 44 43 20 23 31  30 00 20 53 54 41 20 59  |. ADC #10. STA Y|
000000C0: 50 4F 53 31 00 40 45 4E  4C 00 20 43 4D 50 20 23  |POS1.@ENL. CMP #|
000000D0: 31 38 33 2D 38 2D 34 00  20 42 43 43 20 40 41 5A  |183-8-4. BCC @AZ|
000000E0: 00 20 6C 64 61 20 23 31  30 3B 20 74 68 69 73 20  |. lda #10; this |
000000F0: 6D 69 67 68 74 20 63 68  61 6E 67 65 00 20 6C 64  |might change. ld|
00000100: 78 20 23 30 00 20 6C 64  79 20 23 31 38 33 2D 38  |x #0. ldy #183-8|
00000110: 2B 33 2D 34 00 20 6A 73  72 20 4D 6F 76 65 53 63  |+3-4. jsr MoveSc|
00000120: 72 65 65 6E 00 3B 20 4A  53 52 20 69 5F 4D 6F 76  |reen.; JSR i_Mov|
00000130: 65 44 61 74 61 00 3B 2E  57 4F 52 44 20 24 41 30  |eData.;.WORD $A0|
00000140: 30 30 2B 33 32 30 00 3B  2E 57 4F 52 44 20 24 41  |00+320.;.WORD $A|
00000150: 30 30 30 00 3B 2E 57 4F  52 44 20 38 30 30 30 2D  |000.;.WORD 8000-|
00000160: 36 34 30 2D 33 32 30 00  20 4C 44 41 20 59 50 4F  |640-320. LDA YPO|
00000170: 53 31 00 20 53 45 43 00  20 53 42 43 20 23 31 30  |S1. SEC. SBC #10|
00000180: 00 20 53 54 41 20 59 50  4F 53 31 00 20 62 72 61  |. STA YPOS1. bra|
00000190: 6E 63 68 20 40 45 4E 4C  00 40 41 5A 00 20 4C 44  |nch @ENL.@AZ. LD|
000001A0: 41 20 23 30 00 20 53 54  41 20 58 50 4F 53 31 00  |A #0. STA XPOS1.|
000001B0: 20 53 54 41 20 58 50 4F  53 31 2B 31 00 20 6A 73  | STA XPOS1+1. js|
000001C0: 72 20 45 78 4C 42 61 00  20 4A 53 52 20 53 45 54  |r ExLBa. JSR SET|
000001D0: 55 50 41 00 20 52 54 53  00 00 59 50 4F 53 31 20  |UPA. RTS..YPOS1 |
000001E0: 2E 42 59 54 45 20 31 30  00 58 50 4F 53 31 20 2E  |.BYTE 10.XPOS1 .|
000001F0: 57 6F 72 64 20 30 00 00  53 45 54 55 50 41 00 20  |Word 0..SETUPA. |
00000200: 4C 44 58 20 59 50 4F 53  31 00 20 53 54 58 20 52  |LDX YPOS1. STX R|
00000210: 31 2B 31 00 20 4C 44 58  20 58 50 4F 53 31 00 20  |1+1. LDX XPOS1. |
00000220: 53 54 58 20 52 31 31 00  20 4C 44 58 20 58 50 4F  |STX R11. LDX XPO|
00000230: 53 31 2B 31 00 20 53 54  58 20 52 31 31 2B 31 00  |S1+1. STX R11+1.|
00000240: 20 52 54 53 00 3B 00 53  45 54 55 50 42 00 20 4C  | RTS.;.SETUPB. L|
00000250: 44 58 20 52 31 2B 31 00  20 53 54 58 20 59 50 4F  |DX R1+1. STX YPO|
00000260: 53 31 00 20 4C 44 58 20  52 31 31 00 20 53 54 58  |S1. LDX R11. STX|
00000270: 20 58 50 4F 53 31 00 20  4C 44 58 20 52 31 31 2B  | XPOS1. LDX R11+|
00000280: 31 00 20 53 54 58 20 58  50 4F 53 31 2B 31 00 20  |1. STX XPOS1+1. |
00000290: 52 54 53 00 3B 2D 2D 2D  2D 2D 00 43 76 43 72 64  |RTS.;-----.CvCrd|
000002A0: 3B 20 63 6F 6E 76 65 72  74 20 63 61 72 64 20 62  |; convert card b|
000002B0: 69 74 20 74 6F 20 62 79  74 65 2E 00 3B 20 65 6E  |it to byte..; en|
000002C0: 74 72 79 20 77 69 74 68  20 41 20 68 6F 6C 64 69  |try with A holdi|
000002D0: 6E 67 20 62 69 74 20 76  61 6C 75 65 00 20 73 74  |ng bit value. st|
000002E0: 61 20 43 76 43 68 61 72  00 43 76 43 72 64 31 00  |a CvChar.CvCrd1.|
000002F0: 20 6C 64 61 20 23 32 37  00 20 6A 73 72 20 50 75  | lda #27. jsr Pu|
00000300: 74 43 68 61 72 00 20 6C  64 61 20 43 76 43 68 61  |tChar. lda CvCha|
00000310: 72 00 20 62 65 71 20 40  6F 34 00 20 6C 64 61 20  |r. beq @o4. lda |
00000320: 43 76 43 68 61 72 00 20  41 4E 44 20 23 31 32 38  |CvChar. AND #128|
00000330: 3B 20 73 65 74 5F 75 6E  64 65 72 6C 69 6E 65 00  |; set_underline.|
00000340: 20 62 65 71 20 20 40 6F  31 00 20 6C 64 61 20 23  | beq  @o1. lda #|
00000350: 31 34 00 20 6A 73 72 20  50 75 74 43 68 61 72 00  |14. jsr PutChar.|
00000360: 40 6F 31 00 20 6C 64 61  20 43 76 43 68 61 72 00  |@o1. lda CvChar.|
00000370: 20 41 4E 44 20 23 36 34  3B 73 65 74 5F 62 6F 6C  | AND #64;set_bol|
00000380: 64 00 20 62 65 71 20 40  6F 32 00 20 6C 64 61 20  |d. beq @o2. lda |
00000390: 23 32 34 00 20 6A 73 72  20 50 75 74 43 68 61 72  |#24. jsr PutChar|
000003A0: 00 40 6F 32 00 20 6C 64  61 20 43 76 43 68 61 72  |.@o2. lda CvChar|
000003B0: 00 20 41 4E 44 20 23 31  36 3B 20 49 74 61 6C 69  |. AND #16; Itali|
000003C0: 63 27 73 00 20 62 65 71  20 40 6F 33 00 20 6C 64  |c's. beq @o3. ld|
000003D0: 61 20 23 32 35 00 20 6A  73 72 20 50 75 74 43 68  |a #25. jsr PutCh|
000003E0: 61 72 00 40 6F 33 00 20  6C 64 61 20 43 76 43 68  |ar.@o3. lda CvCh|
000003F0: 61 72 00 20 41 4E 44 20  23 38 3B 20 4F 75 74 6C  |ar. AND #8; Outl|
00000400: 69 6E 65 00 20 62 65 71  20 40 6F 34 00 20 6C 64  |ine. beq @o4. ld|
00000410: 61 20 23 32 36 00 20 6A  73 72 20 50 75 74 43 68  |a #26. jsr PutCh|
00000420: 61 72 00 40 6F 34 00 20  52 54 53 00 43 76 43 68  |ar.@o4. RTS.CvCh|
00000430: 61 72 20 2E 42 79 74 65  20 30 00 00 45 78 4C 42  |ar .Byte 0..ExLB|
00000440: 00 20 4C 44 41 20 23 31  00 20 53 54 41 20 52 34  |. LDA #1. STA R4|
00000450: 2B 31 00 20 4C 44 41 20  23 36 33 00 20 53 54 41  |+1. LDA #63. STA|
00000460: 20 52 34 00 20 4C 44 41  20 52 31 2B 31 00 20 53  | R4. LDA R1+1. S|
00000470: 45 43 00 20 53 42 43 20  23 37 00 20 53 54 41 20  |EC. SBC #7. STA |
00000480: 52 32 00 20 43 4C 43 00  20 41 44 43 20 23 31 30  |R2. CLC. ADC #10|
00000490: 00 20 53 54 41 20 52 32  2B 31 00 20 4C 44 41 20  |. STA R2+1. LDA |
000004A0: 52 31 31 00 20 53 54 41  20 52 33 00 20 4C 44 41  |R11. STA R3. LDA|
000004B0: 20 52 31 31 2B 31 00 20  42 45 51 20 40 4A 32 00  | R11+1. BEQ @J2.|
000004C0: 20 4C 44 41 20 52 33 00  20 43 4D 50 20 23 36 34  | LDA R3. CMP #64|
000004D0: 00 20 42 43 53 20 40 4A  31 00 20 4C 44 41 20 52  |. BCS @J1. LDA R|
000004E0: 31 31 2B 31 00 40 4A 32  00 20 53 54 41 20 52 33  |11+1.@J2. STA R3|
000004F0: 2B 31 00 20 4A 53 52 20  52 65 63 74 61 6E 67 6C  |+1. JSR Rectangl|
00000500: 65 00 40 4A 31 00 20 52  54 53 00 00 45 78 4C 42  |e.@J1. RTS..ExLB|
00000510: 61 00 20 4C 44 41 20 23  31 00 20 53 54 41 20 52  |a. LDA #1. STA R|
00000520: 34 2B 31 00 20 4C 44 41  20 23 36 33 00 20 53 54  |4+1. LDA #63. ST|
00000530: 41 20 52 34 00 20 4C 44  41 20 59 50 4F 53 31 00  |A R4. LDA YPOS1.|
00000540: 20 63 6C 63 00 20 61 64  63 20 23 33 00 20 53 54  | clc. adc #3. ST|
00000550: 41 20 52 32 00 20 6C 64  61 20 23 31 38 33 00 20  |A R2. lda #183. |
00000560: 53 54 41 20 52 32 2B 31  00 20 4C 44 41 20 23 30  |STA R2+1. LDA #0|
00000570: 00 20 53 54 41 20 52 33  00 20 53 54 41 20 52 33  |. STA R3. STA R3|
00000580: 2B 31 00 20 4A 53 52 20  52 65 63 74 61 6E 67 6C  |+1. JSR Rectangl|
00000590: 65 00 20 52 54 53 00 3B  2D 2D 2D 2D 2D 00 50 61  |e. RTS.;-----.Pa|
000005A0: 75 73 65 00 20 6A 73 72  20 53 45 54 55 50 42 00  |use. jsr SETUPB.|
000005B0: 20 6C 64 61 20 50 61 75  73 65 42 79 74 65 00 20  | lda PauseByte. |
000005C0: 45 4F 52 20 23 31 00 20  73 74 61 20 50 61 75 73  |EOR #1. sta Paus|
000005D0: 65 42 79 74 65 00 50 61  75 73 65 52 6F 75 74 69  |eByte.PauseRouti|
000005E0: 6E 65 00 00 20 6C 64 61  20 23 31 38 34 00 20 73  |ne.. lda #184. s|
000005F0: 74 61 20 52 32 00 20 6C  64 61 20 23 31 39 39 00  |ta R2. lda #199.|
00000600: 20 73 74 61 20 52 32 2B  31 00 20 6C 64 61 20 23  | sta R2+1. lda #|
00000610: 31 37 2A 38 00 20 73 74  61 20 52 33 00 20 6C 64  |17*8. sta R3. ld|
00000620: 61 20 23 32 33 2A 38 00  20 73 74 61 20 52 34 00  |a #23*8. sta R4.|
00000630: 20 6C 64 61 20 23 30 00  20 73 74 61 20 52 33 2B  | lda #0. sta R3+|
00000640: 31 00 20 73 74 61 20 52  34 2B 31 00 20 6A 73 72  |1. sta R4+1. jsr|
00000650: 20 49 6E 76 65 72 74 52  65 63 74 61 6E 67 6C 65  | InvertRectangle|
00000660: 00 20 6C 64 61 20 23 31  32 38 00 20 73 74 61 20  |. lda #128. sta |
00000670: 24 38 35 30 35 00 20 6A  73 72 20 53 45 54 55 50  |$8505. jsr SETUP|
00000680: 41 00 20 52 54 53 00 3B  2D 2D 2D 2D 00 4F 50 56  |A. RTS.;----.OPV|
00000690: 00 20 50 48 41 00 20 6C  64 61 20 24 38 35 30 35  |. PHA. lda $8505|
000006A0: 00 20 42 4D 49 20 40 50  42 33 00 20 74 78 61 00  |. BMI @PB3. txa.|
000006B0: 20 50 48 41 00 20 74 79  61 00 20 50 48 41 00 20  | PHA. tya. PHA. |
000006C0: 6A 73 72 20 53 45 54 55  50 42 00 20 6C 64 61 20  |jsr SETUPB. lda |
000006D0: 23 31 38 34 00 20 73 74  61 20 52 32 00 20 6C 64  |#184. sta R2. ld|
000006E0: 61 20 23 31 39 39 00 20  73 74 61 20 52 32 2B 31  |a #199. sta R2+1|
000006F0: 00 20 6C 64 61 20 23 31  37 2A 38 00 20 73 74 61  |. lda #17*8. sta|
00000700: 20 52 33 00 20 6C 64 61  20 23 32 33 2A 38 00 20  | R3. lda #23*8. |
00000710: 73 74 61 20 52 34 00 20  6C 64 61 20 23 30 00 20  |sta R4. lda #0. |
00000720: 73 74 61 20 52 33 2B 31  00 20 73 74 61 20 52 34  |sta R3+1. sta R4|
00000730: 2B 31 00 20 6A 73 72 20  49 73 4D 73 65 49 6E 52  |+1. jsr IsMseInR|
00000740: 65 67 69 6F 6E 00 20 54  41 58 00 20 62 65 71 20  |egion. TAX. beq |
00000750: 40 50 42 32 00 20 6A 73  72 20 50 61 75 73 65 00  |@PB2. jsr Pause.|
00000760: 40 50 42 32 00 20 6C 64  61 20 23 31 38 34 00 20  |@PB2. lda #184. |
00000770: 73 74 61 20 52 32 00 20  6C 64 61 20 23 31 39 39  |sta R2. lda #199|
00000780: 00 20 73 74 61 20 52 32  2B 31 00 20 6C 64 61 20  |. sta R2+1. lda |
00000790: 23 33 34 2A 38 00 20 73  74 61 20 52 33 00 20 6C  |#34*8. sta R3. l|
000007A0: 64 61 20 23 33 39 2A 38  2B 37 00 20 73 74 61 20  |da #39*8+7. sta |
000007B0: 52 34 00 20 6C 64 61 20  23 31 00 20 73 74 61 20  |R4. lda #1. sta |
000007C0: 52 33 2B 31 00 20 73 74  61 20 52 34 2B 31 00 20  |R3+1. sta R4+1. |
000007D0: 6A 73 72 20 49 73 4D 73  65 49 6E 52 65 67 69 6F  |jsr IsMseInRegio|
000007E0: 6E 00 20 54 41 58 00 20  62 65 71 20 40 50 42 33  |n. TAX. beq @PB3|
000007F0: 61 00 20 6A 73 72 20 45  78 69 74 4C 69 73 74 00  |a. jsr ExitList.|
00000800: 40 50 42 33 61 00 20 6A  73 72 20 53 45 54 55 50  |@PB3a. jsr SETUP|
00000810: 41 00 20 50 4C 41 00 20  74 61 79 00 20 50 4C 41  |A. PLA. tay. PLA|
00000820: 00 20 74 61 78 00 40 50  42 33 00 20 50 4C 41 00  |. tax.@PB3. PLA.|
00000830: 20 52 54 53 00 00 50 61  75 73 65 42 79 74 65 20  | RTS..PauseByte |
00000840: 2E 42 79 74 65 20 30 00  45 78 69 74 42 79 74 65  |.Byte 0.ExitByte|
00000850: 20 2E 42 79 74 65 20 30  00 3B 3D 3D 3D 3D 00 45  | .Byte 0.;====.E|
00000860: 78 69 74 4C 69 73 74 00  20 6C 64 61 20 23 31 00  |xitList. lda #1.|
00000870: 20 73 74 61 20 45 78 69  74 42 79 74 65 00 00 20  | sta ExitByte.. |
00000880: 6C 64 61 20 23 31 38 34  00 20 73 74 61 20 52 32  |lda #184. sta R2|
00000890: 00 20 6C 64 61 20 23 31  39 39 00 20 73 74 61 20  |. lda #199. sta |
000008A0: 52 32 2B 31 00 20 6C 64  61 20 23 33 34 2A 38 00  |R2+1. lda #34*8.|
000008B0: 20 73 74 61 20 52 33 00  20 6C 64 61 20 23 33 39  | sta R3. lda #39|
000008C0: 2A 38 2B 37 00 20 73 74  61 20 52 34 00 20 6C 64  |*8+7. sta R4. ld|
000008D0: 61 20 23 31 00 20 73 74  61 20 52 33 2B 31 00 20  |a #1. sta R3+1. |
000008E0: 73 74 61 20 52 34 2B 31  00 20 6A 73 72 20 49 6E  |sta R4+1. jsr In|
000008F0: 76 65 72 74 52 65 63 74  61 6E 67 6C 65 00 20 6C  |vertRectangle. l|
00000900: 64 61 20 23 31 32 38 00  20 73 74 61 20 24 38 35  |da #128. sta $85|
00000910: 30 35 00 3B 00 3B 20 6C  6F 6F 70 20 74 6F 20 77  |05.;.; loop to w|
00000920: 61 73 74 65 20 74 69 6D  65 00 20 6C 64 61 20 23  |aste time. lda #|
00000930: 30 00 20 73 74 61 20 59  5F 52 65 67 00 40 59 52  |0. sta Y_Reg.@YR|
00000940: 5F 6C 6F 6F 70 00 20 6C  64 61 20 23 30 00 20 73  |_loop. lda #0. s|
00000950: 74 61 20 58 5F 52 65 67  00 40 58 52 5F 6C 6F 6F  |ta X_Reg.@XR_loo|
00000960: 70 00 20 64 65 63 20 58  5F 52 65 67 00 20 62 6E  |p. dec X_Reg. bn|
00000970: 65 20 40 58 52 5F 6C 6F  6F 70 00 20 64 65 63 20  |e @XR_loop. dec |
00000980: 59 5F 52 65 67 00 20 62  6E 65 20 40 59 52 5F 6C  |Y_Reg. bne @YR_l|
00000990: 6F 6F 70 00 20 6A 73 72  20 49 6E 76 65 72 74 52  |oop. jsr InvertR|
000009A0: 65 63 74 61 6E 67 6C 65  00 20 6A 73 72 20 53 45  |ectangle. jsr SE|
000009B0: 54 55 50 41 00 20 52 54  53 00 59 5F 52 65 67 20  |TUPA. RTS.Y_Reg |
000009C0: 2E 42 79 74 65 20 30 00  58 5F 52 65 67 20 2E 42  |.Byte 0.X_Reg .B|
000009D0: 79 74 65 20 30 00 3B 2D  2D 2D 00 4D 6F 76 65 53  |yte 0.;---.MoveS|
000009E0: 63 72 65 65 6E 00 3B 20  44 45 53 54 20 73 63 72  |creen.; DEST scr|
000009F0: 65 65 6E 20 70 6F 73 69  74 69 6F 6E 20 74 6F 20  |een position to |
00000A00: 6D 6F 76 65 20 74 6F 00  3B 20 53 4F 55 52 43 45  |move to.; SOURCE|
00000A10: 20 73 63 72 65 65 6E 20  70 6F 73 69 74 69 6F 6E  | screen position|
00000A20: 20 74 6F 20 6D 6F 76 65  20 66 72 6F 6D 00 3B 20  | to move from.; |
00000A30: 4C 45 4E 47 54 48 20 66  69 72 73 74 20 70 6F 73  |LENGTH first pos|
00000A40: 69 74 69 6F 6E 20 74 6F  20 6D 6F 76 65 20 75 6E  |ition to move un|
00000A50: 74 69 6C 20 28 6E 65 76  65 72 20 3E 20 31 39 39  |til (never > 199|
00000A60: 29 00 20 73 74 78 20 44  45 53 54 00 20 73 74 61  |). stx DEST. sta|
00000A70: 20 53 4F 55 52 43 45 00  20 53 54 59 20 4C 45 4E  | SOURCE. STY LEN|
00000A80: 47 54 48 00 40 42 4C 50  33 00 20 6C 64 78 20 44  |GTH.@BLP3. ldx D|
00000A90: 45 53 54 00 20 6A 73 72  20 47 65 74 53 63 61 6E  |EST. jsr GetScan|
00000AA0: 4C 69 6E 65 00 20 6D 6F  76 65 77 20 52 35 3A 44  |Line. movew R5:D|
00000AB0: 65 73 74 00 20 6C 64 78  20 53 4F 55 52 43 45 00  |est. ldx SOURCE.|
00000AC0: 20 6A 73 72 20 47 65 74  53 63 61 6E 4C 69 6E 65  | jsr GetScanLine|
00000AD0: 00 20 6D 6F 76 65 77 20  52 35 3A 53 6F 75 72 63  |. movew R5:Sourc|
00000AE0: 65 00 20 6C 64 79 20 23  30 00 40 42 4C 50 31 00  |e. ldy #0.@BLP1.|
00000AF0: 20 6C 64 61 20 28 53 6F  75 72 63 65 29 2C 59 00  | lda (Source),Y.|
00000B00: 20 73 74 61 20 28 44 65  73 74 29 2C 59 00 20 74  | sta (Dest),Y. t|
00000B10: 79 61 00 20 63 6C 63 00  20 61 64 63 20 23 38 00  |ya. clc. adc #8.|
00000B20: 20 74 61 79 00 20 62 6E  65 20 40 42 4C 50 31 00  | tay. bne @BLP1.|
00000B30: 20 69 6E 63 20 53 6F 75  72 63 65 2B 31 00 20 69  | inc Source+1. i|
00000B40: 6E 63 20 44 65 73 74 2B  31 00 40 42 4C 50 32 00  |nc Dest+1.@BLP2.|
00000B50: 20 6C 64 61 20 28 53 6F  75 72 63 65 29 2C 59 00  | lda (Source),Y.|
00000B60: 20 73 74 61 20 28 44 65  73 74 29 2C 59 00 20 74  | sta (Dest),Y. t|
00000B70: 79 61 00 20 63 6C 63 00  20 61 64 63 20 23 38 00  |ya. clc. adc #8.|
00000B80: 20 74 61 79 00 20 63 70  79 20 23 36 34 00 20 62  | tay. cpy #64. b|
00000B90: 63 63 20 40 42 4C 50 32  00 00 20 49 4E 43 20 44  |cc @BLP2.. INC D|
00000BA0: 45 53 54 00 20 49 4E 43  20 53 4F 55 52 43 45 00  |EST. INC SOURCE.|
00000BB0: 00 20 6C 64 61 20 53 4F  55 52 43 45 00 20 63 6D  |. lda SOURCE. cm|
00000BC0: 70 20 4C 45 4E 47 54 48  00 20 62 63 63 20 40 42  |p LENGTH. bcc @B|
00000BD0: 4C 50 33 00 20 62 65 71  20 40 42 4C 50 33 00 52  |LP3. beq @BLP3.R|
00000BE0: 54 53 00 44 45 53 54 20  2E 42 79 74 65 20 30 00  |TS.DEST .Byte 0.|
00000BF0: 53 4F 55 52 43 45 20 2E  42 79 74 65 20 30 00 4C  |SOURCE .Byte 0.L|
00000C00: 45 4E 47 54 48 20 2E 42  79 74 65 20 30 00 3B 3D  |ENGTH .Byte 0.;=|
00000C10: 3D 3D 00 00 00                                    |==...           |
; UTILITY'S FOR QUICKVIEW.;-----*.PRTOUT
. CMP #13. BEQ @ENLIN. CMP #32. BCC @NOP
RT. CMP #129. BCS @NOPRT. JSR PUTCHAR. J
SR SETUPB.@NOPRT. RTS.;.@ENLIN. JSR EXLB
. LDA YPOS1. CLC. ADC #10. STA YPOS1.@EN
L. CMP #183-8-4. BCC @AZ. LDA #10; THIS 
MIGHT CHANGE. LDX #0. LDY #183-8+3-4. JS
R MOVESCREEN.; JSR I_MOVEDATA.;.WORD $A0
00+320.;.WORD $A000.;.WORD 8000-640-320.
 LDA YPOS1. SEC. SBC #10. STA YPOS1. BRA
NCH @ENL.@AZ. LDA #0. STA XPOS1. STA XPO
S1+1. JSR EXLBA. JSR SETUPA. RTS..YPOS1 
.BYTE 10.XPOS1 .WORD 0..SETUPA. LDX YPOS
1. STX R1+1. LDX XPOS1. STX R11. LDX XPO
S1+1. STX R11+1. RTS.;.SETUPB. LDX R1+1.
 STX YPOS1. LDX R11. STX XPOS1. LDX R11+
1. STX XPOS1+1. RTS.;-----.CVCRD; CONVER
T CARD BIT TO BYTE..; ENTRY WITH A HOLDI
NG BIT VALUE. STA CVCHAR.CVCRD1. LDA #27
. JSR PUTCHAR. LDA CVCHAR. BEQ @O4. LDA 
CVCHAR. AND #128; SET_UNDERLINE. BEQ  @O
1. LDA #14. JSR PUTCHAR.@O1. LDA CVCHAR.
 AND #64;SET_BOLD. BEQ @O2. LDA #24. JSR
 PUTCHAR.@O2. LDA CVCHAR. AND #16; ITALI
C'S. BEQ @O3. LDA #25. JSR PUTCHAR.@O3. 
LDA CVCHAR. AND #8; OUTLINE. BEQ @O4. LD
A #26. JSR PUTCHAR.@O4. RTS.CVCHAR .BYTE
 0..EXLB. LDA #1. STA R4+1. LDA #63. STA
 R4. LDA R1+1. SEC. SBC #7. STA R2. CLC.
 ADC #10. STA R2+1. LDA R11. STA R3. LDA
 R11+1. BEQ @J2. LDA R3. CMP #64. BCS @J
1. LDA R11+1.@J2. STA R3+1. JSR RECTANGL
E.@J1. RTS..EXLBA. LDA #1. STA R4+1. LDA
 #63. STA R4. LDA YPOS1. CLC. ADC #3. ST
A R2. LDA #183. STA R2+1. LDA #0. STA R3
. STA R3+1. JSR RECTANGLE. RTS.;-----.PA
USE. JSR SETUPB. LDA PAUSEBYTE. EOR #1. 
STA PAUSEBYTE.PAUSEROUTINE.. LDA #184. S
TA R2. LDA #199. STA R2+1. LDA #17*8. ST
A R3. LDA #23*8. STA R4. LDA #0. STA R3+
1. STA R4+1. JSR INVERTRECTANGLE. LDA #1
28. STA $8505. JSR SETUPA. RTS.;----.OPV
. PHA. LDA $8505. BMI @PB3. TXA. PHA. TY
A. PHA. JSR SETUPB. LDA #184. STA R2. LD
A #199. STA R2+1. LDA #17*8. STA R3. LDA
 #23*8. STA R4. LDA #0. STA R3+1. STA R4
+1. JSR ISMSEINREGION. TAX. BEQ @PB2. JS
R PAUSE.@PB2. LDA #184. STA R2. LDA #199
. STA R2+1. LDA #34*8. STA R3. LDA #39*8
+7. STA R4. LDA #1. STA R3+1. STA R4+1. 
JSR ISMSEINREGION. TAX. BEQ @PB3A. JSR E
XITLIST.@PB3A. JSR SETUPA. PLA. TAY. PLA
. TAX.@PB3. PLA. RTS..PAUSEBYTE .BYTE 0.
EXITBYTE .BYTE 0.;====.EXITLIST. LDA #1.
 STA EXITBYTE.. LDA #184. STA R2. LDA #1
99. STA R2+1. LDA #34*8. STA R3. LDA #39
*8+7. STA R4. LDA #1. STA R3+1. STA R4+1
. JSR INVERTRECTANGLE. LDA #128. STA $85
05.;.; LOOP TO WASTE TIME. LDA #0. STA Y
_REG.@YR_LOOP. LDA #0. STA X_REG.@XR_LOO
P. DEC X_REG. BNE @XR_LOOP. DEC Y_REG. B
NE @YR_LOOP. JSR INVERTRECTANGLE. JSR SE
TUPA. RTS.Y_REG .BYTE 0.X_REG .BYTE 0.;-
--.MOVESCREEN.; DEST SCREEN POSITION TO 
MOVE TO.; SOURCE SCREEN POSITION TO MOVE
 FROM.; LENGTH FIRST POSITION TO MOVE UN
TIL (NEVER > 199). STX DEST. STA SOURCE.
 STY LENGTH.@BLP3. LDX DEST. JSR GETSCAN
LINE. MOVEW R5:DEST. LDX SOURCE. JSR GET
SCANLINE. MOVEW R5:SOURCE. LDY #0.@BLP1.
 LDA (SOURCE),Y. STA (DEST),Y. TYA. CLC.
 ADC #8. TAY. BNE @BLP1. INC SOURCE+1. I
NC DEST+1.@BLP2. LDA (SOURCE),Y. STA (DE
ST),Y. TYA. CLC. ADC #8. TAY. CPY #64. B
CC @BLP2.. INC DEST. INC SOURCE.. LDA SO
URCE. CMP LENGTH. BCC @BLP3. BEQ @BLP3.R
TS.DEST .BYTE 0.SOURCE .BYTE 0.LENGTH .B
YTE 0.;===...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL