MZ—731个人电脑绘图打印机功能扩展程序

🏠 首页 《无线电》杂志 1990年 🔗 第7期 🔗 第30页 分类:无线电技术自学经验交流 🔗 乜云峰 🔗

(乜云峰)SHARP MZ—731个人电脑绘图机可在BASIC语言控制下进行4色绘图打印。本文介绍的程序具有1.键控绘图功能,可完成各个方向上的双速移笔、画线、画圆等动作;2.绘图编程器功能,通过磁带机可将所有操作过程记录下来,并可多次重复绘图:3.键控数字化仪功能,随时显示笔所在位置,分辨率为0.2mm。

在BASIC状态下载入核程序,并运行之。运行后屏幕显示横纵坐标、操作键名等。此时可以进行移笔或画线操作,画线键有R、C、G、D、T、E、V、X,可画短线,相应字母的小写键为画长线键;移笔键有慢移键U、N、K、H、I、Y、M、B,相反小写为快档键。如果要进行图形绘制,可参考下面说明进行操作:O键为记忆坐标键,按过O健后,笔所在位置的坐标将被记忆,并显示出来。L键为画线键,按过O键后,将笔移开一段距离,按L键,笔在刚才记忆过的坐标与笔现在位置间画线,再将笔的终止位置记忆。P键为画圆键,以刚才记忆过的坐标为圆心,从圆心到笔现在的位置为半径,显示出这个半径。而后提问起始角、终止角、步进角。每个提问后面均有提示数据,如果你同意这个数据,就按两次回车(CR)键。回答完这3个问题,计算机即画出这个圆或孤。@键为画多边形键,该键与P键的作用十分相近,只是最后提问边数;一定要输入。随后便自动在任意展角内均分这些边。

本程序还设置了一些辅助功能:6空格)为连续移动开关。击键一次启动连续移动开关,而后的划线和移笔命令会使笔沿该方向不停地移动和划线。再击6一次可使它停下来。*键为换笔键,按一次*键就换到下一笔色。Q键为重新定原点键,按Q键可随时指定坐标原点,但要慎重使用,因为它只改变Q操作后的坐标。q键可随时退出程序。Z键为字符打印键,用它可以输入您所希望打印的字符,同时应回答有关字体大小及方向的提问(请参阅说明书GPRINT命令)。Z键为重打印字符键,用它可以将刚才打过的字符再打一遍。W键为录带键,准备好一盘空白磁带后,按下RECORD·PLAY键,此后按W,后面的所有操作将被忠实地记录下来。S键为停止录带键,按S键,使录制程序工作停下来。可千万不要忘记这一步,否则会失去最后几个或几十个操作步骤。把磁带退回。按a键重复绘图,可使绘图机完全重复一次刚才录制下来的动作。磁带机运转时所有操作都无法进行,磁带每运转一次要几秒钟,其中录有100多步操作。

程序如下:
pdBp

1 MOOEGR:HSET:P=0:PRINT“6:I=0:M=0

2 PRINT“72727ND-MASTER”:GOTO6

3 WR=1:PRINT“FAST”,“8

4 GETD$:IFD$=“”GOTO4

5 A$=D$:GOTO7

6 WR=0

7 PRINTM;SPC(4);I;SPC(4);A$,“8

8 IFABS(I)>970THENMUSIC“G”

9 IFABS(M)>460THENMUSIC“D”

10 IFW=2GOTO94

11 IFWR=1GOTO13

12 GET A$:IFA$=“”THEN12

13 IFWR=0G0TO15

14 GETC$:IFC$=“”GOTO6

15 IFW=IGOTO90

16 IFA$=“W”GOTO89

17 IFA$=“a”GOTO93

18 IFA$=“S”GOT92

19 IFA$=“Z”GOTO98

20 IFA$=“Z”GOTO103

21 IFA$=“Q”GOTO107

22 IFA$=“ ”GOTO3

23 IFA$=“O”GOTO62

24 IFA$=“L”GOTO63

25 IFA$=“P”GOTO64

26 IFA$=“@”GOTO78

27 IFA$=“*”GOTO76

28 IFA$=“q”GOTO106

29 IFA$=“U”I=I+1:MOVEM,I:GOTO7

30 IFA$=“N”I=I-1:MOVEM,I:GOTO7

31 IFA$=“H”M=M-1:MOVEM,I:GOTO7

32 IFA=“K”M=M+1:MOVEM,I:GOTO7

33 IFA$=“Y”I=I+1:M=M-1:MOVEM,I:GOTO7

34 IFA$=“B”I=I-1:M=M-1:MOVEM,I:GOTO7

35 IFA$=“M”I=I-1:M=M+1:MOVEM,I:GOTO7

