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

INTERFACE.SRC

FILE INFORMATION

FILENAME(S): INTERFACE.SRC

FILE TYPE(S): SEQ

FILE SIZE: 5.2K

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

APPEARS ON: 3 disk(s)

FILE HASH

844dfeaadc0745699420b1f2a86f21b907f731bfb6d5058c94dae7beaaefa47b

FOUND ON DISKS (3 DISKS)

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

FILE CONTENT & ANALYSIS

00000000: 3B 20 49 4E 54 45 52 46  41 43 45 20 2D 20 45 41  |; INTERFACE - EA|
00000010: 53 59 20 50 41 52 41 4D  45 54 45 52 20 53 45 54  |SY PARAMETER SET|
00000020: 54 49 4E 47 20 46 4F 52  20 53 48 41 50 45 0D 3B  |TING FOR SHAPE.;|
00000030: 20 44 52 41 57 49 4E 47  20 52 4F 55 54 49 4E 45  | DRAWING ROUTINE|
00000040: 53 20 46 52 4F 4D 20 42  41 53 49 43 2E 0D 3B 0D  |S FROM BASIC..;.|
00000050: 3B 20 52 49 43 48 41 52  44 20 4C 2E 20 52 59 4C  |; RICHARD L. RYL|
00000060: 41 4E 44 45 52 20 20 31  31 2F 32 33 2F 38 34 0D  |ANDER  11/23/84.|
00000070: 3B 0D 3B 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;.;*************|
00000080: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000090: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 4F 52 49 47  |***********.ORIG|
000000A0: 49 4E 3D 24 43 41 43 38  0D 52 41 4D 20 20 20 3D  |IN=$CAC8.RAM   =|
000000B0: 24 30 33 39 33 0D 3B 0D  3B 20 50 41 52 41 4D 45  |$0393.;.; PARAME|
000000C0: 54 45 52 20 4C 4F 43 41  54 49 4F 4E 53 20 46 4F  |TER LOCATIONS FO|
000000D0: 52 20 56 41 52 49 4F 55  53 20 53 48 41 50 45 53  |R VARIOUS SHAPES|
000000E0: 0D 3B 0D 58 43 45 4E 54  20 3D 24 30 33 36 41 0D  |.;.XCENT =$036A.|
000000F0: 59 43 45 4E 54 20 3D 24  30 33 36 46 0D 58 50 4C  |YCENT =$036F.XPL|
00000100: 4F 54 20 3D 24 30 33 33  46 0D 59 50 4C 4F 54 20  |OT =$033F.YPLOT |
00000110: 3D 24 30 33 34 31 0D 58  4D 49 4E 20 20 3D 24 30  |=$0341.XMIN  =$0|
00000120: 33 34 41 0D 59 4D 49 4E  20 20 3D 24 30 33 34 43  |34A.YMIN  =$034C|
00000130: 0D 58 4D 49 44 20 20 3D  24 30 33 34 44 0D 59 4D  |.XMID  =$034D.YM|
00000140: 49 44 20 20 3D 24 30 33  34 46 0D 58 4D 41 58 20  |ID  =$034F.XMAX |
00000150: 20 3D 24 30 33 35 30 0D  59 4D 41 58 20 20 3D 24  | =$0350.YMAX  =$|
00000160: 30 33 35 32 0D 52 41 44  49 55 53 20 3D 24 30 33  |0352.RADIUS =$03|
00000170: 37 37 0D 48 4C 45 4E 20  20 3D 24 30 33 38 39 0D  |77.HLEN  =$0389.|
00000180: 52 49 20 20 20 20 3D 24  30 33 38 46 0D 52 4F 20  |RI    =$038F.RO |
00000190: 20 20 20 3D 24 30 33 38  45 0D 3B 0D 48 56 46 4C  |   =$038E.;.HVFL|
000001A0: 41 47 20 3D 24 30 33 38  33 0D 56 41 4C 55 45 20  |AG =$0383.VALUE |
000001B0: 3D 24 30 33 34 34 0D 50  4C 54 46 4C 47 20 3D 24  |=$0344.PLTFLG =$|
000001C0: 30 33 33 45 0D 3B 0D 44  45 46 4C 41 47 20 3D 24  |033E.;.DEFLAG =$|
000001D0: 46 42 0D 3B 0D 3B 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |FB.;.;**********|
000001E0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000001F0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 3B  |**************.;|
00000200: 0D 3B 20 46 55 4E 43 54  49 4F 4E 20 4C 4F 43 41  |.; FUNCTION LOCA|
00000210: 54 49 4F 4E 53 0D 3B 0D  47 52 46 4F 4E 20 3D 24  |TIONS.;.GRFON =$|
00000220: 43 30 45 32 20 20 20 20  20 20 3B 20 53 57 49 54  |C0E2      ; SWIT|
00000230: 43 48 20 54 4F 20 47 52  41 50 48 49 43 53 20 4D  |CH TO GRAPHICS M|
00000240: 4F 44 45 0D 47 52 46 4F  46 46 20 3D 24 43 31 30  |ODE.GRFOFF =$C10|
00000250: 33 20 20 20 20 20 20 3B  20 52 45 54 55 52 4E 20  |3      ; RETURN |
00000260: 54 4F 20 54 45 58 54 20  44 49 53 50 4C 41 59 0D  |TO TEXT DISPLAY.|
00000270: 3B 0D 43 4C 45 41 52 52  3D 24 43 31 32 43 20 20  |;.CLEARR=$C12C  |
00000280: 20 20 20 20 20 3B 20 43  4C 45 41 52 20 42 49 54  |     ; CLEAR BIT|
00000290: 4D 41 50 0D 43 4C 52 42  59 54 3D 24 43 31 33 35  |MAP.CLRBYT=$C135|
000002A0: 20 20 20 20 20 20 20 3B  20 43 4C 45 41 52 20 28  |       ; CLEAR (|
000002B0: 46 49 4C 4C 29 20 42 59  54 45 0D 43 4F 4C 4F 52  |FILL) BYTE.COLOR|
000002C0: 52 3D 24 43 31 31 38 20  20 20 20 20 20 20 3B 20  |R=$C118       ; |
000002D0: 4C 4F 41 44 20 43 4F 4C  4F 52 20 4D 41 50 0D 43  |LOAD COLOR MAP.C|
000002E0: 4F 4C 42 59 54 3D 24 43  31 31 39 20 20 20 20 20  |OLBYT=$C119     |
000002F0: 20 20 3B 20 43 4F 4C 4F  52 20 42 59 54 45 0D 3B  |  ; COLOR BYTE.;|
00000300: 0D 50 4C 4F 54 52 20 3D  24 43 31 34 42 20 20 20  |.PLOTR =$C14B   |
00000310: 20 20 20 3B 20 50 4F 49  4E 54 20 50 4C 4F 54 20  |   ; POINT PLOT |
00000320: 52 4F 55 54 49 4E 45 0D  4C 49 4E 45 52 20 3D 24  |ROUTINE.LINER =$|
00000330: 43 32 44 42 20 20 20 20  20 20 20 3B 20 44 52 41  |C2DB       ; DRA|
00000340: 57 20 41 20 4C 49 4E 45  0D 46 41 43 45 54 52 20  |W A LINE.FACETR |
00000350: 3D 24 43 34 45 31 20 20  20 20 20 20 20 3B 20 44  |=$C4E1       ; D|
00000360: 52 41 57 20 41 20 53 48  41 44 45 44 20 46 41 43  |RAW A SHADED FAC|
00000370: 45 54 0D 3B 0D 3B 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |ET.;.;**********|
00000380: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000390: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 3B  |**************.;|
000003A0: 0D 3B 20 53 48 41 44 45  44 20 53 48 41 50 45 20  |.; SHADED SHAPE |
000003B0: 44 52 41 57 49 4E 47 20  52 4F 55 54 49 4E 45 53  |DRAWING ROUTINES|
000003C0: 0D 3B 0D 53 50 48 45 52  52 3D 24 43 37 43 37 20  |.;.SPHERR=$C7C7 |
000003D0: 20 20 20 20 20 20 3B 20  53 50 48 45 52 45 0D 43  |      ; SPHERE.C|
000003E0: 59 4C 4E 44 52 3D 24 43  38 36 34 20 20 20 20 20  |YLNDR=$C864     |
000003F0: 20 20 3B 20 43 59 4C 49  4E 44 45 52 0D 54 4F 52  |  ; CYLINDER.TOR|
00000400: 55 53 52 3D 24 43 39 30  46 20 20 20 20 20 20 20  |USR=$C90F       |
00000410: 3B 20 54 4F 50 2D 56 49  45 57 20 54 4F 52 4F 49  |; TOP-VIEW TOROI|
00000420: 44 0D 45 44 47 54 4F 52  3D 24 43 38 38 46 20 20  |D.EDGTOR=$C88F  |
00000430: 20 20 20 20 20 3B 20 45  44 47 45 2D 56 49 45 57  |     ; EDGE-VIEW|
00000440: 20 54 4F 52 4F 49 44 0D  53 50 4F 4F 4C 52 3D 24  | TOROID.SPOOLR=$|
00000450: 43 41 33 42 20 20 20 20  20 20 20 3B 20 49 4E 53  |CA3B       ; INS|
00000460: 49 44 45 2D 56 49 45 57  20 54 4F 52 4F 49 44 0D  |IDE-VIEW TOROID.|
00000470: 3B 0D 3B 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |;.;*************|
00000480: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000490: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 0D 3B 0D 3B 20  |***********.;.; |
000004A0: 42 41 53 49 43 20 52 4F  4D 20 52 4F 55 54 49 4E  |BASIC ROM ROUTIN|
000004B0: 45 53 0D 3B 0D 43 48 4B  43 4F 4D 3D 24 41 45 46  |ES.;.CHKCOM=$AEF|
000004C0: 44 20 20 20 20 20 20 20  3B 20 43 48 45 43 4B 20  |D       ; CHECK |
000004D0: 46 4F 52 20 43 4F 4D 4D  41 0D 45 56 41 45 58 50  |FOR COMMA.EVAEXP|
000004E0: 3D 24 41 44 39 45 20 20  20 20 20 20 20 3B 20 45  |=$AD9E       ; E|
000004F0: 56 41 4C 55 41 54 45 20  45 58 50 52 45 53 53 49  |VALUATE EXPRESSI|
00000500: 4F 4E 0D 46 4C 54 46 49  58 3D 24 42 31 41 41 20  |ON.FLTFIX=$B1AA |
00000510: 20 20 20 20 20 20 3B 20  43 4F 4E 56 45 52 54 20  |      ; CONVERT |
00000520: 54 4F 20 46 49 58 45 44  0D 3B 0D 2A 3D 52 41 4D  |TO FIXED.;.*=RAM|
00000530: 0D 4C 49 4E 46 41 43 20  2A 3D 2A 2B 31 20 20 20  |.LINFAC *=*+1   |
00000540: 20 20 20 20 3B 20 4C 49  4E 45 20 4F 52 20 46 41  |    ; LINE OR FA|
00000550: 43 45 54 20 46 4C 41 47  0D 3B 0D 2A 3D 4F 52 49  |CET FLAG.;.*=ORI|
00000560: 47 49 4E 0D 3B 0D 3B 2A  2A 2A 2A 2A 2A 2A 2A 2A  |GIN.;.;*********|
00000570: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000580: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 0D  |***************.|
00000590: 3B 0D 3B 20 47 45 54 20  50 41 52 41 4D 45 54 45  |;.; GET PARAMETE|
000005A0: 52 53 20 46 52 4F 4D 20  42 41 53 49 43 20 43 41  |RS FROM BASIC CA|
000005B0: 4C 4C 49 4E 47 20 53 54  41 54 45 4D 45 4E 54 0D  |LLING STATEMENT.|
000005C0: 3B 20 4F 46 20 54 48 45  20 46 4F 52 4D 3A 0D 3B  |; OF THE FORM:.;|
000005D0: 20 53 59 53 28 46 4E 43  54 4E 29 2C 50 41 52 41  | SYS(FNCTN),PARA|
000005E0: 4D 31 2C 50 41 52 41 4D  32 2C 50 41 52 41 4D 33  |M1,PARAM2,PARAM3|
000005F0: 5B 4F 50 54 5D 0D 3B 20  57 48 45 52 45 20 54 48  |[OPT].; WHERE TH|
00000600: 45 20 54 48 49 52 44 20  50 41 52 41 4D 45 54 45  |E THIRD PARAMETE|
00000610: 52 20 28 46 4F 52 20 45  58 41 4D 50 4C 45 29 0D  |R (FOR EXAMPLE).|
00000620: 3B 20 4D 41 59 20 42 45  20 4F 50 54 49 4F 4E 41  |; MAY BE OPTIONA|
00000630: 4C 20 28 41 20 44 45 46  41 55 4C 54 20 56 41 4C  |L (A DEFAULT VAL|
00000640: 55 45 20 49 53 20 55 53  45 44 0D 3B 20 49 46 20  |UE IS USED.; IF |
00000650: 54 48 45 20 50 41 52 41  4D 45 54 45 52 20 49 53  |THE PARAMETER IS|
00000660: 20 4E 4F 54 20 53 50 45  43 49 46 49 45 44 29 0D  | NOT SPECIFIED).|
00000670: 3B 0D 47 45 54 4E 55 4D  20 4A 53 52 20 43 48 4B  |;.GETNUM JSR CHK|
00000680: 43 4F 4D 20 20 20 3B 20  4C 4F 4F 4B 20 46 4F 52  |COM   ; LOOK FOR|
00000690: 20 43 4F 4D 4D 41 0D 20  20 20 20 20 20 20 4A 53  | COMMA.       JS|
000006A0: 52 20 45 56 41 45 58 50  20 20 20 3B 20 45 56 41  |R EVAEXP   ; EVA|
000006B0: 4C 55 41 54 45 20 45 58  50 52 45 53 53 49 4F 4E  |LUATE EXPRESSION|
000006C0: 0D 20 20 20 20 20 20 20  4A 53 52 20 46 4C 54 46  |.       JSR FLTF|
000006D0: 49 58 20 20 20 3B 20 43  48 41 4E 47 45 20 54 4F  |IX   ; CHANGE TO|
000006E0: 20 49 4E 54 45 47 45 52  20 57 49 54 48 0D 3B 20  | INTEGER WITH.; |
000006F0: 48 49 47 48 20 42 59 54  45 20 49 4E 20 22 41 22  |HIGH BYTE IN "A"|
00000700: 20 41 4E 44 20 4C 4F 57  20 42 59 54 45 20 49 4E  | AND LOW BYTE IN|
00000710: 20 22 59 22 0D 20 20 20  20 20 20 20 52 54 53 0D  | "Y".       RTS.|
00000720: 3B 0D 3B 20 43 48 45 43  4B 20 46 4F 52 20 41 44  |;.; CHECK FOR AD|
00000730: 44 49 54 49 4F 4E 41 4C  20 28 4F 50 54 49 4F 4E  |DITIONAL (OPTION|
00000740: 41 4C 29 20 50 41 52 41  4D 45 54 45 52 53 0D 3B  |AL) PARAMETERS.;|
00000750: 0D 50 43 48 45 43 4B 20  4C 44 41 20 23 24 32 43  |.PCHECK LDA #$2C|
00000760: 20 20 20 20 20 3B 20 22  2C 22 20 43 4F 4D 4D 41  |     ; "," COMMA|
00000770: 0D 20 20 20 20 20 20 20  4C 44 59 20 23 30 0D 20  |.       LDY #0. |
00000780: 20 20 20 20 20 20 53 54  59 20 44 45 46 4C 41 47  |      STY DEFLAG|
00000790: 0D 20 20 20 20 20 20 20  43 4D 50 20 28 24 37 41  |.       CMP ($7A|
000007A0: 29 2C 59 0D 20 20 20 20  20 20 20 42 4E 45 20 4E  |),Y.       BNE N|
000007B0: 4F 4D 4F 52 45 20 20 20  3B 20 4E 4F 20 43 4F 4D  |OMORE   ; NO COM|
000007C0: 4D 41 20 2D 20 55 53 45  20 44 45 46 41 55 4C 54  |MA - USE DEFAULT|
000007D0: 0D 20 20 20 20 20 20 20  4A 4D 50 20 24 30 30 37  |.       JMP $007|
000007E0: 33 0D 4E 4F 4D 4F 52 45  20 4C 44 59 20 23 24 38  |3.NOMORE LDY #$8|
000007F0: 30 0D 20 20 20 20 20 20  20 53 54 59 20 44 45 46  |0.       STY DEF|
00000800: 4C 41 47 0D 20 20 20 20  20 20 20 52 54 53 0D 3B  |LAG.       RTS.;|
00000810: 0D 3B 20 47 45 54 20 54  57 4F 20 41 44 44 49 54  |.; GET TWO ADDIT|
00000820: 49 4F 4E 41 4C 20 50 41  52 41 4D 45 54 45 52 53  |IONAL PARAMETERS|
00000830: 20 46 4F 52 20 54 4F 52  4F 49 44 53 0D 3B 0D 47  | FOR TOROIDS.;.G|
00000840: 45 54 54 57 4F 20 4A 53  52 20 50 43 48 45 43 4B  |ETTWO JSR PCHECK|
00000850: 0D 20 20 20 20 20 20 20  42 49 54 20 44 45 46 4C  |.       BIT DEFL|
00000860: 41 47 0D 20 20 20 20 20  20 20 42 4D 49 20 44 46  |AG.       BMI DF|
00000870: 41 55 4C 54 0D 20 20 20  20 20 20 20 4A 53 52 20  |AULT.       JSR |
00000880: 45 56 41 45 58 50 0D 20  20 20 20 20 20 20 4A 53  |EVAEXP.       JS|
00000890: 52 20 46 4C 54 46 49 58  0D 20 20 20 20 20 20 20  |R FLTFIX.       |
000008A0: 53 54 59 20 52 49 0D 20  20 20 20 20 20 20 4A 53  |STY RI.       JS|
000008B0: 52 20 47 45 54 4E 55 4D  0D 20 20 20 20 20 20 20  |R GETNUM.       |
000008C0: 53 54 59 20 52 4F 0D 44  46 41 55 4C 54 20 52 54  |STY RO.DFAULT RT|
000008D0: 53 0D 3B 0D 3B 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |S.;.;***********|
000008E0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000008F0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 0D 3B 0D  |*************.;.|
00000900: 3B 20 53 45 54 20 43 45  4E 54 45 52 20 43 4F 4F  |; SET CENTER COO|
00000910: 52 44 49 4E 41 54 45 53  0D 3B 0D 43 45 4E 54 45  |RDINATES.;.CENTE|
00000920: 52 20 4A 53 52 20 47 45  54 4E 55 4D 0D 20 20 20  |R JSR GETNUM.   |
00000930: 20 20 20 20 53 54 59 20  58 43 45 4E 54 0D 20 20  |    STY XCENT.  |
00000940: 20 20 20 20 20 53 54 41  20 58 43 45 4E 54 2B 31  |     STA XCENT+1|
00000950: 0D 20 20 20 20 20 20 20  4A 53 52 20 47 45 54 4E  |.       JSR GETN|
00000960: 55 4D 0D 20 20 20 20 20  20 20 53 54 59 20 59 43  |UM.       STY YC|
00000970: 45 4E 54 0D 20 20 20 20  20 20 20 52 54 53 0D 3B  |ENT.       RTS.;|
00000980: 0D 3B 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.;**************|
00000990: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000009A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 0D 3B 0D 3B 20 43  |**********.;.; C|
000009B0: 4C 45 41 52 20 54 48 45  20 42 49 54 4D 41 50 2C  |LEAR THE BITMAP,|
000009C0: 20 46 49 4C 4C 49 4E 47  20 57 49 54 48 20 28 4F  | FILLING WITH (O|
000009D0: 50 54 49 4F 4E 41 4C 29  0D 3B 20 46 49 4C 4C 20  |PTIONAL).; FILL |
000009E0: 56 41 4C 55 45 20 53 50  45 43 49 46 49 45 44 20  |VALUE SPECIFIED |
000009F0: 4F 52 20 57 49 54 48 20  28 44 45 46 41 55 4C 54  |OR WITH (DEFAULT|
00000A00: 29 20 22 30 22 0D 3B 0D  43 4C 45 41 52 32 20 4A  |) "0".;.CLEAR2 J|
00000A10: 53 52 20 50 43 48 45 43  4B 0D 20 20 20 20 20 20  |SR PCHECK.      |
00000A20: 20 42 49 54 20 44 45 46  4C 41 47 0D 20 20 20 20  | BIT DEFLAG.    |
00000A30: 20 20 20 42 4D 49 20 44  45 46 43 4C 52 0D 20 20  |   BMI DEFCLR.  |
00000A40: 20 20 20 20 20 4A 53 52  20 45 56 41 45 58 50 0D  |     JSR EVAEXP.|
00000A50: 20 20 20 20 20 20 20 4A  53 52 20 46 4C 54 46 49  |       JSR FLTFI|
00000A60: 58 0D 20 20 20 20 20 20  20 2E 42 59 54 45 20 24  |X.       .BYTE $|
00000A70: 32 43 0D 44 45 46 43 4C  52 20 4C 44 59 20 23 30  |2C.DEFCLR LDY #0|
00000A80: 0D 20 20 20 20 20 20 20  53 54 59 20 43 4C 52 42  |.       STY CLRB|
00000A90: 59 54 0D 20 20 20 20 20  20 20 4A 4D 50 20 43 4C  |YT.       JMP CL|
00000AA0: 45 41 52 52 0D 3B 0D 3B  2A 2A 2A 2A 2A 2A 2A 2A  |EARR.;.;********|
00000AB0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000AC0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000AD0: 0D 3B 0D 3B 20 46 49 4C  4C 20 43 4F 4C 4F 52 20  |.;.; FILL COLOR |
00000AE0: 4D 41 50 20 57 49 54 48  20 28 4F 50 54 49 4F 4E  |MAP WITH (OPTION|
00000AF0: 41 4C 29 20 43 4F 4C 4F  52 20 42 59 54 45 0D 3B  |AL) COLOR BYTE.;|
00000B00: 20 53 50 45 43 49 46 49  45 44 20 4F 52 20 57 49  | SPECIFIED OR WI|
00000B10: 54 48 20 28 44 45 46 41  55 4C 54 29 20 22 24 30  |TH (DEFAULT) "$0|
00000B20: 31 22 0D 3B 20 28 42 4C  41 43 4B 20 44 4F 54 53  |1".; (BLACK DOTS|
00000B30: 20 4F 4E 20 57 48 49 54  45 20 42 41 43 4B 47 52  | ON WHITE BACKGR|
00000B40: 4F 55 4E 44 29 0D 3B 0D  43 4F 4C 4F 52 32 20 4A  |OUND).;.COLOR2 J|
00000B50: 53 52 20 50 43 48 45 43  4B 0D 20 20 20 20 20 20  |SR PCHECK.      |
00000B60: 20 42 49 54 20 44 45 46  4C 41 47 0D 20 20 20 20  | BIT DEFLAG.    |
00000B70: 20 20 20 42 4D 49 20 44  45 46 43 4F 4C 0D 20 20  |   BMI DEFCOL.  |
00000B80: 20 20 20 20 20 4A 53 52  20 45 56 41 45 58 50 0D  |     JSR EVAEXP.|
00000B90: 20 20 20 20 20 20 20 4A  53 52 20 46 4C 54 46 49  |       JSR FLTFI|
00000BA0: 58 0D 20 20 20 20 20 20  20 2E 42 59 54 45 20 24  |X.       .BYTE $|
00000BB0: 32 43 0D 44 45 46 43 4F  4C 20 4C 44 59 20 23 24  |2C.DEFCOL LDY #$|
00000BC0: 30 31 0D 20 20 20 20 20  20 20 53 54 59 20 43 4F  |01.       STY CO|
00000BD0: 4C 42 59 54 0D 20 20 20  20 20 20 20 4A 4D 50 20  |LBYT.       JMP |
00000BE0: 43 4F 4C 4F 52 52 0D 3B  0D 3B 2A 2A 2A 2A 2A 2A  |COLORR.;.;******|
00000BF0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000C00: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000C10: 2A 2A 0D 3B 0D 3B 20 50  4C 4F 54 20 4F 52 20 55  |**.;.; PLOT OR U|
00000C20: 4E 50 4C 4F 54 20 50 4F  49 4E 54 53 0D 3B 0D 50  |NPLOT POINTS.;.P|
00000C30: 4C 4F 54 32 20 20 4C 44  41 20 23 30 0D 20 20 20  |LOT2  LDA #0.   |
00000C40: 20 20 20 20 2E 42 59 54  45 20 24 32 43 0D 55 4E  |    .BYTE $2C.UN|
00000C50: 50 4C 54 32 20 4C 44 41  20 23 24 38 30 0D 20 20  |PLT2 LDA #$80.  |
00000C60: 20 20 20 20 20 53 54 41  20 50 4C 54 46 4C 47 0D  |     STA PLTFLG.|
00000C70: 20 20 20 20 20 20 20 4A  53 52 20 47 45 54 4E 55  |       JSR GETNU|
00000C80: 4D 0D 20 20 20 20 20 20  20 53 54 59 20 58 50 4C  |M.       STY XPL|
00000C90: 4F 54 0D 20 20 20 20 20  20 20 53 54 41 20 58 50  |OT.       STA XP|
00000CA0: 4C 4F 54 2B 31 0D 20 20  20 20 20 20 20 4A 53 52  |LOT+1.       JSR|
00000CB0: 20 47 45 54 4E 55 4D 0D  20 20 20 20 20 20 20 53  | GETNUM.       S|
00000CC0: 54 59 20 59 50 4C 4F 54  0D 20 20 20 20 20 20 20  |TY YPLOT.       |
00000CD0: 4A 4D 50 20 50 4C 4F 54  52 0D 3B 0D 3B 2A 2A 2A  |JMP PLOTR.;.;***|
00000CE0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000CF0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000D00: 2A 2A 2A 2A 2A 0D 3B 0D  3B 20 44 52 41 57 20 4C  |*****.;.; DRAW L|
00000D10: 49 4E 45 53 20 42 45 54  57 45 45 4E 20 28 58 31  |INES BETWEEN (X1|
00000D20: 2C 59 31 29 20 41 4E 44  20 28 58 32 2C 59 32 29  |,Y1) AND (X2,Y2)|
00000D30: 0D 3B 20 4F 52 20 53 48  41 44 45 44 20 46 41 43  |.; OR SHADED FAC|
00000D40: 45 54 53 20 42 45 54 57  45 45 4E 20 54 48 52 45  |ETS BETWEEN THRE|
00000D50: 45 20 50 4F 49 4E 54 53  0D 3B 20 28 58 31 2C 59  |E POINTS.; (X1,Y|
00000D60: 31 29 2C 20 28 58 32 2C  59 32 29 20 41 4E 44 20  |1), (X2,Y2) AND |
00000D70: 28 58 33 2C 59 33 29 0D  3B 0D 4C 49 4E 45 32 20  |(X3,Y3).;.LINE2 |
00000D80: 20 4C 44 41 20 23 30 0D  20 20 20 20 20 20 20 2E  | LDA #0.       .|
00000D90: 42 59 54 45 20 24 32 43  0D 46 41 43 45 54 32 20  |BYTE $2C.FACET2 |
00000DA0: 4C 44 41 20 23 24 38 30  0D 20 20 20 20 20 20 20  |LDA #$80.       |
00000DB0: 53 54 41 20 4C 49 4E 46  41 43 0D 20 20 20 20 20  |STA LINFAC.     |
00000DC0: 20 20 4A 53 52 20 47 45  54 4E 55 4D 0D 20 20 20  |  JSR GETNUM.   |
00000DD0: 20 20 20 20 53 54 59 20  58 4D 49 4E 0D 20 20 20  |    STY XMIN.   |
00000DE0: 20 20 20 20 53 54 41 20  58 4D 49 4E 2B 31 0D 20  |    STA XMIN+1. |
00000DF0: 20 20 20 20 20 20 4A 53  52 20 47 45 54 4E 55 4D  |      JSR GETNUM|
00000E00: 0D 20 20 20 20 20 20 20  53 54 59 20 59 4D 49 4E  |.       STY YMIN|
00000E10: 0D 20 20 20 20 20 20 20  4A 53 52 20 47 45 54 4E  |.       JSR GETN|
00000E20: 55 4D 0D 20 20 20 20 20  20 20 53 54 59 20 58 4D  |UM.       STY XM|
00000E30: 49 44 0D 20 20 20 20 20  20 20 53 54 41 20 58 4D  |ID.       STA XM|
00000E40: 49 44 2B 31 0D 20 20 20  20 20 20 20 4A 53 52 20  |ID+1.       JSR |
00000E50: 47 45 54 4E 55 4D 0D 20  20 20 20 20 20 20 53 54  |GETNUM.       ST|
00000E60: 59 20 59 4D 49 44 0D 20  20 20 20 20 20 20 42 49  |Y YMID.       BI|
00000E70: 54 20 4C 49 4E 46 41 43  0D 20 20 20 20 20 20 20  |T LINFAC.       |
00000E80: 42 50 4C 20 4C 44 52 41  57 0D 20 20 20 20 20 20  |BPL LDRAW.      |
00000E90: 20 4A 53 52 20 47 45 54  4E 55 4D 0D 20 20 20 20  | JSR GETNUM.    |
00000EA0: 20 20 20 53 54 59 20 58  4D 41 58 0D 20 20 20 20  |   STY XMAX.    |
00000EB0: 20 20 20 53 54 41 20 58  4D 41 58 2B 31 0D 20 20  |   STA XMAX+1.  |
00000EC0: 20 20 20 20 20 4A 53 52  20 47 45 54 4E 55 4D 0D  |     JSR GETNUM.|
00000ED0: 20 20 20 20 20 20 20 53  54 59 20 59 4D 41 58 0D  |       STY YMAX.|
00000EE0: 20 20 20 20 20 20 20 4A  53 52 20 47 45 54 4E 55  |       JSR GETNU|
00000EF0: 4D 0D 20 20 20 20 20 20  20 53 54 59 20 56 41 4C  |M.       STY VAL|
00000F00: 55 45 0D 20 20 20 20 20  20 20 4A 4D 50 20 46 41  |UE.       JMP FA|
00000F10: 43 45 54 52 0D 4C 44 52  41 57 20 20 4A 4D 50 20  |CETR.LDRAW  JMP |
00000F20: 4C 49 4E 45 52 0D 3B 0D  3B 2A 2A 2A 2A 2A 2A 2A  |LINER.;.;*******|
00000F30: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000F40: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000F50: 2A 0D 3B 0D 3B 20 44 52  41 57 20 41 20 53 50 48  |*.;.; DRAW A SPH|
00000F60: 45 52 45 20 43 45 4E 54  45 52 45 44 20 41 54 20  |ERE CENTERED AT |
00000F70: 28 58 43 45 4E 54 2C 59  43 45 4E 54 29 0D 3B 20  |(XCENT,YCENT).; |
00000F80: 44 45 46 41 55 4C 54 20  52 41 44 49 55 53 20 49  |DEFAULT RADIUS I|
00000F90: 53 20 4C 41 53 54 20 56  41 4C 55 45 20 55 53 45  |S LAST VALUE USE|
00000FA0: 44 0D 3B 0D 53 50 48 45  52 32 20 4A 53 52 20 43  |D.;.SPHER2 JSR C|
00000FB0: 45 4E 54 45 52 0D 20 20  20 20 20 20 20 4A 53 52  |ENTER.       JSR|
00000FC0: 20 50 43 48 45 43 4B 0D  20 20 20 20 20 20 20 42  | PCHECK.       B|
00000FD0: 49 54 20 44 45 46 4C 41  47 0D 20 20 20 20 20 20  |IT DEFLAG.      |
00000FE0: 20 42 4D 49 20 53 4B 49  50 31 0D 20 20 20 20 20  | BMI SKIP1.     |
00000FF0: 20 20 4A 53 52 20 45 56  41 45 58 50 0D 20 20 20  |  JSR EVAEXP.   |
00001000: 20 20 20 20 4A 53 52 20  46 4C 54 46 49 58 0D 20  |    JSR FLTFIX. |
00001010: 20 20 20 20 20 20 53 54  59 20 52 41 44 49 55 53  |      STY RADIUS|
00001020: 0D 53 4B 49 50 31 20 20  4A 4D 50 20 53 50 48 45  |.SKIP1  JMP SPHE|
00001030: 52 52 0D 3B 0D 3B 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |RR.;.;**********|
00001040: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001050: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 3B  |**************.;|
00001060: 0D 3B 20 44 52 41 57 20  41 20 54 4F 50 2D 56 49  |.; DRAW A TOP-VI|
00001070: 45 57 20 54 4F 52 4F 49  44 20 41 54 20 28 58 43  |EW TOROID AT (XC|
00001080: 45 4E 54 2C 59 43 45 4E  54 29 0D 3B 20 44 45 46  |ENT,YCENT).; DEF|
00001090: 41 55 4C 54 20 49 4E 4E  45 52 20 41 4E 44 20 4F  |AULT INNER AND O|
000010A0: 55 54 45 52 20 52 41 44  49 49 20 41 52 45 20 4C  |UTER RADII ARE L|
000010B0: 41 53 54 20 55 53 45 44  0D 3B 0D 54 4F 52 55 53  |AST USED.;.TORUS|
000010C0: 32 20 4A 53 52 20 43 45  4E 54 45 52 0D 20 20 20  |2 JSR CENTER.   |
000010D0: 20 20 20 20 4A 53 52 20  47 45 54 54 57 4F 0D 20  |    JSR GETTWO. |
000010E0: 20 20 20 20 20 20 4A 4D  50 20 54 4F 52 55 53 52  |      JMP TORUSR|
000010F0: 0D 3B 0D 3B 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.;.;************|
00001100: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00001110: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 0D 3B 0D 3B  |************.;.;|
00001120: 20 44 52 41 57 20 43 59  4C 49 4E 44 45 52 53 20  | DRAW CYLINDERS |
00001130: 57 49 54 48 20 41 58 45  53 20 48 4F 52 49 5A 4F  |WITH AXES HORIZO|
00001140: 4E 54 41 4C 20 4F 52 0D  3B 20 56 45 52 54 49 43  |NTAL OR.; VERTIC|
00001150: 41 4C 2E 20 20 44 45 46  41 55 4C 54 20 52 41 44  |AL.  DEFAULT RAD|
00001160: 49 55 53 20 41 4E 44 20  22 48 41 4C 46 2D 4C 45  |IUS AND "HALF-LE|
00001170: 4E 47 54 48 22 0D 3B 20  41 52 45 20 4C 41 53 54  |NGTH".; ARE LAST|
00001180: 20 56 41 4C 55 45 53 20  55 53 45 44 2E 0D 3B 0D  | VALUES USED..;.|
00001190: 56 43 59 4C 32 20 20 4C  44 41 20 23 24 38 30 0D  |VCYL2  LDA #$80.|
000011A0: 20 20 20 20 20 20 20 2E  42 59 54 45 20 24 32 43  |       .BYTE $2C|
000011B0: 0D 48 43 59 4C 32 20 20  4C 44 41 20 23 30 0D 20  |.HCYL2  LDA #0. |
000011C0: 20 20 20 20 20 20 53 54  41 20 48 56 46 4C 41 47  |      STA HVFLAG|
000011D0: 0D 20 20 20 20 20 20 20  4A 53 52 20 43 45 4E 54  |.       JSR CENT|
000011E0: 45 52 0D 20 20 20 20 20  20 20 4A 53 52 20 50 43  |ER.       JSR PC|
000011F0: 48 45 43 4B 0D 20 20 20  20 20 20 20 42 49 54 20  |HECK.       BIT |
00001200: 44 45 46 4C 41 47 0D 20  20 20 20 20 20 20 42 4D  |DEFLAG.       BM|
00001210: 49 20 53 4B 49 50 32 0D  20 20 20 20 20 20 20 4A  |I SKIP2.       J|
00001220: 53 52 20 45 56 41 45 58  50 0D 20 20 20 20 20 20  |SR EVAEXP.      |
00001230: 20 4A 53 52 20 46 4C 54  46 49 58 0D 20 20 20 20  | JSR FLTFIX.    |
00001240: 20 20 20 53 54 59 20 52  41 44 49 55 53 0D 20 20  |   STY RADIUS.  |
00001250: 20 20 20 20 20 4A 53 52  20 47 45 54 4E 55 4D 0D  |     JSR GETNUM.|
00001260: 20 20 20 20 20 20 20 53  54 59 20 48 4C 45 4E 0D  |       STY HLEN.|
00001270: 53 4B 49 50 32 20 20 4A  4D 50 20 43 59 4C 4E 44  |SKIP2  JMP CYLND|
00001280: 52 0D 3B 0D 3B 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |R.;.;***********|
00001290: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000012A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 0D 3B 0D  |*************.;.|
000012B0: 3B 20 44 52 41 57 20 45  44 47 45 2D 56 49 45 57  |; DRAW EDGE-VIEW|
000012C0: 20 54 4F 52 4F 49 44 53  20 57 49 54 48 20 41 58  | TOROIDS WITH AX|
000012D0: 45 53 20 48 4F 52 49 5A  4F 4E 54 41 4C 0D 3B 20  |ES HORIZONTAL.; |
000012E0: 4F 52 20 56 45 52 54 49  43 41 4C 0D 3B 20 49 4E  |OR VERTICAL.; IN|
000012F0: 4E 4E 45 52 20 41 4E 44  20 4F 55 54 45 52 20 52  |NNER AND OUTER R|
00001300: 41 44 49 49 20 41 52 45  20 4F 50 54 49 4F 4E 41  |ADII ARE OPTIONA|
00001310: 4C 0D 3B 0D 56 54 4F 52  32 20 20 4C 44 41 20 23  |L.;.VTOR2  LDA #|
00001320: 24 38 30 0D 20 20 20 20  20 20 20 2E 42 59 54 45  |$80.       .BYTE|
00001330: 20 24 32 43 0D 48 54 4F  52 32 20 20 4C 44 41 20  | $2C.HTOR2  LDA |
00001340: 23 30 0D 20 20 20 20 20  20 20 53 54 41 20 48 56  |#0.       STA HV|
00001350: 46 4C 41 47 0D 20 20 20  20 20 20 20 4A 53 52 20  |FLAG.       JSR |
00001360: 43 45 4E 54 45 52 0D 20  20 20 20 20 20 20 4A 53  |CENTER.       JS|
00001370: 52 20 47 45 54 54 57 4F  0D 20 20 20 20 20 20 20  |R GETTWO.       |
00001380: 4A 4D 50 20 45 44 47 54  4F 52 0D 3B 0D 3B 2A 2A  |JMP EDGTOR.;.;**|
00001390: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000013A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000013B0: 2A 2A 2A 2A 2A 2A 0D 3B  0D 3B 20 44 52 41 57 20  |******.;.; DRAW |
000013C0: 49 4E 53 49 44 45 2D 56  49 45 57 20 54 4F 52 4F  |INSIDE-VIEW TORO|
000013D0: 49 44 53 2C 20 22 53 50  4F 4F 4C 53 22 2C 0D 3B  |IDS, "SPOOLS",.;|
000013E0: 20 57 49 54 48 20 41 58  45 53 20 48 4F 52 49 5A  | WITH AXES HORIZ|
000013F0: 4F 4E 54 41 4C 20 4F 52  20 56 45 52 54 49 43 41  |ONTAL OR VERTICA|
00001400: 4C 0D 3B 20 49 4E 4E 45  52 20 41 4E 44 20 4F 55  |L.; INNER AND OU|
00001410: 54 45 52 20 52 41 44 49  49 20 41 52 45 20 4F 50  |TER RADII ARE OP|
00001420: 54 49 4F 4E 41 4C 0D 3B  0D 56 53 50 4C 32 20 20  |TIONAL.;.VSPL2  |
00001430: 4C 44 41 20 23 24 38 30  0D 20 20 20 20 20 20 20  |LDA #$80.       |
00001440: 2E 42 59 54 45 20 24 32  43 0D 48 53 50 4C 32 20  |.BYTE $2C.HSPL2 |
00001450: 20 4C 44 41 20 23 30 0D  20 20 20 20 20 20 20 53  | LDA #0.       S|
00001460: 54 41 20 48 56 46 4C 41  47 0D 20 20 20 20 20 20  |TA HVFLAG.      |
00001470: 20 4A 53 52 20 43 45 4E  54 45 52 0D 20 20 20 20  | JSR CENTER.    |
00001480: 20 20 20 4A 53 52 20 47  45 54 54 57 4F 0D 20 20  |   JSR GETTWO.  |
00001490: 20 20 20 20 20 4A 4D 50  20 53 50 4F 4F 4C 52 0D  |     JMP SPOOLR.|
000014A0: 2E 45 4E 44 0D                                    |.END.           |
; INTERFACE - EASY PARAMETER SETTING FOR
 SHAPE.; DRAWING ROUTINES FROM BASIC..;.
; RICHARD L. RYLANDER  11/23/84.;.;*****
***********************************.ORIG
IN=$CAC8.RAM   =$0393.;.; PARAMETER LOCA
TIONS FOR VARIOUS SHAPES.;.XCENT =$036A.
YCENT =$036F.XPLOT =$033F.YPLOT =$0341.X
MIN  =$034A.YMIN  =$034C.XMID  =$034D.YM
ID  =$034F.XMAX  =$0350.YMAX  =$0352.RAD
IUS =$0377.HLEN  =$0389.RI    =$038F.RO 
   =$038E.;.HVFLAG =$0383.VALUE =$0344.P
LTFLG =$033E.;.DEFLAG =$FB.;.;**********
******************************.;.; FUNCT
ION LOCATIONS.;.GRFON =$C0E2      ; SWIT
CH TO GRAPHICS MODE.GRFOFF =$C103      ;
 RETURN TO TEXT DISPLAY.;.CLEARR=$C12C  
     ; CLEAR BITMAP.CLRBYT=$C135       ;
 CLEAR (FILL) BYTE.COLORR=$C118       ; 
LOAD COLOR MAP.COLBYT=$C119       ; COLO
R BYTE.;.PLOTR =$C14B      ; POINT PLOT 
ROUTINE.LINER =$C2DB       ; DRAW A LINE
.FACETR =$C4E1       ; DRAW A SHADED FAC
ET.;.;**********************************
******.;.; SHADED SHAPE DRAWING ROUTINES
.;.SPHERR=$C7C7       ; SPHERE.CYLNDR=$C
864       ; CYLINDER.TORUSR=$C90F       
; TOP-VIEW TOROID.EDGTOR=$C88F       ; E
DGE-VIEW TOROID.SPOOLR=$CA3B       ; INS
IDE-VIEW TOROID.;.;*********************
*******************.;.; BASIC ROM ROUTIN
ES.;.CHKCOM=$AEFD       ; CHECK FOR COMM
A.EVAEXP=$AD9E       ; EVALUATE EXPRESSI
ON.FLTFIX=$B1AA       ; CONVERT TO FIXED
.;.*=RAM.LINFAC *=*+1       ; LINE OR FA
CET FLAG.;.*=ORIGIN.;.;*****************
***********************.;.; GET PARAMETE
RS FROM BASIC CALLING STATEMENT.; OF THE
 FORM:.; SYS(FNCTN),PARAM1,PARAM2,PARAM3
[OPT].; WHERE THE THIRD PARAMETER (FOR E
XAMPLE).; MAY BE OPTIONAL (A DEFAULT VAL
UE IS USED.; IF THE PARAMETER IS NOT SPE
CIFIED).;.GETNUM JSR CHKCOM   ; LOOK FOR
 COMMA.       JSR EVAEXP   ; EVALUATE EX
PRESSION.       JSR FLTFIX   ; CHANGE TO
 INTEGER WITH.; HIGH BYTE IN "A" AND LOW
 BYTE IN "Y".       RTS.;.; CHECK FOR AD
DITIONAL (OPTIONAL) PARAMETERS.;.PCHECK 
LDA #$2C     ; "," COMMA.       LDY #0. 
      STY DEFLAG.       CMP ($7A),Y.    
   BNE NOMORE   ; NO COMMA - USE DEFAULT
.       JMP $0073.NOMORE LDY #$80.      
 STY DEFLAG.       RTS.;.; GET TWO ADDIT
IONAL PARAMETERS FOR TOROIDS.;.GETTWO JS
R PCHECK.       BIT DEFLAG.       BMI DF
AULT.       JSR EVAEXP.       JSR FLTFIX
.       STY RI.       JSR GETNUM.       
STY RO.DFAULT RTS.;.;*******************
*********************.;.; SET CENTER COO
RDINATES.;.CENTER JSR GETNUM.       STY 
XCENT.       STA XCENT+1.       JSR GETN
UM.       STY YCENT.       RTS.;.;******
**********************************.;.; C
LEAR THE BITMAP, FILLING WITH (OPTIONAL)
.; FILL VALUE SPECIFIED OR WITH (DEFAULT
) "0".;.CLEAR2 JSR PCHECK.       BIT DEF
LAG.       BMI DEFCLR.       JSR EVAEXP.
       JSR FLTFIX.       .BYTE $2C.DEFCL
