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

GRAPH.SRC

FILE INFORMATION

FILENAME(S): GRAPH.SRC

FILE TYPE(S): SEQ

FILE SIZE: 5.1K

FIRST SEEN: 2025-10-20 00:37:13

APPEARS ON: 6 disk(s)

FILE HASH

42551686797e4c4d4bac830ff645056827de68f355e15f2c14753204adfad687

FOUND ON DISKS (6 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SONDERHEFT 4 GRAPH.SRC SEQ C64er, Treasure Chest - Holger 11 1 DOWNLOAD FILE
SONDERHEFT 4 GRAPH.SRC SEQ Treasure Chest - Klaus Der Suhler 11 1 DOWNLOAD FILE
SONDERHEFT 4 GRAPH.SRC SEQ Treasure Chest - ralf 11 1 DOWNLOAD FILE
SONDERH 4 85 II GRAPH.SRC SEQ DuncanTwain 27 9 DOWNLOAD FILE
SONDERH 4 85 II GRAPH.SRC SEQ DuncanTwain 27 9 DOWNLOAD FILE
ARNOLD GRAPH.SRC SEQ DuncanTwain 21 8 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 20 47 52 41 50 48 49  43 53 20 55 54 49 4C 49  |; GRAPHICS UTILI|
00000010: 54 49 45 53 0D 3B 0D 3B  20 52 49 43 48 41 52 44  |TIES.;.; RICHARD|
00000020: 20 4C 2E 20 52 59 4C 41  4E 44 45 52 20 20 20 31  | L. RYLANDER   1|
00000030: 31 2F 34 2F 38 34 0D 3B  0D 3B 20 4C 4F 41 44 20  |1/4/84.;.; LOAD |
00000040: 41 52 49 54 48 4D 45 54  49 43 20 55 54 49 4C 49  |ARITHMETIC UTILI|
00000050: 54 49 45 53 20 46 49 52  53 54 0D 3B 0D 52 41 4D  |TIES FIRST.;.RAM|
00000060: 3D 24 30 33 33 45 0D 4F  52 49 47 49 4E 3D 24 43  |=$033E.ORIGIN=$C|
00000070: 30 45 32 0D 3B 0D 4D 4C  50 43 4E 44 3D 24 41 43  |0E2.;.MLPCND=$AC|
00000080: 20 20 20 20 20 3B 20 4D  55 4C 54 49 50 4C 49 43  |     ; MULTIPLIC|
00000090: 41 4E 44 20 28 53 29 0D  4D 4C 50 4C 45 52 3D 24  |AND (S).MLPLER=$|
000000A0: 41 44 20 20 20 20 20 3B  20 4D 55 4C 54 49 50 4C  |AD     ; MULTIPL|
000000B0: 49 45 52 20 28 53 29 0D  50 52 4F 44 3D 24 41 45  |IER (S).PROD=$AE|
000000C0: 20 20 20 20 20 20 3B 20  50 52 4F 44 55 43 54 20  |      ; PRODUCT |
000000D0: 28 44 29 0D 4D 55 4C 54  3D 24 43 30 31 31 20 20  |(D).MULT=$C011  |
000000E0: 20 20 3B 20 43 41 4C 4C  20 46 4F 52 20 4D 55 4C  |  ; CALL FOR MUL|
000000F0: 54 49 50 4C 59 0D 3B 0D  52 4E 44 4D 3D 24 43 30  |TIPLY.;.RNDM=$C0|
00000100: 30 30 20 20 20 20 3B 20  52 41 4E 44 4F 4D 20 4E  |00    ; RANDOM N|
00000110: 55 4D 42 45 52 0D 52 41  4E 44 4F 4D 3D 24 43 30  |UMBER.RANDOM=$C0|
00000120: 43 38 20 20 3B 20 43 41  4C 4C 20 46 4F 52 20 52  |C8  ; CALL FOR R|
00000130: 41 4E 44 4F 4D 0D 3B 20  4E 4F 54 45 20 2D 20 41  |ANDOM.; NOTE - A|
00000140: 20 43 41 4C 4C 20 54 4F  20 27 52 41 4E 44 4F 4D  | CALL TO 'RANDOM|
00000150: 27 20 4C 45 41 56 45 53  20 41 20 52 41 4E 44 4F  |' LEAVES A RANDO|
00000160: 4D 20 42 59 54 45 0D 3B  20 49 4E 20 54 48 45 20  |M BYTE.; IN THE |
00000170: 41 43 43 55 4D 55 4C 41  54 4F 52 0D 3B 0D 20 20  |ACCUMULATOR.;.  |
00000180: 20 20 20 20 20 2A 3D 52  41 4D 0D 50 4C 54 46 4C  |     *=RAM.PLTFL|
00000190: 47 20 2A 3D 2A 2B 31 20  20 3B 20 50 4C 4F 54 2F  |G *=*+1  ; PLOT/|
000001A0: 55 4E 50 4C 4F 54 20 46  4C 41 47 0D 58 50 4C 54  |UNPLOT FLAG.XPLT|
000001B0: 20 20 20 2A 3D 2A 2B 32  20 20 3B 20 41 42 53 4F  |   *=*+2  ; ABSO|
000001C0: 4C 55 54 45 20 50 4C 4F  54 20 43 4F 4F 52 44 0D  |LUTE PLOT COORD.|
000001D0: 59 50 4C 54 20 20 20 2A  3D 2A 2B 31 20 20 3B 20  |YPLT   *=*+1  ; |
000001E0: 41 42 53 4F 4C 55 54 45  20 50 4C 4F 54 20 43 4F  |ABSOLUTE PLOT CO|
000001F0: 4F 52 44 0D 56 49 43 31  20 20 20 2A 3D 2A 2B 31  |ORD.VIC1   *=*+1|
00000200: 20 20 3B 20 52 45 47 49  53 54 45 52 20 53 54 4F  |  ; REGISTER STO|
00000210: 52 41 47 45 0D 56 49 43  32 20 20 20 2A 3D 2A 2B  |RAGE.VIC2   *=*+|
00000220: 31 20 20 3B 20 52 45 47  49 53 54 45 52 20 53 54  |1  ; REGISTER ST|
00000230: 4F 52 41 47 45 0D 56 41  4C 55 45 20 20 2A 3D 2A  |ORAGE.VALUE  *=*|
00000240: 2B 32 20 20 3B 20 46 49  4E 41 4C 20 4E 4F 52 4D  |+2  ; FINAL NORM|
00000250: 41 4C 49 5A 45 44 20 53  48 41 44 45 20 56 41 4C  |ALIZED SHADE VAL|
00000260: 55 45 0D 48 54 4F 52 52  4E 20 2A 3D 2A 2B 31 20  |UE.HTORRN *=*+1 |
00000270: 20 3B 20 53 48 41 44 45  20 46 4C 41 47 2C 20 31  | ; SHADE FLAG, 1|
00000280: 3D 48 41 4C 46 54 4F 4E  45 0D 4E 4F 53 43 41 4C  |=HALFTONE.NOSCAL|
00000290: 20 2A 3D 2A 2B 31 20 20  3B 20 53 43 41 4C 45 20  | *=*+1  ; SCALE |
000002A0: 46 4C 41 47 2C 20 31 3D  4E 4F 20 53 43 41 4C 45  |FLAG, 1=NO SCALE|
000002B0: 0D 54 45 4D 50 20 20 20  2A 3D 2A 2B 32 20 20 3B  |.TEMP   *=*+2  ;|
000002C0: 20 54 45 4D 50 4F 52 41  52 59 20 53 54 4F 52 41  | TEMPORARY STORA|
000002D0: 47 45 0D 3B 0D 20 20 20  20 20 20 20 2A 3D 4F 52  |GE.;.       *=OR|
000002E0: 49 47 49 4E 0D 3B 0D 3B  2A 2A 2A 2A 2A 2A 2A 2A  |IGIN.;.;********|
000002F0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000300: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000310: 2A 0D 3B 0D 3B 20 54 55  52 4E 20 4F 4E 20 42 49  |*.;.; TURN ON BI|
00000320: 54 20 4D 41 50 20 47 52  41 50 48 49 43 53 20 4D  |T MAP GRAPHICS M|
00000330: 4F 44 45 2C 0D 3B 20 53  41 56 49 4E 47 20 52 45  |ODE,.; SAVING RE|
00000340: 47 49 53 54 45 52 20 56  41 4C 55 45 53 20 46 4F  |GISTER VALUES FO|
00000350: 52 0D 3B 20 52 45 54 55  52 4E 20 54 4F 20 54 45  |R.; RETURN TO TE|
00000360: 58 54 20 4D 4F 44 45 20  4C 41 54 45 52 2E 0D 3B  |XT MODE LATER..;|
00000370: 0D 47 52 46 4F 4E 20 20  4C 44 41 20 24 44 30 31  |.GRFON  LDA $D01|
00000380: 31 0D 20 20 20 20 20 20  20 4F 52 41 20 23 24 32  |1.       ORA #$2|
00000390: 30 0D 20 20 20 20 20 20  20 53 54 41 20 24 44 30  |0.       STA $D0|
000003A0: 31 31 0D 20 20 20 20 20  20 20 4C 44 41 20 24 44  |11.       LDA $D|
000003B0: 44 30 30 0D 20 20 20 20  20 20 20 53 54 41 20 56  |D00.       STA V|
000003C0: 49 43 31 0D 20 20 20 20  20 20 20 41 4E 44 20 23  |IC1.       AND #|
000003D0: 24 46 43 0D 20 20 20 20  20 20 20 4F 52 41 20 23  |$FC.       ORA #|
000003E0: 24 30 31 0D 20 20 20 20  20 20 20 53 54 41 20 24  |$01.       STA $|
000003F0: 44 44 30 30 0D 20 20 20  20 20 20 20 4C 44 41 20  |DD00.       LDA |
00000400: 24 44 30 31 38 0D 20 20  20 20 20 20 20 53 54 41  |$D018.       STA|
00000410: 20 56 49 43 32 0D 20 20  20 20 20 20 20 4C 44 41  | VIC2.       LDA|
00000420: 20 23 24 31 39 0D 20 20  20 20 20 20 20 53 54 41  | #$19.       STA|
00000430: 20 24 44 30 31 38 0D 20  20 20 20 20 20 20 52 54  | $D018.       RT|
00000440: 53 0D 3B 0D 3B 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |S.;.;***********|
00000450: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000460: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 3B  |**************.;|
00000470: 0D 3B 20 52 45 54 55 52  4E 20 54 4F 20 54 45 58  |.; RETURN TO TEX|
00000480: 54 20 53 43 52 45 45 4E  0D 3B 0D 47 52 46 4F 46  |T SCREEN.;.GRFOF|
00000490: 46 20 4C 44 41 20 24 44  30 31 31 0D 20 20 20 20  |F LDA $D011.    |
000004A0: 20 20 20 41 4E 44 20 23  24 44 46 0D 20 20 20 20  |   AND #$DF.    |
000004B0: 20 20 20 53 54 41 20 24  44 30 31 31 0D 20 20 20  |   STA $D011.   |
000004C0: 20 20 20 20 4C 44 41 20  56 49 43 31 0D 20 20 20  |    LDA VIC1.   |
000004D0: 20 20 20 20 53 54 41 20  24 44 44 30 30 0D 20 20  |    STA $DD00.  |
000004E0: 20 20 20 20 20 4C 44 41  20 56 49 43 32 0D 20 20  |     LDA VIC2.  |
000004F0: 20 20 20 20 20 53 54 41  20 24 44 30 31 38 0D 20  |     STA $D018. |
00000500: 20 20 20 20 20 20 52 54  53 0D 3B 0D 3B 2A 2A 2A  |      RTS.;.;***|
00000510: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000520: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000530: 2A 2A 2A 2A 2A 2A 0D 3B  0D 3B 20 46 49 4C 4C 20  |******.;.; FILL |
00000540: 43 4F 4C 4F 52 20 4D 41  50 20 46 4F 52 20 42 4C  |COLOR MAP FOR BL|
00000550: 41 43 4B 20 44 4F 54 53  20 4F 4E 20 57 48 49 54  |ACK DOTS ON WHIT|
00000560: 45 0D 3B 0D 43 4F 4C 4F  52 20 20 4C 44 41 20 23  |E.;.COLOR  LDA #|
00000570: 24 30 31 20 20 20 20 3B  20 50 4F 4B 45 20 4E 45  |$01    ; POKE NE|
00000580: 57 20 43 4F 4C 4F 52 53  20 48 45 52 45 0D 20 20  |W COLORS HERE.  |
00000590: 20 20 20 20 20 4C 44 58  20 23 30 0D 43 4F 4C 31  |     LDX #0.COL1|
000005A0: 20 20 20 53 54 41 20 24  38 34 30 30 2C 58 0D 20  |   STA $8400,X. |
000005B0: 20 20 20 20 20 20 53 54  41 20 24 38 35 30 30 2C  |      STA $8500,|
000005C0: 58 0D 20 20 20 20 20 20  20 53 54 41 20 24 38 36  |X.       STA $86|
000005D0: 30 30 2C 58 0D 20 20 20  20 20 20 20 53 54 41 20  |00,X.       STA |
000005E0: 24 38 37 30 30 2C 58 0D  20 20 20 20 20 20 20 44  |$8700,X.       D|
000005F0: 45 58 0D 20 20 20 20 20  20 20 42 4E 45 20 43 4F  |EX.       BNE CO|
00000600: 4C 31 0D 20 20 20 20 20  20 20 52 54 53 0D 3B 0D  |L1.       RTS.;.|
00000610: 3B 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;***************|
00000620: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000630: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 0D 3B 0D 3B 20 43  |**********.;.; C|
00000640: 4C 45 41 52 20 48 49 2D  52 45 53 20 47 52 41 50  |LEAR HI-RES GRAP|
00000650: 48 49 43 53 20 53 43 52  45 45 4E 0D 3B 0D 43 4C  |HICS SCREEN.;.CL|
00000660: 45 41 52 20 20 4C 44 41  20 23 24 41 30 0D 20 20  |EAR  LDA #$A0.  |
00000670: 20 20 20 20 20 53 54 41  20 24 46 43 0D 20 20 20  |     STA $FC.   |
00000680: 20 20 20 20 4C 44 59 20  23 30 0D 20 20 20 20 20  |    LDY #0.     |
00000690: 20 20 53 54 59 20 24 46  42 0D 20 20 20 20 20 20  |  STY $FB.      |
000006A0: 20 4C 44 41 20 23 30 20  20 20 20 20 20 3B 20 43  | LDA #0      ; C|
000006B0: 4C 45 41 52 20 42 59 54  45 0D 20 20 20 20 20 20  |LEAR BYTE.      |
000006C0: 20 4C 44 58 20 23 24 32  30 0D 43 4C 52 4C 50 20  | LDX #$20.CLRLP |
000006D0: 20 53 54 41 20 28 24 46  42 29 2C 59 0D 20 20 20  | STA ($FB),Y.   |
000006E0: 20 20 20 20 49 4E 59 0D  20 20 20 20 20 20 20 42  |    INY.       B|
000006F0: 4E 45 20 43 4C 52 4C 50  0D 20 20 20 20 20 20 20  |NE CLRLP.       |
00000700: 49 4E 43 20 24 46 43 0D  20 20 20 20 20 20 20 44  |INC $FC.       D|
00000710: 45 58 0D 20 20 20 20 20  20 20 42 4E 45 20 43 4C  |EX.       BNE CL|
00000720: 52 4C 50 0D 20 20 20 20  20 20 20 52 54 53 0D 3B  |RLP.       RTS.;|
00000730: 0D 3B 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.;**************|
00000740: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000750: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 3B 0D 3B 20  |***********.;.; |
00000760: 50 4C 4F 54 20 41 4E 44  20 55 4E 50 4C 4F 54 20  |PLOT AND UNPLOT |
00000770: 50 4F 49 4E 54 53 20 4F  4E 20 48 49 2D 52 45 53  |POINTS ON HI-RES|
00000780: 20 47 52 41 50 48 49 43  53 0D 3B 20 53 43 52 45  | GRAPHICS.; SCRE|
00000790: 45 4E 2E 20 41 42 53 4F  4C 55 54 45 20 58 20 41  |EN. ABSOLUTE X A|
000007A0: 4E 44 20 59 20 53 43 52  45 45 4E 20 43 4F 4F 52  |ND Y SCREEN COOR|
000007B0: 44 49 4E 41 54 45 53 0D  3B 20 41 52 45 20 50 4F  |DINATES.; ARE PO|
000007C0: 4B 45 44 20 49 4E 54 4F  20 58 50 4C 54 2C 20 58  |KED INTO XPLT, X|
000007D0: 50 4C 54 2B 31 2C 20 41  4E 44 20 59 50 4C 54 0D  |PLT+1, AND YPLT.|
000007E0: 3B 0D 50 4C 4F 54 20 20  20 4C 44 41 20 23 30 0D  |;.PLOT   LDA #0.|
000007F0: 20 20 20 20 20 20 20 2E  42 59 54 45 20 24 32 43  |       .BYTE $2C|
00000800: 0D 55 4E 50 4C 4F 54 20  4C 44 41 20 23 24 38 30  |.UNPLOT LDA #$80|
00000810: 0D 20 20 20 20 20 20 20  53 54 41 20 50 4C 54 46  |.       STA PLTF|
00000820: 4C 47 0D 20 20 20 20 20  20 20 4C 44 41 20 24 30  |LG.       LDA $0|
00000830: 31 20 20 20 20 3B 20 42  41 53 49 43 20 52 4F 4D  |1    ; BASIC ROM|
00000840: 20 4F 55 54 0D 20 20 20  20 20 20 20 41 4E 44 20  | OUT.       AND |
00000850: 23 24 46 45 0D 20 20 20  20 20 20 20 53 54 41 20  |#$FE.       STA |
00000860: 24 30 31 0D 20 20 20 20  20 20 20 53 45 43 20 20  |$01.       SEC  |
00000870: 20 20 20 20 20 20 3B 20  49 4E 56 45 52 54 20 59  |      ; INVERT Y|
00000880: 20 43 4F 4F 52 44 49 4E  41 54 45 20 54 4F 0D 20  | COORDINATE TO. |
00000890: 20 20 20 20 20 20 4C 44  41 20 23 24 43 37 20 20  |      LDA #$C7  |
000008A0: 20 3B 20 50 55 54 20 4F  52 49 47 49 4E 20 49 4E  | ; PUT ORIGIN IN|
000008B0: 20 4C 4F 57 45 52 20 4C  45 46 54 0D 20 20 20 20  | LOWER LEFT.    |
000008C0: 20 20 20 53 42 43 20 59  50 4C 54 20 20 20 3B 20  |   SBC YPLT   ; |
000008D0: 43 4F 52 4E 45 52 20 4F  46 20 53 43 52 45 45 4E  |CORNER OF SCREEN|
000008E0: 0D 20 20 20 20 20 20 20  54 41 58 20 20 20 20 20  |.       TAX     |
000008F0: 20 20 20 3B 20 28 31 39  39 2E 2D 59 50 4C 54 29  |   ; (199.-YPLT)|
00000900: 0D 20 20 20 20 20 20 20  4C 53 52 20 41 0D 20 20  |.       LSR A.  |
00000910: 20 20 20 20 20 4C 53 52  20 41 0D 20 20 20 20 20  |     LSR A.     |
00000920: 20 20 4C 53 52 20 41 0D  20 20 20 20 20 20 20 54  |  LSR A.       T|
00000930: 41 59 0D 20 20 20 20 20  20 20 4C 44 41 20 54 41  |AY.       LDA TA|
00000940: 42 4C 45 31 2C 59 0D 20  20 20 20 20 20 20 53 54  |BLE1,Y.       ST|
00000950: 41 20 24 46 42 0D 20 20  20 20 20 20 20 4C 44 41  |A $FB.       LDA|
00000960: 20 54 41 42 4C 45 32 2C  59 0D 20 20 20 20 20 20  | TABLE2,Y.      |
00000970: 20 53 54 41 20 24 46 43  0D 20 20 20 20 20 20 20  | STA $FC.       |
00000980: 54 58 41 0D 20 20 20 20  20 20 20 41 4E 44 20 23  |TXA.       AND #|
00000990: 24 30 37 0D 20 20 20 20  20 20 20 43 4C 43 0D 20  |$07.       CLC. |
000009A0: 20 20 20 20 20 20 41 44  43 20 24 46 42 0D 20 20  |      ADC $FB.  |
000009B0: 20 20 20 20 20 53 54 41  20 24 46 42 0D 20 20 20  |     STA $FB.   |
000009C0: 20 20 20 20 4C 44 41 20  58 50 4C 54 0D 20 20 20  |    LDA XPLT.   |
000009D0: 20 20 20 20 41 4E 44 20  23 24 46 38 0D 20 20 20  |    AND #$F8.   |
000009E0: 20 20 20 20 41 44 43 20  24 46 42 0D 20 20 20 20  |    ADC $FB.    |
000009F0: 20 20 20 53 54 41 20 24  46 42 0D 20 20 20 20 20  |   STA $FB.     |
00000A00: 20 20 4C 44 41 20 58 50  4C 54 2B 31 0D 20 20 20  |  LDA XPLT+1.   |
00000A10: 20 20 20 20 41 44 43 20  24 46 43 0D 20 20 20 20  |    ADC $FC.    |
00000A20: 20 20 20 53 54 41 20 24  46 43 0D 20 20 20 20 20  |   STA $FC.     |
00000A30: 20 20 4C 44 41 20 23 24  41 30 0D 20 20 20 20 20  |  LDA #$A0.     |
00000A40: 20 20 41 44 43 20 24 46  43 0D 20 20 20 20 20 20  |  ADC $FC.      |
00000A50: 20 53 54 41 20 24 46 43  0D 20 20 20 20 20 20 20  | STA $FC.       |
00000A60: 4C 44 41 20 58 50 4C 54  0D 20 20 20 20 20 20 20  |LDA XPLT.       |
00000A70: 41 4E 44 20 23 24 30 37  0D 20 20 20 20 20 20 20  |AND #$07.       |
00000A80: 45 4F 52 20 23 24 30 37  0D 20 20 20 20 20 20 20  |EOR #$07.       |
00000A90: 54 41 58 0D 20 20 20 20  20 20 20 4C 44 41 20 23  |TAX.       LDA #|
00000AA0: 24 30 31 0D 50 4C 4F 54  4C 50 20 44 45 58 0D 20  |$01.PLOTLP DEX. |
00000AB0: 20 20 20 20 20 20 42 4D  49 20 50 4C 4F 54 32 0D  |      BMI PLOT2.|
00000AC0: 20 20 20 20 20 20 20 41  53 4C 20 41 0D 20 20 20  |       ASL A.   |
00000AD0: 20 20 20 20 42 4E 45 20  50 4C 4F 54 4C 50 0D 50  |    BNE PLOTLP.P|
00000AE0: 4C 4F 54 32 20 20 4C 44  59 20 23 30 0D 20 20 20  |LOT2  LDY #0.   |
00000AF0: 20 20 20 20 42 49 54 20  50 4C 54 46 4C 47 0D 20  |    BIT PLTFLG. |
00000B00: 20 20 20 20 20 20 42 50  4C 20 4E 4F 50 4C 4F 54  |      BPL NOPLOT|
00000B10: 0D 20 20 20 20 20 20 20  45 4F 52 20 23 24 46 46  |.       EOR #$FF|
00000B20: 0D 20 20 20 20 20 20 20  41 4E 44 20 28 24 46 42  |.       AND ($FB|
00000B30: 29 2C 59 0D 20 20 20 20  20 20 20 2E 42 59 54 45  |),Y.       .BYTE|
00000B40: 20 24 32 43 0D 4E 4F 50  4C 4F 54 20 4F 52 41 20  | $2C.NOPLOT ORA |
00000B50: 28 24 46 42 29 2C 59 0D  20 20 20 20 20 20 20 53  |($FB),Y.       S|
00000B60: 54 41 20 28 24 46 42 29  2C 59 0D 20 20 20 20 20  |TA ($FB),Y.     |
00000B70: 20 20 4C 44 41 20 24 30  31 20 20 20 20 20 3B 20  |  LDA $01     ; |
00000B80: 42 41 53 49 43 20 52 4F  4D 20 52 45 53 54 4F 52  |BASIC ROM RESTOR|
00000B90: 45 44 0D 20 20 20 20 20  20 20 4F 52 41 20 23 24  |ED.       ORA #$|
00000BA0: 30 31 0D 20 20 20 20 20  20 20 53 54 41 20 24 30  |01.       STA $0|
00000BB0: 31 0D 20 20 20 20 20 20  20 52 54 53 0D 3B 0D 54  |1.       RTS.;.T|
00000BC0: 41 42 4C 45 31 20 2E 42  59 54 45 20 24 30 30 2C  |ABLE1 .BYTE $00,|
00000BD0: 24 34 30 2C 24 38 30 2C  24 43 30 0D 20 20 20 20  |$40,$80,$C0.    |
00000BE0: 20 20 20 2E 42 59 54 45  20 24 30 30 2C 24 34 30  |   .BYTE $00,$40|
00000BF0: 2C 24 38 30 2C 24 43 30  0D 20 20 20 20 20 20 20  |,$80,$C0.       |
00000C00: 2E 42 59 54 45 20 24 30  30 2C 24 34 30 2C 24 38  |.BYTE $00,$40,$8|
00000C10: 30 2C 24 43 30 0D 20 20  20 20 20 20 20 2E 42 59  |0,$C0.       .BY|
00000C20: 54 45 20 24 30 30 2C 24  34 30 2C 24 38 30 2C 24  |TE $00,$40,$80,$|
00000C30: 43 30 0D 20 20 20 20 20  20 20 2E 42 59 54 45 20  |C0.       .BYTE |
00000C40: 24 30 30 2C 24 34 30 2C  24 38 30 2C 24 43 30 0D  |$00,$40,$80,$C0.|
00000C50: 20 20 20 20 20 20 20 2E  42 59 54 45 20 24 30 30  |       .BYTE $00|
00000C60: 2C 24 34 30 2C 24 38 30  2C 24 43 30 2C 24 30 30  |,$40,$80,$C0,$00|
00000C70: 0D 3B 0D 54 41 42 4C 45  32 20 2E 42 59 54 45 20  |.;.TABLE2 .BYTE |
00000C80: 24 30 30 2C 24 30 31 2C  24 30 32 2C 24 30 33 0D  |$00,$01,$02,$03.|
00000C90: 20 20 20 20 20 20 20 2E  42 59 54 45 20 24 30 35  |       .BYTE $05|
00000CA0: 2C 24 30 36 2C 24 30 37  2C 24 30 38 0D 20 20 20  |,$06,$07,$08.   |
00000CB0: 20 20 20 20 2E 42 59 54  45 20 24 30 41 2C 24 30  |    .BYTE $0A,$0|
00000CC0: 42 2C 24 30 43 2C 24 30  44 0D 20 20 20 20 20 20  |B,$0C,$0D.      |
00000CD0: 20 2E 42 59 54 45 20 24  30 46 2C 24 31 30 2C 24  | .BYTE $0F,$10,$|
00000CE0: 31 31 2C 24 31 32 0D 20  20 20 20 20 20 20 2E 42  |11,$12.       .B|
00000CF0: 59 54 45 20 24 31 34 2C  24 31 35 2C 24 31 36 2C  |YTE $14,$15,$16,|
00000D00: 24 31 37 0D 20 20 20 20  20 20 20 2E 42 59 54 45  |$17.       .BYTE|
00000D10: 20 24 31 39 2C 24 31 41  2C 24 31 42 2C 24 31 43  | $19,$1A,$1B,$1C|
00000D20: 2C 24 31 45 0D 3B 0D 3B  2A 2A 2A 2A 2A 2A 2A 2A  |,$1E.;.;********|
00000D30: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000D40: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000D50: 2A 0D 3B 0D 3B 20 53 48  41 44 49 4E 47 20 42 59  |*.;.; SHADING BY|
00000D60: 20 48 59 42 52 49 44 20  44 49 54 48 45 52 2F 44  | HYBRID DITHER/D|
00000D70: 4F 54 2D 47 52 4F 57 54  48 0D 3B 0D 53 48 41 44  |OT-GROWTH.;.SHAD|
00000D80: 45 20 20 4C 44 41 20 58  50 4C 54 20 20 20 20 20  |E  LDA XPLT     |
00000D90: 3B 20 55 53 45 20 42 49  54 53 20 2D 2D 2D 2D 2D  |; USE BITS -----|
00000DA0: 2A 2A 2A 0D 20 20 20 20  20 20 20 41 4E 44 20 23  |***.       AND #|
00000DB0: 24 30 37 20 20 20 20 20  3B 20 4F 46 20 27 58 27  |$07     ; OF 'X'|
00000DC0: 20 53 43 52 45 45 4E 20  43 4F 4F 52 44 0D 20 20  | SCREEN COORD.  |
00000DD0: 20 20 20 20 20 53 54 41  20 54 45 4D 50 0D 20 20  |     STA TEMP.  |
00000DE0: 20 20 20 20 20 4C 44 41  20 59 50 4C 54 20 20 20  |     LDA YPLT   |
00000DF0: 20 20 3B 20 41 4E 44 20  42 49 54 53 20 2D 2D 2D  |  ; AND BITS ---|
00000E00: 2D 2D 2A 2A 2A 0D 20 20  20 20 20 20 20 41 4E 44  |--***.       AND|
00000E10: 20 23 24 30 37 20 20 20  20 20 3B 20 4F 46 20 27  | #$07     ; OF '|
00000E20: 59 27 20 53 43 52 45 45  4E 20 43 4F 4F 52 44 0D  |Y' SCREEN COORD.|
00000E30: 20 20 20 20 20 20 20 41  53 4C 20 41 20 20 20 20  |       ASL A    |
00000E40: 20 20 20 20 3B 20 53 48  49 46 54 45 44 20 49 4E  |    ; SHIFTED IN|
00000E50: 54 4F 20 2D 2D 2A 2A 2A  2D 2D 2D 0D 20 20 20 20  |TO --***---.    |
00000E60: 20 20 20 41 53 4C 20 41  20 20 20 20 20 20 20 20  |   ASL A        |
00000E70: 3B 20 50 4F 53 49 54 49  4F 4E 20 54 4F 20 44 45  |; POSITION TO DE|
00000E80: 54 45 52 4D 49 4E 45 0D  20 20 20 20 20 20 20 41  |TERMINE.       A|
00000E90: 53 4C 20 41 20 20 20 20  20 20 20 20 3B 20 36 2D  |SL A        ; 6-|
00000EA0: 42 49 54 20 4F 46 46 53  45 54 20 49 4E 0D 20 20  |BIT OFFSET IN.  |
00000EB0: 20 20 20 20 20 4F 52 41  20 54 45 4D 50 20 20 20  |     ORA TEMP   |
00000EC0: 20 20 3B 20 54 48 52 45  53 48 4F 4C 44 20 54 41  |  ; THRESHOLD TA|
00000ED0: 42 4C 45 0D 20 20 20 20  20 20 20 54 41 58 0D 20  |BLE.       TAX. |
00000EE0: 20 20 20 20 20 20 4C 44  41 20 54 48 52 45 53 48  |      LDA THRESH|
00000EF0: 2C 58 20 3B 20 53 43 52  45 45 4E 2D 50 4F 53 49  |,X ; SCREEN-POSI|
00000F00: 54 49 4F 4E 2D 57 45 49  47 48 54 45 44 0D 20 20  |TION-WEIGHTED.  |
00000F10: 20 20 20 20 20 43 4D 50  20 56 41 4C 55 45 20 20  |     CMP VALUE  |
00000F20: 20 20 3B 20 54 48 52 45  53 48 4F 4C 44 20 56 41  |  ; THRESHOLD VA|
00000F30: 4C 55 45 0D 20 20 20 20  20 20 20 42 50 4C 20 47  |LUE.       BPL G|
00000F40: 52 45 41 54 52 0D 20 20  20 20 20 20 20 4A 4D 50  |REATR.       JMP|
00000F50: 20 55 4E 50 4C 4F 54 0D  47 52 45 41 54 52 20 4A  | UNPLOT.GREATR J|
00000F60: 4D 50 20 50 4C 4F 54 0D  3B 0D 3B 2A 2A 2A 2A 2A  |MP PLOT.;.;*****|
00000F70: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000F80: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000F90: 2A 2A 2A 2A 0D 3B 0D 3B  20 53 48 41 44 49 4E 47  |****.;.; SHADING|
00000FA0: 20 42 59 20 52 41 4E 44  4F 4D 20 48 41 4C 46 54  | BY RANDOM HALFT|
00000FB0: 4F 4E 45 0D 3B 0D 52 53  48 41 44 45 20 4A 53 52  |ONE.;.RSHADE JSR|
00000FC0: 20 52 41 4E 44 4F 4D 0D  20 20 20 20 20 20 20 4C  | RANDOM.       L|
00000FD0: 53 52 20 41 20 20 20 20  20 20 20 20 20 3B 20 52  |SR A         ; R|
00000FE0: 45 44 55 43 45 20 52 41  4E 44 4F 4D 20 42 59 54  |EDUCE RANDOM BYT|
00000FF0: 45 0D 20 20 20 20 20 20  20 4C 53 52 20 41 20 20  |E.       LSR A  |
00001000: 20 20 20 20 20 20 20 3B  20 54 4F 20 36 20 42 49  |       ; TO 6 BI|
00001010: 54 53 20 46 4F 52 20 53  48 41 44 45 0D 20 20 20  |TS FOR SHADE.   |
00001020: 20 20 20 20 43 4D 50 20  56 41 4C 55 45 20 20 20  |    CMP VALUE   |
00001030: 20 20 3B 20 56 41 4C 55  45 20 43 4F 4D 50 41 52  |  ; VALUE COMPAR|
00001040: 49 53 4F 4E 0D 20 20 20  20 20 20 20 42 50 4C 20  |ISON.       BPL |
00001050: 4D 4F 52 45 0D 20 20 20  20 20 20 20 4A 4D 50 20  |MORE.       JMP |
00001060: 55 4E 50 4C 4F 54 0D 4D  4F 52 45 20 20 20 4A 4D  |UNPLOT.MORE   JM|
00001070: 50 20 50 4C 4F 54 0D 3B  0D 3B 2A 2A 2A 2A 2A 2A  |P PLOT.;.;******|
00001080: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001090: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000010A0: 2A 2A 2A 0D 3B 0D 3B 20  50 4C 4F 54 20 41 20 50  |***.;.; PLOT A P|
000010B0: 4F 49 4E 54 20 57 45 49  47 48 54 45 44 20 42 59  |OINT WEIGHTED BY|
000010C0: 20 53 48 41 44 49 4E 47  20 53 43 48 45 4D 45 0D  | SHADING SCHEME.|
000010D0: 3B 20 41 4E 44 20 53 48  41 44 45 20 56 41 4C 55  |; AND SHADE VALU|
000010E0: 45 0D 3B 20 43 48 45 43  4B 20 27 4E 4F 53 43 41  |E.; CHECK 'NOSCA|
000010F0: 4C 27 20 46 4C 41 47 20  46 4F 52 20 53 43 41 4C  |L' FLAG FOR SCAL|
00001100: 49 4E 47 20 4F 46 20 59  20 43 4F 4F 52 44 0D 3B  |ING OF Y COORD.;|
00001110: 20 43 48 45 43 4B 20 27  48 54 4F 52 52 4E 27 20  | CHECK 'HTORRN' |
00001120: 46 4C 41 47 20 46 4F 52  20 54 59 50 45 20 4F 46  |FLAG FOR TYPE OF|
00001130: 20 53 48 41 44 49 4E 47  0D 3B 0D 50 4C 54 53 48  | SHADING.;.PLTSH|
00001140: 44 20 4C 44 41 20 4E 4F  53 43 41 4C 0D 20 20 20  |D LDA NOSCAL.   |
00001150: 20 20 20 20 42 45 51 20  4E 4F 52 4D 0D 3B 0D 3B  |    BEQ NORM.;.;|
00001160: 20 53 43 41 4C 45 20 59  20 46 52 4F 4D 20 30 2D  | SCALE Y FROM 0-|
00001170: 32 33 39 20 50 53 45 55  44 4F 2D 43 4F 4F 52 44  |239 PSEUDO-COORD|
00001180: 49 4E 41 54 45 53 0D 3B  20 54 4F 20 30 2D 31 39  |INATES.; TO 0-19|
00001190: 39 20 54 52 55 45 20 53  43 52 45 45 4E 20 43 4F  |9 TRUE SCREEN CO|
000011A0: 4F 52 44 49 4E 41 54 45  53 20 42 59 0D 3B 20 20  |ORDINATES BY.;  |
000011B0: 20 20 20 59 20 3D 20 28  59 2B 31 29 2A 32 31 33  |   Y = (Y+1)*213|
000011C0: 2F 32 35 36 0D 3B 0D 53  43 41 4C 45 20 20 4C 44  |/256.;.SCALE  LD|
000011D0: 59 20 59 50 4C 54 0D 20  20 20 20 20 20 20 49 4E  |Y YPLT.       IN|
000011E0: 59 0D 20 20 20 20 20 20  20 53 54 59 20 4D 4C 50  |Y.       STY MLP|
000011F0: 4C 45 52 0D 20 20 20 20  20 20 20 4C 44 41 20 23  |LER.       LDA #|
00001200: 24 44 35 20 20 20 20 20  20 3B 20 32 31 33 2E 0D  |$D5      ; 213..|
00001210: 20 20 20 20 20 20 20 53  54 41 20 4D 4C 50 43 4E  |       STA MLPCN|
00001220: 44 0D 20 20 20 20 20 20  20 4A 53 52 20 4D 55 4C  |D.       JSR MUL|
00001230: 54 20 20 20 20 20 20 3B  20 52 45 54 55 52 4E 20  |T      ; RETURN |
00001240: 57 49 54 48 20 48 49 47  48 20 42 59 54 45 0D 20  |WITH HIGH BYTE. |
00001250: 20 20 20 20 20 20 53 54  41 20 59 50 4C 54 20 20  |      STA YPLT  |
00001260: 20 20 20 20 3B 20 49 4E  20 41 43 43 55 4D 55 4C  |    ; IN ACCUMUL|
00001270: 41 54 4F 52 0D 4E 4F 52  4D 20 20 20 4C 44 41 20  |ATOR.NORM   LDA |
00001280: 48 54 4F 52 52 4E 0D 20  20 20 20 20 20 20 42 45  |HTORRN.       BE|
00001290: 51 20 52 50 4C 54 0D 20  20 20 20 20 20 20 4A 4D  |Q RPLT.       JM|
000012A0: 50 20 53 48 41 44 45 0D  52 50 4C 54 20 20 20 4A  |P SHADE.RPLT   J|
000012B0: 4D 50 20 52 53 48 41 44  45 0D 3B 0D 3B 0D 3B 0D  |MP RSHADE.;.;.;.|
000012C0: 54 48 52 45 53 48 20 2E  42 59 54 45 20 24 30 30  |THRESH .BYTE $00|
000012D0: 2C 24 30 38 2C 24 33 35  2C 24 33 44 0D 20 20 20  |,$08,$35,$3D.   |
000012E0: 20 20 20 20 2E 42 59 54  45 20 24 30 32 2C 24 30  |    .BYTE $02,$0|
000012F0: 41 2C 24 33 37 2C 24 33  46 0D 20 20 20 20 20 20  |A,$37,$3F.      |
00001300: 20 2E 42 59 54 45 20 24  31 30 2C 24 31 38 2C 24  | .BYTE $10,$18,$|
00001310: 32 35 2C 24 32 44 0D 20  20 20 20 20 20 20 2E 42  |25,$2D.       .B|
00001320: 59 54 45 20 24 31 32 2C  24 31 41 2C 24 32 37 2C  |YTE $12,$1A,$27,|
00001330: 24 32 46 0D 20 20 20 20  20 20 20 2E 42 59 54 45  |$2F.       .BYTE|
00001340: 20 24 33 31 2C 24 33 39  2C 24 30 34 2C 24 30 43  | $31,$39,$04,$0C|
00001350: 0D 20 20 20 20 20 20 20  2E 42 59 54 45 20 24 33  |.       .BYTE $3|
00001360: 33 2C 24 33 42 2C 24 30  36 2C 24 30 45 0D 20 20  |3,$3B,$06,$0E.  |
00001370: 20 20 20 20 20 2E 42 59  54 45 20 24 32 31 2C 24  |     .BYTE $21,$|
00001380: 32 39 2C 24 31 34 2C 24  31 43 0D 20 20 20 20 20  |29,$14,$1C.     |
00001390: 20 20 2E 42 59 54 45 20  24 32 33 2C 24 32 42 2C  |  .BYTE $23,$2B,|
000013A0: 24 31 36 2C 24 31 45 0D  20 20 20 20 20 20 20 2E  |$16,$1E.       .|
000013B0: 42 59 54 45 20 24 30 33  2C 24 30 42 2C 24 33 36  |BYTE $03,$0B,$36|
000013C0: 2C 24 33 45 0D 20 20 20  20 20 20 20 2E 42 59 54  |,$3E.       .BYT|
000013D0: 45 20 24 30 31 2C 24 30  39 2C 24 33 34 2C 24 33  |E $01,$09,$34,$3|
000013E0: 43 0D 20 20 20 20 20 20  20 2E 42 59 54 45 20 24  |C.       .BYTE $|
000013F0: 31 33 2C 24 31 42 2C 24  32 36 2C 24 32 45 0D 20  |13,$1B,$26,$2E. |
00001400: 20 20 20 20 20 20 2E 42  59 54 45 20 24 31 31 2C  |      .BYTE $11,|
00001410: 24 31 39 2C 24 32 34 2C  24 32 43 0D 20 20 20 20  |$19,$24,$2C.    |
00001420: 20 20 20 2E 42 59 54 45  20 24 33 32 2C 24 33 41  |   .BYTE $32,$3A|
00001430: 2C 24 30 37 2C 24 30 46  0D 20 20 20 20 20 20 20  |,$07,$0F.       |
00001440: 2E 42 59 54 45 20 24 33  30 2C 24 33 38 2C 24 30  |.BYTE $30,$38,$0|
00001450: 35 2C 24 30 44 0D 20 20  20 20 20 20 20 2E 42 59  |5,$0D.       .BY|
00001460: 54 45 20 24 32 32 2C 24  32 41 2C 24 31 37 2C 24  |TE $22,$2A,$17,$|
00001470: 31 46 0D 20 20 20 20 20  20 20 2E 42 59 54 45 20  |1F.       .BYTE |
00001480: 24 32 30 2C 24 32 38 2C  24 31 35 2C 24 31 44 0D  |$20,$28,$15,$1D.|
00001490: 2E 45 4E 44 0D                                    |.END.           |
; GRAPHICS UTILITIES.;.; RICHARD L. RYLA
NDER   11/4/84.;.; LOAD ARITHMETIC UTILI
TIES FIRST.;.RAM=$033E.ORIGIN=$C0E2.;.ML
PCND=$AC     ; MULTIPLICAND (S).MLPLER=$
AD     ; MULTIPLIER (S).PROD=$AE      ; 
PRODUCT (D).MULT=$C011    ; CALL FOR MUL
TIPLY.;.RNDM=$C000    ; RANDOM NUMBER.RA
NDOM=$C0C8  ; CALL FOR RANDOM.; NOTE - A
 CALL TO 'RANDOM' LEAVES A RANDOM BYTE.;
 IN THE ACCUMULATOR.;.       *=RAM.PLTFL
G *=*+1  ; PLOT/UNPLOT FLAG.XPLT   *=*+2
  ; ABSOLUTE PLOT COORD.YPLT   *=*+1  ; 
ABSOLUTE PLOT COORD.VIC1   *=*+1  ; REGI
STER STORAGE.VIC2   *=*+1  ; REGISTER ST
ORAGE.VALUE  *=*+2  ; FINAL NORMALIZED S
HADE VALUE.HTORRN *=*+1  ; SHADE FLAG, 1
=HALFTONE.NOSCAL *=*+1  ; SCALE FLAG, 1=
NO SCALE.TEMP   *=*+2  ; TEMPORARY STORA
GE.;.       *=ORIGIN.;.;****************
*************************.;.; TURN ON BI
T MAP GRAPHICS MODE,.; SAVING REGISTER V
ALUES FOR.; RETURN TO TEXT MODE LATER..;
.GRFON  LDA $D011.       ORA #$20.      
 STA $D011.       LDA $DD00.       STA V
IC1.       AND #$FC.       ORA #$01.    
   STA $DD00.       LDA $D018.       STA
 VIC2.       LDA #$19.       STA $D018. 
      RTS.;.;***************************
**************.;.; RETURN TO TEXT SCREEN
.;.GRFOFF LDA $D011.       AND #$DF.    
   STA $D011.       LDA VIC1.       STA 
$DD00.       LDA VIC2.       STA $D018. 
      RTS.;.;***************************
**************.;.; FILL COLOR MAP FOR BL
ACK DOTS ON WHITE.;.COLOR  LDA #$01    ;
 POKE NEW COLORS HERE.       LDX #0.COL1
   STA $8400,X.       STA $8500,X.      
 STA $8600,X.       STA $8700,X.       D
EX.       BNE COL1.       RTS.;.;*******
**********************************.;.; C
LEAR HI-RES GRAPHICS SCREEN.;.CLEAR  LDA
 #$A0.       STA $FC.       LDY #0.     
  STY $FB.       LDA #0      ; CLEAR BYT
E.       LDX #$20.CLRLP  STA ($FB),Y.   
    INY.       BNE CLRLP.       INC $FC.
       DEX.       BNE CLRLP.       RTS.;
.;**************************************
***.;.; PLOT AND UNPLOT POINTS ON HI-RES
 GRAPHICS.; SCREEN. ABSOLUTE X AND Y SCR
EEN COORDINATES.; ARE POKED INTO XPLT, X
PLT+1, AND YPLT.;.PLOT   LDA #0.       .
BYTE $2C.UNPLOT LDA #$80.       STA PLTF
LG.       LDA $01    ; BASIC ROM OUT.   
    AND #$FE.       STA $01.       SEC  
      ; INVERT Y COORDINATE TO.       LD
A #$C7   ; PUT ORIGIN IN LOWER LEFT.    
   SBC YPLT   ; CORNER OF SCREEN.       
TAX        ; (199.-YPLT).       LSR A.  
     LSR A.       LSR A.       TAY.     
  LDA TABLE1,Y.       STA $FB.       LDA
 TABLE2,Y.       STA $FC.       TXA.    
   AND #$07.       CLC.       ADC $FB.  
     STA $FB.       LDA XPLT.       AND 
#$F8.       ADC $FB.       STA $FB.     
  LDA XPLT+1.       ADC $FC.       STA $
FC.       LDA #$A0.       ADC $FC.      
 STA $FC.       LDA XPLT.       AND #$07
.       EOR #$07.       TAX.       LDA #
$01.PLOTLP DEX.       BMI PLOT2.       A
SL A.       BNE PLOTLP.PLOT2  LDY #0.   
    BIT PLTFLG.       BPL NOPLOT.       
EOR #$FF.       AND ($FB),Y.       .BYTE
 $2C.NOPLOT ORA ($FB),Y.       STA ($FB)
,Y.       LDA $01     ; BASIC ROM RESTOR
ED.       ORA #$01.       STA $01.      
 RTS.;.TABLE1 .BYTE $00,$40,$80,$C0.    
   .BYTE $00,$40,$80,$C0.       .BYTE $0
0,$40,$80,$C0.       .BYTE $00,$40,$80,$
C0.       .BYTE $00,$40,$80,$C0.       .
BYTE $00,$40,$80,$C0,$00.;.TABLE2 .BYTE 
$00,$01,$02,$03.       .BYTE $05,$06,$07
,$08.       .BYTE $0A,$0B,$0C,$0D.      
 .BYTE $0F,$10,$11,$12.       .BYTE $14,
$15,$16,$17.       .BYTE $19,$1A,$1B,$1C
,$1E.;.;********************************
*********.;.; SHADING BY HYBRID DITHER/D
OT-GROWTH.;.SHADE  LDA XPLT     ; USE BI
TS -----***.       AND #$07     ; OF 'X'
 SCREEN COORD.       STA TEMP.       LDA
 YPLT     ; AND BITS -----***.       AND
 #$07     ; OF 'Y' SCREEN COORD.       A
SL A        ; SHIFTED INTO --***---.    
   ASL A        ; POSITION TO DETERMINE.
       ASL A        ; 6-BIT OFFSET IN.  
     ORA TEMP     ; THRESHOLD TABLE.    
   TAX.       LDA THRESH,X ; SCREEN-POSI
TION-WEIGHTED.       CMP VALUE    ; THRE
SHOLD VALUE.       BPL GREATR.       JMP
 UNPLOT.GREATR JMP PLOT.;.;*************
****************************.;.; SHADING
 BY RANDOM HALFTONE.;.RSHADE JSR RANDOM.
       LSR A         ; REDUCE RANDOM BYT
E.       LSR A         ; TO 6 BITS FOR S
HADE.       CMP VALUE     ; VALUE COMPAR
ISON.       BPL MORE.       JMP UNPLOT.M
ORE   JMP PLOT.;.;**********************
*******************.;.; PLOT A POINT WEI
GHTED BY SHADING SCHEME.; AND SHADE VALU
E.; CHECK 'NOSCAL' FLAG FOR SCALING OF Y
 COORD.; CHECK 'HTORRN' FLAG FOR TYPE OF
 SHADING.;.PLTSHD LDA NOSCAL.       BEQ 
NORM.;.; SCALE Y FROM 0-239 PSEUDO-COORD
INATES.; TO 0-199 TRUE SCREEN COORDINATE
S BY.;     Y = (Y+1)*213/256.;.SCALE  LD
Y YPLT.       INY.       STY MLPLER.    
   LDA #$D5      ; 213..       STA MLPCN
D.       JSR MULT      ; RETURN WITH HIG
H BYTE.       STA YPLT      ; IN ACCUMUL
ATOR.NORM   LDA HTORRN.       BEQ RPLT. 
      JMP SHADE.RPLT   JMP RSHADE.;.;.;.
THRESH .BYTE $00,$08,$35,$3D.       .BYT
E $02,$0A,$37,$3F.       .BYTE $10,$18,$
25,$2D.       .BYTE $12,$1A,$27,$2F.    
   .BYTE $31,$39,$04,$0C.       .BYTE $3
3,$3B,$06,$0E.       .BYTE $21,$29,$14,$
1C.       .BYTE $23,$2B,$16,$1E.       .
BYTE $03,$0B,$36,$3E.       .BYTE $01,$0
9,$34,$3C.       .BYTE $13,$1B,$26,$2E. 
      .BYTE $11,$19,$24,$2C.       .BYTE
 $32,$3A,$07,$0F.       .BYTE $30,$38,$0
5,$0D.       .BYTE $22,$2A,$17,$1F.     
  .BYTE $20,$28,$15,$1D..END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL