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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL