8fac3a64 |
1 | * (PL$U) REV 1.0 LOW LEVEL INCREMENTAL PLOTTER DRIVER |
2 | * |
3 | * |
4 | * PROGRAM TITLE: PL$U (PL$U, PL$D, PL$L, PL$R, PL$PU, PL$PD, |
5 | * PL$UR,PL$UL,PL$DR,PL$DL) |
6 | * |
7 | * LOW LEVEL PEN PLOTTER ROUTINES |
8 | * |
9 | * REVISIONS: |
10 | * 1.0 (2007-05-27) |
11 | * 1.1 (2007-11-08) - ADDED PEN POSITION TRACKING |
12 | * TO PL$PU AND PL$PD |
13 | * |
14 | * AUTHOR: |
15 | * |
16 | * PHILIPP HACHTMANN |
17 | * |
18 | * |
19 | * PURPOSE: |
20 | * |
21 | * LOW LEVEL PEN PLOTTER DRIVER ROUTINES PROVIDING HARDWARE |
22 | * ABSTRACTION BY PROVIDING SIMPLE ROUTINES FOR PEN MOVEMENT. |
23 | * |
24 | * |
25 | * STORAGE: |
26 | * |
27 | * 100 (OCTAL) |
28 | * 64 (DECIMAL) |
29 | * |
30 | * |
31 | * USAGE: |
32 | * |
33 | * CALL PL$U - STEP UP |
34 | * CALL PL$D - STEP DOWN |
35 | * CALL PL$L - STEP LEFT |
36 | * CALL PL$R - STEP RIGHT |
37 | * CALL PL$PU - RAISE PEN |
38 | * CALL PL$PD - LOWER PEN |
39 | * |
40 | * CALL PL$UR - STEP UP+RIGHT |
41 | * CALL PL$UL - STEP UP+LEFT |
42 | * CALL PL$DR - STEP DOWN+RIGHT |
43 | * CALL PL$DL - STEP DOWN+LEFT |
44 | * |
45 | * |
46 | * |
47 | ******************************************************************************** |
48 | * |
49 | * |
50 | PADR EQU '40 PORT ADDRESS OF THE PLOTTER INTERFACE |
51 | * |
52 | * |
53 | SUBR PL$U,UP |
54 | SUBR PL$D,DOWN |
55 | SUBR PL$R,RGHT |
56 | SUBR PL$L,LEFT |
57 | SUBR PL$PU,PENU |
58 | SUBR PL$PD,PEND |
59 | SUBR PL$UR,UR |
60 | SUBR PL$UL,UL |
61 | SUBR PL$DR,DR |
62 | SUBR PL$DL,DL |
63 | * |
64 | * |
65 | REL THIS IS A RELOCATABLE OBJECT |
66 | ORG '0 |
67 | * |
eabafcca |
68 | * |
8fac3a64 |
69 | OUT DAC ** DO THE MOVEMENT |
70 | OTA PADR |
71 | JMP *-1 |
72 | * |
eabafcca |
73 | * LDA =-1 |
74 | * STA CNT |
75 | * LDA =-1000 |
76 | * LLL AOA |
77 | * SZE |
78 | * JMP LLL |
79 | * IRS CNT |
80 | * JMP LLL |
81 | * |
82 | * |
8fac3a64 |
83 | JMP* OUT |
eabafcca |
84 | * |
85 | * CNT DAC ** |
8fac3a64 |
86 | * |
87 | UP DAC ** |
88 | LDA CUP |
89 | JST OUT |
90 | JMP* UP |
91 | * |
92 | * |
93 | DOWN DAC ** |
94 | LDA CDWN |
95 | JST OUT |
96 | JMP* DOWN |
97 | * |
98 | * |
99 | RGHT DAC ** |
100 | LDA CRGT |
101 | JST OUT |
102 | JMP* RGHT |
103 | * |
104 | * |
105 | LEFT DAC ** |
106 | LDA CLFT |
107 | JST OUT |
108 | JMP* LEFT |
109 | * |
110 | * |
111 | PENU DAC ** |
112 | LDA PEN |
113 | SNZ |
114 | JMP* PENU |
115 | CRA |
116 | STA PEN |
117 | LDA CPNU |
118 | JST OUT |
119 | JMP* PENU |
120 | * |
121 | * |
122 | PEND DAC ** |
123 | LDA PEN |
124 | SZE |
125 | JMP* PEND |
126 | LDA CPND |
127 | JST OUT |
128 | IRS PEN |
129 | JMP* PEND |
130 | * |
131 | * |
132 | UL DAC ** |
133 | LDA CUP |
134 | ADD CLFT |
135 | JST OUT |
136 | JMP* UL |
137 | * |
138 | * |
139 | UR DAC ** |
140 | LDA CUP |
141 | ADD CRGT |
142 | JST OUT |
143 | JMP* UR |
144 | * |
145 | * |
146 | DL DAC ** |
147 | LDA CDWN |
148 | ADD CLFT |
149 | JST OUT |
150 | JMP* DL |
151 | * |
152 | * |
153 | DR DAC ** |
154 | LDA CDWN |
155 | ADD CRGT |
156 | JST OUT |
157 | JMP* DR |
158 | * |
159 | * |
160 | * CONSTANTS |
161 | CUP OCT '1 |
162 | CDWN OCT '2 |
163 | CLFT OCT '4 |
164 | CRGT OCT '10 |
165 | CPNU OCT '20 |
166 | CPND OCT '40 |
167 | * |
168 | PEN DEC 0 PEN STATE: 1=DOWN |
169 | * |
170 | END |