36 IFA$=“I”I=I+1:M=M+1:MOVEM,I:GOTO7

37 IFA$=“u”I=I+1O:MOVEM,I:GOTO7

38 IFA$=“n”I=I-10:MOVEM,I:GOTO7

39 IFA$=“h”M=M-1O:MOVEM, I:GOTO7

40 IFA$=“k”M=M+10:MOVEM,I:GOTO7

41 IFA$=“y”I=I+7:M=M-7:MOVEM,I:GOTO7

42 IFA$=“b”I=I-7:M=M-7:MOVEM,I:GOTO7

43 IFA$=“m”I=I-7:M=M+7:MOVEM,I:GOTO7

44 IFA$=“i”I=I+7:M=M+7:MOVEM,I:GOTO7

45 IFA$=“R”I=I+1:LINEM,I:GOTO7

46 IFA$=“C”I=I-1:LINEM,I:GOTO7

47 IFA$=“D”M=M-1:LINEM,I:GOTO7

48 IFA$=“G”M=M+1:LINEMM,I:GOTO7

49 IFA$=“E”I=I+1:M=M-1:LINEM,I:GOTO7

50 IFA$=“X”I=I-1:M=M-1:LINEM,I:GOTO7

51 IFA$=“V”I=I-1:M=M+1:LINEM,I:GOTO7

52 UFA$=“T”I=I+1:M=M+1:LINEM,I:GOTO7

53 IFA$=“r”I=I+10:LINEM,I:GOTO7

54 IFA$=“c”I=I-10:LINEM,I:GOTO7

55 IFA$=“d”M=M-10:LINEM,I:GOTO7

56 IFA$=“g”M=M+10:LINEM,I:GOTO7

57 IFA$=“e”I=I+7:M=M-7:LINEM,I:GOTO7

58 IFA$=“X”I=I-7:M=M-7:LINEM,I:GOTO7

59 IFA$=“V”I=I-7:M=M+7:LINEM,I:GOTO7

60 IFA$=“t”I=I+7:M=M+7:LINEM,I:GOTO7

61

62 MR=M:IR=I:PRINT“9;SPC(8);“》AXIS BE

EN HOLD”;M;SPC(2);I:GOTO7

63 LINEMR,IR:MOVEM,I:GOTO62

64 R=SOR((MR—M)↑2+(IR-I)↑2)

65 PRINT“929;SPC(8);“《RADIUS=”;R

66 IFW=2 GOTO73

67 PRINT“92929272727272727保8”;

68 INPUT“**SATRT ANGL=”;S

69 PRINT“92927272727;S+360,“8;

70 INPUT“**STOP ANGL=”;E

71 PRINT“929272727272727保8;

72 INPUT“**STEP ANGL=”;D

73 IFW=2GOSUB96

74 IFW=IGOSUB97

75 CIRCLEMR,IR,R,S,E,D:MOVEMR,

GOTO7

76 P=P+1:IFP=4THENP=0

77 PRINT“NEXT COLOR”;P:PCOLORP:GOTO7

78 R=SQR((MR-M)↑2+(IR-I)↑2):S=(IR-I)/(MR

-M):S=ATM(S)*18O

79 IFW=2GOTO86

80 PRINT“9292927272727272727;S,“8;

81 INPUT“**SATRT ANGL=”;S

82 PRINT“9292727272727;S+360,“8;

83 INPUT“**STOP ANGL=”;E

84 INPUT“9292727272727272727272727POLYGON”;

D

85 IFD=OGOTO84

86 IFW=2GOSUB 96

87 IFW=1GOSUB97

88 D=(E-S)/D:CIRCLEMR IR,R,S,E,D:

MOVEMR,IR:GOTO7

89 W=1:PRINT“SAVE OPEN”:WOPEN:GOTO7

90 PRINT/TA$

91 GOTO18

92 W=0:PRINT“SAVE CLOSE”:CLOSE:GOTO7

93 W=2:PRINT“COPYING”:ROPEN

94 INPUT/TA$:GETB$:IFB$=“S”GOTO92

95 GOTO18

96 INPUT/TMR,IR,R,S,E,D:RETURN

97 PRINT/TMR,IR,R,S,E,D:RETURN

98 IFW=2GOTO104

99 INPUT“INPUT THE$$$$→”;Z$

100 INPUT“INPUT THE SIZE→”;Z

101 INPUT“INPUT THE FORC→”;Z1

102 IFW=IGOTO105

103 GPRINT[Z,Z1],Z$:GOTO7

104 INPUT/TZ$,Z,Z1:GOTO103

105 PRINT/TZ$,Z,Z1:GOTO103

106 END

107 HSET:M=0:I=0:GOTO7