R LDY #0.       STY CLRBYT.       JMP CL
EARR.;.;********************************
********.;.; FILL COLOR MAP WITH (OPTION
AL) COLOR BYTE.; SPECIFIED OR WITH (DEFA
ULT) "$01".; (BLACK DOTS ON WHITE BACKGR
OUND).;.COLOR2 JSR PCHECK.       BIT DEF
LAG.       BMI DEFCOL.       JSR EVAEXP.
       JSR FLTFIX.       .BYTE $2C.DEFCO
L LDY #$01.       STY COLBYT.       JMP 
COLORR.;.;******************************
**********.;.; PLOT OR UNPLOT POINTS.;.P
LOT2  LDA #0.       .BYTE $2C.UNPLT2 LDA
 #$80.       STA PLTFLG.       JSR GETNU
M.       STY XPLOT.       STA XPLOT+1.  
     JSR GETNUM.       STY YPLOT.       
JMP PLOTR.;.;***************************
*************.;.; DRAW LINES BETWEEN (X1
,Y1) AND (X2,Y2).; OR SHADED FACETS BETW
EEN THREE POINTS.; (X1,Y1), (X2,Y2) AND 
(X3,Y3).;.LINE2  LDA #0.       .BYTE $2C
.FACET2 LDA #$80.       STA LINFAC.     
  JSR GETNUM.       STY XMIN.       STA 
XMIN+1.       JSR GETNUM.       STY YMIN
.       JSR GETNUM.       STY XMID.     
  STA XMID+1.       JSR GETNUM.       ST
Y YMID.       BIT LINFAC.       BPL LDRA
W.       JSR GETNUM.       STY XMAX.    
   STA XMAX+1.       JSR GETNUM.       S
TY YMAX.       JSR GETNUM.       STY VAL
UE.       JMP FACETR.LDRAW  JMP LINER.;.
;***************************************
*.;.; DRAW A SPHERE CENTERED AT (XCENT,Y
CENT).; DEFAULT RADIUS IS LAST VALUE USE
D.;.SPHER2 JSR CENTER.       JSR PCHECK.
       BIT DEFLAG.       BMI SKIP1.     
  JSR EVAEXP.       JSR FLTFIX.       ST
Y RADIUS.SKIP1  JMP SPHERR.;.;**********
******************************.;.; DRAW 
A TOP-VIEW TOROID AT (XCENT,YCENT).; DEF
AULT INNER AND OUTER RADII ARE LAST USED
.;.TORUS2 JSR CENTER.       JSR GETTWO. 
      JMP TORUSR.;.;********************
********************.;.; DRAW CYLINDERS 
WITH AXES HORIZONTAL OR.; VERTICAL.  DEF
AULT RADIUS AND "HALF-LENGTH".; ARE LAST
 VALUES USED..;.VCYL2  LDA #$80.       .
BYTE $2C.HCYL2  LDA #0.       STA HVFLAG
.       JSR CENTER.       JSR PCHECK.   
    BIT DEFLAG.       BMI SKIP2.       J
SR EVAEXP.       JSR FLTFIX.       STY R
ADIUS.       JSR GETNUM.       STY HLEN.
SKIP2  JMP CYLNDR.;.;*******************
*********************.;.; DRAW EDGE-VIEW
 TOROIDS WITH AXES HORIZONTAL.; OR VERTI
CAL.; INNNER AND OUTER RADII ARE OPTIONA
L.;.VTOR2  LDA #$80.       .BYTE $2C.HTO
R2  LDA #0.       STA HVFLAG.       JSR 
CENTER.       JSR GETTWO.       JMP EDGT
OR.;.;**********************************
******.;.; DRAW INSIDE-VIEW TOROIDS, "SP
OOLS",.; WITH AXES HORIZONTAL OR VERTICA
L.; INNER AND OUTER RADII ARE OPTIONAL.;
.VSPL2  LDA #$80.       .BYTE $2C.HSPL2 
 LDA #0.       STA HVFLAG.       JSR CEN
TER.       JSR GETTWO.       JMP SPOOLR.
.END.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL