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