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 | * |
23208140 |
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 |
8fac3a64 |
59 | SUBR PL$UR,UR |
60 | SUBR PL$UL,UL |
61 | SUBR PL$DR,DR |
62 | SUBR PL$DL,DL |
63 | * |
64 | * |
23208140 |
65 | REL THIS IS A RELOCATEABLE OBJECT |
8fac3a64 |
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 |
eabafcca |
81 | * |
8fac3a64 |
82 | JMP* OUT |
eabafcca |
83 | * |
84 | * CNT DAC ** |
8fac3a64 |
85 | * |
86 | UP DAC ** |
87 | LDA CUP |
88 | JST OUT |
89 | JMP* UP |
90 | * |
91 | * |
92 | DOWN DAC ** |
93 | LDA CDWN |
94 | JST OUT |
95 | JMP* DOWN |
96 | * |
97 | * |
98 | RGHT DAC ** |
99 | LDA CRGT |
100 | JST OUT |
101 | JMP* RGHT |
102 | * |
103 | * |
104 | LEFT DAC ** |
105 | LDA CLFT |
106 | JST OUT |
107 | JMP* LEFT |
108 | * |
109 | * |
110 | PENU DAC ** |
111 | LDA PEN |
112 | SNZ |
113 | JMP* PENU |
114 | CRA |
115 | STA PEN |
116 | LDA CPNU |
117 | JST OUT |
118 | JMP* PENU |
23208140 |
119 | CPNU OCT '20 |
8fac3a64 |
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 |
23208140 |
130 | CPND OCT '40 |
8fac3a64 |
131 | * |
132 | * |
133 | UL DAC ** |
134 | LDA CUP |
135 | ADD CLFT |
136 | JST OUT |
137 | JMP* UL |
138 | * |
139 | * |
140 | UR DAC ** |
141 | LDA CUP |
142 | ADD CRGT |
143 | JST OUT |
144 | JMP* UR |
23208140 |
145 | CUP OCT '1 |
8fac3a64 |
146 | * |
147 | * |
148 | DL DAC ** |
149 | LDA CDWN |
150 | ADD CLFT |
151 | JST OUT |
152 | JMP* DL |
23208140 |
153 | CLFT OCT '4 |
8fac3a64 |
154 | * |
155 | * |
156 | DR DAC ** |
157 | LDA CDWN |
158 | ADD CRGT |
159 | JST OUT |
160 | JMP* DR |
23208140 |
161 | CRGT OCT '10 |
162 | CDWN OCT '2 |
163 | * |
8fac3a64 |
164 | * |
165 | * CONSTANTS |
8fac3a64 |
166 | * |
167 | PEN DEC 0 PEN STATE: 1=DOWN |
168 | * |
169 | END |