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

FACET.SRC

FILE INFORMATION

FILENAME(S): FACET.SRC

FILE TYPE(S): SEQ

FILE SIZE: 7.7K

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

APPEARS ON: 3 disk(s)

FILE HASH

de9075c0e0825e29a11a51f0fbecac5354f959cb3c06b209f1867f0b007c175a

FOUND ON DISKS (3 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SONDERHEFT 4 FACET.SRC SEQ C64er, Treasure Chest - Holger 25 0 DOWNLOAD FILE
SONDERHEFT 4 FACET.SRC SEQ Treasure Chest - Klaus Der Suhler 25 0 DOWNLOAD FILE
SONDERHEFT 4 FACET.SRC SEQ Treasure Chest - ralf 25 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 20 46 41 43 45 54 20  2D 20 44 52 41 57 20 53  |; FACET - DRAW S|
00000010: 48 41 44 45 44 20 54 52  49 41 4E 47 55 4C 41 52  |HADED TRIANGULAR|
00000020: 20 46 41 43 45 54 53 0D  3B 20 41 4E 44 20 53 54  | FACETS.; AND ST|
00000030: 52 41 49 47 48 54 20 4C  49 4E 45 53 2E 0D 3B 0D  |RAIGHT LINES..;.|
00000040: 3B 20 52 49 43 48 41 52  44 20 4C 2E 20 52 59 4C  |; RICHARD L. RYL|
00000050: 41 4E 44 45 52 20 20 20  31 31 2F 34 2F 38 34 0D  |ANDER   11/4/84.|
00000060: 3B 0D 3B 20 4C 4F 41 44  20 22 41 52 49 54 48 2E  |;.; LOAD "ARITH.|
00000070: 48 45 58 22 20 41 4E 44  20 22 47 52 41 50 48 2E  |HEX" AND "GRAPH.|
00000080: 48 45 58 22 0D 3B 20 42  45 46 4F 52 45 20 55 53  |HEX".; BEFORE US|
00000090: 49 4E 47 0D 3B 0D 4F 52  49 47 49 4E 20 3D 20 24  |ING.;.ORIGIN = $|
000000A0: 43 32 36 46 0D 52 41 4D  20 20 20 20 3D 20 24 30  |C26F.RAM    = $0|
000000B0: 33 34 41 0D 3B 0D 58 50  4C 54 20 20 20 3D 20 24  |34A.;.XPLT   = $|
000000C0: 30 33 33 46 0D 59 50 4C  54 20 20 20 3D 20 24 30  |033F.YPLT   = $0|
000000D0: 33 34 31 0D 4E 4F 52 4D  20 20 20 3D 20 24 43 32  |341.NORM   = $C2|
000000E0: 32 34 0D 4E 4F 53 43 41  4C 20 3D 20 24 30 33 34  |24.NOSCAL = $034|
000000F0: 37 0D 50 4C 4F 54 20 20  20 3D 20 24 43 31 34 33  |7.PLOT   = $C143|
00000100: 0D 55 4E 50 4C 4F 54 20  3D 20 24 43 31 34 36 0D  |.UNPLOT = $C146.|
00000110: 3B 0D 4D 4C 50 43 4E 44  20 3D 20 24 41 43 0D 4D  |;.MLPCND = $AC.M|
00000120: 4C 50 4C 45 52 20 3D 20  24 41 44 0D 50 52 4F 44  |LPLER = $AD.PROD|
00000130: 20 20 20 3D 20 24 41 45  0D 4D 55 4C 54 20 20 20  |   = $AE.MULT   |
00000140: 3D 20 24 43 30 31 31 0D  3B 0D 44 56 44 4E 44 20  |= $C011.;.DVDND |
00000150: 20 3D 20 24 46 44 0D 44  56 53 4F 52 20 20 3D 20  | = $FD.DVSOR  = |
00000160: 24 46 42 0D 51 55 4F 54  20 20 20 3D 20 24 46 44  |$FB.QUOT   = $FD|
00000170: 0D 44 49 56 49 44 45 20  3D 20 24 43 30 32 35 0D  |.DIVIDE = $C025.|
00000180: 3B 0D 20 20 20 20 20 20  2A 3D 52 41 4D 0D 3B 0D  |;.      *=RAM.;.|
00000190: 58 4D 49 4E 20 20 20 2A  3D 2A 2B 32 0D 59 4D 49  |XMIN   *=*+2.YMI|
000001A0: 4E 20 20 20 2A 3D 2A 2B  31 0D 58 4D 49 44 20 20  |N   *=*+1.XMID  |
000001B0: 20 2A 3D 2A 2B 32 0D 59  4D 49 44 20 20 20 2A 3D  | *=*+2.YMID   *=|
000001C0: 2A 2B 31 0D 58 4D 41 58  20 20 20 2A 3D 2A 2B 32  |*+1.XMAX   *=*+2|
000001D0: 0D 59 4D 41 58 20 20 20  2A 3D 2A 2B 31 0D 59 54  |.YMAX   *=*+1.YT|
000001E0: 4F 50 20 20 20 2A 3D 2A  2B 31 0D 59 42 4F 54 20  |OP   *=*+1.YBOT |
000001F0: 20 20 2A 3D 2A 2B 31 0D  59 42 41 53 45 20 20 2A  |  *=*+1.YBASE  *|
00000200: 3D 2A 2B 31 0D 44 4C 54  41 58 31 20 2A 3D 2A 2B  |=*+1.DLTAX1 *=*+|
00000210: 32 0D 44 4C 54 41 58 32  20 2A 3D 2A 2B 31 0D 44  |2.DLTAX2 *=*+1.D|
00000220: 4C 54 41 58 33 20 2A 3D  2A 2B 31 0D 44 45 4C 54  |LTAX3 *=*+1.DELT|
00000230: 41 58 20 2A 3D 2A 2B 31  0D 44 4C 54 41 59 31 20  |AX *=*+1.DLTAY1 |
00000240: 2A 3D 2A 2B 31 0D 44 4C  54 41 59 32 20 2A 3D 2A  |*=*+1.DLTAY2 *=*|
00000250: 2B 31 0D 44 4C 54 41 59  33 20 2A 3D 2A 2B 31 0D  |+1.DLTAY3 *=*+1.|
00000260: 44 45 4C 54 41 59 20 2A  3D 2A 2B 31 0D 58 44 49  |DELTAY *=*+1.XDI|
00000270: 46 46 20 20 2A 3D 2A 2B  31 0D 46 4C 41 47 31 20  |FF  *=*+1.FLAG1 |
00000280: 20 2A 3D 2A 2B 31 0D 46  4C 41 47 32 20 20 2A 3D  | *=*+1.FLAG2  *=|
00000290: 2A 2B 31 0D 46 4C 41 47  33 20 20 2A 3D 2A 2B 31  |*+1.FLAG3  *=*+1|
000002A0: 0D 46 4C 41 47 20 20 20  2A 3D 2A 2B 31 0D 45 44  |.FLAG   *=*+1.ED|
000002B0: 47 45 53 20 20 2A 3D 2A  2B 31 0D 45 52 52 4F 52  |GES  *=*+1.ERROR|
000002C0: 20 20 2A 3D 2A 2B 32 0D  4D 4F 44 45 20 20 20 2A  |  *=*+2.MODE   *|
000002D0: 3D 2A 2B 31 0D 43 4F 55  4E 54 20 20 2A 3D 2A 2B  |=*+1.COUNT  *=*+|
000002E0: 32 0D 3B 0D 3B 0D 20 20  20 20 20 20 2A 3D 4F 52  |2.;.;.      *=OR|
000002F0: 49 47 49 4E 0D 3B 0D 3B  2A 2A 2A 2A 2A 2A 2A 2A  |IGIN.;.;********|
00000300: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000310: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000320: 2A 0D 3B 0D 3B 20 53 43  41 4C 45 20 41 4C 4C 20  |*.;.; SCALE ALL |
00000330: 59 20 43 4F 4F 52 44 49  4E 41 54 45 53 20 46 52  |Y COORDINATES FR|
00000340: 4F 4D 20 30 2E 2E 32 33  39 0D 3B 20 50 53 55 45  |OM 0..239.; PSUE|
00000350: 44 4F 2D 43 4F 4F 52 44  49 4E 41 54 45 20 52 41  |DO-COORDINATE RA|
00000360: 4E 47 45 20 54 4F 20 30  2E 2E 31 39 39 0D 3B 20  |NGE TO 0..199.; |
00000370: 54 52 55 45 20 53 43 52  45 45 4E 20 43 4F 4F 52  |TRUE SCREEN COOR|
00000380: 44 49 4E 41 54 45 20 52  41 4E 47 45 0D 3B 0D 53  |DINATE RANGE.;.S|
00000390: 43 41 4C 45 20 20 4C 44  59 20 23 36 0D 20 20 20  |CALE  LDY #6.   |
000003A0: 20 20 20 20 4C 44 41 20  23 24 44 35 0D 20 20 20  |    LDA #$D5.   |
000003B0: 20 20 20 20 53 54 41 20  4D 4C 50 43 4E 44 0D 53  |    STA MLPCND.S|
000003C0: 43 4C 50 20 20 20 4C 44  41 20 59 4D 49 4E 2C 59  |CLP   LDA YMIN,Y|
000003D0: 0D 20 20 20 20 20 20 20  53 54 41 20 4D 4C 50 4C  |.       STA MLPL|
000003E0: 45 52 0D 20 20 20 20 20  20 20 4A 53 52 20 4D 55  |ER.       JSR MU|
000003F0: 4C 54 0D 20 20 20 20 20  20 20 53 54 41 20 59 4D  |LT.       STA YM|
00000400: 49 4E 2C 59 0D 20 20 20  20 20 20 20 44 45 59 0D  |IN,Y.       DEY.|
00000410: 20 20 20 20 20 20 20 44  45 59 0D 20 20 20 20 20  |       DEY.     |
00000420: 20 20 44 45 59 0D 20 20  20 20 20 20 20 42 50 4C  |  DEY.       BPL|
00000430: 20 53 43 4C 50 0D 20 20  20 20 20 20 20 52 54 53  | SCLP.       RTS|
00000440: 0D 3B 0D 3B 0D 3B 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.;.;.;**********|
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 2A 0D  |***************.|
00000470: 3B 0D 3B 20 45 58 43 48  41 4E 47 45 20 27 4D 49  |;.; EXCHANGE 'MI|
00000480: 4E 27 20 41 4E 44 20 27  4D 49 44 27 20 43 4F 4F  |N' AND 'MID' COO|
00000490: 52 44 49 4E 41 54 45 53  0D 3B 0D 53 57 41 50 31  |RDINATES.;.SWAP1|
000004A0: 32 20 4C 44 59 20 23 32  0D 4C 4F 4F 50 31 20 20  |2 LDY #2.LOOP1  |
000004B0: 4C 44 41 20 58 4D 49 4E  2C 59 0D 20 20 20 20 20  |LDA XMIN,Y.     |
000004C0: 20 20 50 48 41 0D 20 20  20 20 20 20 20 4C 44 41  |  PHA.       LDA|
000004D0: 20 58 4D 49 44 2C 59 0D  20 20 20 20 20 20 20 53  | XMID,Y.       S|
000004E0: 54 41 20 58 4D 49 4E 2C  59 0D 20 20 20 20 20 20  |TA XMIN,Y.      |
000004F0: 20 50 4C 41 0D 20 20 20  20 20 20 20 53 54 41 20  | PLA.       STA |
00000500: 58 4D 49 44 2C 59 0D 20  20 20 20 20 20 20 44 45  |XMID,Y.       DE|
00000510: 59 0D 20 20 20 20 20 20  20 42 50 4C 20 4C 4F 4F  |Y.       BPL LOO|
00000520: 50 31 0D 20 20 20 20 20  20 20 52 54 53 0D 3B 0D  |P1.       RTS.;.|
00000530: 3B 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;***************|
00000540: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000550: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 0D 3B 0D 3B 20 45  |**********.;.; E|
00000560: 58 43 48 41 4E 47 45 20  27 4D 49 44 27 20 41 4E  |XCHANGE 'MID' AN|
00000570: 44 20 27 4D 41 58 27 20  43 4F 4F 52 44 49 4E 41  |D 'MAX' COORDINA|
00000580: 54 45 53 0D 3B 0D 53 57  41 50 32 33 20 4C 44 59  |TES.;.SWAP23 LDY|
00000590: 20 23 32 0D 4C 4F 4F 50  32 20 20 4C 44 41 20 58  | #2.LOOP2  LDA X|
000005A0: 4D 49 44 2C 59 0D 20 20  20 20 20 20 20 50 48 41  |MID,Y.       PHA|
000005B0: 0D 20 20 20 20 20 20 20  4C 44 41 20 58 4D 41 58  |.       LDA XMAX|
000005C0: 2C 59 0D 20 20 20 20 20  20 20 53 54 41 20 58 4D  |,Y.       STA XM|
000005D0: 49 44 2C 59 0D 20 20 20  20 20 20 20 50 4C 41 0D  |ID,Y.       PLA.|
000005E0: 20 20 20 20 20 20 20 53  54 41 20 58 4D 41 58 2C  |       STA XMAX,|
000005F0: 59 0D 20 20 20 20 20 20  20 44 45 59 0D 20 20 20  |Y.       DEY.   |
00000600: 20 20 20 20 42 50 4C 20  4C 4F 4F 50 32 0D 20 20  |    BPL LOOP2.  |
00000610: 20 20 20 20 20 52 54 53  0D 3B 0D 3B 2A 2A 2A 2A  |     RTS.;.;****|
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 2A 2A 2A 2A 2A 2A  |****************|
00000640: 2A 2A 2A 2A 2A 0D 3B 0D  3B 20 53 4F 52 54 20 43  |*****.;.; SORT C|
00000650: 4F 4F 52 44 49 4E 41 54  45 53 20 41 43 43 4F 52  |OORDINATES ACCOR|
00000660: 44 49 4E 47 20 54 4F 20  58 20 43 4F 4D 50 4F 4E  |DING TO X COMPON|
00000670: 45 4E 54 53 0D 3B 0D 53  4F 52 54 58 20 20 4C 44  |ENTS.;.SORTX  LD|
00000680: 58 20 23 32 0D 53 4F 52  54 4C 50 20 53 45 43 0D  |X #2.SORTLP SEC.|
00000690: 20 20 20 20 20 20 20 4C  44 41 20 58 4D 49 44 0D  |       LDA XMID.|
000006A0: 20 20 20 20 20 20 20 53  42 43 20 58 4D 49 4E 0D  |       SBC XMIN.|
000006B0: 20 20 20 20 20 20 20 4C  44 41 20 58 4D 49 44 2B  |       LDA XMID+|
000006C0: 31 0D 20 20 20 20 20 20  20 53 42 43 20 58 4D 49  |1.       SBC XMI|
000006D0: 4E 2B 31 0D 20 20 20 20  20 20 20 42 43 53 20 4E  |N+1.       BCS N|
000006E0: 4F 53 57 50 31 0D 20 20  20 20 20 20 20 4A 53 52  |OSWP1.       JSR|
000006F0: 20 53 57 41 50 31 32 0D  4E 4F 53 57 50 31 20 44  | SWAP12.NOSWP1 D|
00000700: 45 58 0D 20 20 20 20 20  20 20 42 45 51 20 53 4F  |EX.       BEQ SO|
00000710: 52 54 45 44 0D 20 20 20  20 20 20 20 53 45 43 0D  |RTED.       SEC.|
00000720: 20 20 20 20 20 20 20 4C  44 41 20 58 4D 41 58 0D  |       LDA XMAX.|
00000730: 20 20 20 20 20 20 20 53  42 43 20 58 4D 49 44 0D  |       SBC XMID.|
00000740: 20 20 20 20 20 20 20 4C  44 41 20 58 4D 41 58 2B  |       LDA XMAX+|
00000750: 31 0D 20 20 20 20 20 20  20 53 42 43 20 58 4D 49  |1.       SBC XMI|
00000760: 44 2B 31 0D 20 20 20 20  20 20 20 42 43 53 20 53  |D+1.       BCS S|
00000770: 4F 52 54 4C 50 0D 20 20  20 20 20 20 20 4A 53 52  |ORTLP.       JSR|
00000780: 20 53 57 41 50 32 33 0D  20 20 20 20 20 20 20 4A  | SWAP23.       J|
00000790: 4D 50 20 53 4F 52 54 4C  50 0D 53 4F 52 54 45 44  |MP SORTLP.SORTED|
000007A0: 20 52 54 53 0D 3B 0D 3B  2A 2A 2A 2A 2A 2A 2A 2A  | RTS.;.;********|
000007B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000007C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000007D0: 2A 0D 3B 0D 3B 20 44 52  41 57 20 41 20 4C 49 4E  |*.;.; DRAW A LIN|
000007E0: 45 20 42 45 54 57 45 45  4E 20 58 4D 49 4E 2C 59  |E BETWEEN XMIN,Y|
000007F0: 4D 49 4E 20 41 4E 44 20  58 4D 49 44 2C 59 4D 49  |MIN AND XMID,YMI|
00000800: 44 0D 3B 20 55 53 49 4E  47 20 46 41 53 54 20 44  |D.; USING FAST D|
00000810: 44 41 20 28 44 49 47 49  54 41 4C 20 44 49 46 46  |DA (DIGITAL DIFF|
00000820: 45 52 45 4E 54 49 41 4C  20 41 4E 41 4C 59 5A 45  |ERENTIAL ANALYZE|
00000830: 52 29 0D 3B 20 54 45 43  48 4E 49 51 55 45 0D 3B  |R).; TECHNIQUE.;|
00000840: 0D 4C 49 4E 45 20 20 20  4C 44 41 20 23 32 20 20  |.LINE   LDA #2  |
00000850: 20 20 20 20 20 20 3B 20  45 4E 53 55 52 45 20 58  |      ; ENSURE X|
00000860: 4D 41 58 20 49 53 0D 20  20 20 20 20 20 20 53 54  |MAX IS.       ST|
00000870: 41 20 58 4D 41 58 2B 31  20 20 20 20 3B 20 4C 41  |A XMAX+1    ; LA|
00000880: 52 47 45 53 54 20 42 45  46 4F 52 45 0D 20 20 20  |RGEST BEFORE.   |
00000890: 20 20 20 20 4A 53 52 20  53 4F 52 54 58 20 20 20  |    JSR SORTX   |
000008A0: 20 20 3B 20 4F 52 44 45  52 49 4E 47 20 27 4D 49  |  ; ORDERING 'MI|
000008B0: 4E 27 20 41 4E 44 20 27  4D 49 44 27 0D 20 20 20  |N' AND 'MID'.   |
000008C0: 20 20 20 20 4C 44 41 20  4E 4F 53 43 41 4C 0D 20  |    LDA NOSCAL. |
000008D0: 20 20 20 20 20 20 42 45  51 20 4F 55 54 4C 4E 0D  |      BEQ OUTLN.|
000008E0: 20 20 20 20 20 20 20 4A  53 52 20 53 43 41 4C 45  |       JSR SCALE|
000008F0: 0D 4F 55 54 4C 4E 20 20  4A 53 52 20 46 49 4E 44  |.OUTLN  JSR FIND|
00000900: 58 59 20 20 20 20 3B 20  45 4E 54 52 59 20 50 4F  |XY    ; ENTRY PO|
00000910: 49 4E 54 20 54 4F 0D 20  20 20 20 20 20 20 4C 44  |INT TO.       LD|
00000920: 41 20 58 4D 49 4E 20 20  20 20 20 20 20 3B 20 4F  |A XMIN       ; O|
00000930: 55 54 4C 49 4E 45 20 46  41 43 45 54 53 0D 20 20  |UTLINE FACETS.  |
00000940: 20 20 20 20 20 53 54 41  20 58 50 4C 54 0D 20 20  |     STA XPLT.  |
00000950: 20 20 20 20 20 4C 44 41  20 58 4D 49 4E 2B 31 0D  |     LDA XMIN+1.|
00000960: 20 20 20 20 20 20 20 53  54 41 20 58 50 4C 54 2B  |       STA XPLT+|
00000970: 31 0D 20 20 20 20 20 20  20 4C 44 41 20 59 4D 49  |1.       LDA YMI|
00000980: 4E 0D 20 20 20 20 20 20  20 53 54 41 20 59 50 4C  |N.       STA YPL|
00000990: 54 0D 20 20 20 20 20 20  20 4C 44 41 20 44 4C 54  |T.       LDA DLT|
000009A0: 41 58 31 2B 31 20 20 3B  20 43 48 45 43 4B 20 46  |AX1+1  ; CHECK F|
000009B0: 4F 52 20 44 58 3E 44 59  0D 20 20 20 20 20 20 20  |OR DX>DY.       |
000009C0: 42 4E 45 20 53 54 45 50  58 0D 20 20 20 20 20 20  |BNE STEPX.      |
000009D0: 20 53 45 43 0D 20 20 20  20 20 20 20 4C 44 41 20  | SEC.       LDA |
000009E0: 44 4C 54 41 58 31 0D 20  20 20 20 20 20 20 53 42  |DLTAX1.       SB|
000009F0: 43 20 44 4C 54 41 59 31  0D 20 20 20 20 20 20 20  |C DLTAY1.       |
00000A00: 42 43 53 20 53 54 45 50  58 0D 53 54 45 50 59 20  |BCS STEPX.STEPY |
00000A10: 20 4C 44 41 20 44 4C 54  41 59 31 0D 20 20 20 20  | LDA DLTAY1.    |
00000A20: 20 20 20 53 54 41 20 45  52 52 4F 52 0D 20 20 20  |   STA ERROR.   |
00000A30: 20 20 20 20 53 54 41 20  43 4F 55 4E 54 0D 20 20  |    STA COUNT.  |
00000A40: 20 20 20 20 20 4C 53 52  20 45 52 52 4F 52 0D 20  |     LSR ERROR. |
00000A50: 20 20 20 20 20 20 53 45  43 0D 20 20 20 20 20 20  |      SEC.      |
00000A60: 20 4C 44 41 20 44 4C 54  41 58 31 0D 20 20 20 20  | LDA DLTAX1.    |
00000A70: 20 20 20 53 42 43 20 45  52 52 4F 52 0D 20 20 20  |   SBC ERROR.   |
00000A80: 20 20 20 20 53 54 41 20  45 52 52 4F 52 0D 20 20  |    STA ERROR.  |
00000A90: 20 20 20 20 20 4C 44 41  20 44 4C 54 41 58 31 2B  |     LDA DLTAX1+|
00000AA0: 31 0D 20 20 20 20 20 20  20 53 42 43 20 23 30 0D  |1.       SBC #0.|
00000AB0: 20 20 20 20 20 20 20 53  54 41 20 45 52 52 4F 52  |       STA ERROR|
00000AC0: 2B 31 0D 20 20 20 20 20  20 20 49 4E 43 20 43 4F  |+1.       INC CO|
00000AD0: 55 4E 54 0D 4C 4E 4C 50  31 20 20 4C 44 41 20 4D  |UNT.LNLP1  LDA M|
00000AE0: 4F 44 45 20 20 20 20 20  20 3B 20 30 20 3D 20 44  |ODE      ; 0 = D|
00000AF0: 52 41 57 2C 20 31 20 3D  20 45 52 41 53 45 0D 20  |RAW, 1 = ERASE. |
00000B00: 20 20 20 20 20 20 42 4E  45 20 45 52 41 53 45 31  |      BNE ERASE1|
00000B10: 0D 20 20 20 20 20 20 20  4A 53 52 20 50 4C 4F 54  |.       JSR PLOT|
00000B20: 0D 20 20 20 20 20 20 20  4A 4D 50 20 53 4B 31 0D  |.       JMP SK1.|
00000B30: 45 52 41 53 45 31 20 4A  53 52 20 55 4E 50 4C 4F  |ERASE1 JSR UNPLO|
00000B40: 54 0D 53 4B 31 20 20 20  20 4C 44 41 20 46 4C 41  |T.SK1    LDA FLA|
00000B50: 47 31 20 20 20 20 20 3B  20 30 20 3D 20 50 4F 53  |G1     ; 0 = POS|
00000B60: 49 54 49 56 45 20 53 4C  4F 50 45 0D 20 20 20 20  |ITIVE SLOPE.    |
00000B70: 20 20 20 42 4E 45 20 4E  53 4C 4F 50 45 0D 20 20  |   BNE NSLOPE.  |
00000B80: 20 20 20 20 20 49 4E 43  20 59 50 4C 54 0D 20 20  |     INC YPLT.  |
00000B90: 20 20 20 20 20 42 4E 45  20 53 4B 32 20 20 20 20  |     BNE SK2    |
00000BA0: 20 3B 20 41 4C 57 41 59  53 20 42 52 41 4E 43 48  | ; ALWAYS BRANCH|
00000BB0: 0D 4E 53 4C 4F 50 45 20  44 45 43 20 59 50 4C 54  |.NSLOPE DEC YPLT|
00000BC0: 0D 53 4B 32 20 20 20 20  42 49 54 20 45 52 52 4F  |.SK2    BIT ERRO|
00000BD0: 52 2B 31 0D 20 20 20 20  20 20 20 42 4D 49 20 53  |R+1.       BMI S|
00000BE0: 4B 33 0D 20 20 20 20 20  20 20 49 4E 43 20 58 50  |K3.       INC XP|
00000BF0: 4C 54 0D 20 20 20 20 20  20 20 42 4E 45 20 4E 4F  |LT.       BNE NO|
00000C00: 49 4E 43 31 0D 20 20 20  20 20 20 20 49 4E 43 20  |INC1.       INC |
00000C10: 58 50 4C 54 2B 31 0D 4E  4F 49 4E 43 31 20 53 45  |XPLT+1.NOINC1 SE|
00000C20: 43 0D 20 20 20 20 20 20  20 4C 44 41 20 45 52 52  |C.       LDA ERR|
00000C30: 4F 52 0D 20 20 20 20 20  20 20 53 42 43 20 44 4C  |OR.       SBC DL|
00000C40: 54 41 59 31 0D 20 20 20  20 20 20 20 53 54 41 20  |TAY1.       STA |
00000C50: 45 52 52 4F 52 0D 20 20  20 20 20 20 20 4C 44 41  |ERROR.       LDA|
00000C60: 20 45 52 52 4F 52 2B 31  0D 20 20 20 20 20 20 20  | ERROR+1.       |
00000C70: 53 42 43 20 23 30 0D 20  20 20 20 20 20 20 53 54  |SBC #0.       ST|
00000C80: 41 20 45 52 52 4F 52 2B  31 0D 53 4B 33 20 20 20  |A ERROR+1.SK3   |
00000C90: 20 43 4C 43 0D 20 20 20  20 20 20 20 4C 44 41 20  | CLC.       LDA |
00000CA0: 45 52 52 4F 52 0D 20 20  20 20 20 20 20 41 44 43  |ERROR.       ADC|
00000CB0: 20 44 4C 54 41 58 31 0D  20 20 20 20 20 20 20 53  | DLTAX1.       S|
00000CC0: 54 41 20 45 52 52 4F 52  0D 20 20 20 20 20 20 20  |TA ERROR.       |
00000CD0: 4C 44 41 20 45 52 52 4F  52 2B 31 0D 20 20 20 20  |LDA ERROR+1.    |
00000CE0: 20 20 20 41 44 43 20 44  4C 54 41 58 31 2B 31 0D  |   ADC DLTAX1+1.|
00000CF0: 20 20 20 20 20 20 20 53  54 41 20 45 52 52 4F 52  |       STA ERROR|
00000D00: 2B 31 0D 20 20 20 20 20  20 20 44 45 43 20 43 4F  |+1.       DEC CO|
00000D10: 55 4E 54 0D 20 20 20 20  20 20 20 42 4E 45 20 4C  |UNT.       BNE L|
00000D20: 4E 4C 50 31 0D 20 20 20  20 20 20 20 52 54 53 0D  |NLP1.       RTS.|
00000D30: 3B 0D 53 54 45 50 58 20  20 4C 44 41 20 44 4C 54  |;.STEPX  LDA DLT|
00000D40: 41 58 31 0D 20 20 20 20  20 20 20 53 54 41 20 45  |AX1.       STA E|
00000D50: 52 52 4F 52 0D 20 20 20  20 20 20 20 53 54 41 20  |RROR.       STA |
00000D60: 43 4F 55 4E 54 0D 20 20  20 20 20 20 20 4C 44 41  |COUNT.       LDA|
00000D70: 20 44 4C 54 41 58 31 2B  31 0D 20 20 20 20 20 20  | DLTAX1+1.      |
00000D80: 20 53 54 41 20 45 52 52  4F 52 2B 31 0D 20 20 20  | STA ERROR+1.   |
00000D90: 20 20 20 20 53 54 41 20  43 4F 55 4E 54 2B 31 0D  |    STA COUNT+1.|
00000DA0: 20 20 20 20 20 20 20 4C  53 52 20 45 52 52 4F 52  |       LSR ERROR|
00000DB0: 2B 31 0D 20 20 20 20 20  20 20 52 4F 52 20 45 52  |+1.       ROR ER|
00000DC0: 52 4F 52 0D 20 20 20 20  20 20 20 53 45 43 0D 20  |ROR.       SEC. |
00000DD0: 20 20 20 20 20 20 4C 44  41 20 44 4C 54 41 59 31  |      LDA DLTAY1|
00000DE0: 0D 20 20 20 20 20 20 20  53 42 43 20 45 52 52 4F  |.       SBC ERRO|
00000DF0: 52 0D 20 20 20 20 20 20  20 53 54 41 20 45 52 52  |R.       STA ERR|
00000E00: 4F 52 0D 20 20 20 20 20  20 20 4C 44 41 20 23 30  |OR.       LDA #0|
00000E10: 0D 20 20 20 20 20 20 20  53 42 43 20 45 52 52 4F  |.       SBC ERRO|
00000E20: 52 2B 31 0D 20 20 20 20  20 20 20 53 54 41 20 45  |R+1.       STA E|
00000E30: 52 52 4F 52 2B 31 0D 4C  4E 4C 50 32 20 20 4C 44  |RROR+1.LNLP2  LD|
00000E40: 41 20 4D 4F 44 45 0D 20  20 20 20 20 20 20 42 4E  |A MODE.       BN|
00000E50: 45 20 45 52 41 53 45 32  0D 20 20 20 20 20 20 20  |E ERASE2.       |
00000E60: 4A 53 52 20 50 4C 4F 54  0D 20 20 20 20 20 20 20  |JSR PLOT.       |
00000E70: 4A 4D 50 20 53 4B 50 31  0D 45 52 41 53 45 32 20  |JMP SKP1.ERASE2 |
00000E80: 4A 53 52 20 55 4E 50 4C  4F 54 0D 53 4B 50 31 20  |JSR UNPLOT.SKP1 |
00000E90: 20 20 49 4E 43 20 58 50  4C 54 0D 20 20 20 20 20  |  INC XPLT.     |
00000EA0: 20 20 42 4E 45 20 4E 4F  49 4E 43 32 0D 20 20 20  |  BNE NOINC2.   |
00000EB0: 20 20 20 20 49 4E 43 20  58 50 4C 54 2B 31 0D 4E  |    INC XPLT+1.N|
00000EC0: 4F 49 4E 43 32 20 42 49  54 20 45 52 52 4F 52 2B  |OINC2 BIT ERROR+|
00000ED0: 31 0D 20 20 20 20 20 20  20 42 4D 49 20 53 4B 50  |1.       BMI SKP|
00000EE0: 33 0D 20 20 20 20 20 20  20 4C 44 41 20 46 4C 41  |3.       LDA FLA|
00000EF0: 47 31 0D 20 20 20 20 20  20 20 42 4E 45 20 4E 47  |G1.       BNE NG|
00000F00: 53 4C 50 0D 20 20 20 20  20 20 20 49 4E 43 20 59  |SLP.       INC Y|
00000F10: 50 4C 54 0D 20 20 20 20  20 20 20 42 4E 45 20 53  |PLT.       BNE S|
00000F20: 4B 50 32 20 20 20 20 3B  20 41 4C 57 41 59 53 20  |KP2    ; ALWAYS |
00000F30: 42 52 41 4E 43 48 0D 4E  47 53 4C 50 20 20 44 45  |BRANCH.NGSLP  DE|
00000F40: 43 20 59 50 4C 54 0D 53  4B 50 32 20 20 20 53 45  |C YPLT.SKP2   SE|
00000F50: 43 0D 20 20 20 20 20 20  20 4C 44 41 20 45 52 52  |C.       LDA ERR|
00000F60: 4F 52 0D 20 20 20 20 20  20 20 53 42 43 20 44 4C  |OR.       SBC DL|
00000F70: 54 41 58 31 0D 20 20 20  20 20 20 20 53 54 41 20  |TAX1.       STA |
00000F80: 45 52 52 4F 52 0D 20 20  20 20 20 20 20 4C 44 41  |ERROR.       LDA|
00000F90: 20 45 52 52 4F 52 2B 31  0D 20 20 20 20 20 20 20  | ERROR+1.       |
00000FA0: 53 42 43 20 44 4C 54 41  58 31 2B 31 0D 20 20 20  |SBC DLTAX1+1.   |
00000FB0: 20 20 20 20 53 54 41 20  45 52 52 4F 52 2B 31 0D  |    STA ERROR+1.|
00000FC0: 53 4B 50 33 20 20 20 43  4C 43 0D 20 20 20 20 20  |SKP3   CLC.     |
00000FD0: 20 20 4C 44 41 20 45 52  52 4F 52 0D 20 20 20 20  |  LDA ERROR.    |
00000FE0: 20 20 20 41 44 43 20 44  4C 54 41 59 31 0D 20 20  |   ADC DLTAY1.  |
00000FF0: 20 20 20 20 20 53 54 41  20 45 52 52 4F 52 0D 20  |     STA ERROR. |
00001000: 20 20 20 20 20 20 4C 44  41 20 45 52 52 4F 52 2B  |      LDA ERROR+|
00001010: 31 0D 20 20 20 20 20 20  20 41 44 43 20 23 30 0D  |1.       ADC #0.|
00001020: 20 20 20 20 20 20 20 53  54 41 20 45 52 52 4F 52  |       STA ERROR|
00001030: 2B 31 0D 20 20 20 20 20  20 20 53 45 43 0D 20 20  |+1.       SEC.  |
00001040: 20 20 20 20 20 4C 44 41  20 43 4F 55 4E 54 0D 20  |     LDA COUNT. |
00001050: 20 20 20 20 20 20 53 42  43 20 23 31 0D 20 20 20  |      SBC #1.   |
00001060: 20 20 20 20 53 54 41 20  43 4F 55 4E 54 0D 20 20  |    STA COUNT.  |
00001070: 20 20 20 20 20 42 43 53  20 54 45 53 54 0D 20 20  |     BCS TEST.  |
00001080: 20 20 20 20 20 44 45 43  20 43 4F 55 4E 54 2B 31  |     DEC COUNT+1|
00001090: 0D 54 45 53 54 20 20 20  42 49 54 20 43 4F 55 4E  |.TEST   BIT COUN|
000010A0: 54 2B 31 0D 20 20 20 20  20 20 20 42 50 4C 20 4C  |T+1.       BPL L|
000010B0: 4E 4C 50 32 0D 20 20 20  20 20 20 20 52 54 53 0D  |NLP2.       RTS.|
000010C0: 3B 0D 3B 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;.;*************|
000010D0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000010E0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 0D 3B 20 44  |************.; D|
000010F0: 52 41 57 20 41 20 53 48  41 44 45 44 20 56 45 52  |RAW A SHADED VER|
00001100: 54 49 43 41 4C 20 4C 49  4E 45 20 41 54 0D 3B 20  |TICAL LINE AT.; |
00001110: 58 50 4C 54 20 46 52 4F  4D 20 59 54 4F 50 20 54  |XPLT FROM YTOP T|
00001120: 4F 20 59 42 4F 54 0D 3B  0D 56 4C 49 4E 45 20 20  |O YBOT.;.VLINE  |
00001130: 53 45 43 20 20 20 20 20  20 20 20 20 3B 20 4D 41  |SEC         ; MA|
00001140: 4B 45 20 53 55 52 45 20  59 54 4F 50 3E 59 42 4F  |KE SURE YTOP>YBO|
00001150: 54 0D 20 20 20 20 20 20  20 4C 44 41 20 59 54 4F  |T.       LDA YTO|
00001160: 50 0D 20 20 20 20 20 20  20 53 42 43 20 59 42 4F  |P.       SBC YBO|
00001170: 54 0D 20 20 20 20 20 20  20 42 43 53 20 44 52 41  |T.       BCS DRA|
00001180: 57 0D 20 20 20 20 20 20  20 4C 44 41 20 59 54 4F  |W.       LDA YTO|
00001190: 50 0D 20 20 20 20 20 20  20 50 48 41 0D 20 20 20  |P.       PHA.   |
000011A0: 20 20 20 20 4C 44 41 20  59 42 4F 54 0D 20 20 20  |    LDA YBOT.   |
000011B0: 20 20 20 20 53 54 41 20  59 54 4F 50 0D 20 20 20  |    STA YTOP.   |
000011C0: 20 20 20 20 50 4C 41 0D  20 20 20 20 20 20 20 53  |    PLA.       S|
000011D0: 54 41 20 59 42 4F 54 0D  44 52 41 57 20 20 20 4C  |TA YBOT.DRAW   L|
000011E0: 44 41 20 59 54 4F 50 0D  20 20 20 20 20 20 20 53  |DA YTOP.       S|
000011F0: 54 41 20 59 50 4C 54 0D  20 20 20 20 20 20 20 4A  |TA YPLT.       J|
00001200: 53 52 20 4E 4F 52 4D 20  20 20 20 3B 20 50 4C 4F  |SR NORM    ; PLO|
00001210: 54 20 41 20 53 48 41 44  45 2D 57 45 49 47 48 54  |T A SHADE-WEIGHT|
00001220: 45 44 0D 20 20 20 20 20  20 20 4C 44 41 20 59 54  |ED.       LDA YT|
00001230: 4F 50 20 20 20 20 3B 20  50 49 58 45 4C 20 43 48  |OP    ; PIXEL CH|
00001240: 45 43 4B 49 4E 47 20 4F  4E 4C 59 0D 20 20 20 20  |ECKING ONLY.    |
00001250: 20 20 20 43 4D 50 20 59  42 4F 54 20 20 20 20 3B  |   CMP YBOT    ;|
00001260: 20 46 4F 52 20 53 48 41  44 45 20 53 54 59 4C 45  | FOR SHADE STYLE|
00001270: 0D 20 20 20 20 20 20 20  42 45 51 20 44 4F 4E 45  |.       BEQ DONE|
00001280: 0D 20 20 20 20 20 20 20  44 45 43 20 59 54 4F 50  |.       DEC YTOP|
00001290: 0D 20 20 20 20 20 20 20  4A 4D 50 20 44 52 41 57  |.       JMP DRAW|
000012A0: 0D 44 4F 4E 45 20 20 20  52 54 53 0D 3B 0D 3B 2A  |.DONE   RTS.;.;*|
000012B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000012C0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000012D0: 2A 2A 2A 2A 2A 2A 2A 2A  0D 3B 0D 3B 20 46 49 4E  |********.;.; FIN|
000012E0: 44 20 45 4E 44 50 4F 49  4E 54 53 20 46 4F 52 20  |D ENDPOINTS FOR |
000012F0: 56 45 52 54 49 43 41 4C  20 4C 49 4E 45 53 0D 3B  |VERTICAL LINES.;|
00001300: 20 42 45 54 57 45 45 4E  20 46 41 43 45 54 20 45  | BETWEEN FACET E|
00001310: 44 47 45 53 0D 3B 0D 45  4E 44 50 54 53 20 4C 44  |DGES.;.ENDPTS LD|
00001320: 41 20 58 44 49 46 46 0D  20 20 20 20 20 20 20 53  |A XDIFF.       S|
00001330: 54 41 20 4D 4C 50 43 4E  44 0D 20 20 20 20 20 20  |TA MLPCND.      |
00001340: 20 4C 44 41 20 44 45 4C  54 41 59 0D 20 20 20 20  | LDA DELTAY.    |
00001350: 20 20 20 53 54 41 20 4D  4C 50 4C 45 52 0D 20 20  |   STA MLPLER.  |
00001360: 20 20 20 20 20 4A 53 52  20 4D 55 4C 54 0D 20 20  |     JSR MULT.  |
00001370: 20 20 20 20 20 53 54 41  20 44 56 44 4E 44 2B 31  |     STA DVDND+1|
00001380: 0D 20 20 20 20 20 20 20  4C 44 41 20 50 52 4F 44  |.       LDA PROD|
00001390: 0D 20 20 20 20 20 20 20  53 54 41 20 44 56 44 4E  |.       STA DVDN|
000013A0: 44 0D 20 20 20 20 20 20  20 4C 44 41 20 23 30 0D  |D.       LDA #0.|
000013B0: 20 20 20 20 20 20 20 53  54 41 20 44 56 53 4F 52  |       STA DVSOR|
000013C0: 2B 31 0D 20 20 20 20 20  20 20 4C 44 41 20 44 45  |+1.       LDA DE|
000013D0: 4C 54 41 58 0D 20 20 20  20 20 20 20 53 54 41 20  |LTAX.       STA |
000013E0: 44 56 53 4F 52 0D 20 20  20 20 20 20 20 4A 53 52  |DVSOR.       JSR|
000013F0: 20 44 49 56 49 44 45 0D  20 20 20 20 20 20 20 4C  | DIVIDE.       L|
00001400: 44 41 20 46 4C 41 47 0D  20 20 20 20 20 20 20 42  |DA FLAG.       B|
00001410: 4E 45 20 4E 45 47 53 4C  50 0D 20 20 20 20 20 20  |NE NEGSLP.      |
00001420: 20 43 4C 43 0D 20 20 20  20 20 20 20 4C 44 41 20  | CLC.       LDA |
00001430: 59 42 41 53 45 0D 20 20  20 20 20 20 20 41 44 43  |YBASE.       ADC|
00001440: 20 51 55 4F 54 0D 20 20  20 20 20 20 20 42 43 43  | QUOT.       BCC|
00001450: 20 53 4B 49 50 32 0D 4E  45 47 53 4C 50 20 53 45  | SKIP2.NEGSLP SE|
00001460: 43 0D 20 20 20 20 20 20  20 4C 44 41 20 59 42 41  |C.       LDA YBA|
00001470: 53 45 0D 20 20 20 20 20  20 20 53 42 43 20 51 55  |SE.       SBC QU|
00001480: 4F 54 0D 53 4B 49 50 32  20 20 52 54 53 0D 3B 0D  |OT.SKIP2  RTS.;.|
00001490: 3B 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;***************|
000014A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000014B0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 0D 3B 0D 3B 20 46  |**********.;.; F|
000014C0: 49 4E 44 20 43 4F 4F 52  44 49 4E 41 54 45 20 44  |IND COORDINATE D|
000014D0: 49 46 46 45 52 45 4E 43  45 53 0D 3B 0D 3B 20 41  |IFFERENCES.;.; A|
000014E0: 4C 4C 20 22 44 45 4C 54  41 20 58 22 20 56 41 4C  |LL "DELTA X" VAL|
000014F0: 55 45 53 20 50 4F 53 49  54 49 56 45 2C 0D 3B 20  |UES POSITIVE,.; |
00001500: 53 49 4E 47 4C 45 20 50  52 45 43 49 53 49 4F 4E  |SINGLE PRECISION|
00001510: 20 28 4A 55 53 54 20 4C  4F 57 45 52 20 42 59 54  | (JUST LOWER BYT|
00001520: 45 29 0D 3B 0D 46 49 4E  44 58 59 20 53 45 43 0D  |E).;.FINDXY SEC.|
00001530: 20 20 20 20 20 20 20 4C  44 41 20 58 4D 49 44 0D  |       LDA XMID.|
00001540: 20 20 20 20 20 20 20 53  42 43 20 58 4D 49 4E 0D  |       SBC XMIN.|
00001550: 20 20 20 20 20 20 20 53  54 41 20 44 4C 54 41 58  |       STA DLTAX|
00001560: 31 0D 20 20 20 20 20 20  20 4C 44 41 20 58 4D 49  |1.       LDA XMI|
00001570: 44 2B 31 0D 20 20 20 20  20 20 20 53 42 43 20 58  |D+1.       SBC X|
00001580: 4D 49 4E 2B 31 0D 20 20  20 20 20 20 20 53 54 41  |MIN+1.       STA|
00001590: 20 44 4C 54 41 58 31 2B  31 0D 20 20 20 20 20 20  | DLTAX1+1.      |
000015A0: 20 53 45 43 0D 20 20 20  20 20 20 20 4C 44 41 20  | SEC.       LDA |
000015B0: 58 4D 41 58 0D 20 20 20  20 20 20 20 53 42 43 20  |XMAX.       SBC |
000015C0: 58 4D 49 44 0D 20 20 20  20 20 20 20 53 54 41 20  |XMID.       STA |
000015D0: 44 4C 54 41 58 32 0D 20  20 20 20 20 20 20 53 45  |DLTAX2.       SE|
000015E0: 43 0D 20 20 20 20 20 20  20 4C 44 41 20 58 4D 41  |C.       LDA XMA|
000015F0: 58 0D 20 20 20 20 20 20  20 53 42 43 20 58 4D 49  |X.       SBC XMI|
00001600: 4E 0D 20 20 20 20 20 20  20 53 54 41 20 44 4C 54  |N.       STA DLT|
00001610: 41 58 33 0D 3B 0D 3B 20  55 53 45 20 41 42 53 28  |AX3.;.; USE ABS(|
00001620: 44 45 4C 54 41 20 59 29  20 56 41 4C 55 45 53 2C  |DELTA Y) VALUES,|
00001630: 0D 3B 20 46 4C 41 47 53  20 49 4E 44 49 43 41 54  |.; FLAGS INDICAT|
00001640: 45 20 53 4C 4F 50 45 20  4F 46 20 4C 49 4D 49 54  |E SLOPE OF LIMIT|
00001650: 20 4C 49 4E 45 53 0D 3B  0D 20 20 20 20 20 20 20  | LINES.;.       |
00001660: 4C 44 41 20 23 24 30 30  0D 20 20 20 20 20 20 20  |LDA #$00.       |
00001670: 53 54 41 20 46 4C 41 47  31 0D 20 20 20 20 20 20  |STA FLAG1.      |
00001680: 20 53 54 41 20 46 4C 41  47 32 0D 20 20 20 20 20  | STA FLAG2.     |
00001690: 20 20 53 54 41 20 46 4C  41 47 33 0D 20 20 20 20  |  STA FLAG3.    |
000016A0: 20 20 20 53 45 43 0D 20  20 20 20 20 20 20 4C 44  |   SEC.       LD|
000016B0: 41 20 59 4D 49 44 0D 20  20 20 20 20 20 20 53 42  |A YMID.       SB|
000016C0: 43 20 59 4D 49 4E 0D 20  20 20 20 20 20 20 42 43  |C YMIN.       BC|
000016D0: 53 20 53 54 4F 52 45 31  0D 20 20 20 20 20 20 20  |S STORE1.       |
000016E0: 49 4E 43 20 46 4C 41 47  31 0D 20 20 20 20 20 20  |INC FLAG1.      |
000016F0: 20 4C 44 41 20 59 4D 49  4E 0D 20 20 20 20 20 20  | LDA YMIN.      |
00001700: 20 53 42 43 20 59 4D 49  44 0D 53 54 4F 52 45 31  | SBC YMID.STORE1|
00001710: 20 53 54 41 20 44 4C 54  41 59 31 0D 20 20 20 20  | STA DLTAY1.    |
00001720: 20 20 20 53 45 43 0D 20  20 20 20 20 20 20 4C 44  |   SEC.       LD|
00001730: 41 20 59 4D 41 58 0D 20  20 20 20 20 20 20 53 42  |A YMAX.       SB|
00001740: 43 20 59 4D 49 44 0D 20  20 20 20 20 20 20 42 43  |C YMID.       BC|
00001750: 53 20 53 54 4F 52 45 32  0D 20 20 20 20 20 20 20  |S STORE2.       |
00001760: 49 4E 43 20 46 4C 41 47  32 0D 20 20 20 20 20 20  |INC FLAG2.      |
00001770: 20 4C 44 41 20 59 4D 49  44 0D 20 20 20 20 20 20  | LDA YMID.      |
00001780: 20 53 42 43 20 59 4D 41  58 0D 53 54 4F 52 45 32  | SBC YMAX.STORE2|
00001790: 20 53 54 41 20 44 4C 54  41 59 32 0D 20 20 20 20  | STA DLTAY2.    |
000017A0: 20 20 20 53 45 43 0D 20  20 20 20 20 20 20 4C 44  |   SEC.       LD|
000017B0: 41 20 59 4D 41 58 0D 20  20 20 20 20 20 20 53 42  |A YMAX.       SB|
000017C0: 43 20 59 4D 49 4E 0D 20  20 20 20 20 20 20 42 43  |C YMIN.       BC|
000017D0: 53 20 53 54 4F 52 45 33  0D 20 20 20 20 20 20 20  |S STORE3.       |
000017E0: 49 4E 43 20 46 4C 41 47  33 0D 20 20 20 20 20 20  |INC FLAG3.      |
000017F0: 20 4C 44 41 20 59 4D 49  4E 0D 20 20 20 20 20 20  | LDA YMIN.      |
00001800: 20 53 42 43 20 59 4D 41  58 0D 53 54 4F 52 45 33  | SBC YMAX.STORE3|
00001810: 20 53 54 41 20 44 4C 54  41 59 33 0D 20 20 20 20  | STA DLTAY3.    |
00001820: 20 20 20 52 54 53 0D 3B  0D 3B 2A 2A 2A 2A 2A 2A  |   RTS.;.;******|
00001830: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001840: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001850: 2A 2A 2A 0D 3B 0D 3B 20  44 52 41 57 20 41 20 53  |***.;.; DRAW A S|
00001860: 48 41 44 45 44 20 54 52  49 41 4E 47 55 4C 41 52  |HADED TRIANGULAR|
00001870: 20 46 41 43 45 54 0D 3B  0D 46 41 43 45 54 20 20  | FACET.;.FACET  |
00001880: 4A 53 52 20 53 4F 52 54  58 0D 20 20 20 20 20 20  |JSR SORTX.      |
00001890: 20 4C 44 41 20 4E 4F 53  43 41 4C 0D 20 20 20 20  | LDA NOSCAL.    |
000018A0: 20 20 20 42 45 51 20 59  53 4F 4B 0D 20 20 20 20  |   BEQ YSOK.    |
000018B0: 20 20 20 4A 53 52 20 53  43 41 4C 45 0D 59 53 4F  |   JSR SCALE.YSO|
000018C0: 4B 20 20 20 4A 53 52 20  46 49 4E 44 58 59 0D 20  |K   JSR FINDXY. |
000018D0: 20 20 20 20 20 20 4C 44  41 20 58 4D 49 4E 0D 20  |      LDA XMIN. |
000018E0: 20 20 20 20 20 20 53 54  41 20 58 50 4C 54 0D 20  |      STA XPLT. |
000018F0: 20 20 20 20 20 20 4C 44  41 20 58 4D 49 4E 2B 31  |      LDA XMIN+1|
00001900: 0D 20 20 20 20 20 20 20  53 54 41 20 58 50 4C 54  |.       STA XPLT|
00001910: 2B 31 0D 46 43 45 54 4C  50 20 53 45 43 0D 20 20  |+1.FCETLP SEC.  |
00001920: 20 20 20 20 20 4C 44 41  20 58 50 4C 54 0D 20 20  |     LDA XPLT.  |
00001930: 20 20 20 20 20 53 42 43  20 58 4D 49 4E 0D 20 20  |     SBC XMIN.  |
00001940: 20 20 20 20 20 53 54 41  20 58 44 49 46 46 0D 20  |     STA XDIFF. |
00001950: 20 20 20 20 20 20 4C 44  41 20 44 4C 54 41 58 31  |      LDA DLTAX1|
00001960: 0D 20 20 20 20 20 20 20  42 45 51 20 43 4F 4E 54  |.       BEQ CONT|
00001970: 0D 20 20 20 20 20 20 20  53 54 41 20 44 45 4C 54  |.       STA DELT|
00001980: 41 58 0D 20 20 20 20 20  20 20 4C 44 41 20 44 4C  |AX.       LDA DL|
00001990: 54 41 59 31 0D 20 20 20  20 20 20 20 53 54 41 20  |TAY1.       STA |
000019A0: 44 45 4C 54 41 59 0D 20  20 20 20 20 20 20 4C 44  |DELTAY.       LD|
000019B0: 41 20 46 4C 41 47 31 0D  20 20 20 20 20 20 20 53  |A FLAG1.       S|
000019C0: 54 41 20 46 4C 41 47 0D  20 20 20 20 20 20 20 4C  |TA FLAG.       L|
000019D0: 44 41 20 59 4D 49 4E 0D  20 20 20 20 20 20 20 53  |DA YMIN.       S|
000019E0: 54 41 20 59 42 41 53 45  0D 20 20 20 20 20 20 20  |TA YBASE.       |
000019F0: 4A 53 52 20 45 4E 44 50  54 53 0D 20 20 20 20 20  |JSR ENDPTS.     |
00001A00: 20 20 53 54 41 20 59 54  4F 50 0D 20 20 20 20 20  |  STA YTOP.     |
00001A10: 20 20 4C 44 41 20 44 4C  54 41 58 33 0D 20 20 20  |  LDA DLTAX3.   |
00001A20: 20 20 20 20 42 45 51 20  43 4F 4E 54 0D 20 20 20  |    BEQ CONT.   |
00001A30: 20 20 20 20 53 54 41 20  44 45 4C 54 41 58 0D 20  |    STA DELTAX. |
00001A40: 20 20 20 20 20 20 4C 44  41 20 44 4C 54 41 59 33  |      LDA DLTAY3|
00001A50: 0D 20 20 20 20 20 20 20  53 54 41 20 44 45 4C 54  |.       STA DELT|
00001A60: 41 59 0D 20 20 20 20 20  20 20 4C 44 41 20 46 4C  |AY.       LDA FL|
00001A70: 41 47 33 0D 20 20 20 20  20 20 20 53 54 41 20 46  |AG3.       STA F|
00001A80: 4C 41 47 0D 20 20 20 20  20 20 20 4A 53 52 20 45  |LAG.       JSR E|
00001A90: 4E 44 50 54 53 0D 20 20  20 20 20 20 20 53 54 41  |NDPTS.       STA|
00001AA0: 20 59 42 4F 54 0D 20 20  20 20 20 20 20 4A 53 52  | YBOT.       JSR|
00001AB0: 20 56 4C 49 4E 45 0D 20  20 20 20 20 20 20 4C 44  | VLINE.       LD|
00001AC0: 41 20 58 50 4C 54 2B 31  0D 20 20 20 20 20 20 20  |A XPLT+1.       |
00001AD0: 43 4D 50 20 58 4D 49 44  2B 31 0D 20 20 20 20 20  |CMP XMID+1.     |
00001AE0: 20 20 42 4E 45 20 4E 45  58 54 58 31 0D 20 20 20  |  BNE NEXTX1.   |
00001AF0: 20 20 20 20 4C 44 41 20  58 50 4C 54 0D 20 20 20  |    LDA XPLT.   |
00001B00: 20 20 20 20 43 4D 50 20  58 4D 49 44 0D 20 20 20  |    CMP XMID.   |
00001B10: 20 20 20 20 42 45 51 20  43 4F 4E 54 0D 4E 45 58  |    BEQ CONT.NEX|
00001B20: 54 58 31 20 49 4E 43 20  58 50 4C 54 0D 20 20 20  |TX1 INC XPLT.   |
00001B30: 20 20 20 20 42 4E 45 20  53 4B 49 50 33 0D 20 20  |    BNE SKIP3.  |
00001B40: 20 20 20 20 20 49 4E 43  20 58 50 4C 54 2B 31 0D  |     INC XPLT+1.|
00001B50: 53 4B 49 50 33 20 20 4A  4D 50 20 46 43 45 54 4C  |SKIP3  JMP FCETL|
00001B60: 50 0D 43 4F 4E 54 20 20  20 53 45 43 0D 20 20 20  |P.CONT   SEC.   |
00001B70: 20 20 20 20 4C 44 41 20  58 50 4C 54 0D 20 20 20  |    LDA XPLT.   |
00001B80: 20 20 20 20 53 42 43 20  58 4D 49 4E 0D 20 20 20  |    SBC XMIN.   |
00001B90: 20 20 20 20 53 54 41 20  58 44 49 46 46 0D 20 20  |    STA XDIFF.  |
00001BA0: 20 20 20 20 20 4C 44 41  20 44 4C 54 41 58 33 0D  |     LDA DLTAX3.|
00001BB0: 20 20 20 20 20 20 20 42  45 51 20 46 49 4E 49 0D  |       BEQ FINI.|
00001BC0: 20 20 20 20 20 20 20 53  54 41 20 44 45 4C 54 41  |       STA DELTA|
00001BD0: 58 0D 20 20 20 20 20 20  20 4C 44 41 20 44 4C 54  |X.       LDA DLT|
00001BE0: 41 59 33 0D 20 20 20 20  20 20 20 53 54 41 20 44  |AY3.       STA D|
00001BF0: 45 4C 54 41 59 0D 20 20  20 20 20 20 20 4C 44 41  |ELTAY.       LDA|
00001C00: 20 46 4C 41 47 33 0D 20  20 20 20 20 20 20 53 54  | FLAG3.       ST|
00001C10: 41 20 46 4C 41 47 0D 20  20 20 20 20 20 20 4C 44  |A FLAG.       LD|
00001C20: 41 20 59 4D 49 4E 0D 20  20 20 20 20 20 20 53 54  |A YMIN.       ST|
00001C30: 41 20 59 42 41 53 45 0D  20 20 20 20 20 20 20 4A  |A YBASE.       J|
00001C40: 53 52 20 45 4E 44 50 54  53 0D 20 20 20 20 20 20  |SR ENDPTS.      |
00001C50: 20 53 54 41 20 59 42 4F  54 0D 20 20 20 20 20 20  | STA YBOT.      |
00001C60: 20 53 45 43 0D 20 20 20  20 20 20 20 4C 44 41 20  | SEC.       LDA |
00001C70: 58 50 4C 54 0D 20 20 20  20 20 20 20 53 42 43 20  |XPLT.       SBC |
00001C80: 58 4D 49 44 0D 20 20 20  20 20 20 20 53 54 41 20  |XMID.       STA |
00001C90: 58 44 49 46 46 0D 20 20  20 20 20 20 20 4C 44 41  |XDIFF.       LDA|
00001CA0: 20 44 4C 54 41 58 32 0D  20 20 20 20 20 20 20 42  | DLTAX2.       B|
00001CB0: 45 51 20 46 49 4E 49 0D  20 20 20 20 20 20 20 53  |EQ FINI.       S|
00001CC0: 54 41 20 44 45 4C 54 41  58 0D 20 20 20 20 20 20  |TA DELTAX.      |
00001CD0: 20 4C 44 41 20 44 4C 54  41 59 32 0D 20 20 20 20  | LDA DLTAY2.    |
00001CE0: 20 20 20 53 54 41 20 44  45 4C 54 41 59 0D 20 20  |   STA DELTAY.  |
00001CF0: 20 20 20 20 20 4C 44 41  20 46 4C 41 47 32 0D 20  |     LDA FLAG2. |
00001D00: 20 20 20 20 20 20 53 54  41 20 46 4C 41 47 0D 20  |      STA FLAG. |
00001D10: 20 20 20 20 20 20 4C 44  41 20 59 4D 49 44 0D 20  |      LDA YMID. |
00001D20: 20 20 20 20 20 20 53 54  41 20 59 42 41 53 45 0D  |      STA YBASE.|
00001D30: 20 20 20 20 20 20 20 4A  53 52 20 45 4E 44 50 54  |       JSR ENDPT|
00001D40: 53 0D 20 20 20 20 20 20  20 53 54 41 20 59 54 4F  |S.       STA YTO|
00001D50: 50 0D 20 20 20 20 20 20  20 4A 53 52 20 56 4C 49  |P.       JSR VLI|
00001D60: 4E 45 0D 20 20 20 20 20  20 20 4C 44 41 20 58 50  |NE.       LDA XP|
00001D70: 4C 54 2B 31 0D 20 20 20  20 20 20 20 43 4D 50 20  |LT+1.       CMP |
00001D80: 58 4D 41 58 2B 31 0D 20  20 20 20 20 20 20 42 4E  |XMAX+1.       BN|
00001D90: 45 20 4E 45 58 54 58 32  0D 20 20 20 20 20 20 20  |E NEXTX2.       |
00001DA0: 4C 44 41 20 58 50 4C 54  0D 20 20 20 20 20 20 20  |LDA XPLT.       |
00001DB0: 43 4D 50 20 58 4D 41 58  0D 20 20 20 20 20 20 20  |CMP XMAX.       |
00001DC0: 42 45 51 20 46 49 4E 49  0D 4E 45 58 54 58 32 20  |BEQ FINI.NEXTX2 |
00001DD0: 49 4E 43 20 58 50 4C 54  0D 20 20 20 20 20 20 20  |INC XPLT.       |
00001DE0: 42 4E 45 20 53 4B 49 50  34 0D 20 20 20 20 20 20  |BNE SKIP4.      |
00001DF0: 20 49 4E 43 20 58 50 4C  54 2B 31 0D 53 4B 49 50  | INC XPLT+1.SKIP|
00001E00: 34 20 20 4A 4D 50 20 43  4F 4E 54 0D 46 49 4E 49  |4  JMP CONT.FINI|
00001E10: 20 20 20 4C 44 41 20 45  44 47 45 53 0D 20 20 20  |   LDA EDGES.   |
00001E20: 20 20 20 20 42 45 51 20  46 49 4E 49 53 48 0D 20  |    BEQ FINISH. |
00001E30: 20 20 20 20 20 20 4A 53  52 20 4F 55 54 4C 4E 0D  |      JSR OUTLN.|
00001E40: 20 20 20 20 20 20 20 4A  53 52 20 53 57 41 50 32  |       JSR SWAP2|
00001E50: 33 0D 20 20 20 20 20 20  20 4A 53 52 20 4F 55 54  |3.       JSR OUT|
00001E60: 4C 4E 0D 20 20 20 20 20  20 20 4A 53 52 20 53 57  |LN.       JSR SW|
00001E70: 41 50 31 32 0D 20 20 20  20 20 20 20 4A 53 52 20  |AP12.       JSR |
00001E80: 53 57 41 50 32 33 0D 20  20 20 20 20 20 20 4A 53  |SWAP23.       JS|
00001E90: 52 20 53 57 41 50 31 32  0D 20 20 20 20 20 20 20  |R SWAP12.       |
00001EA0: 4A 53 52 20 4F 55 54 4C  4E 0D 46 49 4E 49 53 48  |JSR OUTLN.FINISH|
00001EB0: 20 52 54 53 0D 2E 45 4E  44 0D                    | RTS..END.      |
; FACET - DRAW SHADED TRIANGULAR FACETS.
; AND STRAIGHT LINES..;.; RICHARD L. RYL
ANDER   11/4/84.;.; LOAD "ARITH.HEX" AND
 "GRAPH.HEX".; BEFORE USING.;.ORIGIN = $
C26F.RAM    = $034A.;.XPLT   = $033F.YPL
T   = $0341.NORM   = $C224.NOSCAL = $034
7.PLOT   = $C143.UNPLOT = $C146.;.MLPCND
 = $AC.MLPLER = $AD.PROD   = $AE.MULT   
= $C011.;.DVDND  = $FD.DVSOR  = $FB.QUOT
   = $FD.DIVIDE = $C025.;.      *=RAM.;.
XMIN   *=*+2.YMIN   *=*+1.XMID   *=*+2.Y
MID   *=*+1.XMAX   *=*+2.YMAX   *=*+1.YT
OP   *=*+1.YBOT   *=*+1.YBASE  *=*+1.DLT
AX1 *=*+2.DLTAX2 *=*+1.DLTAX3 *=*+1.DELT
AX *=*+1.DLTAY1 *=*+1.DLTAY2 *=*+1.DLTAY
3 *=*+1.DELTAY *=*+1.XDIFF  *=*+1.FLAG1 
 *=*+1.FLAG2  *=*+1.FLAG3  *=*+1.FLAG   
*=*+1.EDGES  *=*+1.ERROR  *=*+2.MODE   *
=*+1.COUNT  *=*+2.;.;.      *=ORIGIN.;.;
****************************************
*.;.; SCALE ALL Y COORDINATES FROM 0..23
9.; PSUEDO-COORDINATE RANGE TO 0..199.; 
TRUE SCREEN COORDINATE RANGE.;.SCALE  LD
Y #6.       LDA #$D5.       STA MLPCND.S
CLP   LDA YMIN,Y.       STA MLPLER.     
  JSR MULT.       STA YMIN,Y.       DEY.
       DEY.       DEY.       BPL SCLP.  
     RTS.;.;.;**************************
***************.;.; EXCHANGE 'MIN' AND '
MID' COORDINATES.;.SWAP12 LDY #2.LOOP1  
LDA XMIN,Y.       PHA.       LDA XMID,Y.
       STA XMIN,Y.       PLA.       STA 
XMID,Y.       DEY.       BPL LOOP1.     
  RTS.;.;*******************************
**********.;.; EXCHANGE 'MID' AND 'MAX' 
COORDINATES.;.SWAP23 LDY #2.LOOP2  LDA X
MID,Y.       PHA.       LDA XMAX,Y.     
  STA XMID,Y.       PLA.       STA XMAX,
Y.       DEY.       BPL LOOP2.       RTS
.;.;************************************
*****.;.; SORT COORDINATES ACCORDING TO 
X COMPONENTS.;.SORTX  LDX #2.SORTLP SEC.
       LDA XMID.       SBC XMIN.       L
DA XMID+1.       SBC XMIN+1.       BCS N
OSWP1.       JSR SWAP12.NOSWP1 DEX.     
  BEQ SORTED.       SEC.       LDA XMAX.
       SBC XMID.       LDA XMAX+1.      
 SBC XMID+1.       BCS SORTLP.       JSR
 SWAP23.       JMP SORTLP.SORTED RTS.;.;
****************************************
*.;.; DRAW A LINE BETWEEN XMIN,YMIN AND 
XMID,YMID.; USING FAST DDA (DIGITAL DIFF
ERENTIAL ANALYZER).; TECHNIQUE.;.LINE   
LDA #2        ; ENSURE XMAX IS.       ST
A XMAX+1    ; LARGEST BEFORE.       JSR 
SORTX     ; ORDERING 'MIN' AND 'MID'.   
    LDA NOSCAL.       BEQ OUTLN.       J
SR SCALE.OUTLN  JSR FINDXY    ; ENTRY PO
INT TO.       LDA XMIN       ; OUTLINE F
ACETS.       STA XPLT.       LDA XMIN+1.
       STA XPLT+1.       LDA YMIN.      
 STA YPLT.       LDA DLTAX1+1  ; CHECK F
OR DX>DY.       BNE STEPX.       SEC.   
    LDA DLTAX1.       SBC DLTAY1.       
BCS STEPX.STEPY  LDA DLTAY1.       STA E
RROR.       STA COUNT.       LSR ERROR. 
      SEC.       LDA DLTAX1.       SBC E
RROR.       STA ERROR.       LDA DLTAX1+
1.       SBC #0.       STA ERROR+1.     
  INC COUNT.LNLP1  LDA MODE      ; 0 = D
RAW, 1 = ERASE.       BNE ERASE1.       
JSR PLOT.       JMP SK1.ERASE1 JSR UNPLO
T.SK1    LDA FLAG1     ; 0 = POSITIVE SL
OPE.       BNE NSLOPE.       INC YPLT.  
     BNE SK2     ; ALWAYS BRANCH.NSLOPE 
DEC YPLT.SK2    BIT ERROR+1.       BMI S
K3.       INC XPLT.       BNE NOINC1.   
    INC XPLT+1.NOINC1 SEC.       LDA ERR
OR.       SBC DLTAY1.       STA ERROR.  
     LDA ERROR+1.       SBC #0.       ST
A ERROR+1.SK3    CLC.       LDA ERROR.  
     ADC DLTAX1.       STA ERROR.       
LDA ERROR+1.       ADC DLTAX1+1.       S
TA ERROR+1.       DEC COUNT.       BNE L
NLP1.       RTS.;.STEPX  LDA DLTAX1.    
   STA ERROR.       STA COUNT.       LDA
 DLTAX1+1.       STA ERROR+1.       STA 
COUNT+1.       LSR ERROR+1.       ROR ER
ROR.       SEC.       LDA DLTAY1.       
SBC ERROR.       STA ERROR.       LDA #0
.       SBC ERROR+1.       STA ERROR+1.L
NLP2  LDA MODE.       BNE ERASE2.       
JSR PLOT.       JMP SKP1.ERASE2 JSR UNPL
OT.SKP1   INC XPLT.       BNE NOINC2.   
    INC XPLT+1.NOINC2 BIT ERROR+1.      
 BMI SKP3.       LDA FLAG1.       BNE NG
SLP.       INC YPLT.       BNE SKP2    ;
 ALWAYS BRANCH.NGSLP  DEC YPLT.SKP2   SE
C.       LDA ERROR.       SBC DLTAX1.   
    STA ERROR.       LDA ERROR+1.       
SBC DLTAX1+1.       STA ERROR+1.SKP3   C
LC.       LDA ERROR.       ADC DLTAY1.  
     STA ERROR.       LDA ERROR+1.      
 ADC #0.       STA ERROR+1.       SEC.  
     LDA COUNT.       SBC #1.       STA 
COUNT.       BCS TEST.       DEC COUNT+1
.TEST   BIT COUNT+1.       BPL LNLP2.   
    RTS.;.;*****************************
************.; DRAW A SHADED VERTICAL LI
NE AT.; XPLT FROM YTOP TO YBOT.;.VLINE  
SEC         ; MAKE SURE YTOP>YBOT.      
 LDA YTOP.       SBC YBOT.       BCS DRA
W.       LDA YTOP.       PHA.       LDA 
YBOT.       STA YTOP.       PLA.       S
TA YBOT.DRAW   LDA YTOP.       STA YPLT.
       JSR NORM    ; PLOT A SHADE-WEIGHT
ED.       LDA YTOP    ; PIXEL CHECKING O
NLY.       CMP YBOT    ; FOR SHADE STYLE
.       BEQ DONE.       DEC YTOP.       
JMP DRAW.DONE   RTS.;.;*****************
************************.;.; FIND ENDPOI
NTS FOR VERTICAL LINES.; BETWEEN FACET E
DGES.;.ENDPTS LDA XDIFF.       STA MLPCN
D.       LDA DELTAY.       STA MLPLER.  
     JSR MULT.       STA DVDND+1.       
LDA PROD.       STA DVDND.       LDA #0.
       STA DVSOR+1.       LDA DELTAX.   
    STA DVSOR.       JSR DIVIDE.       L
DA FLAG.       BNE NEGSLP.       CLC.   
    LDA YBASE.       ADC QUOT.       BCC
 SKIP2.NEGSLP SEC.       LDA YBASE.     
  SBC QUOT.SKIP2  RTS.;.;***************
**************************.;.; FIND COOR
DINATE DIFFERENCES.;.; ALL "DELTA X" VAL
UES POSITIVE,.; SINGLE PRECISION (JUST L
OWER BYTE).;.FINDXY SEC.       LDA XMID.
       SBC XMIN.       STA DLTAX1.      
 LDA XMID+1.       SBC XMIN+1.       STA
 DLTAX1+1.       SEC.       LDA XMAX.   
    SBC XMID.       STA DLTAX2.       SE
C.       LDA XMAX.       SBC XMIN.      
 STA DLTAX3.;.; USE ABS(DELTA Y) VALUES,
.; FLAGS INDICATE SLOPE OF LIMIT LINES.;
.       LDA #$00.       STA FLAG1.      
 STA FLAG2.       STA FLAG3.       SEC. 
      LDA YMID.       SBC YMIN.       BC
S STORE1.       INC FLAG1.       LDA YMI
N.       SBC YMID.STORE1 STA DLTAY1.    
   SEC.       LDA YMAX.       SBC YMID. 
      BCS STORE2.       INC FLAG2.      
 LDA YMID.       SBC YMAX.STORE2 STA DLT
AY2.       SEC.       LDA YMAX.       SB
C YMIN.       BCS STORE3.       INC FLAG
3.       LDA YMIN.       SBC YMAX.STORE3
 STA DLTAY3.       RTS.;.;**************
***************************.;.; DRAW A S
HADED TRIANGULAR FACET.;.FACET  JSR SORT
X.       LDA NOSCAL.       BEQ YSOK.    
   JSR SCALE.YSOK   JSR FINDXY.       LD
A XMIN.       STA XPLT.       LDA XMIN+1
.       STA XPLT+1.FCETLP SEC.       LDA
 XPLT.       SBC XMIN.       STA XDIFF. 
      LDA DLTAX1.       BEQ CONT.       
STA DELTAX.       LDA DLTAY1.       STA 
DELTAY.       LDA FLAG1.       STA FLAG.
       LDA YMIN.       STA YBASE.       
JSR ENDPTS.       STA YTOP.       LDA DL
TAX3.       BEQ CONT.       STA DELTAX. 
      LDA DLTAY3.       STA DELTAY.     
  LDA FLAG3.       STA FLAG.       JSR E
NDPTS.       STA YBOT.       JSR VLINE. 
      LDA XPLT+1.       CMP XMID+1.     
  BNE NEXTX1.       LDA XPLT.       CMP 
XMID.       BEQ CONT.NEXTX1 INC XPLT.   
    BNE SKIP3.       INC XPLT+1.SKIP3  J
MP FCETLP.CONT   SEC.       LDA XPLT.   
    SBC XMIN.       STA XDIFF.       LDA
 DLTAX3.       BEQ FINI.       STA DELTA
X.       LDA DLTAY3.       STA DELTAY.  
     LDA FLAG3.       STA FLAG.       LD
A YMIN.       STA YBASE.       JSR ENDPT
S.       STA YBOT.       SEC.       LDA 
XPLT.       SBC XMID.       STA XDIFF.  
     LDA DLTAX2.       BEQ FINI.       S
TA DELTAX.       LDA DLTAY2.       STA D
ELTAY.       LDA FLAG2.       STA FLAG. 
      LDA YMID.       STA YBASE.       J
SR ENDPTS.       STA YTOP.       JSR VLI
NE.       LDA XPLT+1.       CMP XMAX+1. 
      BNE NEXTX2.       LDA XPLT.       
CMP XMAX.       BEQ FINI.NEXTX2 INC XPLT
.       BNE SKIP4.       INC XPLT+1.SKIP
4  JMP CONT.FINI   LDA EDGES.       BEQ 
FINISH.       JSR OUTLN.       JSR SWAP2
3.       JSR OUTLN.       JSR SWAP12.   
    JSR SWAP23.       JSR SWAP12.       
JSR OUTLN.FINISH RTS..END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL